Serial Recovery

From DD-WRT Wiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 16:08, 30 October 2010 (edit)
LOM (Talk | contribs)
(Erase Nvram)
← Previous diff
Revision as of 16:13, 30 October 2010 (edit) (undo)
Donny (Talk | contribs)

Next diff →
Line 18: Line 18:
No Flow control No Flow control
 +Redhawk0 summarized this information this way:
 +
 +''Serial cable is required to possibly debrick units without JTAG port.
 +
 +Serial cable can be either USB or DB9 connection type.
 +It must be capable of doing voltage level shift to +3.3V not just +5V.
 +
 +There are 4 connections that are required for Serial to function properly. +3.3V, GND, Tx and Rx.
 +
 +Some boards are NOT marked with pin designation. You must ohm out your power and GND in this case so things don't get connected backwards and blow out your cable chip. Then you can guess at the last 2 Rx and Tx lines.
 +
 +The cable has Rx and Tx but these are relative to the cable...so Rx line needs to be connected to the routers Tx line....because the router's designator's are relative to the router.
 +
 +So Tx and Rx get crossed for proper connection.
 +
 +On routers that have 2 Serial ports (Tx0, Tx1 and Rx0, Rx1) you generally use the zero port for your connections (I've not seen a router yet that you connect up to the "one" side)
 +
 +Once you make the connection setup your computer Serial terminal display for 115200 8-N-1. Plug in your router and you should see text on the screen. You can monitor the tty output of the CFE as it is booting...or break in using Cntl-C and enter low level commands to try to fix things.
 +
 +The most useful for our purpose is the
 +
 +"nvram show" and "nvram erase" commands.
 +
 +Once the nvram is erased...type "reboot" or power cycle it....now tftp your firmware....or just let it boot up if firmware was previously loaded properly.
 +
 +
 +''
===Serial Interfaces=== ===Serial Interfaces===

Revision as of 16:13, 30 October 2010

Routers that have a serial port can often be recovered by using a serial adapter. This is an alternative to Jtag.

You MUST have a working CFE on the router to use serial commands. If your CFE is corrupted, you MUST use jtag to recover. If your router does not have a jtag port, and your cfe is toast, put the router on a shelf and wave to it occasionally.

Serial ports are normally a four or five pins on the router motherboard. Usually, you have to solder to pads or remove solder from the holes and install a four or five pin header.

Here is a link to some serial pinouts: http://www.dd-wrt.com/wiki/index.php/Serial_port_pinouts


You connect to the router with the programs hyperterminal or putty.

The settings you want are: Baud: 115200 Data bits: 8 Stop Bits: 1 Parity: none No Flow control

Redhawk0 summarized this information this way:

Serial cable is required to possibly debrick units without JTAG port.

Serial cable can be either USB or DB9 connection type. It must be capable of doing voltage level shift to +3.3V not just +5V.

There are 4 connections that are required for Serial to function properly. +3.3V, GND, Tx and Rx.

Some boards are NOT marked with pin designation. You must ohm out your power and GND in this case so things don't get connected backwards and blow out your cable chip. Then you can guess at the last 2 Rx and Tx lines.

The cable has Rx and Tx but these are relative to the cable...so Rx line needs to be connected to the routers Tx line....because the router's designator's are relative to the router.

So Tx and Rx get crossed for proper connection.

On routers that have 2 Serial ports (Tx0, Tx1 and Rx0, Rx1) you generally use the zero port for your connections (I've not seen a router yet that you connect up to the "one" side)

Once you make the connection setup your computer Serial terminal display for 115200 8-N-1. Plug in your router and you should see text on the screen. You can monitor the tty output of the CFE as it is booting...or break in using Cntl-C and enter low level commands to try to fix things.

The most useful for our purpose is the

"nvram show" and "nvram erase" commands.

Once the nvram is erased...type "reboot" or power cycle it....now tftp your firmware....or just let it boot up if firmware was previously loaded properly.


Contents

Serial Interfaces

You need a level shifting 3.3v TTL adapter. You can get Nokia CA-42 cables online for about 3.00 and cut the end off.

Serial Commands

Erase Nvram

Power cycle the router and while it is booting hit control C quickly. You should get a CFE> prompt


The most common command you will use is the "nvram erase" command. This command will erase the nvram values that are often the cause of bricked routers

At the cfe prompt:

cfe> nvram erase [enter]

To flash the firmware

This assumes you have a ttl adapter connected and ready to go. There is reference to stock firmware. This does not apply to router that used to run vxworks. All of those, have jtag tmk..

connect that bitch (the router to your serial adapter).. 115200,8,1,n and no flow control are the com, param's

I use hyperterminal. In the terminal, boot the router.

Immediately start hitting ctrl-c. If you hit it right you will be at the cfe prompt:

cfe>

Execute the nvram erase command at the CFE prompt

Get the tftp utility ready to flash the STOCK firmware for your router so all you need to do it hit enter to launch.

You are going to tell the router to accept a tftp flash of firmware. It times out quickly so that is why you need to get the utility ready to launch.

Static ip on your rig.. 192.168.1.10, mask 255.255.255.0, not necessary but gateway 192.168.1.1

If you have a linksyse router, at the cfe prompt:

flash -ctheader : flash1.trx

hit enter.. the router will want an upload of the firmware. It will time out after three tries. Don't let it time out, now launch the tftp utility. It will upload, program and then you will be back at the cfe prompt. This will take some time. You will see what is happening in the console.

You will be back at the cfe prompt when it is done:

cfe>

issue a "go" command:

go [enter]

the router will launch its new firmware.

Let it boot. It will boot 2 ~ 3 times.. You are done.

Now install dd-wrt again.

Good Luck..