Recover from a bad flash

From DD-WRT Wiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 19:21, 22 December 2006 (edit)
Marketing4all.net (Talk | contribs)
(If That Doesn't Work)
← Previous diff
Revision as of 00:52, 8 January 2007 (edit) (undo)
Carlton Bale (Talk | contribs)
(Recovering with TFTP - Entered more detail on how to perform a TFTP upgrade.)
Next diff →
Line 22: Line 22:
Prepare your PC, firmware file and TFTP software and play with the timing of powering it on and starting the TFTP session just after applying power. If you try it a number of times (at least 10) you will probably rescue the router with no fuss! Prepare your PC, firmware file and TFTP software and play with the timing of powering it on and starting the TFTP session just after applying power. If you try it a number of times (at least 10) you will probably rescue the router with no fuss!
 +
 +Microsoft Windows contains a [http://en.wikipedia.org/wiki/Tftp TFTP] client. With TFTP, all of the information about the transfer is specified during the initial setup; there is little client/server interaction as compared with standard FTP. To flash a router using Microsoft Windows, open a command prompt, change to the directory containing the firmware to upload (this example assumes the firmware file name is ''code.bin''), and then enter the following command (assuming your router IP 192.168.1.1):
 +
 +'''Warning: This command has not yet been verified. Someone with experience with this should check the command below, modify it if necessary, and remove this warning.'''
 + tftp -i 192.168.1.1 PUT code.bin code.bin
 +Notes: The '''-i''' specifies binary transfer mode; the two file names after the PUT command specify the SOURCE and DESTINATION file names.
==If That Doesn't Work== ==If That Doesn't Work==

Revision as of 00:52, 8 January 2007

So, you're afraid you've bricked your router. Don't worry, there are a number of things you can try to get your router working again before giving up and living with the fact that your router is now a paperweight.

Contents

WRT54G

The Linksys site mentions 'Management Mode' which makes it trivial to recover from bad flashing (answer id 3176). Here's how to do it:

  1. Unplug the power cord from the back of the router.
  2. Hold down the Reset button.
  3. While holding down the Reset button, plug back in the power cord to the router.
  4. Continue to hold the Reset button for five (5) seconds. After five (5) seconds, release the button.
  5. Wait for about one (1) minute. Then, on a computer connected to the router, launch a web browser (for example, Internet Explorer or Mozilla Firefox).
  6. Type in the router's IP address of http://192.168.1.1 into the Address field and press the [Enter] key.
  7. The Management Mode - Firmware Upgrade interface should appear.

Linksys Firmware

If you cannot find a Firmware Auto-Upgrade utility at the Linksys Download Page, use a Setup Wizard as an alternative from other Linksys router (make sure to use your router's firmware).

Another tftp program is called tftp2 and is available here (this will start the download): tftp2.exe

Recovering with TFTP

If pinging 192.168.1.1 does not work, check the IP Address of your computer and make sure it is assigned an IP address in the subnet of the router IP. For simplicity sake you can assume "192.168.1.x" is good. If you do not have a good IP, the DHCP Server might not be working. So set your IP manually to something like 192.168.1.77 with 192.168.1.1 as your gateway and then try pinging the router again.

Power the router on with a continuous ping running in a command window. You should see at least some seconds, at least 2-3 pings, where it responds to ping of 192.168.1.1 address. Do this several times to be sure. If it does you have good chance of simple recovery. Especially if previous firmware set the boot_wait variable to on, the router pauses even longer than normal during bootup to accept a recovery flash. All you need to do is provide a firmware to it via TFTP during this window of time.

Prepare your PC, firmware file and TFTP software and play with the timing of powering it on and starting the TFTP session just after applying power. If you try it a number of times (at least 10) you will probably rescue the router with no fuss!

Microsoft Windows contains a TFTP client. With TFTP, all of the information about the transfer is specified during the initial setup; there is little client/server interaction as compared with standard FTP. To flash a router using Microsoft Windows, open a command prompt, change to the directory containing the firmware to upload (this example assumes the firmware file name is code.bin), and then enter the following command (assuming your router IP 192.168.1.1):

Warning: This command has not yet been verified. Someone with experience with this should check the command below, modify it if necessary, and remove this warning.

tftp -i 192.168.1.1 PUT code.bin code.bin

Notes: The -i specifies binary transfer mode; the two file names after the PUT command specify the SOURCE and DESTINATION file names.

If That Doesn't Work

If the Linksys-approved method does not work for you, the [WRT54G Revival Guide] includes a second technique that involves snapping open the plastic case of the router and using a small metal tool (or paper-clip) to "short" two particular "pins" on the circuit board. It is quite clear that this carries risk of permanently damaging your flash via static discharge, and should be a measure of EXTREME last resort, not the first thing to try. You can very likely recover from a bad flash WITHOUT opening the router if you have some patience with the TFTP technique.

If you do have to use the EXTREME measure #4 from the revival guide as I did here is a additional tip uncovered from this forum. Voidman forum

I used the "earthing" technique to get the WRT54g v3.1 to respond to pings. Whenever I tried to tftp the dd-wrt firmware, it would cause the router to stop responding to pings ans just give a "timeout" error.

The solution was to first tftp an official LINKSYS firmware (WRT54G_4.30.5_US_code.bin which I renamed to "code.bin"). The router accepted it and rebooted properly. I was then able to upgrade to the latest dd-wrt v.23 SP2 through the WebGUI. This was discovered on GS v.4 which responded to unofficial firmware with "incorrect code pattern." Apparently this happens when tftp'ing to an empty flash chip.

There's also a collection of pointers and tips on how to recover from a bad flash at the external link location, but most of the information in that forum seems to have been collected into the WRT54G Revival Guide. So far this is just a starter wiki. If someone could move the important parts into this wiki, that'd be great. Probably organize it by recovery methods and list variations of each method below the method, or something.

Buffalo WHR-G54S

If you have already tried pinging the Buffalo continuously through hard and soft resets, unplugging, plugging and any combination thereof, then you will need to open up the device in order to revive it, similar in practice to the WRT54G Revival Guide Method #3.

  1. Unplug the router, and slide off the side trim panels. One will be covering a torx screw.
  2. Undo the screw and open up the router.
  3. With the router unplugged, plug a patch cable into one of the 4 LAN ports on your router and plug the other end into a computer.
  4. Configure your network card on your computer with a static IP address: IP: 192.168.11.2, NETMASK: 255.255.255.0, no gateway.
  5. Run a the ping command in a terminal or command prompt. In Linux: "ping 192.168.11.1". In Windows "ping -t 192.168.11.1" so that it doesn't stop trying to ping after 4 pings.
  6. Locate pin 12 on the flash memory chip. It is the 12th pin counterclockwise from the dimple in the surface of the chip. See the specs for this chip here.
  7. Short this pin to ground (bare solder around antennas, screw points).
  8. While holding the screwdriver there, plug in the power and watch your ping screen. You should see the pings starting to succeed.
  9. Remove the screwdriver and the pings should continue.
  10. Now use the tftp method to rewrite the firmware.

External Links

The Wrt54g Revival Guide How-To: Recover from a bad firmware flash.