Cisco 3900 Series, 2900 Series, and 1900 Series Software Configuration Guide
Using ROM Monitor
Downloads: This chapterpdf (PDF - 411.0KB) The complete bookPDF (PDF - 3.52MB) | The complete bookePub (ePub - 494.0KB) | The complete bookMobi (Mobi - 1.0MB) | Feedback

Table of Contents

Using ROM Monitor

Prerequisites for Using the ROM Monitor

Information About the ROM Monitor

ROM Monitor Mode Command Prompt

Why is the Router in ROM Monitor Mode?

When do I use ROM Monitor?

Tips for Using ROM Monitor Commands

Accessibility

How to Use the ROM Monitor—Typical Tasks

Entering ROM Monitor Mode

Prerequisites

Using the Break Key Sequence to Interrupt the System Reload and Enter ROM Monitor Mode

Setting the Configuration Register to Boot to ROM Monitor Mode

Examples

What to Do Next

Displaying Commands and Command Syntax in ROM Monitor Mode (?, help, -?)

Examples

Displaying Files in a File System (dir)

Loading a System Image (boot)

Prerequisites

Examples

What to Do Next

Modifying the Configuration Register (confreg)

Restrictions

Examples

Obtaining Information on USB Flash Devices

Examples

Modifying the I/O Memory (iomemset)

Examples

Recovering the System Image (tftpdnld)

Prerequisites

Restrictions

Examples

What to Do Next

Troubleshooting Crashes and Hangs (stack, context, frame, sysret, meminfo)

Router Crashes

Router Hangs

ROM Monitor Console Communication Failure

Restrictions

Examples

Troubleshooting Tips

Exiting ROM Monitor Mode

Examples

What to Do Next

Additional References

Related Documents

Technical Assistance

Using ROM Monitor

The ROM monitor is accessed during power up or reload when the router does not find a valid system image, the last digit of the boot field in the configuration register is 0, or you enter the Break key sequence during the first 5 seconds after reloading the router.

The following sections describe how to use the ROM monitor in the Cisco 3900 series, 2900 series, 1900 series integrated services routers (ISRs) to manually load a system image or upgrade the system image for disaster, or when there are no TFTP servers or network connections.

Prerequisites for Using the ROM Monitor

Connect a terminal or PC to the router console port. For help, see the hardware installation guide for your router.

Information About the ROM Monitor

Before using the ROM monitor, you should understand the following concepts:

ROM Monitor Mode Command Prompt

The ROM monitor uses the rommon x > command prompt. The x variable begins at 1 and increments each time you press Return or Enter in ROM monitor mode.

Why is the Router in ROM Monitor Mode?

The router boots to ROM monitor mode when one of the following occurs:

  • During power up or reload, the router did not find a valid system image.
  • The last digit of the boot field in the configuration register is 0 (for example, 0x100 or 0x0).
  • The Break key sequence was entered during the first 60 seconds after reloading the router.

To exit ROM monitor mode, see the “Exiting ROM Monitor Mode” section.

When do I use ROM Monitor?

Use ROM monitor in the following situations:

  • Manually loading a system image—You can load a system image without configuring the router to load that image in future system reloads or power-cycles. This can be useful for testing a new system image or for troubleshooting. See the “Loading a System Image (boot)” section.
  • Upgrading the system image when there are no TFTP servers or network connections, and a direct PC connection to the router console is the only viable option—See information about upgrading the system image in the configuration documentation for your router.
  • During troubleshooting if the router crashes and hangs—See the “Troubleshooting Crashes and Hangs (stack, context, frame, sysret, meminfo)” section.
  • Disaster recovery—Use one of the following methods for recovering the system image or configuration file:

TFTP download ( tftpdnld )—Use this method if you can connect a TFTP server directly to the fixed LAN port on your router. See the “Recovering the System Image (tftpdnld)” section.


Note Recovering the system image is different from upgrading the system image. You need to recover the system image if it becomes corrupt or if it is deleted because of a disaster that affects the memory device severely enough to require deleting all data on the memory device in order to load a system image.


Tips for Using ROM Monitor Commands

Accessibility

This product can be configured using the Cisco command-line interface (CLI). The CLI conforms to accessibility code 508 because it is text based and it relies on a keyboard for navigation. All functions of the router can be configured and monitored through the CLI.

For a complete list of guidelines and Cisco products adherence to accessibility, see the Cisco Accessibility Products document at:

http://www.cisco.com/web/about/responsibility/accessibility/products

How to Use the ROM Monitor—Typical Tasks

This section provides the following procedures:


NoteThis section does not describe how to perform all possible ROM monitor tasks. Use the command help to perform any tasks that are not described in this document. See the“Displaying Commands and Command Syntax in ROM Monitor Mode (?, help, -?)” section.


Prerequisites

Connect a terminal or PC to the router console port. For help, see the hardware installation guide for your router.

Using the Break Key Sequence to Interrupt the System Reload and Enter ROM Monitor Mode

To enter ROM monitor mode by reloading the router and entering the Break key sequence, follow these steps.

SUMMARY STEPS

1. enable

2. reload

3. Press Ctrl - Break .

DETAILED STEPS

 

Command or Action
Purpose

Step 1

enable

 

Router> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

reload

 

Router# reload

Reloads the operating system.

Step 3

Press Ctrl - Break .

 

Router# send break

Interrupts the router reload and enters ROM monitor mode.

Example

Sample Output for the reload Command

Use break key sequence to enter rom monitor
Router# reload
 
Proceed with reload? [confirm]
 
*Sep 23 15:54:25.871: %SYS-5-RELOAD: Reload requested by console. Reload Reason: Reload command.
telnet> send break
 
