Unbricking WRT54G


A quick guide how to ‘fix’ bricked WRT54G. I managed to brick it by installing OpenWRT firmware (attitude adjustment v12.09). Unfortunately this router doesn’t have enough memory to handle v12.09. My attempts to upload a new firmware trough ssh bricked the router.

To unbrick it I first did 30 30 30 reset.

  • Powered router hold reset button for 30 sec
  • Still holding reset, unpower router and wait 30 sec
  • Still holding reset power on the router and hold for another 30 sec

Find a working firmware and upload it using tftp. I used tomato WRT54G_WRT54GL.bin). Make sure tftp is installed on your system

emerge -av net-ftp/atftp
emerge -av net-ftp/linksys-tftp

Connect your computer to the router and set a static IP. On my linux box this is done by the following steps


/etc/init.d/net.eth1 stop
nano -w /etc/conf.d/net

routes_eth1="default via 192.168.1.1"
config_eth1="192.168.1.15 netmask 255.255.255.0 brd 192.168.1.255"

/etc/init.d/net.eth1 start

Turn on the router and check if the router can be pinged. Do a router power cycle and let ping command working
ping 192.168.1.1
If the router can be pinged most likely you will be able to upload a new firmware using tftp.

TFTP flashing instructions

Turn off the router. Initialize ftp transfer:

atftp 192.168.1.1
verbose
trace
timeout 60
put WRT54G_WRT54GL.bin

and turn on the router. The transfer should start by itself. If tfpt gets disconnected you can repeat the whole process.

atftp 192.168.1.1
tftp> timeout 60
tftp> trace
Trace mode on.
tftp> verbose
Verbose mode on.
tftp> put WRT54G_WRT54GL.bin
sent WRQ >
source port mismatch, check bypassedtimeout: retrying...
sent WRQ >
received ACK
sent DATA
received ACK
sent DATA
received ACK
sent DATA
received ACK

Another useful package is linksys-tftp

emerge -av net-ftp/linksys-tftp

To use it, first connect and then set the transfer


linksys-tftp> connect [router]
linksys-tftp> put [firmware image]

Useful resources

Bricked-Or-How-to-Resurrect-a-Dead-Linksys-WRT54G
openwrt wrt54g page