Identifying Hardware Problems with the ROM Monitor
This section describes the ROM monitor bootstrap program, which you can use to identify hardware problems encountered during installation. The ROM monitor runs when you power on or restart the Catalyst 4224 Access Gateway Switch. During normal operation, the ROM monitor helps to initialize the processor hardware and boot the operating system software.
To enter ROMMON mode, perform the following tasks:
Procedure
Step 1 Enter the enable command at the Gateway> prompt to enter privileged mode.
Step 2 Enter the reload command at the Gateway# prompt to restart the Catalyst 4224.
Step 3 Press the Breakkey for 60 seconds while the system is starting up. Pressing this key forces the Catalyst 4224 to stop booting and enter the ROMMON mode.
This example shows how to enter ROMMON mode:
Gateway>
Gateway> enable
Gateway# reload
System configuration has been modified. Save? [yes/no]:yes
Building configuration...
[OK]
Proceed with reload? [confirm]
16:51:22:%SYS-5-RELOAD:Reload requested
System Bootstrap, Version 12.0(20001221:021337) [ssamiull-gateway_g1 108], DEVELOPMENT SOFTWARE
Copyright (c) 1994-2000 by cisco Systems, Inc.
Compiled Tue 26-Dec-00 17:52 by ssamiull-gateway_g1
Board Rev 0x04, Brazil Rev 0x03, Rio Rev 0x01, Disco Rev 0x01
C4924V platform with 65536 Kbytes of main memory
rommon 1 >
*** This ROMMON prompt will appear provided Autoboot is disabled.
*** The number "1" represents the line number, which increases *** incrementally at each prompt.
rommon 1 > cont
*** Returns you to IOS.
Gateway#
telnet> send break
*** System received an abort due to Break Key ***
signal= 0x3, code= 0x500, context= 0x817aaa30
PC = 0x802948d0, Vector = 0x500, SP = 0x80006548
rommon 2 >
Configuring for Autoboot
You can configure the Catalyst 4224 to enter ROMMON mode automatically upon a reboot by setting virtual configuration register bits 3, 2, 1, and 0 to 0.
To configure automatic reboot, follow these steps:
Procedure
Step 1 Enter the enable command at the Gateway> prompt to enter privileged mode.
Step 2 Enter the configuration command configuration-register 0x0 at the Gateway# prompt.
Step 3 Enter the reload command at the Gateway# prompt to restart the Catalyst 4224.
This example shows how to configure for autoboot:
Gateway> enable
Gateway# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Gateway(config)# config-register ?
<0x0-0xFFFF> Config register number
Gateway(config)# config-register 0
Gateway(config)# end
Gateway#
The new configuration register value, 0x0, is effective after the reboot. This means that upon a reboot, the Catalyst 4224 remains in ROMMON mode and does not boot the operating system. To boot the operating system, you must do so from the console.
This section describes the ROM monitor syntax conventions and the most commonly used commands. To display a complete list, enter ? or help at the ROMMON prompt, as follows:
rommon 1 > ?
Note You can terminate any command by pressing the Break key at the
console.
ROM Monitor Syntax Conventions
The ROM monitor commands use the following conventions:
Convention
Purpose
[ ]
Square brackets [ ] denote an optional element.
-s:
If a minus option is followed by a colon (for example, [-s:]), you must provide an argument for the option.
italics
A term in italics means that you must fill in the appropriate information.
Command Descriptions
This section describes some of the more commonly used ROM monitor commands:
For more information, refer to the Cisco IOS configuration guides and command references.
General Use Commands
This section lists the ROM monitor general-use commands.
bootor b
Enter the boot or b command to boot the Cisco IOS software image from either Flash memory, TFTP, or boothelper.
boot usage notes are as follows:
b boots the first image (if multiple images exist) in Flash memory.
bflash:[name] boots the named Cisco IOS software from the Flash memory.
bfilenametftpserverboots the named Cisco IOS software from the specified TFTP server.
An example of this command is as follows:
boot c4gwy-io3s-mz 172.15.19.11
b filename boots the named Cisco IOS software from the boothelper image. (The boothelper is the downloaded image that downloads the IOS image.) This method of booting is necessary if the device ID is unrecognizable.
Note If the device does not have an image or if the Flash is corrupt, the
device's Flash ID might be lost.
You can override the default setting for the boothelper image by pointing the BOOTLDR monitor environment variable to another image. (Any system image can be used for this purpose.)
boot command options are as follows:
-x downloads the image and puts it into memory, but does not execute.
-v ("verbose") prints detailed information while downloading the image.
To display the running image, enter the show version and show hardware IOS commands.
dirdevice: [partition:]
Enter the dir device [partition] command to list the files on the named device. An example of this command is as follows:
Enter the meminfo command to display the following details of main memory:
nbyte size
Starting address
Available range of main memory
Starting point and size of packet memory
Size of nonvolatile memory (NVRAM)
An example of this command is as follows:
rommon 9 > meminfo
Main memory size: 32 MB.
Available main memory starts at 0xa000e000, size 32704KB
IO (packet) memory size: 25 percent of main memory.
NVRAM size: 256KB
meminfo [-l]
Enter the meminfo[-I] command to display supported Dual In-Line Memory Module (DIMM) configurations. An example of this command is as follows:
rommon 1 > meminfo -l
Supported memory configurations:
DIMM 0
---------
priv
Enter the priv command to enter privileged ROMMON mode. An example of this command is as follows:
rommon 3 > priv
You now have access to the full set of monitor commands.
Warning:some commands will allow you to destroy your
configuration and/or system images and could render
the machine unbootable.
reset or i
Enter the reset or i command to reset and initialize the Catalyst 4224. This command's function is similar to power on.
An example of this command is as follows:
rommon 5 > reset
System Bootstrap, Version 12.0(20001221:021337) [ssamiull-gateway_g1 108], DEVELOPMENT SOFTWARE
Copyright (c) 1994-2000 by cisco Systems, Inc.
Compiled Tue 26-Dec-00 17:52 by ssamiull-gateway_g1
Board Rev 0x04, Brazil Rev 0x03, Rio Rev 0x01, Disco Rev 0x01
C4924V platform with 65536 Kbytes of main memory
rommon 1 >
version
Enter the version command to display the software version of ROMMON. An example of this command is as follows:
rommon 1 > version
System Bootstrap, Version 12.0(20001221:021337) [ssamiull-gateway_g1 108], DEVELOPMENT SOFTWARE
Copyright (c) 1994-2000 by cisco Systems, Inc.
Compiled Tue 26-Dec-00 17:52 by ssamiull-gateway_g1
Board Rev 0x04, Brazil Rev 0x03, Rio Rev 0x01, Disco Rev 0x01
rommon 2 >
Debugging Commands
This section lists the ROM monitor debugging commands.
Most debugging commands are functional only when IOS software has crashed or is aborted. If you enter a debugging command and IOS crash information is unavailable, this error message is displayed:
"xxx: kernel context state is invalid, can not proceed."
stack or k
Enter the stack command produces a stack trace. An example of this command is as follows:
rommon 2 > k
Stack trace:
PC = 0x80266a38
Frame 00:FP = 0x80006560 PC = 0x80266a38
Frame 01:FP = 0x8000656c PC = 0x80265ac0
Frame 02:FP = 0x8000662c PC = 0x80262718
Frame 03:FP = 0x8000665c PC = 0x8002011c
Frame 04:FP = 0x8000666c PC = 0x80020068
Frame 05:FP = 0x80006684 PC = 0xfff03e7c
Invalid FP = 0x800066bc, cannot proceed
context
Enter the context command to display processor context. An example of this command is as follows:
rommon 5 > context
CPU context of the most recent exception:
PC = 0x801ca8d0 MSR = 0x00009032 CR = 0x22000022 LR = 0x801c61f0
Enter the frame command to display an individual stack frame. An example of this command is as follows:
rommon 5 > frame 00
Frame 00:FP = 0x80006560 PC = 0x80266a38
at 0x80006568 (fp + 0x08) = 0x817b4280
rommon 6 > frame 01
Frame 01:FP = 0x8000656c PC = 0x80265ac0
at 0x80006574 (fp + 0x08) = 0x00000000
at 0x80006578 (fp + 0x0c) = 0x80010000
at 0x8000657c (fp + 0x10) = 0xfff30000
at 0x80006580 (fp + 0x14) = 0x80020000
at 0x80006584 (fp + 0x18) = 0x83ff7800
at 0x80006588 (fp + 0x1c) = 0x80020000
at 0x8000658c (fp + 0x20) = 0x8000667c
at 0x80006590 (fp + 0x24) = 0x00000000
at 0x80006594 (fp + 0x28) = 0x81250000
at 0x80006598 (fp + 0x2c) = 0x00000001
rommon 7 > frame 03
Frame 03:FP = 0x8000665c PC = 0x8002011c
at 0x80006664 (fp + 0x08) = 0x0122ed84
at 0x80006668 (fp + 0x0c) = 0x83ff7800
rommon 8 > frame 04
Frame 04:FP = 0x8000666c PC = 0x80020068
at 0x80006674 (fp + 0x08) = 0x00000002
at 0x80006678 (fp + 0x0c) = 0x00000000
at 0x8000667c (fp + 0x10) = 0x0122ed84
at 0x80006680 (fp + 0x14) = 0x83ff7800
rommon 9 > frame 05
Frame 05:FP = 0x80006684 PC = 0xfff03e7c
at 0x8000668c (fp + 0x08) = 0x00000005
at 0x80006690 (fp + 0x0c) = 0x800046ac
at 0x80006694 (fp + 0x10) = 0xfff24c90
at 0x80006698 (fp + 0x14) = 0x00000000
at 0x8000669c (fp + 0x18) = 0x00000000
at 0x800066a0 (fp + 0x1c) = 0x00000000
at 0x800066a4 (fp + 0x20) = 0x00000000
at 0x800066a8 (fp + 0x24) = 0x00000000
at 0x800066ac (fp + 0x28) = 0x00000000
at 0x800066b0 (fp + 0x2c) = 0x00000000
rommon 10 >
sysret
Enter the sysret command to display return information from the last booted system image. This information includes the reason for terminating the image, a stack dump of up to eight frames, and, if an exception is involved, the address where the exception occurred. An example of this command is as follows:
rommon 8 > sysret
System Return Info:
count: 19, reason: a SegV exception
pc:0x802b1040, error address: 0x802b1040
Stack Trace:
FP: 0x80908398, PC: 0x802b102c
FP: 0x809083b0, PC: 0x802b0b88
FP: 0x809083d8, PC: 0x8017039c
FP: 0x809083e8, PC: 0x8016f764
Cookie Commands
This section lists the ROM cookie and fxs_high_density cookie commands.
cookie
Enter the cookie command to display identification information for the Catalyst 4224.
In nonprivileged mode, the cookie command displays read-only information for a Catalyst 4224.
An example of this command is as follows:
rommon 2 > cookie
cookie:
01 01 00 10 7b fb 1a 36 53 00 00 00 01 7a 00 06
00 00 00 00 00 00 00 00 4a 41 42 04 44 30 44 41
32 01 05 00 00 00 00 00 00 00 00 00 05 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
In privileged mode, the cookie command lets you edit the switch information as follows:
rommon 3 > priv
You now have access to the full set of monitor commands.
Warning:some commands will allow you to destroy your
configuration and/or system images and could render
You must reset or power cycle for new config to take effect
confreg [hexnum]
Enter the confreg [hexnum] command to change the virtual configuration register to the value specified. The value is always interpreted as hexadecimal.
Modifying the Configuration Register from the Operating System Software
The virtual configuration register resides in NVRAM. You can display or modify the register from either the ROM monitor or the operating system software. When you change the register, the new value is written into NVRAM, but is not effective until you reset or power-cycle the Catalyst 4224.
To modify the configuration register from the operating system software, enter the following commands:
Gateway> enble
Gateway# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Gateway(config)# config-register 0x0
Gateway(config)# end
Gateway#
Boot and System Image Recovery Command: tftpdnld
If your Catalyst 4224 will not boot, the Cisco IOS software image in Flash memory might be corrupt. If so, you can obtain a new one with the tftpdnld ROM monitor commands.
Enter the tftpdnld command to download a Cisco IOS software image from a remote server into Flash memory using TFTP. (You must have a TFTP server directly connected to the front-panel Ethernet management port.) Monitor variables are used to set up parameters for the transfer.
Usage: tftpdnld [-rxe]
Note In nonprivileged mode, only the -r command line option is available.
The syntax for specifying variables is as follows:
VARIABLE_NAME=value
The following variables are required:
IP_ADDRESSThe IP address for the Catalyst 4224 you are using.
IP_SUBNET_MASKThe subnet mask for the Catalyst 4224 you are using.
DEFAULT_GATEWAYThe default gateway for the Catalyst 4224 you are using.
TFTP_SERVERThe IP address of the server from which you want to download the image file.
TFTP_FILEThe name of the file that you want to download.
The following variables are optional:
TFTP_VERBOSEPrint setting. 0=quiet, 1=progress, 2=verbose. The default is 1.
TFTP_RETRY_COUNTRetry count for ARP and TFTP. The default is 7.
TFTP_TIMEOUTOverall timeout of the download operation in seconds. The default is 2400 seconds.
TFTP_CHECKSUMPerforms a checksum test on the image. 0=no, 1=yes. The default is 1.