Brad's comments on the world of technology...

Never Say Die... (reviving a Linksys WRT54GS)

A while back I did a project using the Linksys wireless routers. Well,
more truthfully an associate did all the work, I just managed the project.

Anyway, my associate, being rusty with hardware at that point managed to "brick"
one of the units. It was toasted and would not respond to the simple
recovery proceedure. (aside: I do this all the time. generally I like
to produce smoke, sparks and flames. apparently all he got was a dead
unit. He'll need to practice shorting wires of higher amperage if he wants
to catch up)

Most recently I found myself needing two more Linksys boxes for some
distributed computing I'm doing. I found one and it runs OpenWRT which
I now love. The other was the "bricked" unit. (to brick = to render a device
no more useful than a brick)

I figured I'm a tough guy so I soldered the serial connector and JTAG
port. I connected up a simple jtag box and ran the "debrick" code
someone (hairdairymaid) wrote for windows. It didn't work. I fooled
around with it for hours. hours. I resoldered the pins. I used the
o-scope. I beeped out the lines. I compiled/hacked/fixed the linux
"wince jtag tools" to work with this particular broadcom cpu chip
(which, I might add, I did the original board port for). Still nothing.
I almost managed to get the linux jtag tools to erase the flash and
rewrite it but I had to modify the code and it was ugly. pain.
frustration. why am I spending 1/2 a day on a $50 box?

So, I put the board in the trash. But I didn't take out the trash. A
day goes buy. I break down and use a bogus WRT54GP box I had which
won't run linux. Blech. But it worked.

Today I notice (on accident) a posting where a guy says "hey, I tried
that hairydairymaid debrick code but it didn't work on my Intel J3
strataflash until I added a 2 second delay here and a 5 second delay
here..." His symptoms matched mine (erase appeared not to work). So, I
made the same change to the code and VIOLA! it's debricked! it works!
it runs OpenWRT! happy happy! joy joy!

Seems dumb all for a $50 box.

But, the interesting thing is that I found the answer on the web, but it
was not the first one. Many of the low level 'instructructions'
surrouding the WRT are marginal/flawed. But they often work well
enough. The high level ones seem to be largely good.

Wasn't that fun? :-)

Tags :