Linksys WRT54GL v1.1


 * Datasheet.pdf User Guide.pdf
 * Datasheet.pdf User Guide.pdf

Links of Interest

 * WRT54G series on Wikipedia
 * WRT54G page on the OpenWrt wiki
 * Linksys WRT54Gxx page on the DD-WRT wiki
 * Finally: ipv6 on my WRT54GL 1.1

Hardware

 * Platform: Broadcom MIPS
 * CPU: Broadcom BCM5352E at 200MHz (130nm)
 * overclocking support in DD-WRT (verified in v24 SP1)
 * /proc/cpuinfo output

system type            : Broadcom BCM947XX processor              : 0 cpu model              : BCM3302 V0.8 BogoMIPS               : 199.47 wait instruction       : no microsecond timers      : yes tlb_entries            : 32 extra interrupt vector : no hardware watchpoint     : no VCED exceptions         : not available VCEI exceptions        : not available unaligned_instructions : 1501948 dcache hits            : 3604983805 dcache misses          : 1069308396 icache hits            : 1669945160 icache misses          : 616661321 instructions           : 0
 * Flash: 4MB (NAND, single chip)
 * System Memory: RAM 16MB (16-bit DDR SDRAM)
 * Flash memory is a CFI-compatible x8/x16 chip
 * connected in x16 mode, mapped to 0x1c000000.


 * Wireless Radio: Broadcom BCM43xx 802.11b/g
 * Antenna: Dual folding, removable, rotating antennas


 * Network Switch: 4x 10/100 LAN, 1x 10/100 WAN,
 * Auto MDX/MDI-X (int. in CPU)


 * Serial pinout: Yes
 * JTAG pinout: Yes
 * USB: None

Hardware Modification

 * WRT54GL Memory Mod (Hardware mod) - DD-WRT forums

Flashing OpenWrt
Linksys WRT54GL

Flashing Tomato
Support Chart at Bottom

Flashing DD-WRT
Linksys WRT54GL

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_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
 * you'll see it boot up

vlan Info
WikiDevi: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:~#

Images
etthtech's Unit

DD-WRT install notes
If you are upgrading from the web interface, you should use the GENERIC versions.
 * If you are upgrading via TFTP, you need the versions that contain headers with hardware info in them.

EKO build 12548 Newd_Mini.bin is the recommended build for this router. It works well.
 * You can also upgrade to 12548 Newd_Std.bin AFTER you have put on the mini version.
 * Here is a link to the mini version download:

ftp://dd-wrt.com/others/eko/V24_TNG/svn12548/dd-wrt.v24-12548_NEWD_mini.bin.

DD-WRT Troubleshooting
If you make the mistake of not upgrading with the MICRO or MINI version first,
 * you will end up with a router that has a flashing power light.

You will be able to ping the router, but will not be able to access the web interface. You will then have
 * to TFTP the LINKSYS firmware (NOT THE DD-WRT FIRMWARE) back on to the router to rescue it.

You can connect your modem directly to your computer, and download the Linksys firmware from their site.
 * Once you have rescued your router by restoring the Linksys firmware, you can then try upgrading
 * to DD-WRT again (if you're still up for it!). THIS TIME, use the micro or mini version first!

Instructions on restoring your router are here: Recover from a Bad Flash

A few quotes from the following link: http://forums.whirlpool.net.au/forum-replies-archive.cfm/686075.html

Q: I'm a bit worried about how many times routers can be re-flashed with firmware - is there a limit??
 * A: There really isn't a limit to number of times you can flash. (within reason) Flash memory does have a life.
 * Like your usb stick, 100,000 times or 10,000 times, I don't remember but it is alot, otherwise they would be useless.

Don't go and flash your router 10,000 times and test this person's assertion literally.
 * But it appears that a few extra flashes here and there are not going to turn your router into a paperweight.
 * So there's no need to worry about switching from micro to mini or mini to standard, or in reverse, as your needs change.


 * }}