Originally posted by Ben Lawson:
Thanks, I'll check it out but I'm not too hopeful. I am not able to ping the router at all anymore. The first time I hosed it up I had to do the pin16/17 short on the flash chip to get it to respond to a ping. Even after eventually getting it to take a stock linksys flash last night it wasnt acting right. Before i realized the TRX was maybe what i should be using I tried to flash the BIN again
Now I'm back to no ping at all, shorting pin 16/17 seems to have no effect.
For posterity I'd like to make it clear to others
DO NOT SHORT YOUR FLASH PINS. Is there merit to the concept? Yes. However this is not your go-to solution every time your router doesn't boot. You have to really work hard to flash something in such a wrong way that this dangerous procedure is warranted. If you are completely at your wits end and considering shorting flash pins, throw your router in the garbage. Look at it. Maybe even haul it out to the curb. Shorting the pins on your flash chip is something you do now, now that you're comfortable with the fact that the router is garbage.
It is always a better solution to hook a TTL serial cable to it and see
why it isn't booting and fix it (maybe boot_wait needs to be set? maybe your computer just doesn't activate the ethernet link before boot_wait times out?). An FTDI cable, which you may have already, is a TTL serial cable (you'll need 2 resistors to get it down to 3.3V though). Your Arduino is a TTL serial cable (same 2 resistor, and pop the ATmega chip out). Your old cell phone cable you have in a box in the closet may very well be a TTL serial cable. A $3 TTL serial cable off eBay is a TTL serial cable.
To clarify what Dave S said:
-- If you're flashing via TFTP, use the BIN file.
-- If you're flashing from anywhere else you almost certainly want the TRX file.
You can't mess up your router by using the wrong image. You can write 3MB of random data to a file and flash that and your router won't boot into Linux, but it isn't bricked at all. If boot_wait is on, your router listens for 3 seconds on TFTP then starts executing whatever is stored in the linux partition. If you used the wrong image, your router will lock up here. If you messed up your root partition it will lock up a few seconds later. If you messed up your overlay partition, it will lock up a few seconds after that. All of these are indistinguishable because the router just never arrives at point D. What always remains the same is that the bootloader will wait 3 seconds for new firmware, regardless of what you've flashed into the other partitions.
The one big if here is "if boot_wait is on". By default, my WRT54GL's bootloader has boot_wait set to off. This is overridden by `nvram set boot_wait=on && nvram commit` which stores the updated value in the nvram partition. If you somehow miraculously are able to overwrite your nvram by flashing like a 8MB firmware image, you can set it back to "on" by using a serial cable you may already have somewhere.
So in short: if your router doesn't boot and you can't get it to TFTP, either get a serial cable or throw the router in the garbage.