Linksys WRT54G2 v1.0

From DD-WRT Wiki

Jump to: navigation, search

These are instructions for the WRT54G2 V1.0 ONLY. See here for the WRT54G2_v1.3 or WRT54GS2v1.0.


[edit] Hardware

  • CPU: Broadcom BCM5354 @ 240 MHz
  • RAM / Flash (ROM): 16 MB / 2 MB
  • S/N Prefix: CSV (Warning: this is the same for all WRT54G2v1.x routers)

Unlike most WRT54* models, the BCM5354 clock is locked and cannot be overclocked.

[edit] Install Procedure

Carefully read the Peacock announcement
NOTE: WRT54G2v1.0 only can use micro builds, and DO NOT USE VINT BUILDS

  1. Download
  2. Download
  3. Download (Windows TFTP client)
  4. Reset the router to defaults on the Linksys Admin page, then let it reboot.
  5. Set the computer to a static IP address e.g., subnet
  6. Connect an ethernet cable from the computer into a LAN port of the G2v1. Do not use wireless!
  7. Login (username is blank, password = admin) and navigate to Admin->Firmware Upgrade page. Browse to the VxWorksKiller-G2V1-new.bin, press Upgrade and wait 120 seconds for it to reboot itself
    • If it does not, power cycle the router manually.
  8. Wait another 120 seconds then reboot again. Router should now be listening for TFTP transfer of DD-WRT
  9. Run the downloaded tftp.exe (to avoid issues, open as administrator) and set the following:
    • Server:
    • Password: (Leave Blank)
    • File: click Browse then select "dd-wrt.v24-10709_NEWD_micro.bin" (from step 2)
  10. Tftp the downloaded DD-WRT micro firmware to the router, use dd-wrt.v24-10709_NEWD_micro.bin
  11. After successful tftp, wait 3 min for the router to finish writing new nvram defaults, etc. It should reboot on its own at least twice, so wait 3 min then go to
    • If it does not reboot on its own, wait another 1 min, and then power cycle
  12. When finished booting, hard reset then let it boot again, set a password, and login to DD-WRT
  13. Upgrade to 14929 micro_generic.bin, following the steps in note 1 of the Peacock announcement
  14. Set your computer back to automatically obtaining DHCP and DNS.
  15. Restart your internet browser to avoid blank apply.cgi issue

For more information and builds: Index:FAQ#Where_do_I_download_firmware.3F

[edit] Updating DD-WRT

DO NOT USE THE ROUTER DATABASE! See the Peacock announcement for recommended builds, or research new builds threads for k2.4 micro builds routers, particularly for BCM5354 chipset routers.

[edit] Linksys Firmware is VxWorks OS

Unlike classic WRT54 versions, it is not possible to upgrade directly via stock Linksys web interface on the WRT54G2. OEM firmware runs a vxworks-based OS and requires a special procedure outlined below.

[edit] Micro builds

Once DD-WRT is installed, other micro, Micro-plus, or micro-plus_ssh versions can be flashed. For description of Micro features, see this feature matrix.

  • Micro-plus and micro-plus_ssh builds disappeared from the download site, see here and here. 18946 was the last micro-plus (currently not available), so for newer builds use micro_generic.

[edit] Reverting back to stock Linksys firmware

[edit] Reverting via VxWorksRevert

