My Tomato router, actually a Linksys E3200 with Tomato software installed, was getting a bit outdated. I’ve let quite a number of software versions pass by, and a couple of days ago, I thought I should finally get around to updating it. It was painless the last time. It should be quite straightforward nowadays, like how pfSense has become.
Unfortunately, it wasn’t so painless this time.
I always worry these sort of third party stuff aren’t robust enough. That they will fall apart and break. Updating your pristine, unrooted, Android phone with the official software from the manufacturer will simply work perfectly. Even though it can hardly be considered un chartered territory, if you try to do something another way, like loading third party Android builds, then you risk bricking your phone.
I had been running version 128, and I’m jumping into version 138. After downloading the E3200 ZIP file, I uncompressed the package, and have the “bin” file within to the Tomato Web UI to upgrade. All appeared to work well.
To some extent, it did. My Linksys E3200 rebooted into the new version alright. But I noticed my Astrill VPN applet was lost. I tried to reinstall it, but it failed with some installer error. So I SSH’ed into Tomato, poked around, and determined that I needed to delete /tmp/astrillvpn
. I installed the Astrill VPN applet again and this time all was good.
Still not quite. It seemed that my 5 GHz radio had gone missing too. Some Google’ing around later, it seemed that it was necessary to do the 30-30-30 reset. This basically factory-resets the Tomato router. This is something you need to do when you switch from Linksys’ software to Tomato router. It was officially documented as necessary too, even when upgrading from one Tomato version to another. But it seemed dumb. My last upgrade succeeded without the 30-30-30 reset.
This time was different. I dutifully performed the 30-30-30 reset and got my 5 GHz radio back. This being a factory reset, I had to setup everything all over again, including the Astrill VPN applet, which worked flawlessly the first time.
Just to recap, the 30-30-30 reset is: With the router powered on, press and hold the reset button for 30 seconds, then while continuing to press and hold the button, power off the router and wait another 30 seconds, then again while continuing to press and hold the reset button, power on the router and wait yet another 30 seconds. Finally, release the reset button.
Fortunately for me, my Tomato setup isn’t very customised, so setting it up all over again didn’t take me too much time. This incident, however, does remind me that there’s always the chance that a simple software upgrade can turn out to be more complicated than expected, and take more time than assumed.