A nifty router firmware trick
|Michael Horowitz December 23, 2019|
Suppose, for example, your router is currently running firmware version 1 and the vendor has released version 2. Crappy routers offer a choice, you can run either version 1 or 2. Not so with Peplink, my preferred router vendor. Peplink routers keep two installed copies of the firmware. You can have both version 1 and version 2 installed and switch between them just by rebooting. Apple Mac fans can think of this as Boot Camp for a router.
To illustrate this, consider the last four Peplink firmware releases: versions 7.1.2, 8.0, 8.0.1 and 8.0.2. Anyone who updates to each new release as it becomes available will have these two firmwares installed:
7.1.2 and 8.0
8.0.1 and 8.0
8.0.1 and 8.0.2
Like many techies, I assist friends and family. I am always hesitant to upgrade their router firmware both because it might introduce a new problem immediately or, even worse, a problem might come up after I leave. What then? Having an easily available fallback copy of the entire router operating system lets me rest easy.
But this has been true forever and is not the topic here. Rather, this is about gaming the system.
Suppose, for example, you have dealt with software for decades and are skeptical of new releases. So, you’d like to keep the tried and true firmware 7.1.2 but still kick the tires on firmware 8.0. Easy. But what to do when firmware 8.0.1 is released? The skeptical techie would like to keep 7.1.2 as a fallback but upgrade 8.0 to 8.0.1.
This is indeed possible.
Just upgrade while running firmware version 7.1.2.
This will work again, to upgrade firmware 8.0.1 to 8.0.2 while still keeping version 7.1.2 available. The progression over time of the two installed firmwares would be:
7.1.2 and 8.0
7.1.2 and 8.0.1
7.1.2 and 8.0.2
At some point, when you have confidence in firmware 8, you can do the normal progression. For example, someone happy with firmware 8.0.1 can upgrade to 8.0.2 while running 8.0.1 and no longer have version 7 as their fallback.
Keeping an old version around for fallback is great, even for someone not concerned with early releases of software. If, for example, there was a problem while running any of the versions of firmware 8, you can easily and quickly reboot back to firmware 7 to test if the problem was introduced in firmware 8.
This is also head and shoulders above the competition.
I came to Peplink thanks to their reputation for routers that can handle two concurrent Internet connections (their Balance line). For those with simpler needs (such as myself at home), I recommend their bottom-of-the-line Pepwave Surf SOHO. It sells for $200 and should be an excellent choice for many people.
One competitor to Peplink is pfSense. I have not used pfSense, but from reading the pfSense Upgrade Guide it is clear that it only supports a single copy of the firmware. The Guide starts with the warning to “Make a backup!” but the backup it refers to is of the current configuration settings. Many routers can do that. Peplink has a real backup, of the entire operating system, settings included.
Even worse, is that pfSense does not allow falling back to an older firmware version. The Upgrade Guide says “Downgrading a full installation to previous releases directly in-place is not supported.” You can do it, but its a non-trivial hack.
The Guide also says “Very rarely is it desirable or necessary to go back to a prior release.” This is clearly not true. New software creates new problems. Always has and always will.
The Ubiquiti UniFi line also competes with Peplink and does not appear to support two installed firmwares (I have no first-hand experience with UniFi). In their UniFi – Changing the Firmware of a UniFi Device writeup they do acknowledge the occasional need to veer off the standard upgrade path. Quoting: “You might be in need of an older version or a non-released version. This can be handy to help with adoption issues, for troubleshooting, or simply upgrading to the latest available firmware under development.” So, credit at least for acknowledging the obvious. But there was no mention of a backup copy of the firmware so I have to assume that each UniFi device can only handle a single copy of the firmware.
UPDATE: Dec. 27, 2019. The Ubiquiti line of Edge Routers supports two installed firmware versions. However, as far as I can tell, from a practical perspective, it is close to useless. The EdgeRouter is an ISP line as opposed to UniFi which is business line. Each has a different management interface. Looking at the EdgeOS User Guide I find no reference at all to falling back to a prior version of the firmware. Heck, it does not even mention that the routers can have multiple installed firmware versions. There is also no mention in the EdgeRouter datasheet. This article, EdgeRouter – How to Upgrade the EdgeOS Firmware shows how to see the two installed firmware versions in the command line interface, but does not explain how to activate an old version. Clearly it is not a selling point. Multiple articles say that you need knowledge of networking technology to even use the GUI interface. And, advanced functions are not available in the GUI, you have to instead use a command line interface.