Friday, 19 January 2024

First proper use of CAD to create a 3D print

Most of my 3D printing so far has been using existing models and making small tweaks / remixing them for my own needs / interest. Finally I decided I should learn some basic CAD to design my own prints. My first project turned out well (if not slightly larger than I was expecting) ...

This was exactly as I had envisaged, a name tag that I could attach to a present which could be easily detached to be kept if wanted. I used FreeCAD to design and export as .stl file which I could import into Cura for slicing.

Now for more of my own designs...

(wow it has been a long time since I posted anything here)

Monday, 11 November 2019

First Adventures in 3D printing

I have purchased a 3D printer and have started my adventures in 3D printing.

There is a steep learning curve and have so far just scratched the surface but a few good lessons learnt.

Obligatory Owls

Obligatory Owls (headless as I had not levelled the bed properly)


Also a #3DBenchy


First attempt where I forgot to deselect the print supports option.


So far printing other people's designs.

Tuesday, 3 May 2016

KVM and multipathing

I was curious how to add multipathing to a KVM guest, turns out it is really very simple.

Create two (or more) virtual disks, then depending on whether you run virt-manager or the command line it is just a matter of specifying the same serial number.

virt-manager serial number


qemu-kvm
qemu-kvm ... -device ... -drive if=none,id=sda,file=disk1.img,serial=0001 ... -device -drive if=none,id=sdb,file=disk1.img,serial=0001 ...


Result for libvirt's xml code for KVM guest

 ...
  <devices>
   ...
   <disk type='block' device='disk'>
    ...
    <serial>0001</serial>
    ...
   </disk>
   <disk type='block' device='disk'>
    ...
    <serial>0001</serial>
    ...
   </disk>

Friday, 29 April 2016

gdb and python

Wow no posts since 2015...

I have been messing around in gdb running some python scripts in the embedded python interpreter.

One very useful tip I found was enabling the full python stack trace enabling me to debug the scripts I was running.

To do this use
set python print-stack full


Friday, 29 May 2015

First Post of 2015

Wow heading rapidly to halfway through 2015 without any posts.

Must do something about that.

Small items not enough for full posts

  • Fedora 20-21 upgrade finally got around to doing, sar did not run "systemctl disable sysstat" and "systemctl enable sysstat" fixed it, sysstat-collect.timer was not enabled.
  • old dangling symlinks in /etc/rc.d/rc* directories probably from a previous upgrade switching to systemd

Wednesday, 10 December 2014

Recording desktop session in Gnome

I came across this by accident some time ago, but some reminded me of this again today.

Within gnome-shell you can record you desktop session by simply pressing ctrl-alt-shift-r, this will place a red dot in gnome-shell and to stop again press ctrl-alt-shift-r. A file will be created in your home directory called Screencast from .

Thursday, 23 October 2014

openwrt on Actiontec DSL modem

Sorting out some old hardware recently I found a number of old DSL modems and routers and I was curious to know which ones I could re-flash.

One of these was an Actiontec GT701-WG DSL modem, which I was surprised to find would actually take openwrt (after a small hiccup) rather easily and has also got me interested in this piece of hardware.

This particular modem uses AR7-SoC and has an ADAM2 bootloader which can be used to flash the device. This bootloader will listen for ftp connections on 192.168.0.1 for a short window immediately after boot, once connected we can use this FTP session to upload and reflash.

The basic steps I found on the following blog entry and consist of

1. power on DSL modem
2. ftp to 192.168.0.1
3. login using adam2/adam2 for username/password
4. set ftp client to use binary and passive
5. set environment variables for mac_port to 0 (to specificy first ethernet port, this modem only has one ethernet port) and creating a new partition which spans the location of the old kernel and filesystem (this detail is listed in openwrt wiki)
6. set MEDIA to FLSH
7. upload new firmware to new partition we created in step 5
8. Reboot modem

The above instructions looked fairly straightforward so I set off to do this, but I forgot one minor detail, I needed to make sure I was allowing connection through firewall on my machine. After spotting this minor detail, things seemed to be going well until upload to modem ground to a halt. I assumed there might be an issue with the firmware on this device so I tried to flash original firmware back onto it using openwrt instructions. This also failed.

At this point the modem failed to boot, however I was still able to get to ADAM2 FTP.
Doing some searching on related models I came across the following setting when connecting to ftp from linux (from openwrt gt704 page)
# echo 0 > /proc/sys/net/ipv4/tcp_frto

I did not recognise this option from the top of my head, this disables F-RTO, an enhanced recovery algorithm for TCP retrans‐mission timeouts.
Once I had disabled this, the steps above worked perfectly.

This modem now has openwrt installed on it :-)

Next steps (for a future blog once I have a few minutes)
1. update version of openwrt
2. run my own custom application/binary on the modem