*** System received an abort due to Break Key ***
signal= 0x3, code= 0x0, context= 0x431aaf40
PC = 0x4008b5dc, Cause = 0x20, Status Reg = 0x3400c102
rommon 1 >

Troubleshooting Tips

The Break key sequence varies, depending on the software on your PC or terminal. See the Standard Break Key Sequence Combinations During Password Recovery tech note.

What to Do Next

Enter the i or reset command, which restarts the booting process and loads the system image.

Enter the cont command, which continues the booting process and loads the system image.

Setting the Configuration Register to Boot to ROM Monitor Mode

This section describes how to enter ROM monitor mode by setting the configuration register to boot to ROM monitor mode at the next system reload or power-cycle. For more information about the configuration register, see the Changing the Configuration Register Settings document at:

http://www.cisco.com/en/US/docs/routers/access/1800/1841/software/configuration/guide/b_creg.html


Caution Do not set the configuration register by using the config-register 0x0 command after you have set the baud rate. To set the configuration register without affecting the baud rate, use the current configuration register setting by entering the show ver | inc configuration command, and then replacing the last (rightmost) number with a 0 in the configuration register command.

SUMMARY STEPS

1. enable

2. configure terminal

3. config-register 0x0

4. exit

5. write memory

6. reload

DETAILED STEPS

 

Command or Action
Purpose

Step 1

enable

 

Router> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

 

Router# configure terminal

Enters global configuration mode.

Step 3

config-register 0x0

 

Router(config)# config-register 0x0

Changes the configuration register settings.

  • The 0x0 setting forces the router to boot to the ROM monitor at the next system reload.

Step 4

exit

 

Router(config)# exit

Exits global configuration mode.

Step 5

write memory

 

Router# write memory

Sets to boot the system image from flash memory.

Step 6

reload

 

Router# reload

 

<output deleted>

 

rommon 1>

Reloads the operating system.

  • Because of the 0x0 configuration register setting, the router boots to ROM monitor mode.

Examples

The following example shows how to set the configuration register to boot to ROM monitor mode:

Router>
Router> enable
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# config-register 0x0
Router(config)# exit
Router#
*Sep 23 16:01:24.351: %SYS-5-CONFIG_I: Configured from console by console
Router# write memory
Building configuration...
[OK]
Router# reload
Proceed with reload? [confirm]
 
*Aug 24 11:09:31.167: %SYS-5-RELOAD: Reload requested by console. Reload Reason: Reload Command.
System Bootstrap, Version 15.0(1r)M1, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 2009 by cisco Systems, Inc.
 
Total memory size = 2560 MB - On-board = 512 MB, DIMM0 = 2048 MB
C2911 platform with 2621440 Kbytes of main memory
Main memory is configured to 72/72(On-board/DIMM0) bit mode with ECC enabled
 
Readonly ROMMON initialized
rommon 1 >

Displaying Commands and Command Syntax in ROM Monitor Mode (?, help, -?)

This section describes how to display ROM monitor commands and command syntax options.

SUMMARY STEPS

1. ?
or
help

2. command -?

DETAILED STEPS

 

Command or Action
Purpose

Step 1

?

or

help

 

rommon 1 > ?

 

rommon 1 > help

Displays a summary of all available ROM monitor commands.

Step 2

command -?

 

rommon 16 > display -?

Displays syntax information for a ROM monitor command.

Examples

Sample Output for the help ROM Monitor Command

rommon 1 > help

 

alias set and display aliases command
boot boot up an external process
break set/show/clear the breakpoint
confreg configuration register utility
cont continue executing a downloaded image
context display the context of a loaded image
cookie display contents of cookie PROM in hex
dev list the device table
dir list files in file system
frame print out a selected stack frame
help monitor builtin command help
history monitor command history
iomemset set IO memory percent
meminfo main memory information
repeat repeat a monitor command
reset system reset
rommon-pref select ROMMON
set display the monitor variables
showmon display currently selected ROM monitor
stack produce a stack trace
sync write monitor environment to NVRAM
sysret print out info from last system return
tftpdnld tftp image download
unalias unset an alias
unset unset a monitor variable
xmodem x/ymodem image download
hwpart Read HW resources partition

Displaying Files in a File System (dir)

To display a list of the files and directories in the file system, use the dir command, as shown in the following example:

rommon 1 > dir flash0:
program load complete, entry point: 0x80803000, size: 0x1b340
Directory of flash0:
 
2 60199000 -rw- c2900-universalk9-mz.SSA.rel1
14700 1267 -rw- configuration
rommon 2 > dir usbflash0:
program load complete, entry point: 0x80903000, size: 0x4c400
Directory of usbflash0:
 
2 54212244 -rw- c2900-universalk9-mz.SSA

Loading a System Image (boot)

This section describes how to load a system image by using the boot ROM monitor command.

Prerequisites

Determine the filename and location of the system image that you want to load.

SUMMARY STEPS

1. boot
or
boot flash0: [ filename ]
or
boot filename tftpserver
or
boot [ filename ]
or
boot usbflash0: [ filename ]

DETAILED STEPS

 

Command or Action
Purpose

Step 1

boot

or

boot flash0: [ filename ]

or

boot filename tftpserver 1

or

boot [ filename ]

or

boot usbflash0 :[ filename ]

 

ROMMON > boot

 

ROMMON > boot flash0:

 

ROMMON > boot someimage 172.16.30.40

 

ROMMON > boot someimage

 

ROMMON > boot usbflash0:someimage

In order, the examples here direct the router to:

  • Boot the first image in flash memory.
  • Boot the first image or a specified image in flash memory.

Note In IOS, flash0 will be aliased onto flash.

  • Boot the specified image over the network from the specified TFTP server (hostname or IP address).
  • Boot from the boothelper image because it does not recognize the device ID. This form of the command is used to boot a specified image from a network (TFTP) server.
  • Boot the image stored on the USB flash device.

