Introduction
This document describes how to recover a Cisco IR800 Industrial Integrated Service Router (ISR) (IR829 and IR809) Series Router that is stuck in rommon mode.
Prerequisites
Requirements
Cisco recommends that you have knowledge of these topics:
- Console access to the router
- Cisco IOS® image downloaded from the cisco.com page
- Any archiving tool (winzip, winrar or izip etc.,)
- TFTP server or USB stick to copy the image onto the router
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.
Overview of Rommon-1 and Rommon-2
IR829 and IR809 series routers use a different boot up sequence, which consists of rommon-1 and rommon-2, where rommon-1 refers to the Read-Only rommon while rommon-2 refers to the Upgraded Rommon. IR829 and IR809 have a 2nd core initialization in Rommon.
The key functionality is to be able to store IOS and Diagnostic images in Embedded Multi-Media Card (eMMC) flash and boot IOS and Diagnostic images.
Functionalities Supported in Rommon-1 and Rommon-2
Rommon-1 supports these functionalities:
rommon-1> help
Documented commands (type help <topic>):
========================================
boot copy dir help reboot show unset
clear delete eject_usb ping set tftp verify
Rommon-2 supports these functionalities:
rommon-2> help
? Print the command list
boot Boot image
dir List file contents on a device
help Print the command list or the specific command usage
iomem Set iomem size in percent
reboot Reboot the system
set Set environment variable and network configuration
show Show loader configuration
Unset Unset environment variable
Bundle IOS Images
The Cisco IOS® images in IR800 series are available as a software bundle. These bundle images are in the format of ir800-universalk9-bundle.xxxx or ir800-universalk9_npe-bundle.xxxx. Each bundle image contains a set of Hypervisor, IOS, VDS and IOx image.
In this document this image is used for the rommon recovery procedure:
ir800-universalk9-bundle.SPA.156-3.M.bin
The issues that cause the router to land into rommon-1 mode are: when the hypervisor image is uninstalled or BOOT_HV variable is missing.
The issues that cause the router to land into rommon-2 are: IOS bundle was installed but “write mem” was not performed and BOOT variable missing.
Use any archiving tool like winrar, winzip or izip to extract the files in the bundle image.
Extracted files:
ir800-hv.srp.SPA.2.5.7 - This is the hypervisor image
ir800-ref-gos.img.1.1.0.4.gz
ir800-universalk9-mz.SPA.156-3.M - This is the IOx image
MANIFEST
Look for a Valid Image in Flash
When there is no hypervisor image/Cisco IOS® image present in the flash or if the images are corrupted, the router fails to boot up although autoboot is configured in the system that runs IOx image and the device remains in rommon-1> prompt.
To recover the device, first copy the extracted files on to the router flash with the use of a USB stick:
- rommon-1> copy usb:ir800-hv.srp.SPA.2.5.7 flash:
- rommon-1> copy usb:ir800-universalk9-mz.SPA.156-3.M flash:
Note: USB and TFTP functionalities are available only on rommon-1 and not in rommon-2.
Troubleshoot
This section provides information you can use in order to troubleshoot your configuration.
Phase 1: Boot the Device from Rommon-1 to Rommon-2
To boot the device from rommon-1 to rommon-2, hypervisor image is required.
rommon-1> dir flash:
583 Jul 28 16:42 MANIFEST
25094997 Jul 28 16:42 ir800-hv.srp.SPA.2.5.7
79627429 Jul 28 16:42 ir800-ref-gos.img.1.1.0.4.gz
63753767 Jul 28 16:42 ir800-universalk9-mz.SPA.156-3.M
Here the image with hv is the hypervisor image and the mz is the IOx image.
The rommon-1 mode tries to boot it up with the use of the hypervisor image.
Now, the hypervisor image starts the boot up and once it is completed, the device prompt changes from rommon-1> to rommon-2>.
rommon-1> boot flash:ir800-hv.srp.SPA.2.5.7
Image signature verified
Booting image usb:ir800-hv.srp.SPA.2.5.7
[ 1857.576144] kexec: Starting new kernel
<SNIP>
<6> PCI: Initializing
<6> PCI: Finished Initializing
rommon-2>
Phase 2: Boot the Device from Rommon-2 to the Cisco IOS®
To boot from rommon-2 prompt to the router Cisco IOS®, an IOx image is required.
In rommon-2 mode, boot it up with the use of the IOx image. The IOx image starts the boot sequence and once completed, the device should come up from rommon-2 to the router IOS.
rommon-2> boot flash:ir800-universalk9-mz.SPA.156-3.M
Booting image: flash:ir800-universalk9-mz.SPA.156-3.M.... [Multiboot-elf, <0x
110000:0x9d764bc:0x4a85f8>, shtab=0xa32f2f8[csvds]:/ir800-universalk9-mz.SPA.15
6-3.M... , entry=0x1100b0]
[CU:0]
Jumps to: 0x1100b0
Smart Init is enabled
smart init is sizing iomem
<SNIP>
Press RETURN to get started!
IR800>
The IOx image is booted up successfully from rommon 2 to the Cisco IOS®.
IR800>en
IR800#show version | i image
System image file is "flash:ir800-universalk9-mz.SPA.156-3.M"
Set up the TFTP Server
With the help of these steps you can boot the device with the use of the TFTP:
Step 1. Connect a RJ45 cable from the router's Ethernet port to the device which runs the TFTP server application.
Note: In IR829, rommon supports the TFTP download only via the 4 GE LAN ports and on IR809, the TFTP download supports via the 2 GE WAN ports.
Step 2. Set the IP address with this command. Ensure that the IP address is in the same subnet as your TFTP server IP: rommon-1>set ip x.x.x.x 255.x.x.x.
Step 3. Set the default gateway of the TFTP server with the use of this command: rommon-1>set gateway x.x.x.x.
Step 4. Ping command can be executed to check the connectivity with the TFTP server: rommon-1>ping <ip address>.
Step 5. In order to boot the device from the rommon mode, use the boot TFTP command and specifiy the IP address of TFTP server and the image filename
rommon-1>boot tftp://<tftpserver ip>/<image>.