See 'WikiDevi' @ the Internet Archive (MW XML, Files, Images)
upgraded MW to 1.30 - maybe things are slightly less broken
Linksys WRT54G2 v1.0
Wireless-G Broadband Router
Links of Interest
- Listed on the WRT54G series page on Wikipedia
- On the DD-WRT wiki
- On the DD-WRT forums
- On the DD-WRT forum
- Teardown on iFixit
|NOTE: During configuration or flashing a device, the only things that should be hooked to the device is the computer and power.|
|WARNING: Requires Micro for DD-WRT, Do not flash anything else!|
|WARNING: Requires K2.4 for DD-WRT, Do not flash anything else!|
These are instructions for the WRT54G2 V.1 ONLY
- Download ftp://dd-wrt.com/others/eko/WRT54G2V1%20Flashing/VxWorksKiller-G2V1-new.bin
- Download ftp://dd-wrt.com/others/eko/WRT54G2V1%20Flashing/dd-wrt.v24-10709_NEWD_micro.bin
- Download ftp://dd-wrt.com/others/eko/WRT54G2V1%20Flashing/tftp.exe
- Reset the router to defaults on the Linksys Admin page, and let it reboot or manually reboot it after its finished. Read the peacock announcement http://www.dd-wrt.com/phpBB2/viewtopic.php?t=51486 and take special note of number 11, (how to tftp).
- Set your computer to a static IP address of 192.168.1.8 and 255.255.255.0 for a mask and plug ethernet cable into LAN port of the G2v1 unit.
- Log in admin page (username is blank, password = admin) and navigate to firmware upgrade page. Browse to the VxWorksKiller-G2V1-new.bin file, press Upgrade and wait 120 seconds for it to reboot on its own, if it does not, then powercycle the router manually. Wait another 12 0seconds and reboot it again. Router should now be listening for tftp transfer of dd-wrt firmware.
- Tftp the DD-WRT firmware to the router, use "dd-wrt.v24-10709_NEWD_micro.bin" that you downloaded in step 2; after sucessful tftp, wait 3 min for the router to finish writing new nvram deafults, etc... It should reboot on its own at least two times, so give it 3 min and then go to http://192.168.1.1 (If it not reboot on its own, wait another 1 min, and then power cycle it)
- When if finishes booting up...do a hard reset on the unit...let it boot again, and configure.
- Upgrade the NEWD_Micro.bin build 12548 after you have dd-wrt running, following the steps in note 1 of the peacock announcement
- Don't forget to set your computer back to automatically obtaining DHCP and DNS.
- Check for recommended builds here.
If dd-wrt is already on the router follow these instructions. If stock firmware is on the router follow the flashing instructions.
- Check for recommended builds here first.
- Set your computer to a static IP of 192.168.1.7. (or to whatever subnet the router is on) Disable all firewalls and security. Disable wireless on your computer and only have the router connected to the flashing computer by the ethernet cable between the two.
- Hard reset or 30/30/30 (If the router supports it, if not, reset to defults in the GUI) prior to flashing. Wait. Check for password page on re-login and change password.
- Flash firmware. You can use the webgui except if you have a belkin router. (For belkin use tftp.exe to flash)
- Wait...at least three minutes. Lights should return to normal. See important2, below. Failing to wait is how most people brick their routers.
- Do a power cycle of the router. (Unplug the cord, count to 30 and plug it back in.)
- Wait for the lights to return to normal usually about 2 minutes.
- Hard reset or 30/30/30 again (If the router supports it, if not, reset to defults in the GUI). Wait. Check for the password page and re-login to change the password. Then you can reconfigure your settings manually.
- Once configured set your computer back to autoIP and autoDNS.
Important1: This Hard reset or 30/30/30 works fine for Asus router, but you do have to power cycle after the reset.
Important2: After you flash the firmware, and before you do the hard reset, the router will be building some nvram settings. YOU MUST WAIT FOR THIS TO FINISH PRIOR TO DOING ANYTHING WITH THE ROUTER INCLUDING A HARD RESET. Usually, you can tell when this process is completed by the WAN light coming on, but it does take several minutes. Go have a beer. There are starting to be more and more people who BRICK their routers by not waiting until the nvram is rebuilt, PRIOR to doing a hard reset. YOU NEED TO WAIT!
Reverting to OEM Firmware from DD-WRT
Warning - There is only one way to revert at this time. Through JTAG and it has a generic mac address that can be fixed with mac clone.
OK...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] - reported to be working.
- generic-WHOLEFLASH.BIN - This is vworks, not linux
nTRST 1o o2 GND TDI 3o o4 GND TDO 5o o6 GND TMS 7o o8 GND TCK 9o o10 GND nSRST 11o o12 N/C
Using Universal JTAG Adapter
white 1o o2 black red 3o o4 GND blue 5o o6 GND green 7o o8 GND yelow 9o o10 GND orange 11o o12 N/C
- /noreset switch required
DD-WRT JTAG Recovery
- Backup CFE x2 (Compare the files, they must match exactly or there is something wrong with your JTAG setup)
- Erase Wholeflash x2
- Flash CFE
- Unplug Power
- Unplug JTAG Cable
- Set Rig ip static 192.168.1.10
- Plug network cable from rig to port 1
- Get TFTP ready, server ip - 192.168.1.1, Password - blank, file - dd-wrt.v24_micro_generic.bin
- Plug in power
- As soon as windows says "connected" hit upgrade. May have to use a network hub to make sure windows is always connected.
- Hard Reset 30\30\30
VCC 1 o TX 2 o RX 3 o N/C 4 o GND 5 o
Hyper terminal Setup in Windows XP
In Windows XP, Click Start Button - All Programs - Accessories - Communication - HyperTerminal Enter a name for the connection, Click ok Choose com port you adapter is plugged into, Click ok Set: Bits per second = 115200 Data Bits = 8 Parity = none Stop bits = 1 Flow control = none Click ok Click File - Save As, and select a place to save it to so you don't have to enter the settings again.
Putty Setup in Windows XP
After installing putty, run it Serial line = The COM port your using for serial (ie. COM3) Speed = 115200 Click on Serial under Connection Serial line to connect to = same as above (Serial line) Speed (baud) = 115200 Data bits = 8 Stop bits = 1 Parity = none Flow control = none Click Session Enter a name for your connection under saved sessions Click Save Click Open
DD-WRT Serial Recovery
Modified Redhawk0 instructions
- Connect Serial cable
- Start one of the programs from above
- Get TFTP ready with file selected
- Use dd-wrt.v24_micro_generic.bin
- Connect power to the router
- start a rapid fire Cntl-C as you plug the router to power
- type "nvram erase" w/o quotes, hit enter
- type "flash -noheader : flash1.trx" w/o quotes, this starts the tftp daemon, hit enter
- but have tftp.exe ready
- Click go or start on TFTP
- give it 5 minutes after it finishes
- then power cycle....hard reset...then config
- when it stops spitting out txt in the serial consol....hit the enter key...you should get a login prompt...at that point, power cycle it, Hard reset or 30/30/30...then config
- you'll see it boot up
DD-WRT vlan Info
Confirmed the WRT54G2 v1.0 supports port-based vlans via the GUI with build 14929.
Confirmed the WRT54Gs v1.0 supports port-based vlans via nvram with build 14848 micro-plus-ssh
WRT54G2 v1.0's ports are mapped like this:
1 2 3 4 | case labels 3 2 1 0 | nvram port numbers
root@DD-WRT:~# nvram show | grep vlan.ports vlan1ports=4 5 vlan0ports=3 2 1 0 5* size: 17376 bytes (15392 left) root@DD-WRT:~# nvram show | grep port.vlans port5vlans=0 1 16 port4vlans=0 port3vlans=0 port2vlans=0 port1vlans=0 port0vlans=1 size: 17376 bytes (15392 left) root@DD-WRT:~# nvram show | grep vlan.hwname vlan1hwname=et0 vlan0hwname=et0 size: 17376 bytes (15392 left) root@DD-WRT:~# lsmod Module Size Used by ip_nat_pptp 2192 0 (unused) ip_conntrack_pptp 2524 1 ip_nat_proto_gre 1552 0 (unused) ip_conntrack_proto_gre 2312 0 [ip_nat_pptp ip_conntrack_pptp] switch-robo 5036 0 (unused) switch-core 5984 0 [switch-robo] root@DD-WRT:~# ls /proc/switch eth0 root@DD-WRT:~# cat /proc/switch/eth0/vlan/0/ports 0 1 2 3 5t* root@DD-WRT:~# cat /proc/switch/eth0/vlan/1/ports 4 5t root@DD-WRT:~# cat /proc/switch/eth0/vlan/2/ports 4 root@DD-WRT:~#
root@DD-WRT:~# nvram set vlan1ports="3 4 5" root@DD-WRT:~# nvram set vlan0ports="2 1 0 5*" root@DD-WRT:~# nvram commit root@DD-WRT:~# reboot
root@DD-WRT:~# nvram show | grep vlan.ports vlan1ports=3 4 5 vlan0ports=2 1 0 5* size: 17459 bytes (15309 left) root@DD-WRT:~# nvram show | grep port.vlans port5vlans=0 1 16 port4vlans=0 port3vlans=0 port2vlans=0 port1vlans=0 port0vlans=1 size: 17459 bytes (15309 left) root@DD-WRT:~# nvram show | grep vlan.hwname vlan1hwname=et0 vlan0hwname=et0 size: 17459 bytes (15309 left) root@DD-WRT:~#