Note Platforms can boot from USB in ROM monitor with or without a compact flash device. It is not necessary to use a bootloader image from the compact flash device. Partitions, such as usbflash0:2:image_name, are not supported on USB flash drives. The boot usbflash<x>: command will boot the first file on the device, if it is a valid image.

You can override the default boothelper image setting by setting the BOOTLDR Monitor environment variable to point to another image. Any system image can be used for this purpose.

  • Options for the boot command are -x (load image but do not execute) and -v (verbose).

1.Cisco 3925E and Cisco 3945E do not support this boot option.

Examples

The following example shows how to load boot flash memory and USB boot flash memory:

rommon 7 > boot flash0:c2900-universalk9-mz.SSA
program load complete, entry point: 0x80803000, size: 0x1b340
 
 
IOS Image Load Test
___________________
Digitally Signed Development Software
program load complete, entry point: 0x81000000, size: 0x3968d28
Self decompressing the image : ############################################################################################################################################################################################################################################################################################################################################################### [OK]
 
Smart Init is enabled
smart init is sizing iomem
TYPE MEMORY_REQ
HWIC Slot 0 0x00200000
HWIC Slot 1 0x00200000
HWIC Slot 2 0x00200000
HWIC Slot 3 0x00200000
PVDM SIMM 0 0x00200000
PVDM SIMM 1 0x00200000
SM Slot 1 0x00600000
ISM Slot 2 0x00600000
Onboard devices &
buffer pools 0x0228F000
-----------------------------------------------
TOTAL: 0x03A8F000
 
Rounded IOMEM up to: 60Mb.
Using 5 percent iomem. [60Mb/1024Mb]
 
Restricted Rights Legend
 
Use, duplication, or disclosure by the Government is
subject to restrictions as set forth in subparagraph
(c) of the Commercial Computer Software - Restricted
Rights clause at FAR sec. 52.227-19 and subparagraph
(c) (1) (ii) of the Rights in Technical Data and Computer
Software clause at DFARS sec. 252.227-7013.
 
cisco Systems, Inc.
170 West Tasman Drive
San Jose, California 95134-1706
 
 
Cisco IOS Software, C2900SM Software (C2900-UNIVERSALK9-M), Experimental Version 12.4(20090709:004325) [ypatel-secport2 128]
Copyright (c) 1986-2009 by Cisco Systems, Inc.
Compiled Thu 16-Jul-09 12:55 by ypatel
 
 
This product contains cryptographic features and is subject to United
States and local country laws governing import, export, transfer and
use. Delivery of Cisco cryptographic products does not imply
third-party authority to import, export, distribute or use encryption.
Importers, exporters, distributors and users are responsible for
compliance with U.S. and local country laws. By using this product you
agree to comply with applicable laws and regulations. If you are unable
to comply with U.S. and local laws, return this product immediately.
 
A summary of U.S. laws governing Cisco cryptographic products may be found at:
http://www.cisco.com/wwl/export/crypto/tool/stqrg.html
 
If you require further assistance please contact us by sending email to
export@cisco.com.
 
Cisco c2911 (revision 1.0) with 987136K/61440K bytes of memory.
Processor board ID
3 Gigabit Ethernet interfaces
1 terminal line
DRAM configuration is 64 bits wide with parity enabled.
255K bytes of non-volatile configuration memory.
62960K bytes of USB Flash usbflash0 (Read/Write)
248472K bytes of ATA System CompactFlash 0 (Read/Write)
248472K bytes of ATA CompactFlash 1 (Read/Write)
 
Press RETURN to get started!
 
*Nov 22 09:20:19.839: %LINK-3-UPDOWN: Interface GigabitEthernet0/0, changed state to up
*Nov 22 09:20:19.839: %LINK-3-UPDOWN: Interface GigabitEthernet0/1, changed state to down
*Nov 22 09:20:19.839: %LINK-3-UPDOWN: Interface GigabitEthernet0/2, changed state to down
*Nov 22 09:20:19.839: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/0/64, changed state to down
*Nov 22 09:20:19.839: %LINEPROTO-t5-UPDOWN: Line protocol on Interface GigabitEthernet0/1/64, changed state
Router>
rommon 1 > boot usbflash1:c2900-universalk9-mz.SSA
program load complete, entry point: 0x80803000, size: 0x1b340
 
 
IOS Image Load Test
___________________
Digitally Signed Development Software
program load complete, entry point: 0x81000000, size: 0x3968d28
Self decompressing the image : ############################################################################################################################################################################################################################################################################################################################################################### [OK]
 
Smart Init is enabled
smart init is sizing iomem
TYPE MEMORY_REQ
HWIC Slot 0 0x00200000
HWIC Slot 1 0x00200000
HWIC Slot 2 0x00200000
HWIC Slot 3 0x00200000
PVDM SIMM 0 0x00200000
PVDM SIMM 1 0x00200000
SM Slot 1 0x00600000
ISM Slot 2 0x00600000
Onboard devices &
buffer pools 0x0228F000
-----------------------------------------------
TOTAL: 0x03A8F000
 
Rounded IOMEM up to: 60Mb.
Using 5 percent iomem. [60Mb/1024Mb]
 
Restricted Rights Legend
 
Use, duplication, or disclosure by the Government is
subject to restrictions as set forth in subparagraph
(c) of the Commercial Computer Software - Restricted
Rights clause at FAR sec. 52.227-19 and subparagraph
(c) (1) (ii) of the Rights in Technical Data and Computer
Software clause at DFARS sec. 252.227-7013.
 
