Linksys WRT54GS v7.0

Links of Interest

 * WRT54G series on Wikipedia
 * Linksys WRT54Gxx page on the DD-WRT wiki
 * WRT54GS V7 Flashing New Instructions.. Also Bricked Routers
 * Datasheet.pdf
 * User Guide.pdf
 * Quick Install.pdf

Flashing DD-WRT
Linksys WRT54GS-RM (CGNC) Same as Linksys WRT54GS v7.0
 * Linksys WRT54GS v7.0

NOTE TO WINDOWS VISTA USERS: By default the TFTP Client is disabled and you SHALL NOT PROCEED UNLESS YOU HAVE ENABLED IT. To enable: click the Start orb and type the following into the Start Search field: "features" (Without the " " of course, but you have to tell some people). At the top of the Windows Start Bar, you will see "Programs and Features;" click on that. In the left pane of the new window, click Turn Windows Features on or off. Scroll down through the Windows Features until you see TFTP Client. Select the option box and press OK.

METHOD FOR EOC, INTEL, AND POSSIBLY OTHER FLASH CHIPS

 * 1) First download this file: dd-wrt.v24_micro_generic.bin
 * 2) You will also need: vxworkskillerGSv7-v3.bin
 * 3) Configure your local LAN Ethernet address to 192.168.1.100 and connect your local Ethernet to your WRT54GSv7 on one of the four  switch ports. Do not use a wlan connection!
 * 4) * GNU/Linux: How to configure your LAN Ethernet address to 192.168.1.100
 * 5) * Microsoft Windows™: How to configure your LAN Ethernet address to 192.168.1.100
 * 6) *# Click Start
 * 7) *# Click Control Panel
 * 8) *# Double Click Network Connections
 * 9) *# Under LAN or High-Speed Internet Double click the enabled device (the Local Area Connection or the Wireless Network Connection)
 * 10) *# On the Status Box Window that opens Click the Properties button
 * 11) *# Drag the Properties window beside the Status window
 * 12) *# Click the Support tab on the Status window
 * 13) *# Click the Details button—this window provides the information you will need to manually configure your IP
 * 14) *# In the Properties window that you have open beside the Status windows scroll down through the devices until you get to Internet Protocol TCP/IP
 * 15) *# Select Internet Protocol TCP/IP and click the properties button
 * 16) *# In the Properties window that opens select "Use the following IP address"
 * 17) *# If you have a number of machines begin by setting the IP address to 192.168.1.100 then go to 192.168.1.101 and so forth giving each machine a unique IP on the network
 * 18) *# The subnet mask has a default value of 255.255.255.0 in most cases.
 * 19) Disconnect the power cord from the WRT54GSv7.
 * 20) Push the reset button while reconnecting the power cord and hold the button for about 20 seconds.
 * 21) Open your browser to
 * 22) Use the Firmware upgrade option under the Administration tab to flash vxworkskillerGSv7-v3.bin.
 * 23) After the dialogue about disconnecting the power cord is shown, disconnect the power cord and reconnect it.
 * 24) Wait for FIVE FULL minutes.
 * 25) Again, disconnect the power cord and reconnect it.
 * 26) Transfer the firmware using TFTP
 * 27) * Using GNU/Linux
 * 28) * Using Microsoft Windows™
 * 29) *# If you're using Windows Vista or Windows 7, you need to first enable the tftp client
 * 30) *# Start up a Windows console by pressing Alt+F2 and typing "cmd" and press enter
 * 31) *# Enter "tftp -i 192.168.1.1 put dd-wrt.v24_micro_generic.bin" on your local Windows console and press enter.
 * 32) The file will now be transferred and flashed to your router.  After this is done, your router will boot automatically and you can reach it at  ./
 * 33) Check for recommended builds here.
 * 1) The file will now be transferred and flashed to your router.  After this is done, your router will boot automatically and you can reach it at  ./
 * 2) Check for recommended builds here.

(Note: My WRT54GS V7.0 didn't boot automatically, and simply power-cycling didn't bring it up. Resetting as described in steps 4-5, holding reset while plugging in the power cord, brought the router from "no lights, no web interface" to "functioning dd-wrt install.")

ALTERNATE METHOD TO FLASH DD-WRT ON A WRT54GS v7 WITH AN INTEL FLASH CHIP
I just loaded DD-WRT v24 RC7 on two of the WRT54GS v7 with an Intel flash chip. I used the latest vxworkskiller. Below are instructions. Intel chip says JS28F160, C3BD70, and A7397147. Router is dated December 2007. S/N starts with CGNC.


 * 1) Manually configure your IP to 192.168.1.10.
 * 2) Reset router to factory defaults.
 * 3) Update firmware to vxworkskillerGSv7-v3.bin, the update will finish.
 * 4) Watch the lights on the router. Wait until the Power light is solid, then unplug the router.
 * 5) Plug the router back in.
 * 6) Get "tftp -i 192.168.1.1 PUT dd-wrt.v24-micro_generic.bin" ready in a command prompt and hit enter.
 * 7) After the tftp is finished wait and watch the router lights.
 * 8) The Power light will eventually come one.
 * 9) Shortly after that the WLAN light will come on.
 * 10) Try to load the web configuration page about 5 seconds later; you're done!
 * 11) Check for recommended builds here.

