Tuesday, June 16, 2009

how to replace a Cisco IOS image after corrupted

Lets see how to download a software image to a Cisco 2600/2800/3800 Series Router using Trivial File Transfer Protocol (TFTP) over the first LAN port using the ROMMON tftpdnld command.

P2P:
* The ROMmon TFTP transfer works on the first LAN port only. However, for the Cisco 2612, you can choose the Token Ring or Fast Ethernet port.
* You can only download files to the router. You cannot use ROMmon TFTP to get files from the router.
* The transfer does not support route bridging on Token Ring ports.


First, you must set ROMMON environment variables prior to the TFTP download. All variable names are case sensitive.

You can view the ROMMON environment variables by using the set command, as shown here:

rommon 3 > set
PS1=rommon ! >
IP_ADDRESS=172.18.16.76
IP_SUBNET_MASK=255.255.255.192
DEFAULT_GATEWAY=172.18.16.65
TFTP_SERVER=172.18.16.2
TFTP_FILE=quake/rel22_Jan_16/c2600-i-mz

The variables to set for tftpdnld are shown here:

usage: tftpdnld [-ur]
Use this command for disaster recovery only to recover an image via TFTP.
Monitor variables are used to set up parameters for the transfer.
(Syntax: "VARIABLE_NAME=value" and use "set" to show current variables.)
"ctrl-c" or "break" stops the transfer before flash erase begins.

The following variables are REQUIRED to be set for tftpdnld:
IP_ADDRESS: The IP address for this unit
IP_SUBNET_MASK: The subnet mask for this unit
DEFAULT_GATEWAY: The default gateway for this unit
TFTP_SERVER: The IP address of the server to fetch from
TFTP_FILE: The filename to fetch

The following variables are OPTIONAL:
TFTP_VERBOSE: Print setting. 0=quiet, 1=progress(default), 2=verbose
TFTP_RETRY_COUNT: Retry count for ARP and TFTP (default=7)
TFTP_TIMEOUT: Overall timeout of operation in seconds (default=7200)
TFTP_CHECKSUM: Perform checksum test on image, 0=no, 1=yes (default=1)

Command line options:
-r: do not write flash, load to DRAM only and launch image
-u: upgrade the rommon, system will reboot once upgrade is complete
rommon 14 >


If you get any checksum error, set TFTP_CHECKSUM=0

The variables to set for Fast Ethernet are shown here:

FE_SPEED_MODE

0 = 10 Mbps half-duplex mode

1 = 10 Mbps full-duplex mode

2 = 100 Mbps half-duplex mode

3 = 100 Mbps full-duplex mode

4 = auto-negotiation

Default is 4

You must use the sync command to save ROMmon environment variables to nonvolatile RAM (NVRAM).
Example

rommon 16 > IP_ADDRESS=171.68.171.0
rommon 17 > IP_SUBNET_MASK=255.255.254.0
rommon 18 > DEFAULT_GATEWAY=171.68.170.3
rommon 19 > TFTP_SERVER=171.69.1.129
rommon 20 > TFTP_FILE=c2600-is-mz.113-2.0.3.Q
rommon 21 > tftpdnld

IP_ADDRESS: 171.68.171.0
IP_SUBNET_MASK: 255.255.254.0
DEFAULT_GATEWAY: 171.68.170.3
TFTP_SERVER: 171.69.1.129
TFTP_FILE: c2600-is-mz.113-2.0.3.Q

Invoke this command for disaster recovery only.
WARNING: all existing data in all partitions on flash will be lost!
Do you wish to continue? y/n: [n]: y

Receiving c2600-is-mz.113-2.0.3.Q from 171.69.1.129 !!!!!.!!!!!!!!!!!!!!!!!!!.!!
File reception completed.
Copying file c2600-is-mz.113-2.0.3.Q to flash.
Erasing flash at 0x607c0000
program flash location 0x60440000
rommon 22 >