Old Dog, New Tricks: Mod a Linksys WRT54G-series Router





Introduction: Old Dog, New Tricks: Mod a Linksys WRT54G-series Router

Take a plain, ordinary (read: boring, with limited functionality) $60 wireless router and supercharge it with cool features and lots more functionality, control, and diagnostics. There's much more under the hood of these devices than is accessible with the vendor's default firmware versions. Even the updates from the vendor's support website unlock only a fraction of the router's capabilities.

Third-party developers have made firmware upgrades available that unleash a lot more functionality.

"What is this 'firmware' of which you speak?" you ask. Well, that router is really just a fancy pile of switches waiting to be told what to do; that's the hardware. The firmware consists of the start-up instructions that make those switches actually do things. It's called firmware because it's not in the form of traditional "software" -- it's not on a moving disk. It is stored on a non-volatile memory (NVRAM) chip. The good news is: the vendors allow changes to that chip, so if they produce new versions of firmware, you -- the end-user -- can copy another version into NVRAM, letting your old device do new tricks. It also means that the chip can hold other code -- code written by someone other than the original vendor...

Note: I'm working on an updated version of this "-able" using firmware release v.24 SP1. Stay tuned...

Step 1: Assumptions and Preliminary Notes

Assumptions for this Instructable
  • Using DD-WRT v23.SP2 firmware images
  • Using Linksys WRT54G v1.1 router (serial # prefix CDF2)

A few notes from the DD-WRT hwsupport.txt file:
  • For upgrading from the original Linksys firmware, please use the generic mini version (dd-wrt.vXX_mini_generic.bin) and flash it from the web GUI interface.
  • After this first flash upgrade, any other DD-WRT full firmware binary may be applied.
  • For flashing via the web GUI interface (after applying the mini firmware), always use the included 'generic' binaries.
  • The other Linksys router version-specific binaries are meant to be applied only through tftp upgrades.
  • WARNING: Never, and I say never try to clear the nvram by the mtd utility. (mtd erase nvram). This will also delete your hardware MAC addresses which aren't stored in the CFE like in other routers -- the command line mtd utility can permanently brick your router.

(Note: This Instructable will work with most models of LinkSys WRT54G-series router. Obviously, the G-specific details would need to be adjusted to match the model being modded.)

Step 2: Prepare the Router for Upgrade

1) Determine the version of the router, to know what the technical details are for your specific model

2) Download the Upgrade firmware version utility from Linksys. This is a TFTP utility needed for upgrading to any DD-WRT firmware type except "generic"

3) Download latest firmware from DD-WRT Downloads page:
3.1) Download the Mini firmware for your specific router model. Mini flash is required for all upgrades, as an interim stage between Linksys firmware and the final DD-WRT firmware configuration.
3.2) The Standard, VPN & VOIP versions have different feature sets, but all share the same core extended functionality.
3.3) If zip files are downloaded, there are different file versions within for the different router models, so be careful which file you select when upgrading.

4) Reset the router to factory defaults. The router's default configuration should now be the following:
4.1) IP address:
4.2) Subnet mask:
4.3) Username: admin
4.4) Password: admin

Step 3: Connect to the Router

1) Assign the Ethernet port on your laptop/desktop a static address that matches the default factory subnet of the router. Follow these steps to assign a static address. (It's possible to perform the upgrade with a DHCP address, but a static address is more reliable.)

2) Use an Ethernet cable to connect to the router through a 10/100 port for performing the flash upgrade. (It's possible to flash the router via a wireless interface, but it's much more reliable to use a wired connection.) Use a web browser to connect to the router's administration interface using the above credentials.

The result should look something like this:

Step 4: Mod It! Upgrade the Firmware

Use the router's web GUI interface to flash the router to the "mini" firmware. Be sure to use the "generic" mini firmware file when using the web GUI. Apply the firmware and heed the warnings not to shut down the browser window or power off the router until the process has completed.

The firmware upgrade page, with the "mini" generic firmware selected, in the process of upgrading the firmware:

Step 5: Upgrade the Firmware, Cont.

Once the firmware upgrade has completed, the following screen should appear. Wait a minute or 2 before continuing:

Step 6: Upgrade the Firmware, Cont.

