Linksys WRT54G2 v1.0

From DD-WRT Wiki

Revision as of 23:20, 9 November 2009 by Redhawk0 (Talk | contribs)
Jump to: navigation, search

Process developed by Eko
Wiki created by Doramius

Linksys WRT54G2 Flash Instructions

A big thanks to Eko for making this available.


Eko has created a new 1 step process that make TFTP the killer file unnecessary. We will work to update this wiki-entry and possibly include some pictures. Until then, refer to the ReadMe file in Eko's Downloads.

" These istructions are obsolete - please use new one step process, no need to tftp the killer file any longer. See Readme file from my downloads !!! Eko "

Things to know about WRT54G2

Unlike classic WRT54 versions, It is not possible to upgrade directly via stock Linksys web interface. WRT54G2 runs vxworks-based firmware and requires a special procedure outlined below. (Once dd-wrt is installed, other dd-wrt versions can be flashed from the web interface, as usual).

Supported firmware versions: It is possible to flash either Micro or Micro-plus or micro-plus_ssh versions. For description of Micro features, see this feature matrix.

The current recommended builds of firmware can be found here.

Software Tools Required

  • Linksys tftp.exe. You must use Linksys tftp because normal tftp cannot authenticate with a password
  • Download the dd-wrt firmware itself from this download folder.
    • Use micro or micro-plus or micro-plus_ssh version. NB: Mini is not the same as micro. Mini versions are not compatible and may brick the router.
    • Which build to use ? The original instructions used 10709 dd-wrt.v24-10709_NEWD_micro.bin, but some people reported that 11536 dd-wrt.v24-11536_NEWD_micro-plus_ssh.bin worked for them when other versions did not work.
    • Version must be marked as NEWD, not VINT (some images do not have the NEWD/VINT distinction-- these are NEWD).
  • Download vxworksprep VxWorksPrep-G2V1 and vxworkskiller VxWorksKiller-G2V1

Flash Process

  1. Reset the router to defaults on the Linksys Admin page, and let it reboot or manually reboot it after it is finished.
  2. Set your computer to a static IP address of and for a mask and plug Ethernet cable into LAN port of the G2v1 unit. You can connect to any port labeled 1-4, just not the Internet port.
  3. If you are running Windows, disable Windows Firewall for your home or work (private) network. Windows Firewall can be found under Control Panel.
  4. Close all browser windows. Start the Linksys's tftp.exe utility, set IP to and browse to the VxWorksPrep-G2V1.bin file; enter password = admin, and click Upgrade. Wait 60 seconds for it to reboot on its own. If it does not, then power cycle the router manually. Important: even if your tftp is not working properly, do not resort to upload via web interface. Yes, you can upload vxworksprep via Linksys web interface, but you will get stuck on the next step (vxworkskiller) which only works with tftp. See TFTP troubleshooting below.
  5. DO NOT open any browser windows. Again, start Linksys's tftp.exe utility and browse to the VxWorksKiller-G2V1.bin file; enter password = admin, and click Upgrade. Wait 2 min for it to reboot on its own. If it does not, then power cycle the router manually. Note: normal tftp doesn't work, this step requires a tftp utility supporting password authentication.
  6. Tftp the DD-WRT firmware to the router, using "dd-wrt.v24-10709_NEWD_micro.bin or dd-wrt.v24-10709_NEWD_micro-plus.bin" (or latest version) from the folder where you got these instructions; after successful tftp, wait 3 min for the router to finish writing new nvram defaults, etc... It should reboot on it's own at least two times, so give it the 3 min and then open a browser and type in the address field. If it does not reboot on its own, wait another 1 min, and then power cycle it.
  7. When it finishes a hard reset (30/30/30) on the unit and let it boot again.
  8. At this point you can upload a newer firmware via DD-WRT web interface (after router has booted with the new firmware do a hard reset (30/30/30) again). Firmwares for Linksys WRT54G2 can be found at Use only NEWD_micro, NEWD_micro-plus or NEWD_micro-plus_ssh build, else you will brick your router! Currently recommended builds can be found here. About newest tested firmware version you can found info in this forum thread.
  9. Configure the unit and don't forget to set your computer back to automatically obtaining DHCP and DNS. Also remember to re-enable Windows Firewall.


  • It may be necessary to completely close and reopen the browser, it sometimes will return

to a management screen, if you only refresh the browser after upgrading. Just close the browser and try again.

  • WARNING: It is currently not possible to restore Linksys firmware after DD-WRT has been flashed. The only possibility is a full JTAG restore.

Alternate Flash instructions

Credited to Soul_Est
Disclaimer: DON'T DO THIS IF YOU ARE UNSURE ABOUT HOW TO FOLLOW THROUGH ON ANY OF THE STEPS! YOU CAN EASILY BRICK YOUR ROUTER BY NOT FOLLOWING THESE STEPS FULLY! This How-To is for anyone who wishes to install DD-WRT on their WRT54G2v1 without using any of the Linksys tftp programs. This would allow you to install DD-WRT from almost any OS as long as it's configured correctly and includes a tftp client and ping program.

I discovered how to do this thanks to dvs.

The How-To is based on the official instructions for installing DD-WRT on the WRT54G2 and my own experiences installing Eko's 13000 NEWD Micro Plus w/ SSH (Sept 30, 2009) which you can get here:

By following this - you will (with it disconnected from the computer)be:

  1. Downloading the correct files needed to install DD-WRT to your computer
  2. Hard resetting your router
  3. Configuring 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)be:
  4. Pinging the router at it's IP address CONTINUOUSLY and setting up tftp
  5. Connecting the computer to the router and checking for issues
  6. Putting the router in maintenance mode
  7. tftp'ing VxWorksPrep-G2V1.bin to the router
  8. tftp'ing VxWorksKiller-G2V1.bin to the router
  9. tftp'ing a Micro build of DD-WRT to the router
  10. After 5 minutes, power cycle the router and check for issues
  11. Hard reset the router, wait 5 minutes and configure DD-WRT to suit

This How-To does not contain instructions on installing DD-WRT from any BSD or BSD-like operating system except for Mac OS X and assumes that you have: read the Peacock thread, read the official installation instructions for the WRT54G2 v1 and that you know how to use the OS you choose to install DD-WRT from; this includes the Command Prompt/Terminal. IF THERE ARE ANY ERRORS IN THE INSTRUCTIONS, PLEASE INFORM ME!

  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.

Thanks BrainSlayer for the generic and generic w/ 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 the wiki article for the WRT54G2.



See this forum thread for more information about dd-wrt on WRT54G2, discussion of problems etc.

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.

Firmware uploaded but something doesn't work

In particular, if you get cgi errors after installation of dd-wrt, try a 30/30/30 hard reset. Try instructions from the "peacock thread".

Unbricking WRT54G2

If your router is bricked, follow instruction by Shawn360:

  • You need to make a jtag cable or buy one from eBay jtag cable Linksys. You have to install a simple pin header like this. Soldering is not hard, but if you don't want to solder you can use something like Wire Glue from, 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

Reporting a bug in dd-wrt

If you found some bug in dd-wrt:

  • Check it is not already reported here
  • Report the bug here


Tornado and redhawk0 for their help.
Thx to Ick & gfunk911 for donating routers.


Forum Reference: