I own a WRT54G V1.1 which was already bricked when I bought it.
I've solved a couple of problems but now I'm stuck with the question how I can possibly determine if there's really a HW failure which would render any further efforts useless.
The following steps of trial and error and partial success might be useful for people facing similar problems (I'm only reporting the main line of events)
What did I do:
First act
- When I got the router none of the LEDs was working. Power supply was ok, 3.3 Volts at the regulator output. Someone had attached a JTAG connector which was removed. The holes were drilled out.
No ping reply.
- I detected an interrupted circuit path which I fixed. Result: The power LED started flashing. No ping replies.
- I tried the PIN 15/16 (5/6) trick without any success (this has obviously been tried before, since there were scratch marks at thr pins)
- I wired a JTAG cable, directly soldered to the PCB, omitting the 100 Ohm resistors - there is a 4,7k resistor on the board for every signal line.
wrt54g V4.5 could not detect a valid processor ID although a value different from all FF was reported.
- I moved from my notebook to my desktop (with an honest parallel interface), used EPP mode with IRQ7 use forced: wrt54g could detect CPU and flash correctly
- I made a backup of the CFE and compared the image with a 'generated CFE'. There were two differencies:
1. the MAC address in the CFE backup (matching the one on the label) was preceded by another MAC address different from the one reported on the label (??)
2. one day difference in a version date (??)
- I tried to flash the new CFE: transfer stops at ca. 4%
- I tried wrt54g V4.8 (xource www.skynet.com) and could fully flash a new CFE: no change, still no ping reply
- I erased the NVRAM: no change, still no ping reply
- I made another backup of the CFE and compared again: MANY differences! Obviously could wrt54g v4.8 read correctly but flashing was corrupt
- I added the missing 100Ohm resistors and treid wrt54g v4.5 again: sucess. flashing works correctly and a following backup matches the source.
- I flashed the new CFE and erased the NVRAM: response to ping!!
Second act
I do not go through the steps here. I rather report the state and the observed effects
- tftp seems to work: number of bytes transferred is correct
- no boot, power LED keeps flashing although with different speeds depending on the situation
- the DMZ LED never comes to life; the LAN (and internet) LEDs do
- no ping after 'sucessful' tftp and a waiting phase of >10 minutes
- recycling the power brings the ping replies back but no boot
- any attempt to use the reset button in one of the known procedures leads to 'no ping'. To bring the ping back I have at least to erase the NVRAM if not to flash the CFE again
- comparing a backup of the kernel with the flashed image (starting at HDR0) shows differences starting at 0x4000 (I'm not sure but I think that was the offset)
- different images (original firmwares, openWrt, ...) don't make a difference
- tftp by the way comes back with a success message even after I waited far more than 5 seconds from powering on and this was even before I tried to switch BOOT_WAIT on
- I tried to set BOOT_WAIT=ON by editing the respective string in the CFE image before flashing it. After this I checked an NVRAM backup for this string and it was there with BOOT_WAIT=ON while it was OFF before. So this seemed to be successful
- Last thing I did was to strip the header off the openWrt bin (so it starts with HDR0 now) and flash it with JTAG
No boot, same as with tftp. I didn't have the nerve to make a backup again and compare...
Third act
So this is where I got stuck.
I hope for some ideas to complete the drama. Did I miss something which I could still try or is there any clear indication that my WRT should simply go to thrash?
Hans