Perform a hard reset on the router. It should then restart with the DD-WRT "mini" firmware successfully applied.

The DD-WRT firmware has different login credentials, and the mini firmware upgrade sets the following values:
1. IP address:
2. Subnet mask:
3. Username: root
4. Password: admin

The default web page displays an overview system information page without requiring a login (Note the current active version in the upper-right of the router's web interface, and the new default router name):

Step 7: Apply the Full Firmware Version

With the "mini" firmware in place, the final firmware upgrade may be applied.
1. Select the Administration tab and log in with the DD-WRT default username and password.
2. Select the Firmware Upgrade tab from the Administration page.
3. Browse to the DD-WRT version of firmware selected to download (Standard, VPN, VOIP) and use the generic binary file.

Step 8: Upgrade Successful!

Wait for the upgrade to transfer. The router will restart, and the following screen will appear:

Step 9: Access the Upgraded Router

Once the router has completed resetting, login with the DD-WRT default credentials, if prompted (some browsers cache credentials):

Step 10: Fully Modded

The router upgrade is now complete!

The mini firmware need only be applied once. It serves as a transition between the Linksys and full DD-WRT binaries. Other DD-WRT firmware images (VPN, VOIP) may be applied using the same process for applying the Standard binary.

The basic setup page should appear, with the new firmware version showing in the upper right:

Step 11: Unbricking a Router

Sometimes a flash upgrade attempt gone awry can disable some components -- such as the 10/100 ports -- and leave other services functional. It may be necessary to configure a static IP address on the default IP subnet to communicate via the 10/100 ports, instead of relying on receiving a DHCP-assigned address.

Note: even though all warnings say never flash the router across a wireless interface, it is possible to do so successfully. I have found that in some cases a bad flash attempt disables the LAN ports; the only option in this instance is to connect to the "bricked" router trough the wireless interface.

Unbricking a WRT54G router

Step 12: DD-WRT Features

Here are just some of the features that this DD-WRT firmware makes available that transform this router into something far cooler than the vendor firmware provides:

  • Adjust transmit power -- boost the wireless transmitter up to a whopping 251mW. Note: Please keep in mind that FCC regulations restrict wireless transmit levels for devices like these. Turn up the power incrementally until you get the level of service you need; you do not want to get noticed by the Fed. You could also "drown out" other wireless signals that use the same channel. A lot depends on the antenna configuration used and other factors, so just be careful. If you want more range, check out WDS below.
  • Afterburner -- WRT54GS routers support SpeedBooster technology, and with wireless clients that support this feature, wireless performance can be increased significantly.
  • QoS -- Use Quality of Service to prioritize types of network traffic. Let some applications have more bandwidth than ohers!
  • Dynamic DNS -- Even without a static IP address from your service provider, you can access your router with a DNS name. dyndns.com provides a free service to associate a DNS name with your router (There are other DDNS providers, as well). If you need to get to your router from the outside world, dynamic DNS lets you have a consistent name that stays the same, even when its dynamic address changes (which it will, frequently).
  • Advanced routing features -- Configure your router as a border router using BGP or OSPF routing protocols.
  • VLANs! -- establish virtual network segments using VLAN IDs and create more sophisticated network configurations.
  • WDS -- Wireless Distribution System allows your router to talk to other routers as access points. This means you can extend the range of your network by letting routers talk with each other as bridges, resulting in wider network coverage.
  • WEP, WPA and WPA2wireless security methods
  • RADIUS authentication -- provide for strong network authentication by accessing an external server to verify credentials.
  • Virtual Private Network access -- reach your internal network resources from the outside world using a secure VPN tunnel. (This requires the VPN firmware version)
  • UPnP -- Universal Plug and Play allows applications to automatically setup port forwardings.
  • Command shell -- Add specific startup and/or firewall commands to be run when the router starts up to create even more customized configurations

There are many other features that this firmware supports. I have just highlighted what I think might be of interest to some users. The help functionality built into the firmware is great, so poke around and don't be afraid to try things.

Oh yeah, make sure you back up your configuration before trying new features, just in case.

Just remember, your mileage may vary...

Step 13: Additional Resources

Finally, here are some additional resources that may help with the upgrade process:

  • Upgrade firmware version utility, from Linksys. Actually a TFTP utility, it's a very useful tool for upgrading Linksys router firmware.
  • TFTPD32.EXE -- An outstanding utility, it includes a TFTP server daemon and client. It also has DHCP, SNTP and SYSLOG server functionality.
  • The "Ask LinkSys" link under Support Tools on the Linksys website. Choose "Technical Support" under the Support tab. The "Ask LinkSys' option is on the left. The Tech Support page is helpful for walking through lots of different issues and finding support documents quickly.



    • Epilog Challenge 9

      Epilog Challenge 9
    • Pocket-Sized Contest

      Pocket-Sized Contest
    • Science of Cooking

      Science of Cooking

    We have a be nice policy.
    Please be positive and constructive.




    does anyone know how to link two routers together?.. to make a wireless bridge or chain.. so i can expand the range

    The DD-WRT firmware provides a feature set called Wireless Distribution System -- WDS -- to extend the range of a wireless network with additional access points. It can be set up relatively easily, but it's recommended to use WPA to secure the links; I don't believe WPA2 is supported. I've never set it up myself, but it seems pretty straightforward, and it should even work with other brands of access point, such as Apple's AirPort models.

    This is how i have my network set up so i can tell you for curtain that this works. Upstairs = DD-WRT router connected to cable modem and providing hard wire connections to a Network Accessible storage and a printer. this router also provides a wireless net work to the up stairs residents / guests Downstairs = DD-WRT router connected to the upstairs router (wireless). This router provides hard wire connections to my MythTV back end server and to a desktop PC. This router also provides a second wireless network to provide a strong wireless signal for the downstairs residents / guests. all equipment can be accessed or restricted by the system architect / administrator. DD-WRT is extremely powerful and reliable. I have been using it for years. And yes, other access points have no trouble extending this network even further.

    I read up about this a few years ago and found people saying that each additional router you added into WDS slowed the network speed by half. Have you noticed a significant slowdown in your network speed?

    i am currently using Clear as my provider. paying for the 3Mbps speed tier and I can put 3-3.5 from any point in the system. So, no I am not seeing a decrease in speed. One side note. The Clear modem has its own DHCP so the routers are configured as "switches" and there IPs fixed in the same rage. All LAN connections are made in the LAN ports of the routers.

    What about computer to computer transfers? The reason I ask is that I have movies stored on a file sharing server, and am renting a large house. Now, the movies will just barely stream within the current bandwidth limits, but the outer edges of the house have very weak signal strength. Have you noticed a slowdown in file sharing, or do you not file share on your network? Also, are you using a 802.11G or N network?

    i am using the old linksys so it is 802.11 and I stream TV / movies from netflix / hulu all the time. And the MythTV back end serves recorded TV to any node as well.

    I have a Linksys WRT 54G Router and in interested in this modification to increase its range which is restricted for some reason within our house at the extremities. However its serial # prefix is CDFB1FA............. . Would this mod be suitable for this router or would there be potential problems in trying it. Thanks, Paul.

    You've got a ver. 5.0 WRT54G router. They don't recommend using this router, as it has less memory than older versions and uses a 3rd-party Linux firmware. Ver. 4.0 and below have 16MB of RAM and 4MB flash built in, but 5.0 and above have only 8MB/2MB. (Ver 7.0 has Atheros hardware and is not supported at all with the DD-WRT firmware upgrade.) Ver. 5 & 6 use the 3rd-party a Linux firmware and require a special extra utility to deal with that VXWorks firmware build. If you do plan to try flashing this router, only use the Micro DD-WRT upgrade (because of smaller RAM/flash capacity) and get the VXworks utility. I've never used it, so until I stumble across a v.5 or 6 router to try this on, you're on your own. Serial numbers starting with CDF0 -- CDFA are ver. 1.0 through 4.0 and should all work with the standard DD-WRT firmware. They're available pretty cheap if you look around... I hope this helps! -- Geoff

    Great tutorial, thanks. I've got a friend with a business. Right now he's got one of these running with a dsl line for his business use. He wants to be able to offer wireless internet access to his customers while they wait, but he doesn't want them to be able to access the company network. With this firmware allow such a scenario?