Bricked Netgear M5300 switch via "Erase Permanent Storage"

I managed to brick one of my Netgear M5300 switches while trying to factory reset it, by selecting "Erase permanent storage" from the boot menu. At this point, it displays 'Uboot M5300 VerNo=' on the console and does not progress further.

To recover, get a FAT32 formatted USB drive, and save the firmware as 'boot.stk' on it.

Insert the drive into the switch, connect to the serial console and power up the switch.

Interrupt Uboot by pressing Q. You should get a '=>' prompt.

Technicolor TG789vac V2 Root Access

I recently had a MyRepublic NBN connection installed, and was provided with a Technicolor TG789vac V2 VDSL2 modem. It arrived quite locked down, in routed mode it could not deal with the complexity of my network (multiple VLANs), and in bridge mode it bridged the VDSL2 interface to the Wifi connection, but not Ethernet!

120mm Fan to 125mm/6" duct adapter

This is a 3d printed fan shroud that I designed and 3d printed myself. It is made from durable ABS plastic, and allows you to connect a 125mm flexible duct to your miner's exhaust, allowing you to vent the hot air directly outside (or in winter, into your air conditioning ducts).

The mount features a negative taper, such that pulling on the duct increases the clamping force.

You will need 4 50mm M4 machine screws, and a 125mm diameter screw clamp to fasten the ducting on.

Repairing Daikin C5 Thermistor Error

Our airconditioner gives a "C5" Error when in heating mode, which is annoying as Canberra gets quite cold in winter.

Looking at the list of error codes, it shows that C5 is a thermistor failure on the indoor gas pipe. Opening the indoor unit and measuring the resistance of the thermistor shows it in the ~2.8MOhm range, well outside what it should be.

Shrinking mbed binaries


I'm currently working on a 1wire library for mbed, so that 1wire devices can be implemented on mbed compatible microcontrollers (really, just STM32 for now).

One of the things that would be really useful is to be able to update the firmware of these devices over the 1wire bus, so that they don't need to be decomissioned for updates.

Jenkins GroovyAxis - basing an axis on the content of the build

It took me a while to figure this one out, the docs online were pretty thin, so I'm putting this here to help the next person who gets stuck.

There are 2 tricks here.

  1. It's not clear how to get the workspace in GroovyAxis. It has to be accessed through the 'context' object, but is null when the script is run when the job is saved. It is populated when the job is built.
  2. The workspace exists on the slave node, but the Groovy script is run on the master. You must use the FilePath object to correctly access the files on the slave


Creating a Ubuntu 14.04.4 Docker image for Power PC

I also needed a ubuntu image. Creating this was for less painful than the Fedora image:

Creating a Fedora 23 base Docker Image for Power PC


Docker is a great way to fully describe and implement an installed Linux environment, and we make use of it at work as part of our continuous integration system to provide a clean environment for the jobs that we run.Unfortunately, the main public repo ( currently only contains images for x64, so if you want a different architecture, you may need to build it yourself.

In this situation, I required a Fedora 23 image on Power PC. I started with a working Fedora 23 in PowerKVM.

The problems I had to address: