A small update.
This thing finally died on me quite a few months ago during a power outage, i think it was, i don't remember 100%.
Solid red light of death, indicating hardware problem again.
Only, this time I could not connect to the ADAM2 bootloader in the few seconds window after you turn it on. It did not respond to anything at all anymore. After lots of tries, trying anything I could to get into adam2, I gave up and considered it dead. Then went to buy another modem/router/AP so I could get online.
I was pressed in time, because important work had to be done, and there couldn't have been a worse time for the thing to break.
I did not throw it away of course, since as any good geek, you keep it to eventually maybe recycle parts or whatever.
Now, many months later, I decided to dig it up again, and see if I could resurrect it, after reading about how you can upload a new bootloader using a JTAG cable.
So, I went ahead and opened it up, soldered together the simplest JTAG interface I could find (using only 5 100 ohm resistors on the parallel port), and fired up the jtag software.
Unfortunately, no go. I went onto IRC (#ar7 on freenode) where they have an openwrt-related channel for the ar7 platform routers, and queried about what could be wrong, and I was informed that I wouldn't be able to upload a new bootloader using only the 4 signals of this simple cable, and that I would need a 'real' JTAG cable.
Disappointed, I was looking over the PCB and noticed that only 4 paths were connected to the 12 pins of the JTAG port. I mentioned this in the channel, being confused that only 4 pins were connected. This seemed impossible. Eventually I noticed a second 12 pin connector on the pcb, on which all pins were connected. So then I started probing with the old volt meter to see which is the 'real' jtag port, and what the pin layout could be.
This router also has 2 6-pin serial ports somewhere. Someone in the channel noted that if I measure the voltage between the chassis and some of the 6-pin serial connector pins, I should get 3.3 Volts. (And indeed, I did get exactly 3.3 volts on 3 of the serial pins), then I could measure on those serial pins of which I know I get 3.3 Volts, with pins on the jtag interfaces, to determine which the ground pins are.
So I was probing around with the 'ol volt meter to find the ground pins on the jtag port, and I must have shorted something on the serial port (the pins are close together, so it's easy to accidentally short something with a voltmeter probe), as I suddenly noticed some LED's started blinking.
I ignored the behavior and continued probing, until I finally noticed the state of all the LED's. They indicated an OK state,- a successful boot!
Somehow in all the probing, somewhere I must have initiated some undocumented hardware-reset, which fixed up the bootloader again! I hooked it up to the PC, and it worked. Got an IP over DHCP and everything!!
Thus the old dead router is not so dead after all, and I fixed the darn thing AGAIN! Woohoo! Now I have a spare in case something bad happens to my new one.
(02:31) < Gothi[c]> +180mV
(02:31) < Gothi[c]> that's probably too low to be significant heh
(02:31) <@sn9> oh, you're meauring volts?
(02:31) < Gothi[c]> yeah
(02:32) <@sn9> 5 and chassis, then
(02:32) < Gothi[c]> hmm nothing
(02:32) <@sn9> see if it matches 2 and 5
(02:32) < Gothi[c]> 14mV
(02:33) < Gothi[c]> no
(02:33) <@sn9> is there a +3.3 on serial?
(02:33) < Gothi[c]> not sure
(02:33) -!- AndyIL [[email protected]] has quit [Connection timed out]
(02:33) < Gothi[c]> what pins do i measure on serial?
(02:34) <@sn9> 3.3 against ground
(02:34) < Gothi[c]> yep
(02:34) < Gothi[c]> exactly 3.3
(02:34) <@sn9> if you get 3.3, measure that 3.3 against the even jtag pins
(02:34) < Gothi[c]> i get 3.3 on serial on pin2 with chassis
(02:35) < Gothi[c]> good idea
(02:35) <@sn9> then measure serial pin2 and jtag pin2
(02:35) < Gothi[c]> hmm nope
(02:35) <@sn9> serial pin2 against all the jtag pins, then
(02:36) < Gothi[c]> i get nothing if i measure between any serial pin and any pin on that jtag port, heh
(02:36) <@sn9> is pin2 the only serial pin to have 3.3 against chassis?
(02:36) < Gothi[c]> no
(02:37) <@sn9> try the other ones with 3.3, also against all jtag
(02:37) < Gothi[c]> 2,5,6 all have 3.3
(02:37) < Gothi[c]> wtf
(02:37) <@sn9> so try 5 with jtag, and 6 with jtag
(02:37) < Gothi[c]> i just made a light blink lol
(02:38) <@sn9> sort the lights out later
(02:38) < Gothi[c]> interesting
(02:39) < Gothi[c]> omg
(02:39) < Gothi[c]> it's doing something
(02:39) < Gothi[c]> WTF
(02:39) < Gothi[c]> it looks like it booted
(02:39) < Gothi[c]> WTF
(02:39) < Gothi[c]> the LED's on the modem indicate a booted state!!
(02:40) < Gothi[c]> let me hook it up
(02:40) < Gothi[c]> i might have accidently have done some kind of undocumented reset thing by shorting that serial with something
(02:41) <@sn9> guess so
(02:42) < Gothi[c]> well hang on
(02:42) < Gothi[c]> let me see if it actually works 
(02:42) < Gothi[c]> let me power cycle
(02:42) < Gothi[c]> and see what it does
(02:42) <@sn9> if the bootloader was ok, but the bootloader environment flashed itself, that would explain this
(02:43) < Gothi[c]> it boots normally now
(02:43) < Gothi[c]> crazy!
(02:44) < Gothi[c]> got an ip from dhcp and everything
(02:44) < Gothi[c]> fixed!
Note that I did previously try the documented firmware reset procedures etc (by holding the reset button for n seconds etc) all of which didn't work. Amazing
