Linksys WRT54GS v1.1

Links of Interest

 * WRT54G series on Wikipedia
 * Linksys WRT54Gxx page on the DD-WRT wiki
 * WRT54GS v1.1 (solved) on DD-WRT forums
 * Linksys WRT54G, WRT54GL and WRT54GS page on the OpenWrt wiki
 * WRT54GS v1.0 & WRT54G v2.0 MMC/SD Mod (Bulgarian)
 * Datasheet.pdf
 * User Guide.pdf
 * Quick Install.pdf
 * Quick Install.pdf

Flashing DD-WRT

 * Linksys WRT54GS v1.1

NEWD or VINT
WRT54GS v1.1 uses the Broadcom BCM4712 chip rev 1 but since the "wl0_corerev" is 7 (see NEWD or VINT for more info) WRT54GS v1.1 users should use standard NEWD builds

How to Flash
Make sure to get all the files you need first. Start with dd-wrt.v24_mini_generic.bin


 * 1) Perform a Hard reset or 30/30/30
 * 2) Upload dd-wrt through the firmware update page
 * 3) WAIT for at least five minutes before you continue! (longer is better) Give the router plenty of time to to boot.
 * 4) Perform a Hard reset or 30/30/30
 * 5) WAIT for at least five minutes before you continue! (longer is better) Give the router plenty of time to to boot.
 * 6) Power Cycle
 * 7) Open your browser to http://192.168.1.1. Configure to your liking. Enjoy.
 * 8) Check for recommended builds here.

Flashing OpenWrt
Linksys WRT54GS

Flashing Tomato

 * Supported
 * Support Chart at Bottom

Flashing Gargoyle
Supported

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 (unplug 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 WRT54GSv3_4.71.4.001_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 yellow 9o o10 GND orange 11o o12 N/C
 * /noemw switch required for flash

DD-WRT JTAG Recovery
JTAG:
 * 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_generic.bin
 * 4) Plug in power
 * 5) Wait for DMZ light to do a steady pulse, When it is lit on the 3rd time click upgrade. The DMZ light must be lit when you click upgrade.
 * 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

USB Info
NO USB

DD-WRT vlan Info
WikiDevi:DD-WRT/VLAN Support

Confirmed the WRT54GS v1.1 supports port-based vlans via the GUI & nvram.

WRT54G v1.1's ports are mapped like this:  4 3 2 1 | case labels 3 2 1 0 | nvram port numbers

Defaults
root@DD-WRT:~# nvram show | grep vlan.ports vlan0ports=3 2 1 0 5* vlan1ports=4 5 size: 19244 bytes (13524 left) root@DD-WRT:~# nvram show | grep port.vlans port5vlans=0 1 16 port3vlans=0 port1vlans=0 size: 19244 bytes (13524 left) port4vlans=0 port2vlans=0 port0vlans=1 root@DD-WRT:~# nvram show | grep vlan.hwname vlan1hwname=et0 size: 19244 bytes (13524 left) vlan0hwname=et0 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:~#

commands
root@DD-WRT:~# nvram set vlan0ports="2 1 0 5*" root@DD-WRT:~# nvram set vlan1ports="3 4 5" root@DD-WRT:~# nvram commit root@DD-WRT:~# reboot

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

GUI
root@DD-WRT:~# nvram show | grep vlan.ports vlan0ports=3 2 1 0 5* vlan1ports=4 5 size: 19348 bytes (13420 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: 19348 bytes (13420 left) root@DD-WRT:~# nvram show | grep vlan.hwname vlan1hwname=et0 size: 19348 bytes (13420 left) vlan0hwname=et0 root@DD-WRT:~#

Pictures
DarkShadow's Unit

DD-WRT Notes
[comment added 4/25/08 by WellingtonFelix] I installed the new version "dd-wrt.v24_mega_generic.bin" over default configuration of the version "dd-wrt.v23_vpn_generic.bin" and I had no problems.

[comment added 5/7/08 by Sapremias] Flashed dd-wrt.v24_mega_generic.bin directly from linksys web interface (version WRT54GSv3_4.71.4.001_fw.bin) without issue. -Sapremias

[comment added 10/5/08 by richwillal] I installed dd-wrt v24 sp1 Mega Vintage (dd-wrt.v24-9517_VINT_mega) from stock firmware with no issues. Standard process: 1) Reset router - reset for 30 secs w/ power on 2) Upload dd-wrt 3) Reset router - reset for 30 secs w/ power on 4) Disconnect/reconnect or ipconfig /renew

[comment added 04/02/09 by tribble222] I nearly bricked my router going directly from Linksys firmware to dd-wrt.v24-11296_VINT_STD.bin. Pinged on boot but tftp wouldn't work. Router didn't even respond to JTAG. Shorting pins 5&6 with the router unplugged somehow fixed everything. From there I was able to flash to mini, then back to std.