Cybermiguel has successfully reverted a WRT54G2 V1.0 using Brainslayer's VxWorksRevert tool for the WRT54GSv7 using the steps below. This has been confirmed by at least two other people.

  1. Download the VxWorksRevert-GSv7.bin image and save it to a memorable location you can browse to in the next step.
  2. Log into DD-WRT on your router via the web interface and go to Administration -> Firmware Upgrade, selecting the VxWorksRevert.bin file that you've just downloaded as the new firmware.
  3. Wait at least 2 minutes for the router to update. The power light on the device will begin flashing.
  4. Power cycle the router. When turning back on, the power light will still continue to flash but you will now be able to access the Management Mode at NOTE: At this point, there is no wireless enabled, so if you are flashing wirelessly you will need to plug in an Ethernet cable to update the router.
  5. Download the Linksys WRT54GSv7 firmware here and upload it via the Management Mode web interface. On successful completion, power cycle the router.
  6. After 45 seconds or so, browsing to will now display the default Linksys firmware (albeit labelled as a WRT54GSv7).
  7. Download the modified official WRT54G2 V1.0 firmware and upload it via the Firmware Upgrade page on the web interface. Wait for it to reboot.
  8. Tada! Your router is now back to stock factory firmware.

[edit] Reverting through JTAG

Reverting through JTAG results in a generic mac address that can be fixed with mac clone. Anyone willing to try it with JTAG, here is a "generic" original Linksys wholeflash for the WRT54G2V1. It has an embedded MAC address of 00:21:29:00:00:01

This MUST be loaded back to the unit with exceptions. This is an altered/edited wholeflash.bin file from my virgin unit, before dd-wrt was loaded.

[edit] Reverting Notes

I followed the Reverting via VxWorksRevert exactly but couldn't get past step about uploading the bin file to the Management Mode web interface. It would NEVER work. After troubleshooting the issue, I re-downloaded the .bin file and tried it again and it worked. So, if you get "Upgrade Failed" when uploading bin files to the management mode, try re-downloading the .bin file.

[edit] Historical Alternate Flash instructions

This and the original procedure, using a two step VxWorks removal process, are deprecated.
The Prep and Killer .bin files are no longer available. Use the new Install Procedure instead.
For the old method, read the WRT54G2v1.0 thread.


This How-To is to install DD-WRT on a WRT54G2v1 without using any of the Linksys tftp programs. This would allow you to install DD-WRT from almost any correctly configured OS with a tftp client and ping program.

This is based on the original instructions for installing DD-WRT on the WRT54G2 and my own experiences installing Eko's 13000 NEWD Micro Plus w/ SSH (Sept 30, 2009). [See Micro builds]

[edit] Overview

With the router still disconnected from the computer:

  1. Download the correct files needed to install DD-WRT to your computer
  2. Hard resett your router
  3. Configure your computer with a static IP address on the same subnet as the router

After connecting the computer to one of the router's LAN ethernet ports:

  1. Ping the router at it's IP address CONTINUOUSLY and setting up tftp
  2. Connect the computer to the router and checking for issues
  3. Put the router in maintenance mode
  4. tftp VxWorksPrep-G2V1.bin to the router
  5. tftp VxWorksKiller-G2V1.bin to the router
  6. tftp a Micro build of DD-WRT to the router
  7. After 5 minutes, power cycle the router and check for issues
  8. Hard reset the router, wait 5 minutes, set a password and configure DD-WRT

[edit] Procedure

This How-To does not contain instructions on installing DD-WRT from any BSD-like OS except for Mac OS X, and assumes that you have read the Peacock announcement and official installation instructions, and know how to use the OS you install DD-WRT from, including the Command Prompt (Terminal).

  1. Download the the files needed for installing DD-WRT to the router. You'll need VxWorksPrep-G2V1.bin, VxWorksKiller-G2V1.bin, and one of the Micro builds of your choice.
  2. BEFORE following through with the rest of these steps, make sure the computer is DISCONNECTED from your router and do a HARD RESET or 30/30/30! It is in the official installation instructions for ALL routers and is included in many install guides on these forums. Please, BEFORE following through with the rest of these steps, do a HARD RESET or 30/30/30!
  3. Configure your computer with a static IP of 192.168.1.x (x can have any value from 2-254) and a subnet mask of
  4. Open 2 Command Prompt/Terminal windows or just work with the CLI if that's what you're using but be logged into at least 2 virtual terminals. On one of them issue the command:
ping (-t (for Windows only))