Another similar method to flash WRT54G v8 and WRT54GS v7.2 (possibly other 7.x)
I've been doing something slightly different on WRT54G v8 and this WRT54GS v7, it hasn't failed me yet, below are the instructions. I have done this on a countless number of WRT54G v8s and just did it on a WRT54GS v7 and it worked just the same. There is no resetting in the middle of this process, just do exactly what it says below, no more and no less. My WRT54GS v7 has a Broadcom BCM5354KFBG CPU and an EON EN29LB160AB-70TCP flash chip and 16MB of Samsung RAM. The FCC ID is Q87-WRT54GSV72 which maybe means it's a v7.2? Serial number starts with CGNE.

[Addition: tiger12506 adds that he has succesfully performed this on two WRT54GS v7.2 with CGNE serial numbers. He felt that it was impossible, that he had bricked one of the routers at first. Messing around with JTAG cables taught him some things, but... be sure(!) Be absolutely sure that you have tftp set to binary or octel. If you leave tftp in ascii it will appear to work but the flash won't take.]


 * 1) Use the web interface to reset the router to factory defaults.
 * 2) Manually configure network interface to 192.168.1.10. (Any address from 192.168.1.2 - 192.168.1.254 should work)
 * 3) (In linux, this is sudo ifconfig eth0 192.168.1.10)
 * 4) Use the web inferface to update the firmware to vxworkskillerGSv7-v3.bin.
 * 5) tftp -i 192.168.1.1 PUT dd-wrt.v24_micro_generic.bin (Windows only)
 * 6) [For linux users: use tftp. You may have to sudo apt-get install tftp or your equivalent.
 * 7)  tftp 192.168.1.1
 * 8)  tftp> mode binary
 * 9)  tftp> put dd-wrt.v24_micro_generic.bin
 * 10)  tftp> quit
 * 11) As soon as that is finished do this: ping 192.168.1.1 /t (Windows only)
 * 12) This will time out repeatedly and then the router will respond between two and six times.
 * 13) The router will time out again a few times and then start responding to pings.
 * 14) [At this point, tiger12506 had a little trouble, but after a long reset, and some short resets, more and more lights came on until finally the WLAN light came on and the router functioned normally running DD-WRT]
 * 15) You're done, try to load 192.168.1.1.
 * 16) Check for recommended builds here.

Reverting to OEM Firmware from DD-WRT

 * 1) Reset to defaults
 * 2) goto the Admin screen firmware upgrade, and browse to VxWorksRevert-GSv7-v3.bin, and click upgrade. During this time the Web browser may say upgrade successful and to reboot -"Do NOT REBOOT"- Wait for 2 min's and then reboot.
 * 3) Goto   and you should see a mgmt mode screen, this is where you browse to the original Linksys Firmware, and and upgrade.
 * 4) Wait for 1 min, even if it say's upgrade successful and to reboot, believe me, in my tests, it has not finished yet.
 * 5) goto   - you should have the regular Linksys Firmware.

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 /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 or 30/30/30

Serial Pinouts
 VCC 1 o TX 3 o  RX 5 o N/C 7 o GND 9 o

DD-WRT vlan Info

 * TechInfoDepot:DD-WRT/VLAN Support
 * Confirmed the WRT54GS v7.0 supports port-based vlans via the GUI.
 * Confirmed the WRT54GS v7.0 supports port-based vlans via nvram with micro-plus-SSH.

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

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

Pictures
Images 

DD-WRT Notes
[DD-WRT v24 RC3] The WRT54GS v7.0 is now fully supported (if its not an intel chip - see important note below), but requires again a special flashing way, which is easier this time compared to the v5 and v6 vxworks killer.

All Chips are supported, just follow step by step procedure at:

http://www.dd-wrt.com/phpBB2/viewtopic.php?t=27572&highlight=wrt54gs

WARNING: There are at least two types of flash chips that are used on the v7 router. Using this method with an INTEL-type flash chip will brick your router. There is not currently a solution for using vxworkskiller with the intel-chip v7 routers.

flashing.txt

See also the relevant forum post

I just had found this link --> http://blog.rim3y.net/zero/?p=942

This procedure worked easy and great, the 1st bin file I installed with the admin. options in the Linksys control panel (the upload went about half way then tried to reboot (then bricked my WRT54GS v7), following the procedure from the above mentioned site using this command "tftp -i 192.168.1.1 put dd-wrt.v24_micro_generic.bin" from the location of the bin file, worked fine had to HIT enter 2 times to execute the command to install the 2nd bin file, now my WRT54GS v7 has so many features I need to find a good post for some tweak settings.