An upgrade to the latest Alchemy 6rc1 firmware had the net effect of turning our beautiful Linksys WRT54G router into nothing more than a brick. I guess I should have done a bit more research before trying to hack the device, but luckily, I’ve finally gotten everything sorted out again. The details of what actually happened are fairly uninteresting and tedious to explain, so I’ll get to the point and tell you what to do when you completely bork your router. Hopefully it will allow you to avoid some of the tough love and hard lessons that I faced today in the realm of embedded systems.
First, let’s talk about what to do if your device is already working. These are some preventative measures that will really help out if you do eventually end up turning your router into a brick. If you’re already using a third-party firmware, for example, you should go ahead and set the
boot_wait parameter to
on in your
nvram set boot_wait=on nvram commit
There should be no need to ever unset
boot_wait. The variable allows you a three to five second window to
tftp over new firmware at bootup and avoid otherwise catastrophic failure. The OpenWRT users guide has more details. Next, go ahead and download all the firmware and software that you’ll need to bring your router back to life. After all, Internet access can be quite problematic to obtain when your primary router is dead. So save yourself the headache and download the firmware upgrade files and the Auto Upgrade Utility.
Also, remember to disable the password when upgrading your firmware. Linksys firmware updates use the trivial FTP (
tftp) protocol, but it’s a non-standard modification that supports authentication. By disabling the password, you’ll still be able to use standard
tftp utilities to update the firmware. Note, however, that
boot_wait will never request a password, since it essentially bypasses the standard loading mechanism. In my opinion, your best bet is to simply boot up Windows and use the official Linksys utility.
If you’ve forgotten to set
boot_wait, but your firmware is corrupt, don’t despair. On many systems, a corrupt firmware can mean the end of a device. But the Linksys engineers did a fantastic job on this hardware and were smart enough to provide users with a way out. A corrupt firmwire can be identified by the constantly flashing red diagnostic light. When this occurs, your router has most likely gone into
PROM mode, a minimalistic, base environment that has just enough functionality to upload a new, working firmware. Linksys provides instructions on how to fix a red blinking diagnostic light. Remember to set your ethernet card to 10Mb, half duplex.
The worst of all cases is when you’ve uploaded a non-corrupt firmware, but the firmware itself doesn’t actually work because of bugs. Most users don’t run into this case, but for those of us who like to hack our own firmware, this is a common dilemma. If you set the
boot_wait parameter, then this is trivial to fix. If not, you’re in for a world of hurt, but revival is not insurmountable. You will, however, void your warranty. It’s time to open up your device and hack the WRT554G.
Congratulations, your Linksys router is now immortal.