Linksys WRT54G2 v1.0
From DD-WRT Wiki
These are instructions for the WRT54G2 V1.0 ONLY. See here for the WRT54G2_v1.3 or WRT54GS2v1.0.
Contents |
[edit] Hardware
https://wikidevi.com/wiki/Linksys_WRT54G2_v1.0
- 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
- Download ftp://ftp.dd-wrt.com/others/eko/WRT54G2V1%20Flashing/VxWorksKiller-G2V1-new.bin
- Download ftp://ftp.dd-wrt.com/others/eko/WRT54G2V1%20Flashing/dd-wrt.v24-10709_NEWD_micro.bin
- Download ftp://ftp.dd-wrt.com/others/eko/WRT54G2V1%20Flashing/tftp.exe (Windows TFTP client)
- Reset the router to defaults on the Linksys Admin page, then let it reboot.
- Read the Peacock announcement Note 11 (How to TFTP) and the Tftp_flash wiki.
- Set the computer to a static IP address e.g. 192.168.1.8, subnet 255.255.255.0
- Connect an ethernet cable from the computer into a LAN port of the G2v1. Do not use wireless!
- 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.
- Wait another 120 seconds then reboot again. Router should now be listening for TFTP transfer of DD-WRT
- Run the downloaded tftp.exe (to avoid issues, open as administrator) and set the following:
- Server: 192.168.1.1
- Password: (Leave Blank)
- File: click Browse then select "dd-wrt.v24-10709_NEWD_micro.bin" (from step 2)
- Tftp the downloaded DD-WRT micro firmware to the router, use dd-wrt.v24-10709_NEWD_micro.bin
- 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 http://192.168.1.1
- If it does not reboot on its own, wait another 1 min, and then power cycle
- When finished booting, hard reset then let it boot again, set a password, and login to DD-WRT
- Upgrade to 14929 micro_generic.bin, following the steps in note 1 of the Peacock announcement
- Set your computer back to automatically obtaining DHCP and DNS.
- 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.
- Download the VxWorksRevert-GSv7.bin image and save it to a memorable location you can browse to in the next step.
- 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.
- Wait at least 2 minutes for the router to update. The power light on the device will begin flashing.
- 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 http://192.168.1.1/. 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.
- Download the Linksys WRT54GSv7 firmware here and upload it via the Management Mode web interface. On successful completion, power cycle the router.
- After 45 seconds or so, browsing to http://192.168.1.1/ will now display the default Linksys firmware (albeit labelled as a WRT54GSv7).
- 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.
- 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 JTAG...no exceptions. This is an altered/edited wholeflash.bin file from my virgin unit, before dd-wrt was loaded.
- generic-WHOLEFLASH.BIN - This is vworks, not linux
[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.
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 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:
- Download the correct files needed to install DD-WRT to your computer
- Hard resett your router
- 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:
- Ping the router at it's IP address CONTINUOUSLY and setting up tftp
- Connect the computer to the router and checking for issues
- Put the router in maintenance mode
- tftp VxWorksPrep-G2V1.bin to the router
- tftp VxWorksKiller-G2V1.bin to the router
- tftp a Micro build of DD-WRT to the router
- After 5 minutes, power cycle the router and check for issues
- 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).
- 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.
- 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!
- 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 255.255.255.0.
- 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)) 192.168.1.1
(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:
tftp 192.168.1.1 binary rexmt 1 timeout 60 trace verbose
DO NOT EXIT AFTER THE LAST COMMAND IS ENTERED! Instead, type:
put VxWorksPrep-G2V1.bin
at the prompt. DO NOT PRESS ENTER YET!
- 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 192.168.1.1: icmp_seq=3918 ttl=64 time=1.812 ms This is good.
- 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 192.168.1.1: icmp_seq=3967 ttl=100 time=5.971 ms 64 bytes from 192.168.1.1: icmp_seq=3968 ttl=100 time=1.695 ms
Now for the VxWorksPrep.
- 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 192.168.1.1: icmp_seq=4003 ttl=100 time=5.646 ms 64 bytes from 192.168.1.1: icmp_seq=4004 ttl=100 time=1.654 ms 64 bytes from 192.168.1.1: icmp_seq=4005 ttl=100 time=2.850 ms 64 bytes from 192.168.1.1: icmp_seq=4006 ttl=100 time=3.148 ms 64 bytes from 192.168.1.1: icmp_seq=4007 ttl=100 time=2.328 ms 64 bytes from 192.168.1.1: icmp_seq=4008 ttl=100 time=3.510 ms 64 bytes from 192.168.1.1: icmp_seq=4009 ttl=100 time=2.469 ms 64 bytes from 192.168.1.1: icmp_seq=4010 ttl=100 time=2.803 ms 64 bytes from 192.168.1.1: icmp_seq=4011 ttl=100 time=1.987 ms 64 bytes from 192.168.1.1: icmp_seq=4012 ttl=100 time=4.074 ms 64 bytes from 192.168.1.1: 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 192.168.1.1: icmp_seq=3092 ttl=100 time=1.074 ms 64 bytes from 192.168.1.1: icmp_seq=3093 ttl=100 time=0.717 ms 64 bytes from 192.168.1.1: icmp_seq=3094 ttl=100 time=0.728 ms 64 bytes from 192.168.1.1: icmp_seq=3095 ttl=100 time=0.699 ms 64 bytes from 192.168.1.1: icmp_seq=3096 ttl=100 time=0.633 ms 64 bytes from 192.168.1.1: icmp_seq=3097 ttl=100 time=0.706 ms 64 bytes from 192.168.1.1: icmp_seq=3098 ttl=100 time=0.715 ms 64 bytes from 192.168.1.1: icmp_seq=3099 ttl=100 time=0.651 ms 64 bytes from 192.168.1.1: icmp_seq=3100 ttl=100 time=0.647 ms 64 bytes from 192.168.1.1: icmp_seq=3101 ttl=100 time=0.641 ms 64 bytes from 192.168.1.1: icmp_seq=3102 ttl=100 time=0.642 ms
The router is now ready for VxWorksKiller.
- 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.
- 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!
- 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 192.168.1.1. 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.
- Once you have succeeded in getting DD-WRT on the router, hard reset the router again, wait 5 minutes, go to 192.168.1.1 and go about configuring DD-WRT to suit.
- YOU'RE DONE!
[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: http://www.dd-wrt.com/dd-wrtv2/downloads/others/tornado/Linux_Linksys_Tftp/linksys-tftp.tar.bz2
- 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:
- Connect power and Connect to a PC using any of the 1-4 Ethernet ports. Set up the PC to do 10Mbps Half duplex.
- Open a browser, preferably Mozilla Firefox and type 192.168.1.1 in the address bar [dont press enter yet].
- Press and hold reset button for 30 seconds.
- While holding the reset button unplug power and wait 30 seconds.
- While holding the reset button plug the power back.
- 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.
- While holding the reset button, point to your firmware file and press upgrade.
- 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
- Check it is not already reported: http://svn.dd-wrt.com/timeline
- Report the bug: http://svn.dd-wrt.com/register
[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