Linksys WRT54G2 v1.0
These are instructions for the WRT54G2 V1.0 ONLY.
See here for the
WRT54G2_v1.3 or WRT54GS2v1.0.
[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.
- 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.
[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
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
[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