Eugene's Blog

I can't believe it's blog!

OpenWrt: jumpstart with JTAG

As you know I bricked my wireless router. All simple things were tried without any positive effect. Kaloz (of OpenWrt fame) has advised me to try JTAG. It’s a very simple thing: you need a computer, a proper software, and JTAG cable, which can be self-made. Obviously the last part is the crucial one.

I made a trip to my friendly neighborhood Altex store and bought all necessary parts: 4 100 Ohm resistors, male & female 14 pin IDC connectors (they didn’t have 12 pin ones, which were modified later using cutters), 25 pin male SUB-D, and 3’ 25 pin male to female cable — I figured I’ll make extremely short JTAG "cable" and attach it to short printer cable. The last item was the most expensive part: $3.99. It took me about 5 minutes to put everything together.

I was lucky because my Buffalo WBR2-G54 has a place for JTAG — I just soldered 12 pin (14 pin formerly) male connector to it. It fits perfectly in router’s case.

OpenWrt’s collection of useful utilities has so-called HairyDairyMaid WRT54G Debrick Utility now at version 4.1. This is very handy piece of software, which works in Linux as well as in Windows. Zip file contains, among other things, the readme file, and richly illustrated manual. I backed up everything as advised. Yep, NVRAM was completely hosed.

While debricking my router I encountered two problems:

  1. Debricker didn’t recognize flash chip. But it can be specified manually from command line. So I tried backing up NVRAM using different switch options until it works. #7 (AMD 29lv320MT 2Mx16 TopB) worked for me.
  2. Erasing NVRAM didn’t help. But erasing NVRAM and kernel worked perfectly and my router was resuscitated.

Now I am back in business and will continue to work on OpenWrt GUI, when I have free time.

The big mystery is why I had the problem in the first place. Most probably some rogue package has corrupted the memory and I was witnessing decaying system.