cisco Systems, Inc.
170 West Tasman Drive
San Jose, California 95134-1706
 
 
Cisco IOS Software, C2900SM Software (C2900-UNIVERSALK9-M), Experimental Version 12.4(20090709:004325) [ypatel-secport2 128]
Copyright (c) 1986-2009 by Cisco Systems, Inc.
Compiled Thu 16-Jul-09 12:55 by ypatel
 
 
This product contains cryptographic features and is subject to United
States and local country laws governing import, export, transfer and
use. Delivery of Cisco cryptographic products does not imply
third-party authority to import, export, distribute or use encryption.
Importers, exporters, distributors and users are responsible for
compliance with U.S. and local country laws. By using this product you
agree to comply with applicable laws and regulations. If you are unable
to comply with U.S. and local laws, return this product immediately.
 
A summary of U.S. laws governing Cisco cryptographic products may be found at:
http://www.cisco.com/wwl/export/crypto/tool/stqrg.html
 
If you require further assistance please contact us by sending email to
export@cisco.com.
 
Cisco c2911 (revision 1.0) with 987136K/61440K bytes of memory.
Processor board ID
3 Gigabit Ethernet interfaces
1 terminal line
DRAM configuration is 64 bits wide with parity enabled.
255K bytes of non-volatile configuration memory.
62960K bytes of USB Flash usbflash0 (Read/Write)
248472K bytes of ATA System CompactFlash 0 (Read/Write)
248472K bytes of ATA CompactFlash 1 (Read/Write)
 
Press RETURN to get started!
 
*Nov 22 09:20:19.839: %LINK-3-UPDOWN: Interface GigabitEthernet0/0, changed state to up
*Nov 22 09:20:19.839: %LINK-3-UPDOWN: Interface GigabitEthernet0/1, changed state to down
*Nov 22 09:20:19.839: %LINK-3-UPDOWN: Interface GigabitEthernet0/2, changed state to down
*Nov 22 09:20:19.839: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/0/64, changed state to down
*Nov 22 09:20:19.839: %LINEPROTO-t5-UPDOWN: Line protocol on Interface GigabitEthernet0/1/64, changed state
Router>

What to Do Next

If you want to configure the router to load a specified image at the next system reload or power-cycle, see the following documents:

Modifying the Configuration Register (confreg)

This section describes how to modify the configuration register by using the confreg ROM monitor command. You can also modify the configuration register setting from the Cisco IOS command-line interface (CLI) by using the config-register command in global configuration mode.


Caution Do not set the configuration register by using the config-register 0x0 command after setting the baud rate. To set the configuration register without affecting the baud rate, use the current configuration register setting by entering the show ver | inc configuration command and then replacing the last (rightmost) number with a 0 in the configuration register command.

Restrictions

The modified configuration register value is automatically written into NVRAM, but the new value does not take effect until you reset or power-cycle the router.

SUMMARY STEPS

1. confreg [ value ]

DETAILED STEPS

 

Command or Action
Purpose

Step 1

confreg [ value ]

 

rommon > confreg 0x2102

Changes the configuration register settings while in ROM monitor mode.

  • Optionally, enter the new hexadecimal value for the configuration register. The value range is from 0x0 to 0xFFFF.
  • If you do not enter the value, the router prompts for each bit of the 16-bit configuration register.

Examples

In the following example, the configuration register is set to boot the system image from flash memory:

rommon 3 > confreg 0x2102
 

In the following example, no value is entered; therefore, the system prompts for each bit in the register:

rommon 7 > confreg
 
Configuration Summary
enabled are:
console baud: 9600
boot: the ROM Monitor
do you wish to change the configuration? y/n [n]: y
enable "diagnostic mode"? y/n [n]: y
enable "use net in IP bcast address"? y/n [n]: y
enable "load rom after netboot fails"? y/n [n]: y
enable "use all zero broadcast"? y/n [n]: y
enable "break/abort has effect"? y/n [n]: y
enable "ignore system config info"? y/n [n]: y
change console baud rate? y/n [n]: y
enter rate: 0 = 9600, 1 = 4800, 2 = 1200, 3 = 2400 [0]: 0
change the boot characteristics? y/n [n]: y
enter to boot:
0 = ROM Monitor
1 = the boot helper image
2-15 = boot system
[0]: 0
Configuration Summary
enabled are:
diagnostic mode
console baud: 9600
boot: the ROM Monitor
rommon 8>

Obtaining Information on USB Flash Devices

This section describes how to obtain information on USB devices that are installed in the router. For instructions on booting from a USB flash device, see the “Loading a System Image (boot)” section.

SUMMARY STEPS

1. dir usbflash [x]:

2. dev

DETAILED STEPS

 

Command or Action
Purpose

Step 1

dir usbflash [x]:

 

rommon > dir usbflash0:

Displays the contents of the USB flash device, including directories, files, permissions, and sizes.

  • 0 —USB flash device inserted in port 0
  • 1 —USB flash device inserted in port 1

Step 2

dev

 

ROMMON > dev

Shows the targeted USB flash devices that are inserted in the router and the valid device names that may or may not be currently inserted.

Examples

Sample Output for the dir usbFlash Command

rommon > dir usbflash0:
program load complete, entry point: 0x80903000, size: 0x4c400

Directory of usbflash0:

2 54212244 -rw- c2900-universalk9-mz

 
Sample Output for the dev ROM Monitor Command

rommon 2 > dev

Devices in device table:

id name

flash: compact flash

bootflash: boot flash

usbflash0: usbflash0

usbflash1: usbflash1

eprom: eprom

Modifying the I/O Memory (iomemset)

This section describes how to modify the I/O memory by using the memory-size iomemset command.


NoteUse the iomemset command only when it is necessary to temporarily set the I/O memory from the ROM monitor mode. Using this command improperly can adversely affect the functioning of the router.

