May 30, 2008

Upgrade your low-priced router

A few years ago, I bought a router on sale for around $40: the Linksys WRT54G v6. It worked fine until recently when I built a computer for my kids. The router is in one corner of the house upstairs. The new computer was downstairs in the opposite corner, essentially diagonally across the the 3-D rectangular cube that is my house. Consequently, the wireless signal kept dropping on me, which was quite frustrating to my children and me. So I started looking for ways to make the signal stronger. I stumbled across WW-DRT:

DD-WRT is a third party developed firmware released under the terms of the GPL for many ieee802.11a/b/g/h/n wireless routers based on a Broadcom or Atheros chip reference design.

What happens is that you replace the firmware that came with your router and upgrade it to a Linux control platform. Sounded good to me so I check to see if my device was supported. It was, with some caveats:

In all later references we'll call these models "neutered". Why? Because they've had some crucial functionality removed by their reduced RAM and reduced flash memory.
[edit] Linksys WRT54G Neutered Models

Version 5.0 Serial number begins with: CDFB
Version 5.1 Serial number begins with: CDFC
Version 6.0 Serial number begins wtih: CDFD
[edit] Linksys WRT54GS Neutered Models

Version 5.0 Serial number begins with: CGN7
Version 5.1 Serial number begins with: CGN8
Version 6.0 Serial number begins with: CGN9

For more complete information on hardware revisions, visit Wikipedia:

On the neutered models listed above, Linksys reduced the flash memory and the RAM compared to previous versions of these models, thus the term "neutered". DD-WRT Micro is one of the only 3rd party firmwares available for these models. DO NOT ATTEMPT TO FLASH ONE OF THESE WITH DD-WRT mini. Having said that, if you have one of these neutered models, you'd still be much better off selling it and getting something else that is a supported device.

Looked like selling it was out of the question, so I said what the heck and proceeded with the specific installation instructions found here.

The instructions are pretty simple and worked well, but I have a couple of comments to make so I'll reprint them here:

If you have a WRT54G Version 5 or 6...

1. Download linux_prep_wrt54g.bin

2. Go into, click "Administration". Go to "Firmware Upgrade", and select the linux_prep_wrt54g.bin file. (see here for help) Click Apply and wait a few minutes. After you're screen turns white, power cycle the router.

3. Download linux_upgrade_wrt54g.bin

4. Go back to You are now in Management Mode. Select the linux_upgrade_wrt54g.bin file and upgrade.

5. Again, power cycle the router. When restarted, the Power LED should be flashing.

6. Download tftp.exe

7. Download dd-wrt.v23_micro_generic.bin

8. Open the TFTP client (Enter IP: or and upload "dd-wrt.v23.micro_generic.bin"


9. The router should restart. Wait a moment and than go to If all went well, you should be running DD-WRT Micro.
10. Enjoy your new Linux router and have a Cold Beverage!

Be sure to check out the FAQ as your browser will likely lose its built in IP address. Follow the steps in the FAQ and you'll be fine, with one exception:

I Can't Connect to the Router!
You've simply lost your IP address. You need to manually set these values.
Windows XP:
Control Panel>
Network Connections>
Right Click > Local Area Connection>
Scroll > Internet Protocol (TCP/IP)>
Select > Use the following IP Address:>
Subnet Mask:

I recommend using IP instead. I had problems with the "99" at the end; I don't know why. Anyway, some additions to the 10 steps above:

2) ...After you're screen turns white, power cycle the router

What happens using IE [***warning: do not use Firefox to do this upgrade***] is that the upgrade progresses and then the browser moves to a "page not found" sort of page, which is a white page with text. "Power cycling" means unplugging the router and then plugging it back in a few seconds later. CLOSE THE BROWSER, reopen and go to to see the Management Mode screen.

8. Open the TFTP client (Enter IP: or and upload "dd-wrt.v23.micro_generic.bin"

If the micro_generic.bin fails to load on 3 tries, be sure to follow the steps listed in the FAQ to reset the IP address of your router.

9. The router should restart.

The router didn't restart for me and I waited a few minutes for it to happen. Eventually, I power cycled it and reopened IE, typed in and lo and behold I saw the DD-WRT router configuration screen. YAY!

Final steps:

1) You will have to rename your router's SSID as it's been returned to default values.

2) Re-enable your WEP or WPA keys that wireless computers in your household are using so that nothing will have to be changed on their ends.

3) Go to Wireless--> Advanced settings and look for the Xmit power. The factory default is 28 mW. In theory, you can go over 250 mW, but it's like overclocking your PC's CPU: you'll fry it pretty quickly. I boosted the output signal to 70 then 90 mW to get the output I needed for the computer downstairs. My work was done.

For those of you hardcore gamers or downloading demons, you can also set up priorities for actions, software and computers (I'm not certain about the last one) to make your wireless network work how you want it to. As for me, I simply got more and better use out of my crappy little RAM-challenged router, which saves me the money for a new, more powerful one. If my tweak ends up shortening the life a little, so be it. I've gotten 2-3 years out of it already so I'll come out ahead.

WARNING!!! The actions you take might brick your router. There are numerous methods listed to unbrick them, but it's possible that you might have to run down to the computer store to buy a new one. Just an FYI, so don't blame me if it fails.
My update worked fine, but YMMV.

Good luck and happy routing.

Posted by: Physics Geek at 09:39 PM | No Comments | Add Comment
Post contains 1030 words, total size 7 kb.

Comments are disabled. Post is locked.
22kb generated in CPU 2.85, elapsed 2.0124 seconds.
89 queries taking 1.69 seconds, 231 records returned.
Powered by Minx 1.1.6c-pink.