Linksys WRT54G v5.0

Overview
The stock firmware on these devices contains VxWorks, not Linux.
 * See the flashing section for instructions on flashing the units with DD-WRT.

"3763-14140404R" is silkscreened on the board.
 * OD/ID measurements may not be exact

Links of Interest

 * WRT54G series on Wikipedia
 * WRT54G page on the OpenWrt wiki
 * Version 5 And 6 Router Information
 * WRT54G V5 Flash Memory Upgrade Success!
 * Datasheet.pdf
 * Quick Install.pdf
 * User Guide.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

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_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

Confirmed the WRT54G v5.0 supports port-based vlans via the GUI.

Confirmed the WRT54G v5.0 supports port-based vlans via nvram with micro-plus-SSH.

WRT54G v5.0's ports are mapped like this:

1 2 3 4 | case labels 3 2 1 0 | nvram port numbers

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

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

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

Pictures
DarkShadow's Unit

DD-WRT Notes
Also see this page: Version 5 And 6 Router Information

There is good information at the scorpiontek site: http://www.scorpiontek.org/portal/content/view/27/36

A CFE compressor is available for the Gv5.0,5.1, and 6.0. It enables micro_plus to be put on the router. Click here.