The Cisco IOS software can override the I/O memory percentage if the memory-size iomem command is set in the NVRAM configuration. If the Cisco IOS command is present in the NVRAM configuration, the I/O memory percentage set in the ROM monitor with the iomemset command is used only the first time the router is booted up. Subsequent reloads use the I/O memory percentage set by using the memory-size iomem command that is saved in the NVRAM configuration.

If you need to set the router I/O memory permanently by using a manual method, use the memory-size iomem Cisco IOS command. If you set the I/O memory from the Cisco IOS software, you must restart the router for I/O memory to be set properly.

When the configured I/O memory exceeds the IOS limit (1G), IOS will automatically set an appropriate I/O memory size and print this message: IOMEM size calculated is greater than maximum allowed during boot up.


SUMMARY STEPS

1. iomemset i/o-memory percentage

DETAILED STEPS

 

Command or Action
Purpose

Step 1

iomemset i/o-memory percentage

 

rommon> iomemset 15

Reallocates the percentage of DRAM used for I/O memory and processor memory.

Examples

In the following example, the percentage of DRAM used for I/O memory is set to 15:

rommon 2 > iomemset
usage: iomemset [smartinit | 5 | 10 | 15 | 20 | 25 | 30 | 40 | 50 ]
rommon 3 >
rommon 3 > iomemset 15

Invoking this command will change the io memory percent
*****WARNING:IOS may not keep this value*****
Do you wish to continue? y/n: [n]: y
rommon 4 > meminfo
-------------------------------------------------
Current Memory configuration is:
Onboard SDRAM: Size = 128 MB : Start Addr = 0x10000000
-----Bank 0 128 MB
-----Bank 1 0 MB
Dimm 0: Size = 256 MB : Start Addr = 0x00000000
-----Bank 0 128 MB
-----Bank 1 128 MB
-------------------------------------------------
Main memory size: 384 MB in 64 bit mode.
Available main memory starts at 0xa0015000, size 393132KB
IO (packet) memory size: 10 percent of main memory.
NVRAM size: 191KB
 

Recovering the System Image (tftpdnld)

This section describes how to download a Cisco IOS software image from a remote TFTP server to the router flash memory by using the tftpdnld command in ROM monitor mode.


Caution Use the tftpdnld command only for disaster recovery because it can erase all existing data in flash memory before it downloads a new software image to the router.

Before you can enter the tftpdnld command, you must set the ROM monitor environment variables.

Prerequisites

Connect the TFTP server to a fixed network port on your router.

Restrictions

  • LAN ports on network modules or interface cards are not active in ROM monitor mode. Therefore, only a fixed port on your router can be used for TFTP download. This can be a fixed Ethernet port on the router, that is either of the two Gigabit Ethernet ports on Cisco routers with those ports.
  • You can only download files to the router. You cannot use the tftpdnld command to retrieve files from the router.

SUMMARY STEPS

1. IP_ADDRESS= ip_address

2. IP_SUBNET_MASK= ip_address

3. DEFAULT_GATEWAY= ip_address

4. TFTP_SERVER=ip_address

5. TFTP_FILE=[ directory-path / ]filename

6. GE_PORT = [ 0 | 1 | 2 ]

7. GE_SPEED_MODE = [ 0 | 1 | 2 | 3 | 4 | 5 ]

8. TFTP_MEDIA_TYPE = [ 0 | 1 ]

9. TFTP_CHECKSUM= [ 0 | 1 ]

10. TFTP_DESTINATION=[flash0 : | flash1: | usbflash0: | usbflash1: ]

11. TFTP_MACADDR = MAC_address

12. TFTP_RETRY_COUNT= retry_times

13. TFTP_TIMEOUT= time

14. TFTP_VERBOSE= setting

15. set

16. tftpdnld [ -h ] [ -r ]

17. y

DETAILED STEPS

 

Command or Action
Purpose

Step 1

IP_ADDRESS= ip_address

 

rommon > IP_ADDRESS=172.16.23.32

Sets the IP address of the router.

Step 2

IP_SUBNET_MASK= ip_address

 

rommon > IP_SUBNET_MASK=255.255.255.224

Sets the subnet mask of the router.

Step 3

DEFAULT_GATEWAY= ip_address

 

rommon > DEFAULT_GATEWAY=172.16.23.40

Sets the default gateway of the router.

Step 4

TFTP_SERVER=ip_address

 

rommon > TFTP_SERVER=172.16.23.33

Sets the TFTP server from which the software is downloaded.

Step 5

TFTP_FILE=[ directory-path / ]filename

 

rommon > TFTP_FILE=archive/rel22/c2801-i-mz

Sets the name and location of the file that is downloaded to the router.

Step 6

GE_PORT= [ 0 | 1 | 2 ]

 

rommon > GE_PORT=0

(Optional) Sets the input port to use one of the Gigabit Ethernet ports. The default is 0.

Step 7

GE_SPEED_MODE= [ 0 | 1 | 2 | 3 | 4 | 5 ]

 

rommon > GE_SPEED_MODE=3

(Optional) Sets the Gigabit Ethernet port speed mode, with these options:

  • 0—10 Mbps, half-duplex
  • 1—10 Mbps, full-duplex
  • 2—100 Mbps, half-duplex
  • 3—100 Mbps, full-duplex
  • 4—1 Gbps, full-duplex
  • 5—Automatic selection (default)

Step 8

TFTP_MEDIA_TYPE= [ 0 | 1 ]

 

rommon > MEDIA_TYPE=1

(Optional) Sets the Gigabit Ethernet connection media type, RJ-45 (0) or SFP (1). Small form-factor pluggable (SFP) mode is applicable only if GE_PORT=0 (gig 0/0); RJ-45 mode is available on both gig 0/0 and gig 0/1 (GE_PORT = 0 or 1). The default is 0.

Step 9

TFTP_CHECKSUM= [ 0 | 1 ]

 

