Flash your WRT54G or WRT54GS v5 series (v5, v5.1, v6)

From DD-WRT Wiki

Revision as of 10:15, 4 August 2006 by Atzekalle (Talk | contribs)
Jump to: navigation, search


RECENT UPDATE: Flashing without hardware modification is now possible!

JTAG-less Flash procedure

See here Vxworkskiller for instructions on flashing your WRT54G G/GS v5-v6 without hardware modifications.

JTAG based flashing procedure (old)

As of April 3, 2006, there is a "Micro" version of DD-WRT that fits onto a version 5 of the WRT54G or WRT54GS. The process to get the firmware onto the version 5 is complicated, however. Mainly, it involves using a JTAG cable. This link may provide some other helpful guidance on performing the procedure below.

The Micro version also works on routers with more than 2MB of flash space. It lacks some functionality of the Mini version (which also lacks some functionality of the full version.). Specifically it leaves out the following: chillispot, nocat, rflow, kaid, samba client, SNMP, IPv6, MMC/SD Card Support, SSH, PPTP/PPTP Client, UPnP and ? (please edit!)

Note: WRT54 v5 routers are officially supported by DD-WRT since v23 SP1 final. Flashing them is still not for the faint of heart, it is recommended that you get a router with more memory.

(Expanded directions based on instructions from Piotr Gozdur)

  1. If you don't have both a JTAG cable and the most recent version (4.5) of the HairyDairyMaid's debricker tool or HairyDairMaid debricker tool on DD-WRT,(Buying a JTAG Cable) -- (Howto create JTAG Cable).
  2. Download the generic micro version of DD-WRT firmware (dd-wrt.v23_micro_generic.bin) from DD-WRT SP1 Micro.
  3. Download the cfe.bin file from this directory. If you are on linux, rename CFE.bin to CFE.BIN.
  4. Prepare your JTAG flashing environment.
    Best practices:
    1. unplug router between commands. (Power off).
    2. If you're using Linux, you'll probably need to be root to have rights to the parallel port.
    3. Version 4.5 of HDM's debricker tool will auto-sense the flashchip. Explicit chip parameters like '/fc:01' are usually not necessary. If it does not auto-sense, triple-check the jtag connections before trying to force it!
    4. If the debricker freezes at any point then exit the executable (ctrl-C), power cycle your router, and try again. If the debricker refuses to go past the "Enabling Memory Writes" then you may need to use the /noemw option.
  5. Make a backup of your flash via JTAG with command 'wrt54g -backup:wholeflash'. This will take about 10 minutes.
  6. Erase the flash (you did backup your :wholeflash, right?) with 'wrt54g -erase:wholeflash'. This will only take a minute.
  7. Now your canvas is blank. From here on, you will need to append '/noreset' to your commands. It's time to flash the CFE.BIN you downloaded earlier (It's originally from a wap54g v3). Use the command 'wrt54g -flash:cfe /noreset'. This will also take about 10 minutes. Note that it is possible to flash the entire firmware to the flash using the debricker tool, but this will take a very long time (like 90 minutes). For this reason it is recommended to use the CFE.BIN then just tftp the whole image over after.
  8. Ping to make sure it's responding. If you have troubles you may need to force 10mb/half duplex connection. Either remember the location of the firmware, or copy it to 'c:\code.bin' for ease of use.
  9. Upload example micro version of DD-WRT firmware via tftp using command. For example, under Windows use:
    tftp -i PUT {path to firmware file; example: c:\code.bin}
  10. After uploading via TFTP, just WAIT! Keep waiting. After a few minutes it'll come around on its own if you've done it right. The lights will stop blinking and it'll respond to pings on
  11. If your newly flashed v5 router is working properly, you may want to correctly set your MAC addresses. Using a command line, enter 'nvram set et0macaddr=xx:xx:xx:xx:xx:xx' where xx is the MAC address printed on the bottom of your router. Follow that with the commands 'nvram commit' and 'reboot'.

Enable 16 MB RAM

See Enable_16MB_RAM_on_WRT54G_v5