**DISCLAIMER** The following instructions are provided without warranty of any kind. Flashing firmware does not come without risk. I will not be held responsible for any resulting equipment failure or otherwise undesirable results. Proceed at your own risk.
This tutorial explains how I successfully flashed my Linksys WRT54GL version 1.1 with the open source DD-WRT version 23 SP2 VPN firmware (generic).
Before proceeding, verify your WRT54GL is version 1.1. Per Wikipedia entry and DD-WRT Wiki), you can tell which version you have by checking the serial number. The serial number should be located on a sticker underneath the router. The serial number prefix CL7B corresponds to version 1.1 and CL7A corresponds to version 1.0.
Don’t despair if your router is version 1.0. You can still flash to the DD-WRT firmware. However, the process will be different due to a flash file size limit on the version 1.0 WRT54GL firmware. The main difference is that you will need to flash to a smaller version of the DD-WRT firmware (the mini version) first and then re-flash to the standard, VOIP, or VPN versions.
As a bit of background information, used a fully patched (as of April 6, 2007) Windows XP Pro with Service Pack 2 (SP2) and Internet Explorer 6 during the firmware upgrade process. The OS and web browser shouldn’t matter, but I have heard reports of Firefox causing some problems with the Flash for some people in the past though others have claimed to use Firefox without any problems.
Before you begin, download the package and version of the DD-WRT firmware best suited to your needs. This tutorial walks through flashing to the open source DD-WRT version 23 SP2 VPN firmware. Once you’ve downloaded the file, go ahead an unzip the files. The zip package contains several files, you will only need the “DD-WRT.v23_vpn_generic” file. We’re going to be using the generic file rather than the wrt54g file because we’re going to be using the web GUI to upload the file.
I recommend verifying the MD5SUM hash of the “DD-WRT.v23_vpn_generic” file to ensure the download wasn’t corrupt or hasn’t been comprised. If you don’t already have a tool to calculate MD5SUMs, I currently use HashCalc. I like it because it can calculate many different hash types, not just MD5s. The signature of the file should be baf91850d3204fd64b120467425b4a11. If you plan on flashing a different version, you can find of list of signatures on the DD-WRT hashes page.
Since you will not have Internet access during this process, I recommend copying the information from the following pages into a document:
- How to Flash the WRT54GL with DD-WRT Firmware
- WRT54GL Specific Instructions
- Reset and Reboot
- Recover from a Bad Flash
It is best to turn off your firewall and anti-virus software during this process to ensure that nothing interrupts the firmware flash. An interruption could cause the flash to fail and brick your router. If something does go wrong you may be able to recover from a bad flash.
I almost forgot to mention that you should ONLY perform the flash through an Ethernet cable using standard http (not https). Do not do this wirelessly (for the extremely caution, temporarily disable the wireless adapter on your computer to ensure your connecting through a wired connection). Plug the blue Ethernet (Cat5/RJ45) cable that came with your router into the Network Interface Card (NIC) on the back of your computer and into one of the ports labeled 1, 2, 3, or 4. The “Internet” port on your router should be connected to your broadband source (e.g., cable or DSL modem). Please ignore the extra cable in the picture. It is not needed for the flash to work.
The last item that needs to be completed before uploading the new firmware is to reset your Linksys router to the factory defaults. More than one way to do this exists:
- Selecting reset button within the web interface
- Holding the reset button on the back of the router for 30 seconds
To reset the router to firmware defaults, go to the internal IP address of your router (most likely 192.168.1.1) and login with the user name and password you setup when you first installed the router (if you don’t remember, use the reset button method). Once logged in, go to “Administration” tab and the “Factory Defaults” sub-tab. Select the “Yes” radio button next to “Restore Factory Defaults” then select “Save Settings”.
If the reset was successful, you will see a page that says “Settings are successful. You will be returned to the previous page after several seconds.”
Now that everything is setup we can begin the process of actually performing the flash. To upload the firmware, navigate to the “Firmware Upgrade” sub-tab under the “Administration” tab. On this page, select “Browse” to go to the place where you saved the “DD-WRT.v23_vpn_generic” file. Once located, select open and then the “Upgrade” button. Please wait patiently for the upload to complete. Whatever you do, DO NOT interrupt it. Walk away for a few minutes if your one of those people who tend to get impatient and cannot resist clicking buttons when things do not seem to be working as quickly as you think they should.
If all goes as well as expected, you will greeted by a screen that says “Upgrade is successful”. Next, click the “continue” button. If not successful, simply re-try the same steps or research the DD-WRT wiki for more info.
Next, you should see is a prompt to login to the new DD-WRT interface. The default user name is “root” and the default password is “admin”. Be warned, I wasn’t able to log-in initially even though I got this prompt. I’ll explain how I got resolved this momentarily.
To confirm that your router is working you should ping it. To ping your router, go to “Start > Run” in windows. Then type in “cmd” and hit “ok”. At the command prompt type in “ping 192.168.1.1″. If the router is online, you will get a ping response that says Packets Sent = 4, Received = 4, Lost = 0 (0% lost).”
Since the DD-WRT web interface didn’t come up right after the flash, I reset the new DD-WRT firmware back to firmware defaults. To do this you need to hold the reset button on the back of the router while unplugging the router. Continue to hold the reset button as you re-plug in the router. Once the router is plugged in you should continue holding the reset button for 30 seconds to complete the hard reset. This procedure is tricky so you may have to try a couple of times to get it exactly right (I did).
Once reset, go back to Internet Explorer (or your preferred browser) and navigate to 192.168.1.1. At the prompt enter in “root” for the user name and “admin” as the password. The DD-WRT web interface should come up this time.
Congratulations, you’ve successfully flashed your router! Since you’ve successfully flashed your WRT54G, you may be interested in Wireless Hacks: Tips & Tools for Building, Extending, and Securing Your Network.