Disclosure. This page contains links to products that may earn us a small commission at no extra cost to you, should you click on them and make a purchase.
Read full disclosure.
The Plusnet Hub One router is quite good hardware but the official firmware restricts what you can do. For example, you can’t setup a VPN or monitor traffic. This tutorial will show you how to flash the device with OpenWrt Version 21.02 so that you can get the most out of the device.
Flashing the Plusnet Hub One Router with OpenWrt is done by connecting a computer to the router over a serial communication. However, the router doesn’t have a serial port and requires wires soldered to the circuit board.
You also need a
USB Flash Drive* to store the OpenWrt Firmware on. This drive is connected to the router during the installation process and it’s also used to backup the existing stock firmware.
Software and OpenWrt Firmware
Depending on what operating system you are using, you will need to install a terminal emulation program that supports serial communication. Since I’m using a MacBook Pro, this guide uses picocom which can be installed with homebrew.
The first thing we need to do is open the case. It’s held together with clips and there are no screws. Read the following tutorial to learn where the clips are and how to open the case without damaging them.
The next thing we need to do is locate the solder pads for the serial port GND, TX and RX connections and solder wires to them. We also need to locate the boot selector (BOOT_SEL) pad and either solder a wire to it or touch a wire onto it while powering on the router.
The image below shows the locations of the pads.
Now we need to solder wires to them. In the image below, I’ve soldered wires to all the pads but it might be better not to solder the BOOT_SEL wire to the board. The reason for this, is because some people have experienced routers getting stuck in boot CFG mode, which might be caused by too much heat or damage to the resistor.
Once you’ve soldered the wires, strip the ends and connect them to the
USB to Serial TTL Dongle*. The TX on the router goes to the RX on the dongle.
Step 3: Configure Network and TFTP Server
Now you need to setup a TFTP Server on your network and configure the IP address as 18.104.22.168. Since I’m using a Mac that has a built in TFTP server, I assigned a static IP of 22.214.171.124 and enabled the server with the following commands.
The address of the TTL dongle will be different for you, depending on what machine you are using to connect. On Linux it’s probably /dev/ttyUSB0.
Step 5: Boot router in CFG 04 mode
Once you’re connected to the serial port, we are ready to power on the router. Before press the power button, you need to connect the BOOT_SEL wire to GND then immediately release it after powering on the device.
If you connected successfully, you should see CFG 04 in the terminal output.
Step 6: Load UART u-boot
Open a new Terminal and run the following command to boot the custom U-boot loader.
Once the U-boot loader has loaded, you should be able to run commands in the original terminal window. The command we need to run is the tftpboot command. This will download the install image from the TFTP server, which contains the utilities required flash the firmware.
Run the following command to start boot the install image.
Wait for the data to be copied. This will take quite a while so go and make a drink and be patient for the command to finish.
root@lede:/tmp# nanddump --file /tmp/mounts/media/hh5a.nanddump /dev/mtd4
ECC failed: 0
ECC corrected: 0
Number of bad blocks: 0
Number of bbt blocks: 4
Block size 131072, page size 2048, OOB size 64
Dumping data starting at 0x00000000 and ending at 0x08000000...
Step 10: Prepare System and Install OpenWrt Firmware
Run the prepare command to start the flashing process.
Type in YESIHAVEABACKUP then press Return.
Choose device type a for BT and b for Plusnet.
Now run the following command to flash the firmware.
Wait for the install process to finish and the router to reboot into CFG 04 mode. Once more power cycle and it should boot into the OpenWrt system.
BusyBox v1.33.1 (2021-08-31 22:20:08 UTC) built-in shell (ash)
_______ ________ __
| |.-----.-----.-----.| | | |.----.| |_
| - || _ | -__| || | | || _|| _|
|_______|| __|_____|__|__||________||__| |____|
|__| W I R E L E S S F R E E D O M
OpenWrt 21.02.0, r16279-5cc0535800
That’s it, you can now disconnect the serial port wires, tape them up and tidy them neatly inside the router before putting the case back on.