Linksys WRT54G-TM

Overview
"3763-1410304R" is silkscreened on the board used to populate this entry.

Links of Interest

 * WRT54G series on Wikipedia
 * Linksys WRT54Gxx page on the DD-WRT wiki
 * WRT54G page on the OpenWrt wiki
 * WRT54G-TM NON-JTAG CFE-Updater
 * (Solved) SD Mod & JFFS
 * Optware the right way on a SD Mod
 * (Fixed) MMC/SD Card support Broke
 * TM - SD Mod.. Another one - problem
 * Datasheet.pdf
 * Quick Install.pdf
 * User Guide.pdf

Flashing DD-WRT
Supported by dd-wrt as of = v24-RC5 Sept 25, 2008 by Luniz2k1
 * Linksys WRT54G-TM v1.1

Please note that this guide is ONLY for the WRT54G-TM router and nothing else. Do NOT attempt to use this method on any other device, as it is written ONLY for the WRT54G-TM router. (Linksys WRT54G-TM and WRT54G-RG are identical in terms of hardware, but differ in terms of firmware, so you MUST USE THE CORRECT files. The WRT54G-TM was a t-mobile router put out by Linksys, and the WRT54G-RG was a Rogers router put out by rogers in Canada. )

In order to flash this router you need to do the following steps:

NOTE: Check the Peacock thread for recommended build numbers if unsure.
 * Download the DD-WRT firmware (v24-SP2 build 12548 OR NEWER is suggested)
 * Download the TFTP utility
 * Download Tornado's CFE_Updater-WRT54G-TM.bin
 * Turn OFF/Disable any AV/Firewall on your pc.
 * Make sure your pc is wired to a LAN port on the router when flashing.

 Note to new users : Do your research and find out what the latest build is and use it from the start, unless there are issues with the latest build preventing the WRT54G-TM from operating properly, then go to a previous build.

1. The default LAN IP Address of the Linksys WRT54G-TM is 192.168.0.1. You will need to set a Static IP Address on your computer for this procedure. If you are on Windows I suggest that you reset the router to it's defaults and set 2 LAN IP Address on your network controller to speed up the process, otherwise once you upload the CFE_Updater-WRT54G-TM.bin you will need to change your LAN IP Address from 192.168.0.2 to 192.168.1.2 to be able to TFTP DD-WRT onto the router.

On Windows XP, Control Panel/Network Connections/right-click on Local Area Connection icon and select Properties. On Windows Vista, Control Panel/Network and Sharing Center.

Go into the properties of the Local Area Connection/Internet Protocol TCP/IP and set the static IP address.

IP Address: 192.168.0.2 Subnet Mask: 255.255.255.0 Default Gateway: 192.168.0.1

Click the Advanced button in the TCP/IP setup window and in the IP Address section click the ADD button to add the following 2nd IP Address to the adapter:

IP Address: 192.168.1.2 Subnet Mask: 255.255.255.0

Then click OK on each screen. Your network interface card (NIC) now has 2 LAN IP Address statically set on it, 192.168.0.2 and 192.168.1.2. This will allow your PC to communicate with the router before and after replacing the CFE on it. It will also allow you to be able to tell when the router is ready for a TFTP upload.

2. Open a command prompt window and type ping -t 192.168.1.1 and hit enter. Leave this window open.

3. Log into the WRT54G-TM's web interface @ http://192.168.0.1/ (assuming that the router has been reset to defaults) and go to the Administration Tab - Firmware Upgrade. Upload the CFE_Updater-WRT54G-TM.bin to the router.

'''!!!ATTENTION!!! You MUST wait at least 5 minutes after clicking the Upgrade button to allow the CFE_Updater to replace the stock CFE on the router and for it to erase the rest of the flash, otherwise you will brick your router.'''

A few seconds after clicking the Upgrade button the Linksys web interface will report that the upload has been successful and the power light will begin flashing on the router. Do NOT assume that the CFE replacement/flash erasing/reboot process has finished as the power light will continue to flash after it has rebooted. So there is no way to tell when it is ready for you to TFTP the DD-WRT firmware to it except when you begin to see the ping respond.

So once it is finished replacing the stock CFE and erasing the rest of the flash, the router will reboot. When the router is ready for the TFTP upload of the DD-WRT firmware, you will see the ping -t 192.168.1.1 begin to respond in the command prompt window that you opened before.

4. Start up the TFTP utility and set the following:

Server: 192.168.1.1 Password: File:  (or whichever build you wish to use)

Now click the Upgrade button. Once the firmware is sent to the router, it will reboot. The power light will change from flashing to solid when it is ready to be configured @ http://192.168.1.1

If you do not see a progress bar as the tftp utility transmits the file, you may need to power cycle your router. Wait until the tftp utility has finished its attempts, then power cycle (possibly waiting a few seconds) and wait until you can ping 192.168.1.1 before clicking Upgrade again.

A few notes:


 * Tornado has made it so that the router will retain it's MAC Address that is on the label on the bottom of the router with the new CFE replacement.
 * Tornado is in the process of making a revert bin for those who may choose to revert back to the stock Linksys firmware (god only know why)

