Tuesday, August 01, 2006

Not all routery flashes result in goodness...

As we found out on last week; zar' updated his WRT54G v5 router much as I did. It went off without a hitch.

He has a WRT54G v1 as well, and gave that a try. Did it succeed? Well, I'll just say that I received an email the next morning with the subject "Bricked my router..." and leave you to draw your own conclusions.

We looked at it a bit over lunch, and discovered it wasn't entirely bricked. On power-up, it would respond to pings for a short space of time, about five seconds or so. This is when the bootloader runs, just before it loads and jumps to the firmware image. During this short space of time, the router's TFTP server runs, waiting for a firmware download.

We ran a repeating ping in one command prompt window, and had the tftp client all ready to download a firmware image in another. We powered up the router, and when we saw the ping succeed, quickly hit Enter in the tftp window.

This allowed us to get back to the original Linksys firmware... we had to use an early version though, as the latest wouldn't take--we also had to switch his NIC to half-duplex and 10Mbps. After the upgrade, we used the web client to upgrade it to the latest Linksys firmware, and we were back to a safe place. Phew.

We tried a number of times after that to upgrade it to the DD-WRT firmware, without success, both from the web client and the tftp client. We just kept bricking it, even when we left it for five minutes after the download. Strange.

On the weekend, zar' did a little bit of investigation, and found out that the v1's CPU runs at only 125MHz, which means it's significantly slower than later versions, which run at 200Mhz. He speculated, and I agree, that this lower CPU speed almost certainly means a lower external bus speed. So he reflashed again with DD-WRT, and left the router sitting there for half an hour. And guess what? He now has a working WRT54G v1 running the DD-WRT firmware.

The moral of the story? I'm not sure there is one, but I guess it would be to check your hardware before upgrading, and make sure you understand what you've got.

And before you ask, yes, a computer engineer and a computer scientist should have known better.

No comments: