Wednesday, February 27, 2013

Network Device Troubleshooting Tips

Corrupt image & router boots into rommon mode:


Introduction:

This page explains how to recover a Cisco 2600 Series Router and a VG200 stuck in ROMmon (rommon# >prompt).

Before You Begin

Conventions

For more information on document conventions, see the Cisco Technical Tips Conventions.

Prerequisites

There are no specific prerequisites for this document.

Components Used

This document is not restricted to specific software and hardware versions.
The information presented in this document was created from devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If you are working in a live network, ensure that you understand the potential impact of any command before using it.

Check Configuration Register Settings

If the router is stuck in ROMmon mode, the first setting that should be checked is the value of the configuration register.
The first four bits of the configuration register comprise the boot field. The value of the boot field defines the source of a default Cisco IOS® software image that will be used to run the router. If the value of the boot field is 0 (configuration register value of XXX0), on startup the system enters and remains in the ROM monitor mode (rommon>), awaiting a user command to boot the system manually. For more information on the software configuration register bit meanings, see Configuring the Software Configuration Register.
If your router keeps entering the ROMmon mode each time the system is restarted, it is probably due to the setting of the configuration register. To verify the configured value of the configuration register, use the confreg command as shown below:
rommon 2 > confreg

    Configuration Summary
enabled are:
load rom after netboot fails
console baud: 9600
boot: the ROM Monitor

do you wish to change the configuration? y/n  [n]: 
As indicated by the output of the confreg command above, the configuration register is set to a value that forces the router to go into the ROMmon mode each time it is reloaded or power-cycled. To make the router boot automatically from a default Cisco IOS software image, change the configuration register value as shown below:
rommon 2 > confreg 

    Configuration Summary
enabled are:
load rom after netboot fails
console baud: 9600
boot: the ROM Monitor

do you wish to change the configuration? y/n  [n]:  y
enable  "diagnostic mode"? y/n  [n]:
enable  "use net in IP bcast address"? y/n  [n]:
disable "load rom after netboot fails"? y/n  [n]:
enable  "use all zero broadcast"? y/n  [n]:
enable  "break/abort has effect"? y/n  [n]:
enable  "ignore system config info"? y/n  [n]:
change console baud rate? y/n  [n]:
change the boot characteristics? y/n  [n]:  y
enter to boot:
 0 = ROM Monitor
 1 = the boot helper image
 2-15 = boot system
    [0]:  2

    Configuration Summary
enabled are:
load rom after netboot fails
console baud: 9600
boot: image specified by the boot system commands
      or default to: cisco2-C2600

do you wish to change the configuration? y/n  [n]: n
You must reset or power cycle for new config to take effect
By doing this, you have changed the configuration register to a value that makes it look for a valid Cisco IOS software image on startup and boot from the same. The router must now be reset.
rommon 3 > reset

System Bootstrap, Version 11.3(2)XA4, RELEASE SOFTWARE (fc1)
Copyright (c) 1999 by cisco Systems, Inc.
TAC:Home:SW:IOS:Specials for info

The router should now reload with a valid Cisco IOS software image.

Look for a Valid Image in Flash

If the configuration register value is set to make the system boot automatically from a default Cisco IOS software image, and if no break signal is sent during start up, the router should boot normally. However, if the router still enters the ROMmon mode, it is probably because the device is unable to locate a valid Cisco IOS software image.
The first thing you need to do then is to look for a valid Cisco IOS software image. To do this, issue the dir <device> command for each available device, and look for a valid Cisco IOS software image. For example, to look for the IOS in the Flash, use the command shown below.
rommon 1 > dir flash:
         File size         Checksum   File name   
5358032 bytes (0x51c1d0)   0x7b16    c2600-i-mz.122-10b.bin
rommon 2 >
Note that if the router returns the "bad device name" message, the device specified probably does not exist. The output above indicates that a valid image is indeed present in the Flash. Try to boot from that image using the boot command.
rommon 2 > boot flash:c2600-i-mz.122-10b.bin
program load complete, entry point: 0x80008000, size: 0x51c0dc
Self decompressing the image : #################################################
##################################
...
The router should now boot with the Cisco IOS software image specified in the boot command. However, there are times when a valid image does not exist on any of the devices or the image on the Flash might be corrupted. In these cases, a valid image has to be downloaded using Trivial File Transfer Protocol (TFTP) or by using the Xmodem procedure. Both these procedures can be carried out from the ROMmon mode.
Note: There are instances where the system message "Device does not contain a valid magic number" appears. If this happens, in addition to getting a valid Cisco IOS software image, you might need to reseat the Flash or replace it, if it is damaged.