5. Upgrading the firmware

Before you upgrade, here is a tip the documentation does not mention: disconnect all the patch cables except the one from the machine you are using to upgrade the box. Handling a lot of other network traffic while the firmware load is going on can corrupt the firmware.

There are three ways you can upgrade your Linksys firmware.

One is to click the "Upgrade firmware" link on the admin page. Download the firmware image to the machine your browser runs on, fill in the field that says "Please select a file to upgrade:", click the Upgrade button, and have the right thing happen. This is the least error-prone procedure and is recomended.

Another way is to use one of Linkys's firmware-upgrade floppy images from their website. This requires that you boot Windows or use WINE. Not recommended.

The third way is to use tftp. This is how I did it the first time, before Linksys added the "Upgrade firmware" to the firmware, and I document it here for completeness even though I now recommend their upgrade method. There is a tftp client included with Red Hat Linux. To upgrade your firmware this way, do the following steps:

  1. Write down your settings. The firmware upgrade may wipe some of them. Older versions nuked everything back to factory defaults; newer versions preserve your basic settings but clear some advanced ones.

  2. Download a copy of the new firmware. Follow the Downloads link from the Linkys main page. Note that what you get may well be marked "For Windows Users" and be a zip archive. Open it in a scratch directory, because it will rudely create several Windows files wherever you unpack it. The file you need will be called CODE.BIN.

  3. Disable the router password. Note that every attempt I made to do this with Mozilla failed (both under 1.38 and 1.44). Konqueror worked fine, and Firefox works fine with the 2.x firmware. Go to the Password tab, backspace over both sets of asterisks until both the Password and Confirm fields are blank, and click Apply.

  4. Cross your fingers and load the firmware. The command session you want will to see will look something like this, with your router's IP address substituted for 192.168.1.1:

    
tftp 192.168.1.1
    tftp> binary
    tftp> put code.bin
    Sent 386048 bytes in 10.3 seconds
    tftp>
    

    Don't panic if the client hangs for a bit before returning and do not abort the transfer. The command is writing to firmware, and the Linksys hasn't got much of a brain. Wait for it to finish.

  5. Re-enable your router password and other settings. You'll be able to tell the upgrade worked because the firmware version number will have changed.

You're done.