rommon > TFTP_CHECKSUM=0

(Optional) Determines whether the router performs a checksum test on the downloaded image.

  • 1 —Checksum test is performed (default).
  • 0 —No checksum test is performed.

Step 10

TFTP_DESTINATION=[flash0: | flash1 : | usbflash0: | usbflash1:]

 

rommon > TFTP_DESTINATION=usbflash0:

(Optional) Designates the targeted flash device as compact flash or USB flash.

  • flash0: —Compact flash device in port 0(default)
  • flash1: —Compact flash device in port 1
  • usbflash0: —USB flash device inserted in port 0
  • usbflash1: —USB flash device inserted in port 1

Step 11

TFTP_MACADDR= MAC_address

 

rommon > TFTP_MACADDR=000e.8335.f360

(Optional) Sets the Media Access Controller (MAC) address for this router.

Step 12

TFTP_RETRY_COUNT= retry_times

 

rommon > TFTP_RETRY_COUNT=10

(Optional) Sets the number of times that the router attempts Address Resolution Protocol (ARP) and TFTP download. The default is 18.

Step 13

TFTP_TIMEOUT= time

 

TFTP_TIMEOUT=1800

(Optional) Sets the amount of time, in seconds, before the download process times out. The default is 7200 seconds (120 minutes).

Step 14

TFTP_ACK_RETRY= time

 

TFTP_TIMEOUT=6

(Optional) Sets the amount of time, in seconds, before the client will resend the ACK packet to indicate to the server to continue transmission of the remaining packets. The default is 5 seconds.

Step 15

TFTP_VERBOSE= setting

 

rommon > TFTP_VERBOSE=2

(Optional) Configures how the router displays file download progress, with these options:

  • 0 —No progress is displayed.
  • 1 —Exclamation points (!!!) are displayed to indicate file download progress. This is the default setting.
  • 2 —Detailed progress is displayed during the file download process; for example:
Initializing interface.
Interface link state up.
ARPing for 1.4.0.1
ARP reply for 1.4.0.1 received.
MAC address 00:00:0c:07:ac:01

Step 16

set

 

rommon > set

Displays the ROM monitor environment variables. Verify that you correctly configured the ROM monitor environment variables.

Step 17

tftpdnld [ -h ] [ -r ]

 

rommon > tftpdnld

Downloads the system image specified by the ROM monitor environment variables.

  • Entering -h displays command syntax help text.
  • Entering -r downloads and boots the new software but does not save the software to flash memory.
  • Using no option (that is, using neither -h nor -r) downloads the specified image and saves it in flash memory.

Step 18

y

 

Do you wish to continue? y/n: [n]: y

Confirms that you want to continue with the TFTP download.

Examples

Sample Output for Recovering the System Image (tftpdnld)

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=c2801-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: c2801-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 c2801-is-mz.113-2.0.3.Q from 171.69.1.129 !!!!!.!!!!!!!!!!!!!!!!!!!.!!
File reception completed.
Copying file c2801-is-mz.113-2.0.3.Q to flash.
Erasing flash at 0x607c0000
program flash location 0x60440000
rommon 22 >
 

Sample Output for the set ROM Monitor Command

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=anyname/rel22_Jan_16/c2801-i-mz

What to Do Next

If you want to configure the router to load a specified image at the next system reload or power-cycle, see the “ Loading and Managing System Images” section in Cisco IOS Configuration Fundamentals Command Reference.

Troubleshooting Crashes and Hangs (stack, context, frame, sysret, meminfo)

This section lists and describes some ROM monitor commands that can be used to troubleshoot router crashes and hangs.

Most ROM monitor debug commands are functional only when the router crashes or hangs. If you enter a debug command when crash information is not available, the following error message appears:

"xxx: kernel context state is invalid, can not proceed."
 

The ROM monitor commands in this section are all optional and can be entered in any order.

Router Crashes

A router or system crash is a situation in which the system detects an unrecoverable error and restarts itself. The errors that cause crashes are typically detected by processor hardware, which automatically branches to special error-handling code in the ROM monitor. The ROM monitor identifies the error, prints a message, saves information about the failure, and restarts the system. For detailed information about troubleshooting crashes, see the Troubleshooting Router Crashes and Understanding Software-forced Crashes tech notes.

Router Hangs

A router or system hang is a situation in which the system does not respond to input at the console port or to queries sent from the network, such as Telnet and Simple Network Management Protocol (SNMP).

Router hangs occur when:

  • The console does not respond
  • Traffic does not pass through the router

Router hangs are discussed in detail in the Troubleshooting Router Hangs tech note.

ROM Monitor Console Communication Failure

Under certain mis-configuration situations, it can be impossible to establish a console connection with the router due to a speed mismatch or other incompatibility. The most obvious symptom is erroneous characters in the console display.

If a ROM monitor failure of this type occurs, you may need to change a jumper setting on the motherboard so that the router can boot for troubleshooting. Procedures for accessing the motherboard and jumper locations are described in the installation of internal components section of the hardware installation document for your router.

The jumper to be changed is DUART DFLT, which sets the console connection data rate to 9600 regardless of user configuration. The jumper forces the data rate to a known good value.

Restrictions

Do not manually reload or power-cycle the router unless reloading or power cycling is required for troubleshooting a router crash. The system reload or power-cycle can cause important information to be lost that is needed for determining the root cause of the problem.

SUMMARY STEPS

1. stack
or
k

2. context

3. frame [ number ]

4. sysret

5. meminfo

DETAILED STEPS

 

Command or Action
Purpose

Step 1

stack

or

k

 

rommon > stack

(Optional) Obtains a stack trace.

Step 2

context

 

rommon > context

(Optional) Displays the CPU context at the time of the fault.

  • If it is available, the context from kernel mode and process mode of a loaded image is displayed.

