One of the most annoying issues you can have in your network setup is when a router dies.
I am a fan of Ubiquity EdgeRouters but they suffer from one annoying issue. Sometimes due to power issues the USB stick that acts as a storage media gets corrupted or dies.
In the following I will show you how easy is to fix this on an Edge Router Lite
First you need the following:
- A small screwdriver
- A serial console cable. I use a console cable + a serial to USB adaptor.
- A replacement USB stick. Note that you need a small factor one. There are several compatibility lists on the internet with the drives that can be used
Step 1 Disassemble the router
First unscrew the 3 small screws from the back
Then you can easily spot the USB stick.
See the USB stick on the left of the image.
Step 2 Attach the serial console cable and connect it to your Linux machine
Connect the console cable
On the Linux machine try the following command:
screen -L /dev/ttyUSB0 115200
Usually the device is ttyUSB0 for the serial cable. In case you are not sure just power on the router and list the USB devices with lsusb.
If all good just power cycle again the router and check the console.
As you can see, the router tries to boot and is not able to find a valid boot image. This means that the USB stick image is corrupted. If you are lucky is just a corruption, if not you have to replace the entire USB stick.
Get the latest version of the scripts that are used to create an Edge Router system image from https://github.com/sowbug/mkeosimg or download my back-up copy:
Download the latest image for your Edge Router from Ubiquity site: https://www.ui.com/download/edgemax/
Take out the USB stick and put it into you Linux machine.
As root user flash the USB with
./mkeosdrive /dev/sdb ER-e100.tar edgeos_ubnt_backup.tar.gz - 3
Note that if drive is xGB leave 1GB free so last parameter is xGB-1GB. If you reuse the original that is 4GB put 3 as the parameter if you use a bigger stick like 32GB I used put 30 as the last parameter.
Note that edgeos_ubnt_backup.tar.gz is my back-up configuration that I obtained by downloading it from the Edge Router GUI when the router was working. If you do not have a back-up configuration file you can skip that parameter and remake by hand the configuration after you flash the drive.
If all goes well you will get something like in the above image. If not and your USB stick is really broken you have to repeat the operation with a new USB stick.
There are several USB 2.0 and USB 3.0 memory sticks suitable for this. It is in fact a trial and error with biggest restriction being the form factor. The best candidate I found was a 32 GB Verbatim Metal Executive USB stick.
Actually looks better than the original when inserted into the slot and gives you like 26.4 Gb of space to store extra data.
Insert the USB stick in the Edge Router, link again your serial console cable to the Edge Router.
As root on the Linux machine execute again:
screen -L /dev/ttyUSB0 115200
Power the Edge Router to restart. See if system boots and shows you at the console the Login screen.
That is all.