Linksys WRT54G v4

Links of Interest

 * [[media:Linksys WRT54G-8.0 Datasheet.pdf|Datasheet.pdf]]
 * [[media:Linksys WRT54G-1.1 Quick Install.pdf|Quick Install.pdf]]
 * [[media:Linksys WRT54G-User Guide.pdf|User Guide.pdf]]

Flashing DD-WRT
The stock firmware from Linksys on the WRT54G v4 won't accept a firmware image over 3MB in size (you will get the error: "Upgrade are failed!" if you try) so you will need to flash the mini version of DD-WRT onto the router BEFORE flashing any other versions.


 * 1) Read the peacock announcement found here: http://www.dd-wrt.com/phpBB2/viewtopic.php?t=51486
 * 2) Do a Hard reset or 30/30/30 on the router according to note 1 of the peacock announcement (30/30/30)
 * 3) Set a static IP on your computer to 192.168.1.7. Subnet mask should be 255.255.255.0.
 * 4) Connect the lan cable from your computer to a LAN port of your router. Make sure your router is plugged in. Nothing should be connected to your computer or the router except the lan cable between them. Turn your firewall and any wireless computer connections OFF.
 * 5) Power cycle the router (uplug the power from the router for 30 seconds and then plug it back in)
 * 6) Open your browser to 192.168.1.1 by putting that in the browser address window of your browser. You should open the linksys webgui and NOT a page that says Management Mode. If you see management mode, power cycle the router again.
 * 7) Leave the username blank and enter "admin" as the password
 * 8) Go to administration and firmware upgrade
 * 9) Navigate to the folder that you are using, and select dd-wrt.v24_mini_generic.bin
 * 10) Hit upgrade
 * 11) When you get a success, wait FIVE FULL minutes.
 * 12) If you don't get success, repeat from steps 6 up to this one. If you still don't get success, clear your browser cache. Try using a different browser as well, to navigate to 192.168.1.1.
 * 13) When you can access the dd-wrt webgui using a browser at 192.168.1.1, power cycle the router.
 * 14) When you can again access the dd-wrt webgui using a browser at 192.168.1.1, do another Hard reset or 30/30/30 on the router.
 * 15) At this point you can choose to put a different build on, depending on what you needs are.
 * 16) Reset your computer ethernet connection to auto IP and auto DNS
 * 17) Check for recommended builds here.

Reverting to OEM Firmware from DD-WRT

 * 1) Read the peacock announcement found here: http://www.dd-wrt.com/phpBB2/viewtopic.php?t=51486
 * 2) Do a Hard reset or 30/30/30 on the router according to note 1 of the peacock announcement (30/30/30)
 * 3) Set a static IP on your computer to 192.168.1.7. Subnet mask should be 255.255.255.0.
 * 4) Connect the lan cable from your computer to a LAN port of your router. Make sure your router is plugged in. Nothing should be connected to your computer or the router except the lan cable between them. Turn your firewall and any wireless computer connections OFF.
 * 5) Power cycle the router (uplug the power from the router for 30 seconds and then plug it back in)
 * 6) Open your browser to 192.168.1.1 by putting that in the browser address window of your browser. You should open the linksys webgui and NOT a page that says Management Mode. If you see management mode, power cycle the router again.
 * 7) Enter your username and password
 * 8) Go to administration and firmware upgrade
 * 9) Navigate to the folder that you are using, and select WRT54G_v4.21.1_fw.bin once you've unzipped it.
 * 10) Hit upgrade
 * 11) When you get a success, wait FIVE FULL minutes.
 * 12) When you can again access the Linksys webgui using a browser at 192.168.1.1, do another Hard reset or 30/30/30 on the router.
 * 13) Reset your computer ethernet connection to auto IP and auto DNS

JTAG Pinouts
 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

DD-WRT JTAG Recovery

 * /noemw /nocwd switches required


 * 1) Backup CFE x2 (Compare the files, they must match exactly or there is something wrong with your JTAG setup)
 * 2) Erase Wholeflash x2
 * 3) Flash CFE
 * 4) Unplug Power
 * 5) Unplug JTAG Cable

