This appendix describes using the ROM monitor (also called the bootstrap program), which is the firmware that runs when you power on or restart a Cisco Voice Gateway 200 (VG200). During normal operation, the ROM monitor helps to initialize the processor hardware and boot the operating system software. You can also use the ROM monitor to:
Help you isolate or rule out hardware problems encountered when installing your gateway.
Recover your gateway's Cisco IOS image if the image becomes corrupted.
To use the ROM monitor, you must have access to the console port (see the chapter "Overview."
Perform the following steps to enter the ROM monitor mode:
Step 1 Restart the gateway by entering the following command:
vg200> reload
Step 2 Force the gateway to stop booting and enter the ROM monitor mode by pressing the Break key in response to the following prompt:
Press the Break key during the first 60 seconds while the system is starting up
Verifying that You Are in ROM Monitor Mode
To verify that you are in the ROM monitor mode, check that the prompt displayed on your screen is the ROM monitor mode prompt, as follows:
rommon # >
The # is the line number and increases incrementally at each prompt.
From the Cisco IOS software, you can configure the gateway to automatically enter the ROM monitor mode the next time the gateway boots by setting virtual configuration register bits 3, 2, 1, and 0 to zero. From the console, enter the following configuration command:
rommon # >configuration-register 0x0
The new configuration register value, 0x0, is effective after the gateway is rebooted with the reload command. The gateway remains in the ROM monitor and does not boot the operating system.
As long as the configuration register value remains 0x0, you must manually boot the operating system from the console. Refer to the boot command in the "Command Descriptions" section.
ROM Monitor Commands
Enter ? or help at the ROM monitor mode prompt to display a list of available commands. For example:
rommon 1 > ?
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 the file system
dis display instruction stream
dnld serial download a program module
frame print out a selected stack frame
help monitor builtin command help
history monitor command history
meminfo main memory information
repeat repeat a monitor command
reset system reset
set display the monitor variables
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
rommon 2 >
Note You can abort any command by pressing the Break key at the
console.
ROM Monitor Syntax Conventions
The ROM monitor syntax in this appendix uses the following conventions:
Square brackets [ ] denote an optional element. In the following example, the element abc is not required, but you can specify it if you choose:
command [abc]
If a minus option is followed by a colon (for example, [-s:]) , you must provide an argument for the option.
A term in italics means that you must fill in the appropriate information. In the following example, you replace the term in italics with the interface type you are using:
commandtype interface
Command Descriptions
This section lists some useful ROM monitor commands. Refer to the Cisco IOS configuration guides and command references for more information on ROM monitor commands.
boot or bBoots an image.
b boots the first image in Flash memory.
bflash:[name] boots the Cisco IOS software from Flash memory.
bfilenametftpserver boots from the specified file over the network from the specified TFTP server. For example:
boot vg200-i6s-mz 172.15.19.11
b filename boots from the boothelper image because it does not recognize the device ID. This form of the command is used to netboot the image named filename.
The Cisco VG200 does not have a dedicated boothelper image ([rx]boot) as used by some other Cisco gateways. With the Cisco VG200, the first image in Flash memory is invoked as the default boothelper image any time the ROM monitor does not recognize the device ID in the boot command.
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 to the boot command are -x, load image but do not execute, and -v, verbose.
Use the Cisco IOS commands show version and show hardware to display the source of the currently running image.
dirdevice:[partition:]Lists the files on the named device. For example:
rommon 8 > dir flash:
File size Checksum File name
2229799 bytes (0x220627) 0x469e vg200-i6s-mz
helpDisplays a summary of ROM monitor commands (equivalent to ?).
meminfoDisplays size in bytes, starting address, available range of main memory, the starting point and size of packet memory, and size of nonvolatile random-access memory (NVRAM). The following example shows the meminfo command:
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: 32KB
meminfo [-l]The meminfo command with the -l option displays supported DRAM configurations. The following example shows an example of the meminfo -l command:
rommon 10 > meminfo -l
Supported memory configurations:
DIMM 0 DIMM 1
-------------------
4M
8M-DUAL
16M
32M-DUAL
4M
4M 4M
4M 8M-DUAL
4M 16M
4M 32M-DUAL
8M-DUAL
8M-DUAL 4M
8M-DUAL 8M-DUAL
8M-DUAL 16M
8M-DUAL 32M-DUAL
16M
16M 4M
16M 8M-DUAL
16M 16M
16M 32M-DUAL
32M-DUAL
32M-DUAL 4M
32M-DUAL 8M-DUAL
32M-DUAL 16M
32M-DUAL 32M-DUAL
reset or iResets and initializes the gateway, similar to power on.
tftpdnldDownloads an image using TFTP from a remote server.
Debugging Commands
Most debugging commands are functional only when Cisco IOS software has crashed or is aborted. If you enter a debugging command and Cisco IOS crash information is not available, the following error message appears:
"xxx: kernel context state is invalid, can not proceed."
stack or kProduces a stack trace.
contextDisplays processor context.
frameDisplays an individual stack frame.
sysretDisplays 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. For example:
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
Configuration Register Commands
The virtual configuration register resides in NVRAM. You can display or modify the virtual configuration register from either the ROM monitor or the operating system software.
To change the virtual configuration register from the ROM monitor, enter confreg by itself for menu mode, or enter the new value of the register in hexadecimal.
confreg [hexnum]Changes the virtual configuration register to the value specified. The value is always interpreted as hexadecimal. Entering confreg without an argument displays the contents of the virtual configuration register and prompts you to alter the contents by describing the meaning of each bit.
In either case, the new virtual configuration register value is written into NVRAM, but is not effective until you reset or power-cycle the gateway.
The following display shows an example of the confreg command:
rommon 7 > confreg
Configuration Summary
enabled are:
break/abort has effect
console baud: 9600
boot: the ROM Monitor
do you wish to change the configuration? y/n [n]: y
You must reset or power cycle for new config to take effect
Procedures for Recovering Boot and System Images
If your Cisco VG200 experiences difficulties and no longer contains a valid Cisco IOS software image in Flash memory, you can recover the Cisco IOS image using one of the following ROM monitor commands:
xmodemUse this if the computer attached to your console has a terminal emulator that has Xmodem capability.
tftpdnldUse this if you have a TFTP server directly connected to the Ethernet 0 port.
Using the xmodem Command
The xmodem command establishes a connection between a console and the gateway console port for disaster recovery if both the boot and system images are erased from Flash memory.
xmodem [filename]Establishes an Xmodem connection between the console and the gateway. The optional parameter filename specifies the source file containing the Cisco IOS image.
Other options include the following:
cUses cyclic redundancy check (CRC-16).
yUses Ymodem transfer protocol.
rCopies the image to dynamic random-access memory (DRAM) for launch.
xDoes not launch image on completion of download.
Using the tftpdnld Command
The tftpdnld command downloads a Cisco IOS software image from a remote server accessible from an Ethernet network interface on a Cisco VG200. The tftpdnld command downloads the Cisco IOS software image into Flash memory using TFTP.
The following software restriction applies when using the tftpdnld command: (the Ethernet platform only accepts and sends Ethernet V2.0 data packets).
tftpdnld [-h] [-r]Begins the TFTP copy procedure.
Options include the following:
hDisplays the tftpdnld command help screen.
rLoads the Cisco IOS software image only to DRAM and launches the image without writing the image into Flash memory.
The tftpdnld command requires that you specify certain variables when you issue the command. The syntax for specifying the variables is:
VARIABLE_NAME=value
The variables that you must specify include the following:
IP_ADDRESSIP address for the VG200 gateway.
IP_SUBNET_MASKSubnet mask for the VG200 gateway.
DEFAULT_GATEWAYDefault gateway for the VG200.
TFTP_SERVERIP address of the server from which you want to download the image file.
TFTP_FILEName of the file that you want to download.
The following tftpdnld command variables are optional:
TFTP_VERBOSEPrint setting. The default is 1.
0 = quietAfter you enter the tftpdnld command
The prompt Do you wish to continue? y/n: is the only information that displays until the command completes successfully or fails.
1 = progressDisplays the state of the required tftpdnld command variables. Also displays progress characters to indicate successful and lost packet transmissions.
2 = verboseDisplays all progress print setting messages, along with error information. The information provided by this print setting may be useful when debugging interface link and configuration problems that may prevent connecting to the TFTP server.
TFTP_RETRY_COUNTNumber of times from 1 to 65535 that the ROM monitor will retry ARP and ACK. The default is 7.
TFTP_TIMEOUTOverall timeout of the download operation, in seconds. The range is from 1 to 65535 seconds. The default is 7200 seconds.
TFTP_CHECKSUMPerforms a checksum test on the image. 0 = checksum off, 1 = checksum on. The default is 1.
FE_SPEED_MODESets the Fast Ethernet speed and duplex 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. The default is 4.
Specify the FE_SPEED_MODE variable for the Fast Ethernet network interface. After you specify the variables, you must re-enter the tftpdnld command. For example:
rommon 1 > IP_ADDRESS=172.15.19.11
rommon 2 > IP_SUBNET_MASK=255.255.255.0
rommon 3 > DEFAULT_GATEWAY=172.16.19.1
rommon 4 > TFTP_SERVER=172.15.20.10
rommon 5 > TFTP_FILE=/tftpboot/vg200-i6s-mz
rommon 6 > tftpdnld
IP_ADDRESS=172.15.19.11
IP_SUBNET_MASK=255.255.255.0
DEFAULT_GATEWAY=172.16.19.1
TFTP_SERVER=172.15.20.10
TFTP_FILE=/tftpboot/vg200-i6s-mz
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]:
Enter y to begin downloading the Cisco IOS software image. When the process is complete, the ROM monitor mode prompt appears on your screen.