Many thanks goes out to Tornado, Eko, and Brainslayer for their work on this!!! Cool

No more will you need to void your warranty by opening the WRT54G-TM to JTAG DD-WRT onto it, or spending $70+ USD for a WRT54G-TM pre-loaded with DD-WRT from eBay

5. Check for recommended builds here.

Flashing OpenWrt

 * Supported

Flashing Tomato

 * Supported
 * Support Chart at Bottom

Flashing Gargoyle

 * Supported

Reverting to OEM Firmware from DD-WRT
by Luniz2k1

Note: The default IP of the router will change from the default DD-WRT IP of 192.168.1.1, to the Linksys default IP of 192.168.0.1 midway through the process.

You will have to change the static IP of your rig accordingly.

Read and understand these procedures before attempting the revert process.

This procedure assumes you have the fundamental skills to access your router, set a static IP on your rig, and use the tftp utility found here on the forum. As with anything else in regards to cutting edge technology, you the user assume all risks.

If for some reason your mac’s (mac addresses) are not correct (per the sticker on your box), this process will let you change them. See :”To change the mac addresses of your router:” below.

If you mac’s are correct, you have to do nothing except run the revert utility.

No Mac Change:

1). Reset your box (router) to factory settings via the GUI.

2). Set a static IP on your rig of 192.168.1.110, subnet mask of 255.255.255.0, Default gateway of 192.168.1.1.

3). Access your router via the GUI. Depending of the version of DD-WRT that is on the box, you may be asked the change the user name and password.

4). Set the user name to “root” (no quotes)

5). Set the password to “admin” (no quotes)

6). Click “Change Password”

7). From the Administration tab, choose “Firmware Upgrade”.

8). Browse to the location of the TM-Revert.bin file and select it. Click the “Upgrade” button at the bottom of the page.

The file is a program that is loaded and executed by the router. This is not just flashing data. This will take some time to complete. Leave your router alone for at least five minutes after clicking the upgrade button.

The status of the led’s will be after running the revert: Power light flashing, wlan light off, only the lan light your rig is plugged into should be lit.

9). After two minutes, you need to change the static IP of your rig as well as the default gateway to the default Linksys IP. Change the IP of your rig to 192.168.0.110, subnet mask of 255.255.255.0, gateway 192.168.0.1

10). After 5 full minutes, it is now safe to tftp the stock Linksys firmware. If you are so inclined, you can verify by pinging 192.168.0.1. You should get a response and TTL=100 should be displayed.

11). Power cycling the device is not necessary. The revert has been tested both ways. One way, tftp the stock Linksys firmware without power cycling after waiting the full five minutes.

The other way, after waiting the full five minutes, power cycle the device, then tftp the stock Linksys firmware.

After the successful tftp of the stock firmware, the router will boot by itself. Leave the router alone after you receive a success message from the tftp utility.

You will know when the reboot is complete as the power led will quit blinking and turn solid, and the wlan led will illuminate. Once complete, access the devices GUI at 192.168.0.1 and configure to your liking.

Congratulations. You are done.

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

Using TUMPA  TUMPA N/C 1o o2  N/C nTRST 3o o4  GND TDI 5o o6  GND TMS 7o o8  GND TCK 9o o10 GND N/C 11o o12 GND TDO 13o o14 GND nSRST 15o o16 GND N/C 17o o18 GND N/C 19o o20 GND -- Using the ribbon cable provided Black to your choice of pins 2,4,6,8,10 on router and your choice of pins 4,6,8,10,12,14,16,18,20 on TUMPA for GND White to pin 1 on router and pin 3 on TUMPA for nTRST Grey to pin 3 on router and pin 5 on TUMPA for TDI Purple to pin 7 on router and pin 7 on TUMPA for TMS Blue to pin 9 0n router and pin 9 on TUMPA for TCK Green to pin 5 on router and pin 13 on TUMPA for TDO Yellow to pin 11 on router and pin 15 on TUMPA for nSRST

DD-WRT JTAG Recovery

 * 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) Plug in power
 * 4) click upgrade.
 * 5) wait, wait, wait. If you cannot browse the GUI of the router, return to step 1.
 * 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_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....Reset to default settings in the GUI...then config
 * 13) when it stops spitting out txt....hit the enter key...you should get a login prompt...at that point, power cycle it, hard reset...then config
 * 14) you'll see it boot up

DD-WRT vlan Info

 * TechInfoDepot:DD-WRT/VLAN Support

Confirmed the WRT54G-TM v1.1 supports port-based vlans via the GUI with build 14929.

Confirmed the WRT54G-TM v1.1 supports port-based vlans via nvram with build 14929.

WRT54G-TM v1.1'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: 19238 bytes (13530 left) root@DD-WRT:~# nvram show | grep port.vlans port5vlans=0 1 16 port4vlans=0 port3vlans=0 port2vlans=0 port1vlans=0 port0vlans=1 size: 19238 bytes (13530 left) root@DD-WRT:~# nvram show | grep vlan.hwname vlan1hwname=et0 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 I root@DD-WRT:~#

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

Pictures
DarkShadow's Unit

Hardware Modification

 * Linksys WRT54G-TM/SD/MMC mod
 * USB to Serial TTL Mod