Step 3

frame [ number ]

 

rommon > frame 4

(Optional) Displays an entire individual stack frame.

  • The default is 0 (zero), which is the most recent frame.

Step 4

sysret

 

rommon > sysret

(Optional) Displays return information from the last booted system image.

  • The return information includes the reason for terminating the image, a stack dump of up to eight frames, and, if an exception is involved, the address at which the exception occurred.

Step 5

meminfo [-l]

 

rommon > meminfo

(Optional) Displays memory information, including:

  • Main memory size, starting address, and available range
  • Packet memory size
  • NVRAM size

Alternatively, using the meminfo -l command provides information on supported DRAM configurations for the router.

Examples

This section provides the following examples:

Sample Output for the stack ROM Monitor Command

rommon 6> stack
 
Kernel Level Stack Trace:
Initial SP = 0x642190b8, Initial PC = 0x607a0d44, RA = 0x61d839f8
Frame 0 : FP= 0x642190b8, PC= 0x607a0d44, 0 bytes
Frame 1 : FP= 0x642190b8, PC= 0x61d839f8, 24 bytes
Frame 2 : FP= 0x642190d0, PC= 0x6079b6c4, 40 bytes
Frame 3 : FP= 0x642190f8, PC= 0x6079ff70, 32 bytes
Frame 4 : FP= 0x64219118, PC= 0x6079eaec, 0 bytes
 
Process Level Stack Trace:
Initial SP = 0x64049cb0, Initial PC = 0x60e3b7f4, RA = 0x60e36fa8
Frame 0 : FP= 0x64049cb0, PC= 0x60e3b7f4, 24 bytes
Frame 1 : FP= 0x64049cc8, PC= 0x60e36fa8, 24 bytes
Frame 2 : FP= 0x64049ce0, PC= 0x607a5800, 432 bytes
Frame 3 : FP= 0x64049e90, PC= 0x607a8988, 56 bytes
Frame 4 : FP= 0x64049ec8, PC= 0x64049f14, 0 bytes
 

Sample Output for the context ROM Monitor Command

rommon 7> context
 
Kernel Level Context:
Reg MSW LSW | Reg MSW LSW
------ ---------- ---------- | ----- ---------- ----------
zero : 00000000 00000000 | s0 : 00000000 34018001
AT : 00000000 24100000 | s1 : 00000000 00000001
v0 : 00000000 00000003 | s2 : 00000000 00000003
v1 : 00000000 00000000 | s3 : 00000000 00000000
a0 : 00000000 0000002b | s4 : 00000000 64219118
a1 : 00000000 00000003 | s5 : 00000000 62ad0000
a2 : 00000000 00000000 | s6 : 00000000 63e10000
a3 : 00000000 64219118 | s7 : 00000000 63e10000
t0 : 00000000 00070808 | t8 : ffffffff e7400884
t1 : 00000000 00000000 | t9 : 00000000 00000000
t2 : 00000000 63e10000 | k0 : 00000000 00000000
t3 : 00000000 34018001 | k1 : 00000000 63ab871c
t4 : ffffffff ffff80fd | gp : 00000000 63c1c2d8
t5 : ffffffff fffffffe | sp : 00000000 642190b8
t6 : 00000000 3401ff02 | s8 : 00000000 6429274c
t7 : 00000000 6408d464 | ra : 00000000 61d839f8
HI : ffffffff e57fce22 | LO : ffffffff ea545255
EPC : 00000000 607a0d44 | ErrPC : ffffffff bfc05f2c
Stat : 34018002 | Cause : 00000020
 
Process Level Context:
Reg MSW LSW | Reg MSW LSW
------ ---------- ---------- | ----- ---------- ----------
zero : 00000000 00000000 | s0 : 00000000 6401a6f4
AT : 00000000 63e10000 | s1 : 00000000 00000000
v0 : 00000000 00000000 | s2 : 00000000 64049cf0
v1 : 00000000 00000440 | s3 : 00000000 63360000
a0 : 00000000 00000000 | s4 : 00000000 63360000
a1 : 00000000 00070804 | s5 : 00000000 62ad0000
a2 : 00000000 00000000 | s6 : 00000000 63e10000
a3 : 00000000 00000000 | s7 : 00000000 63e10000
t0 : 00000000 00000000 | t8 : ffffffff e7400884
t1 : 00000000 64928378 | t9 : 00000000 00000000
t2 : 00000000 00000001 | k0 : 00000000 644822e8
t3 : ffffffff ffff00ff | k1 : 00000000 61d86d84
t4 : 00000000 6079eee0 | gp : 00000000 63c1c2d8
t5 : 00000000 00000001 | sp : 00000000 64049cb0
t6 : 00000000 00000000 | s8 : 00000000 6429274c
t7 : 00000000 6408d464 | ra : 00000000 60e36fa8
HI : ffffffff e57fce22 | LO : ffffffff ea545255
EPC : 00000000 60e3b7f4 | ErrPC : ffffffff ffffffff
Stat : 3401ff03 | Cause : ffffffff
 

Sample Output for the frame ROM Monitor Command

rommon 6 > frame 2
 
Stack Frame 2, SP = 0x642190d0, Size = 40 bytes
[0x642190d0 : sp + 0x000] = 0xffffffff
[0x642190d4 : sp + 0x004] = 0xbfc05f2c
[0x642190d8 : sp + 0x008] = 0xffffffff
[0x642190dc : sp + 0x00c] = 0xffffffff
[0x642190e0 : sp + 0x010] = 0x6401a6f4
[0x642190e4 : sp + 0x014] = 0x00000000
[0x642190e8 : sp + 0x018] = 0x64049cf0
[0x642190ec : sp + 0x01c] = 0x63360000
[0x642190f0 : sp + 0x020] = 0x63360000
[0x642190f4 : sp + 0x024] = 0x6079ff70
 

