Creative Commons License

This work is licenced under a Creative Commons Licence.

User login

Unbricking WRT54GL (v1.1)

I was playing around with various firmware versions for the WRT54GL the other day and, without thinking, I attempted to flash the wrong firmware. The power LED flashed rapidly, and stayed flashing when power was applied; none of the normal (simple) resetting methods worked.

I thought that I was in real trouble when the thing did not even respond to ping. This suggested that I needed to use JTAG to recover, which is annoying and requires soldering.

However, all was not lost: I realised that part of the issue was that the router wasn't providing DHCP (unsurprisingly). Accordingly, if I set my network configuration to static, and my gateway to (the router's default IP), and assigned myself an appropriate IP (e.g. then I *could* ping the router.

Therefore, recovery was just a simple matter of using atftp (available in the Ubuntu repositories) to transfer a legitimate firmware across. I downloaded a "mini" firmware from the DD-WRT website (note that non-mini firmwares would not work in this scenario - you have to treat it as an initial flash even if you have previously flashed DD-wrt) and then used the following command:

atftp --option "mode octet" --verbose -p -l path/to/mini_firmware_version.bin

I was pinging the router constantly in the background, and upload occurred rapidly, and then the router stopped responding to ping for about 2 minutes before responding again. I was able to login to the router's web interface, reset to the default settings, and connect via DHCP etc.

Now... to get it to connect to my other wireless router properly as I was trying before I got sidetracked.

it's working

Thank you! I thought I bricked my wrt54gl. I had dd-wrt and I tried to put tomato.
I waited for about 10 minutes ... nothing happened. I guess something went wrong and the new firmware did not uploaded completely.
This solution solved the problem.