[ale] Unhalfbricking WRT54GL

Charles Shapiro hooterpincher at gmail.com
Mon Aug 18 11:17:09 EDT 2008


(Apologies to Sandy Denny)

Well, I'm pretty stupid. But I have smart friends. I've been experimenting
with radio networking on the Linksys WRT54GL. This is the Linksys router
which allows you to use openwrt ( http://openwrt.org/ ) to do various
advanced radio networking tasks. In particular, I want to have a radio
hotspot with an intro page which'll display the first time you try to use a
browser to connect to a site through it, as many coffee shops have.  I
managed to get coova ( http://coova.org/ ) loaded on the WRT54GL the first
time without difficulty, but I had some troubles and decided to go back the
the original Linksys firmware to aid in diagnosing them. That's when I
foolishly destroyed the resident kernel, probably by unplugging the device
before it had finished writing the new kernel to its NVRAM.

The device still responded to a ping(1) request, but I couldn't ssh(1) to it
or get any web pages off of it. Hence, it was pretty much out of control,
yet not fully bricked.  These routers are designed to let you use tftp to
load a clean kernel in this situation. I installed the Ubunutu Edgy Eft tftp
client on my laptop, started the WRT54GL in tftp server mode by holding down
the reset key while cycling the power, and tried to load a new kernel on it.
My client said the transfer worked, but the new kernel persistently failed
to boot -- the power light kept flashing, the "dmz" light never came on, and
I couldn't bring any web pages up on it.

Sunday afternoon I went over to Jim's place to hang out and drink homebrew,
and I brought the recalcitrant router and my laptop with me. We futzed
around with it for a while, permanently destroying the warranty by
disassembling it, doing various arcane hardware things (like, shorting
various pins on the board to other pins) to see if we could figure out my
problemo. Much entertainment, and yet no joy.

Finally, it was Jim Kinney who noticed that my tftp client had a "binary"
mode, but it was not the default. We switched the client to binary, did the
"hold down reset key and power on" thing, and then transferred a VALID
kernel onto it. The machine proceeded to write the kernel to NVRAM, boot,
display a steady power light and a steady "DMZ" light, and display the
linksys configuration page to my browser.  Then I turned it off and put it
aside.

Moral of the story: Make sure you're transferring binary files in binary
mode (d'OH!).

-- CHS
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.ale.org/pipermail/ale/attachments/20080818/60a85fed/attachment.html 


More information about the Ale mailing list