Sample Output for the sysret ROM Monitor Command

rommon 8> sysret
 
System Return Info:
count: 19, reason: user break
pc:0x801111b0, error address: 0x801111b0
Stack Trace:
FP: 0x80005ea8, PC: 0x801111b0
FP: 0x80005eb4, PC: 0x80113694
FP: 0x80005f74, PC: 0x8010eb44
FP: 0x80005f9c, PC: 0x80008118
FP: 0x80005fac, PC: 0x80008064
FP: 0x80005fc4, PC: 0xfff03d70
FP: 0x80005ffc, PC: 0x00000000
FP: 0x00000000, PC: 0x00000000

Sample Output for the meminfo ROM Monitor Command

rommon 3> meminfo
 
-------------------------------------------------
Current Memory configuration is:
Onboard SDRAM: Size = 128 MB : Start Addr = 0x10000000
-----Bank 0 128 MB
-----Bank 1 0 MB
Dimm 0: Size = 256 MB : Start Addr = 0x00000000
-----Bank 0 128 MB
-----Bank 1 128 MB
-------------------------------------------------
Main memory size: 384 MB in 64 bit mode.
Available main memory starts at 0xa0015000, size 393132KB
IO (packet) memory size: 10 percent of main memory.
NVRAM size: 191KB
 

You can also use the meminfo -l command to show the supported DRAM configurations for the router. The following is sample output for the command:

 
rommon 4 > meminfo -l
 
The following 64 bit memory configs are supported:
-------------------------------------------------
Onboard SDRAM DIMM SOCKET 0 TOTAL MEMORY
Bank 0 Bank1 Bank 0 Bank 1
------------- ------------- ------------
128 MB 0 MB 0 MB 0 MB 128 MB
128 MB 0 MB 64 MB 0 MB 192 MB
128 MB 0 MB 64 MB 64 MB 256 MB
128 MB 0 MB 128 MB 0 MB 256 MB
128 MB 0 MB 128 MB 128 MB 384 MB
128 MB 0 MB 256 MB 0 MB 384 MB
 

Exiting ROM Monitor Mode

This section describes how to exit ROM monitor mode and enter the Cisco IOS command-line interface (CLI). The method that you use to exit ROM monitor mode depends on how your router entered ROM monitor mode:

  • If you reload the router and enter the Break key sequence to enter ROM monitor mode when the router would otherwise have booted the system image, you can exit ROM monitor mode by doing either of the following:

Enter the i command or the reset command, which restarts the booting process and loads the system image.

Enter the cont command, which continues the booting process and loads the system image.

  • If your router entered ROM monitor mode because it could not locate and load the system image, perform the steps in the following procedure.

SUMMARY STEPS

1. dir flash0: [directory]

2. boot flash0: [directory] [ filename ]
or
boot filename tftpserver
or
boot [ filename ]

DETAILED STEPS

 

Command or Action
Purpose

Step 1

dir flash0: [directory]

 

rommon > dir flash0:

Displays a list of the files and directories in flash memory.

  • Locate the system image that you want the router to load.
  • If the system image is not in flash memory, use the second or third option in Step 2.

Step 2

boot flash0: [directory] [ filename ]

or

boot filename tftpserver

or

boot [ filename ]

 

ROMMON > boot flash0:myimage

 

ROMMON > boot someimage 172.16.30.40

 

ROMMON > boot

In order, the examples here direct the router to:

  • Boot the first image or a specified image in flash memory.
  • Boot the specified image over the network from the specified TFTP server (hostname or IP address).
  • Boot from the boothelper image because it does not recognize the device ID. This form of the command is used to netboot a specified image.

You can override the default boothelper image setting by setting the BOOTLDR Monitor environment variable to point to another image. Any system image can be used for this purpose.

Note Options to the boot command are -x (load image but do not execute) and -v (verbose).

Examples

Sample Output for the dir flash: Command in ROM Monitor mode

rommon > dir flash0:
 
File size Checksum File name
2229799 bytes (0x220627) 0x469e c2801-j-m2.113-4T
 

What to Do Next

If you want to configure the router to load a specified image at the next system reload or power-cycle, see the “ Loading and Managing System Images” section in Cisco IOS Configuration Fundamentals Command Reference.

Additional References

The following sections provide references related to using the ROM monitor.

Related Documents

 

Related Topic
Document Title

Connecting your PC to the router console port

Hardware installation guide for your router

Break key sequence combinations for entering ROM monitor mode within the first 60 seconds of rebooting the router

Standard Break Key Sequence Combinations During Password Recovery

Upgrading the ROM monitor

ROM Monitor Download Procedures for Cisco 2691, Cisco, 3631, Cisco 3725, and Cisco 3745 Routers

Using the boot image (Rx-boot) to recover or upgrade the system image

How to Upgrade from ROMmon Using the Boot Image

Booting and configuration register commands

Cisco IOS Configuration Fundamentals Command Reference

Loading and maintaining system images; rebooting

Cisco IOS Configuration Fundamentals Configuration Guide

Choosing and downloading system images

Software Center at

http://www.cisco.com/kobayashi/sw-center/index.shtml

Router crashes

Troubleshooting Router Crashes

Understanding Software-forced Crashes

Router hangs

Troubleshooting Router Hangs

Technical Assistance

 

Description
Link

Technical Assistance Center (TAC) home page, containing 30,000 pages of searchable technical content, including links to products, technologies, solutions, technical tips, and tools. Registered Cisco.com users can log in from this page to access even more content.2

http://www.cisco.com/public/support/tac/home.shtml

2.You must have an account at Cisco.com. If you do not have an account or have forgotten your username or password, click Cancel at the login dialog box and follow the instructions that appear.