TFTP


 * 1) Set Rig ip static 192.168.1.10
 * 2) Plug network cable from rig to port 1
 * 3) Get TFTP ready, server ip - 192.168.1.1, Password - blank, file - dd-wrt.v24_mini_wrt54g.bin
 * 4) Plug in power
 * 5) As soon as windows says "connected" hit upgrade. May have to use a network hub to make sure windows is always connected.
 * 6) Hard Reset 30\30\30

Serial Pinouts
 VCC 1 o o 2  VCC TX1 3 o o 4  TX0 RX1 5 o o 6  RX0 N/C 7 o o 8  N/C GND 9 o o 10 GND

DD-WRT Serial Recovery
Modified Redhawk0 instructions
 * 1) Connect Serial cable
 * 2) Start one of the programs from above
 * 3) Get TFTP ready with file selected
 * 4) Use dd-wrt.v24_mini_wrt54g.bin
 * 5) Connect power to the router
 * 6) start a rapid fire Cntl-C as you plug the router to power
 * 7) type "nvram erase" w/o quotes, hit enter
 * 8) type "flash -noheader : flash1.trx" w/o quotes, this starts the tftp daemon, hit enter
 * 9) but have tftp.exe ready
 * 10) Click go or start on TFTP
 * 11) give it 5 minutes after it finishes
 * 12) then power cycle....hard reset...then config
 * 13) 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
 * 14) you'll see it boot up

DD-WRT vlan Info

 * DD-WRT:VLAN Support

Defaults
"/proc/switch/eth0" exists

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: 19872 bytes (12896 left) root@DD-WRT:~# nvram show | grep port.vlans port5vlans=0 1 16 port4vlans=0 port3vlans=0 port2vlans=0 port1vlans=0 port0vlans=1 size: 19872 bytes (12896 left) root@DD-WRT:~# nvram show | grep vlan.hwname vlan1hwname=et0 vlan0hwname=et0 size: 19872 bytes (12896 left) root@DD-WRT:~# lsmod Module Size Used by ip_nat_pptp 2560 0 (unused) ip_conntrack_pptp 3036 1 ip_nat_proto_gre 1664 0 (unused) ip_conntrack_proto_gre 2584 0 [ip_nat_pptp ip_conntrack_pptp] etherip 5104 0 (unused) switch-robo 5356 0 (unused) switch-core 6352 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:~#

nvram commands
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

nvram
Port 1 moved to WAN vlan root@DD-WRT:~# nvram show | grep vlan.ports vlan0ports=2 1 0 5* vlan1ports=3 4 5 size: 19850 bytes (12918 left) root@DD-WRT:~# nvram show | grep port.vlans port5vlans=0 1 16 port3vlans=0 port1vlans=0 size: 19850 bytes (12918 left) port4vlans=0 port2vlans=0 port0vlans=1 root@DD-WRT:~# nvram show | grep vlan.hwname vlan1hwname=et0 size: 19850 bytes (12918 left) vlan0hwname=et0 root@DD-WRT:~#

GUI
Port 4 moved to WAN vlan root@DD-WRT:~# nvram show | grep vlan.ports vlan1ports=4 5 vlan0ports=3 2 1 0 5* size: 20005 bytes (12763 left) root@DD-WRT:~# nvram show | grep port.vlans port5vlans=0 1 16 port4vlans=1 18 19 port3vlans=0 18 19 port2vlans=0 18 19 port1vlans=0 18 19 port0vlans=1 18 19 size: 20005 bytes (12763 left) root@DD-WRT:~# nvram show | grep vlan.hwname vlan1hwname=et0 vlan0hwname=et0 size: 20005 bytes (12763 left) root@DD-WRT:~#

Pictures
DarkShadow's Unit

DD-WRT Troubleshooting

 * If your router fails to reboot (power light doesn't stop flashing, no web interface, etc) you will need to Recover from a Bad Flash.