(the router's IP address) which only give you multiple "Request timeouts" for now, while in the other Command Prompt/Terminal window setup tftp to upload the files to the router by issuing these commands:

rexmt 1
timeout 60


put VxWorksPrep-G2V1.bin

at the prompt. DO NOT PRESS ENTER YET!

  1. Connect the computer the router making sure the plug the ethernet cable into one of the four ETHERNET ports, NOT THE INTERNET PORT. In the Command Prompt/Terminal window where ping is running you should see responses such as this:
64 bytes from icmp_seq=3918 ttl=64 time=1.812 ms
This is good.
  1. Put the router in maintenance mode by the doing the following:

A- Power off (unplug) the router and wait for 30 seconds. Make sure to hold the tip of a pointy object (a pen works best) so that it is just touching the reset button on the router. In the pinging Command Prompt/Terminal window, you'll see responses like this:

Request timeout for icmp_seq 3908

This is also good.
B- PAY ATTENTION THE COMMAND PROMPT/TERMINAL WINDOW WITH THE PING RUNNING. Also make sure that the window in which the tftp commands where entered is in focus. Power (plug in) the router and immediately after, press and hold the reset button for ~5 seconds. You'll then get these responses:

64 bytes from icmp_seq=3967 ttl=100 time=5.971 ms
64 bytes from icmp_seq=3968 ttl=100 time=1.695 ms

Now for the VxWorksPrep.

  1. HIT THE ENTER KEY NOW AS THE RESPONSES ARE ONLY FOR 2 SECONDS! In the window with ping running you'll see these responses:
64 bytes from icmp_seq=4003 ttl=100 time=5.646 ms
64 bytes from icmp_seq=4004 ttl=100 time=1.654 ms
64 bytes from icmp_seq=4005 ttl=100 time=2.850 ms
64 bytes from icmp_seq=4006 ttl=100 time=3.148 ms
64 bytes from icmp_seq=4007 ttl=100 time=2.328 ms
64 bytes from icmp_seq=4008 ttl=100 time=3.510 ms
64 bytes from icmp_seq=4009 ttl=100 time=2.469 ms
64 bytes from icmp_seq=4010 ttl=100 time=2.803 ms
64 bytes from icmp_seq=4011 ttl=100 time=1.987 ms
64 bytes from icmp_seq=4012 ttl=100 time=4.074 ms
64 bytes from icmp_seq=4013 ttl=100 time=2.356 ms

The VxWorksPrep-G2V1.bin will be tftp'ed to the router. Wait 1 minute for the router to reboot. If successful, the response to the pings will look like this:

64 bytes from icmp_seq=3092 ttl=100 time=1.074 ms
64 bytes from icmp_seq=3093 ttl=100 time=0.717 ms
64 bytes from icmp_seq=3094 ttl=100 time=0.728 ms
64 bytes from icmp_seq=3095 ttl=100 time=0.699 ms
64 bytes from icmp_seq=3096 ttl=100 time=0.633 ms
64 bytes from icmp_seq=3097 ttl=100 time=0.706 ms
64 bytes from icmp_seq=3098 ttl=100 time=0.715 ms
64 bytes from icmp_seq=3099 ttl=100 time=0.651 ms
64 bytes from icmp_seq=3100 ttl=100 time=0.647 ms
64 bytes from icmp_seq=3101 ttl=100 time=0.641 ms
64 bytes from icmp_seq=3102 ttl=100 time=0.642 ms

The router is now ready for VxWorksKiller.

  1. In the same window as where you entered the tftp commands run the command for tftp'ing VxWorksKiller-G2V1.bin to the router:
put VxWorksKiller-G2V1.bin

You'll get the same responses in the window running ping with as when you tftp'ed the VxWorksPrep-G2V1.bin to the router. Wait 2 minutes for the router to reboot. When the router reboots the responses from the pings will have a ttl of 100.

  1. In the tftp window, run the command:
put dd-wrt.v24(rest of the file's name).bin

You'll get more ttl=100 responses from the pinging. Once the tftp has finished, the router WILL reboot. LEAVE THE ROUTER ALONE AND TAKE 5!

  1. Power cycle the router (unplug and plug in the power cord), then hard reset the router again. When router fully boots up, open up a web browser (Firefox, Internet Explorer or Safari) and go to If the you get a page asking you to enter a new username and password, success! If not go back to step 6 (provided that you didn't close any windows, if so go back to step 4) and try again.
  2. Once you have succeeded in getting DD-WRT on the router, hard reset the router again, wait 5 minutes, go to and go about configuring DD-WRT to suit.

[edit] Troubleshooting

[edit] Forum

Search the Broadcom Forum and review the WRT54G2v1.0 thread for more information.

[edit] TFTP troubleshooting

  • Linux users can use this tool:
  • Linksys tftp.exe and tftp2.exe seem to have a problem working through Vista. Several users have complained of connection problems using Vista (see below). However, tftp.exe and tftp2.exe seem to work well in XP. Try disabling Windows firewall in Vista before using tftp.exe. Try using another tftp program that allows a password or set the password to blank and use the Vista command line tftp program.
  • Empty password workaround to use standard tftp: If you cannot use Linksys tftp and must use standard tftp that does not take password, there is a workaround from Eko: Login to the linksys and set the password to be empty (no characters at all). Save and exit the router. Then you can uses command line tftp without password.
  • Possible workaround for tftp on Vista and Windows 7: Right-click on the "tftp.exe" file that you downloaded and select "Properties" from the menu. At the bottom of the Properties dialog, you will see "Security: This file came from another computer and might be blocked to help protect this computer." Click on the "Unblock" button next to that and then click "OK". tftp should work after that.

[edit] Issues after firmware upload

For cgi errors after installation of dd-wrt, try a hard reset. Try instructions from the "Peacock announcement".

[edit] Flashing Power Light

If you have a continuously flashing power light, the router is not bricked and can be reflashed. This normally happens when the flash is corrupted from a firmware upgrade. In order to fix this download the latest firmware from Linksys and put the router in management mode by doing the following:

  1. Connect power and Connect to a PC using any of the 1-4 Ethernet ports. Set up the PC to do 10Mbps Half duplex.
  2. Open a browser, preferably Mozilla Firefox and type in the address bar [dont press enter yet].
  3. Press and hold reset button for 30 seconds.
  4. While holding the reset button unplug power and wait 30 seconds.
  5. While holding the reset button plug the power back.
  6. While holding the reset button press enter in Firefox. It should show a minimal Management Mode screen. With a place to browse for your firmware file.
  7. While holding the reset button, point to your firmware file and press upgrade.
  8. Keep holding the reset for at least 3 more minutes or until the router comes back and shows success and asks you to recycle power.

Viola, after the contortion act, you should have a working router again.

[edit] Unbricking WRT54G2
  • You need to make a jtag cable or buy one from eBay. Solder a simple pin header or use an alternative like Wire Glue, the cheapest of these type of glues. Just put it on let it dry, no soldering.
  • Then use Tjtagv2 program to unbrick your router: EJTAG De-Brick tool
  • Use Tjtagv2 to upload WRT54G2 "wholeflash" image from here
[edit] Reporting a bug in DD-WRT

[edit] Credits

Thanks to BrainSlayer for the generic and oslrd Micro builds, Eko for the brilliant 13000 Micro Plus w/ SSH, Murrkf for the information rich Peacock thread, dvs who first discovered how to put a NEWD compatible router in maintenance mode, toolman667 for the tftp commands and everyone who worked on this wiki article.

  • Process developed by Eko.
  • Tornado and redhawk0 for their help.
  • Thx to Ick & gfunk911 for donating routers.
  • Reverting through JTAG by redhawk
  • Alternate Flash instructions by Soul_Est and dvs
  • Unbrick instruction by Shawn360.
  • Wiki created by Doramius