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:

Getting OpenWRT onto the DLink DIR-865L AC1750 Router

A while ago I got hold of a couple of DLink DIR-865L AC1750 802.11ac routers as there was a generous cashback offer.

I was originally using it as a glorified access point, but since updating my main router to carve off a variety of ethernet segments for home automation, guest networks, etc, I wanted to expose these as different wifi networks, using the DIR-865L units to extend the wifi network, with ethernet backhaul to the main router.

To get OpenWRT onto the router (where the router's IP is and the tftp server is

Accessing Port Forwarded Servers on a DLink DSL-2740B rev C2 (Local Loopback)

I just replaced my Asus DSL-N13 with a new DLink DSL-2740B ADSL modem as the Asus unit would not allow me to access servers (such as mail servers) that are hosted on my local network and port forwarded from the router, when the computer attempting the connection is also within the local network.

Imagine my dismay when the new router had a similar web interface, and exhibited the same problem!