Table of Contents
Identifying Hardware Problems with the ROM Monitor
Entering ROM Monitor Mode
Configuring for Autoboot
ROM Monitor Commands
Upgrading the ROM Monitor
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.
This section includes the following topics:
Entering ROM Monitor Mode
To use the ROM monitor, your terminal or workstation must be connected to the console port of the switch. See the "Connecting a Terminal to the Console Serial and Ethernet Management Ports" section for information on making this connection.
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 Break key 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:
System configuration has been modified. Save? [yes/no]:
yes
Building configuration...
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
*** This ROMMON prompt will appear provided Autoboot is disabled.
*** The number "1" represents the line number, which increases
*** incrementally at each prompt.
*** System received an abort due to Break Key ***
signal= 0x3, code= 0x500, context= 0x817aaa30
PC = 0x802948d0, Vector = 0x500, SP = 0x80006548
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#
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
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.
Refer to the boot command in the "General Use Commands" section and the tftpdnld command in the "Boot and System Image Recovery Command: tftpdnld" section.
ROM Monitor Commands
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:
 |
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.
boot or 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.
- b flash:[name] boots the named Cisco IOS software from the Flash memory.
- b filename tftpserver boots 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.
dir device: [partition:]
Enter the dir device [partition] command to list the files on the named device. An example of this command is as follows:
File size Checksum File name
2229799 bytes (0x220627) 0x469e c4gwy-io3s-mz-j-m2.113-4T
meminfo
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:
Available main memory starts at 0xa000e000, size 32704KB
IO (packet) memory size: 25 percent of main memory.
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:
Supported memory configurations:
priv
Enter the priv command to enter privileged ROMMON mode. An example of this command is as follows:
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
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:
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
version
Enter the version command to display the software version of ROMMON. An example of this command is as follows:
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
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:
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:
CPU context of the most recent exception:
PC = 0x801ca8d0 MSR = 0x00009032 CR = 0x22000022 LR = 0x801c61f0
CTR = 0x801ed28c XER = 0x00000000 DAR = 0xffffffff DSISR = 0xffffffff
DEC = 0xffffffff TBU = 0xffffffff TBL = 0xffffffff IMMR = 0xffffffff
R0 = 0x801c61f0 R1 = 0x80006540 R2 = 0xffffffff R3 = 0x00000000
R4 = 0x00000000 R5 = 0x81858a7c R6 = 0x00009032 R7 = 0xdeadfeed
R8 = 0x00000000 R9 = 0x00000000 R10 = 0x0000fe8c R11 = 0x00000000
R12 = 0x0000003c R13 = 0xffffffff R14 = 0xffffffff R15 = 0xffffffff
R16 = 0xffffffff R17 = 0xffffffff R18 = 0xffffffff R19 = 0xffffffff
R20 = 0xffffffff R21 = 0xffffffff R22 = 0xffffffff R23 = 0xffffffff
R24 = 0xffffffff R25 = 0xffffffff R26 = 0xffffffff R27 = 0xffffffff
R28 = 0xffffffff R29 = 0xffffffff R30 = 0xffffffff R31 = 0xffffffff
frame
Enter the frame command to display an individual stack frame. An example of this command is as follows:
Frame 00:FP = 0x80006560 PC = 0x80266a38
at 0x80006568 (fp + 0x08) = 0x817b4280
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
Frame 03:FP = 0x8000665c PC = 0x8002011c
at 0x80006664 (fp + 0x08) = 0x0122ed84
at 0x80006668 (fp + 0x0c) = 0x83ff7800
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
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
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:
count: 19, reason: a SegV exception
pc:0x802b1040, error address: 0x802b1040
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:
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:
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
View/alter bytes of serial cookie by field --
Input hex byte(s) or:CR -> skip field; ? -> list values
Base MAC Address:00 10 7b fb 1a 36
MAC Addresses Allocated:00 06
Serial Number:00 00 00 00
Hardware Major Version:01
Hardware Minor Version:05
fxs_high_density cookie
Enter the fxs_high_density cookie command to display identification information for the Catalyst 4000 8-port RJ21 FXS module.
In nonprivileged mode, the fxs_high_density cookie command displays read-only information for an 8-port FXS module.
An example of this command is as follows:
rommon 1 >
fxs_high_density
ff ff ff ff ff ff ff ff ff ff ff ff 00 02 43 69
73 63 6f 20 53 79 73 74 65 6d 73 20 49 6e 63 00
00 00 57 53 2d 55 34 36 30 34 2d 31 36 00 00 00
00 00 00 00 00 00 59 4f 55 52 43 4f 4e 43 45 52
54 4f 00 00 00 00 00 00 00 00 37 33 2d 36 34 37
36 2d 30 32 00 00 00 00 00 00 ff ff ff ff 4e 6f
6e 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
In privileged mode, the fxs_high_density cookie command allows you to edit the module information as follows:
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
rommon 3 >
fxs_high_density
View/alter bytes of fxs_high_density serial cookie by field --
Input hex byte(s) or:CR -> skip field; ? -> list values
OEM_string:Cisco Systems Inc
product_number:WS-U4604-16
serial_number:YOURfxs_high_density
part_revision:ff ff ff ff
snmpIOD:ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
RMA failure code:ff ff ff ff
Configuration Register Command
This section describes the ROM confreg command.
confreg
Enter the confreg command to display the contents of the virtual configuration register.
After entering the command, you will see a prompt asking you to alter the contents as follows:
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]:
enable "load rom after netboot fails"? y/n [n]:
enable "use all zero broadcast"? y/n [n]:
disable "break/abort has effect"? y/n [n]:
enable "ignore system config info"? y/n [n]:
change console baud rate? y/n [n]:
y
enter rate: 0 = 9600, 1 = 4800, 2 = 1200, 3 = 2400
4 = 19200, 5 = 38400, 6 = 57600, 7 = 115200 [0]: 0
change the boot characteristics? y/n [n]:
y
1 = the boot helper image
do you wish to change the configuration? y/n [n]:
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#
configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Gateway(config)#
config-register 0x0
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:
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.
- FE_SPEED_MODE0=10/hdx, 1=10/fdx, 2=100/hdx, 3=100/fdx, 4=Auto(deflt)
Command line options are as follows:
- -r: does not write to Flash memory, loads to DRAM only and launches image.
- -x: does not write to Flash memory, loads to DRAM only and does not launch image.
- -e: does not erase Flash memory before writing image to the Flash memory.
After you specify the variables, you must reenter the tftpdnld command as follows:
rommon 2 > IP_ADDRESS=
172.15.19.11
rommon 3 > IP_SUBNET_MASK=
255.255.255.0
rommon 4 > DEFAULT_GATEWAY=
172.15.19.1
rommon 5 > TFTP_SERVER=
172.15.20.10
rommon 6 > TFTP_FILE=
/tftpboot/c4gwy-io3s-mz
rommon 7 > TFTP_VERBOSE=
1
IP_SUBNET_MASK=255.255.255.0
DEFAULT_GATEWAY=172.15.19.1
TFTP_FILE=/tftpboot/c4gwy-io3s-mz
Invoke this command for disaster recovery only.
WARNING: all existing data in flash will be lost!
Do you wish to continue? y/n: [n]:
Enter y to begin downloading the Cisco IOS software image. When this process completes, the ROMMON prompt displays on your screen.
To terminate tftpdnld, press Break or Ctrl-C.
Upgrading the ROM Monitor
There are two ways to upgrade the ROM monitor:
Upgrading the ROM Monitor from Cisco IOS CLI
To upgrade the ROM monitor, enter this Cisco IOS command in privileged mode:
chopin#
upgrade rommon tftp://171.69.1.129/c4gwy_rommon.srec
This command downloads the new ROM monitor image from a TFTP server and then overwrites the previous image in Flash memory.
Upgrading the ROM Monitor from ROMMON
To upgrade the ROM monitor, follow these steps:
Procedure
Step 1 Enter the following at the ROMMON prompt:
IP_SUBNET_MASK=255.255.255.0
DEFAULT_GATEWAY=172.20.59.1
TFTP_FILE=chopin/c4gwy-rommon-mz
Step 2 Enter sync to save the variables to NVRAM.
Step 3 Enter tftpdnld -r to boot theCisco IOS image from the network.
 |
Note You can boot the c4gwy-rommon-mz image or boot the Cisco IOS image from Flash memory if present. |