Linksys WRT54GS v5.0

Links of Interest

 * WRT54G series on Wikipedia
 * Linksys WRT54Gxx page on the DD-WRT wiki
 * Version 5 And 6 Router Information
 * Datasheet.pdf
 * User Guide.pdf
 * Quick Install.pdf

Reverting to OEM Firmware from DD-WRT
To get back to VxWorks (default firmware) you need special instructions.

http://www.bitsum.com/openwiking/owbase/ow.asp?WRT54G5%5FCFE#h13 http://www.scorpiontek.org/portal/content/view/31/36/

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
 * /noemw /nocwd switches required

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_micro_generic.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_micro_generic.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

 * TechInfoDepot:DD-WRT/VLAN Support

I can confirm that the WRT54GS v5.0 supports port based vlans via the GUI with 14929 micro. I will flash a micro plus SSH, retest via nvram and update this post.

vlans via nvram on 14848 NEWD micro plus confirmed.

WRT54GS v5.0's ports are mapped like this:  4 3 2 1 | case labels 3 2 1 0 | nvram port numbers "/proc/switch/eth0" does exist

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

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

Pictures
DarkShadow's Unit