|Home||Reviews||Tools||Forums||FAQs||Find Service||ISP News||Maps||About|
how-to block ads
As network administrator, at some point you may encounter issue where a Cisco router won't boot up normally. When you console in to the router, you do not see IOS prompt at all; instead it is either looping or there is this ROMMON prompt. This FAQ has been brought to help those that are unfamiliar around Cisco image troubleshooting process.
Although this FAQ has been written mostly for Cisco routers, the concept applies to other Cisco devices such as switches and firewalls. This FAQ assumes some knowledge from readers such as running basic IOS commands, setting up TFTP servers, some IP network understanding, and physical/hardware troubleshooting.
Following are typical cases in regards of router inability to boot up normally.
Deleted/Corrupted/Wrong Type/No IOS image and Router goes to ROMMON mode
When you notice your router won't boot normally and goes to ROMMON mode (showing the rommon prompt), then basically the router can't find a valid IOS image to boot from. The cause could be either one of the following
* Valid IOS image file has gone missing, deleted, or corrupted (common case)
* Router has been configured to boot from media that does not exist (less common case)
* Router tries to boot up IOS image that is too big to fit into its DRAM (not that typical case)
* Router crashes suddenly out of the blue (rare case)
* Router has been configured not to boot up normally at all (one-in-the-million case)
Note that entering ROMMON mode immediately is considered simple situation to remedy. Actually it is a good sign when the router enters ROMMON mode since it is sign of stable router configuration and simple procedure to revive. The next case shows more severe one.
Router Crashes and/or Boot Loops
When you have installed the wrong IOS (or one that is too big to fit into the router memory), the router may crash or boot to the ROMMON (ROM Monitor) prompt. In some cases, the router crashes after being up for years and left untouched. Once the router crashes, it may not enter ROMMON mode, keeps trying to boot up normally to no avail, and keeps looping.
To revive a Cisco router that is unable to boot up normally, first the router has to be in stable condition which the router must enter ROMMON mode as first step. When the router seems unable to enter ROMMON mode by itself, you have to power cycle the router and issue the break sequence within few seconds the router restarts.
In issuing break sequence, you need to consider the following. The break sequence to enter ROMMON mode varies, depending on your Terminal Emulator software you are using and Operating System your PC is running. Check out the following link to find out proper break sequence.
»Cisco Forum FAQ »Password Recovery Procedures - proper BREAK key sending
Next Step After The Router Enters ROMMON Mode
Once the router is stable and in ROMMON mode, you have several choices to revive. When you have other router that is in working condition, you may be able to do one of the following.
* Borrow other router flash memory chip
* Borrow other router platform functionality
* Use USB Flash Drive stick, PCMCIA card or CompactFlash card
When there is no other router, then the choices are the following
* Use USB Flash Drive stick, PCMCIA card or CompactFlash card
* Use tftpdnld command on the ROMMON mode
* Use dnld or xmodem command on the ROMMON mode when tftpdnld command is not available due to old version of ROMMON chip
Following is further description.
Use USB Flash Drive stick, PCMCIA card, or CompactFlash card
Some router models come with PCMCIA slot. For those newer router and switch models, CompactFlash slot and/or USB flash drive slot are in place instead. When you have USB Flash Drive stick, PCMCIA card or CompactFlash card, you can use either one of them to store IOS images and to revive a router, switch, or ASA Firewall. From router, switch, and ASA Firewall perspective; the card is just another media beside integrated flash memory chip to store any files including IOS image files.
By default the equipment (either router, switch, or ASA Firewall) will find the first boot-able image to use for loading and running. If there is no boot-able image in the first media (usually the integrated flash memory chip), then the equipment will try to find boot-able image in alternate media (such as the PCMCIA or CompactFlash card).
Further, you can also specify the equipment to load specific image stored in specific media (either integrated flash memory chip, USB stick, CompactFlash card, or else). This comes in handy in case you want the equipment to load up file stored in PCMCIA/CompactFlash card as first preference instead of the one in the integrated flash memory chip.
Use tftpdnld command on the ROMMON mode
If the equipment you are working on (i.e. router or switch) does not have such USB, PCMCIA, or CompactFlash slot, then other choice you could pick is to use the tftpdlnd command where you utilize TFTP to download IOS image. With TFTP, you need to have a TFTP server that store the suitable IOS image and have your equipment set as TFTP client.
When you don't have yet TFTP server, you can prepare one for free. Free TFTP software can be found here »Cisco Forum FAQ »How to prepare TFTP server. From protocol perspective, please note that TFTP is completely different to FTP and the two are not interchangeable.
The variables you need to enter directly at the ROMMON prompt to download IOS image from TFTP server to the router as TFTP client are the following:
Variable Command IP address of the router. IP_ADDRESS= ip_address Subnet mask of the router. IP_SUBNET_MASK= ip_address IP address of the default gateway. DEFAULT_GATEWAY= ip_address IP address of the TFTP server. TFTP_SERVER= ip_address The IOS file name. TFTP_FILE= filename
In a situation where there is no established network, the router and the TFTP server should be in the same subnet and should share the same default gateway. Either way, ensure there is basic connectivity between the router as TFTP client and the TFTP server that has no TFTP block or firewall in between.
Following is an illustration. Let us say that the TFTP server setting are the following.
IP address: 10.0.0.25
Subnet Mask: 255.255.255.0
Default Gateway: 10.0.0.1
There is a c1700-k9o3sy7-mz.124-5a.bin file at the TFTP server default directory to copy to the router. The router in this case is Cisco 1721 model which uses c1700 type IOS image file.
To match the above setting, here are ROMMON setting.
rommon>IP_ADDRESS=10.0.0.1 rommon>IP_SUBNET_MASK=255.255.255.0 rommon>DEFAULT_GATEWAY=10.0.0.1 rommon>TFTP_SERVER=10.0.0.25 rommon>TFTP_FILE=c1700-k9o3sy7-mz.124-5a.bin
You can check that everything is set up correctly by entering set on its own.
Once all IP settings and IOS file name looks correct, enter tftpdnld at the ROMMON prompt and your IOS image will be installed from your TFTP server.
N.B. This step will format and erase the flash so any other files stored there will be lost. If you want to boot from the image on the TFTP server without writing it to flash then use the command tftpdnld -r. This will load the IOS on the TFTP server into router memory and boot the router from it but the flash will remain unchanged.
With ROMMON mode case is important so make sure you enter commands and variables in upper or lower case as detailed here.
For more troubleshooting info using tftpdnld command, please check out the following FAQ:
»Cisco Forum FAQ »Corrupt image & router boots into rommon mode
Borrow other router flash memory chip
The key is to keep various router platforms that share the same flash memory chip hardware specification. When you have two routers that share the same flash memory hardware specification, then you can always swap out flash memory between the two routers. In case that you have one router in working condition and another router in non-working condition, you can always swap out flash memory to revive the non-working routers as following illustration.
You may note that 2500, 2600, 3600, and 4000/4500/4700 series routers share the same flash memory chip hardware specification. The 4000/4500/4700 series routers run older ROMMON chips that has no tftpdnld command available on their ROMMON mode. Fortunately for 2500 series router, Cisco offers newer version ROMMON chips that has tftpdnld command available on their ROMMON mode. With 2600 and 3600 series routers, they come from factory carrying the newer version ROMMON mode already.
Let's say you have to revive a 4500 router. You can pick up a working 2600 router to revive. Download the proper 4500 IOS image into the 2600 router flash memory chip. Note that the 2600 router might complain that IOS image you download is unsuitable for the 2600 router. You can safely ignore the message since you then will move the flash memory chip into the 4500 router to revive the router.
Borrow other router platform functionality
Let's consider similar illustration. You still need to use the 2600 series router to revive the 4500 series router. This time you temporarily remove the 2600 series router flash memory chip and place the 4500 series router flash memory chip into the 2600 series router. Using tftpdlnd command available on the 2600 series router ROMMON mode, download proper 4500 series router IOS image into the flash memory chip. You then move back the 4500 series router flash memory chip to the 4500 series router. You now should be able to boot up the 4500 series router without problem. Don't forget to place back the original 2600 series router flash memory chip to the 2600 series router.
The previous illustration shows that you need to utilize the tftpdnld command available on the 2600 ROMMON mode. This means that the 2600 series router has to boot up or enter into ROMMON mode which is generally unwanted. The preferable is to revive via CLI mode instead.
When you use a router that has PCMCIA memory slot like 3600 series router, you can revive via CLI mode. Here is how to do it. Verify that the PCMCIA memory card has a working 3600 series router IOS image. Also verify that the 3600 series router is configured to boot up from PCMCIA memory card in case no valid IOS image is found on the flash memory chip.
As previous illustration, you temporarily remove the 3600 series router flash memory chip and place the 4500 series router flash memory chip into the 3600 series router. Note that the 3600 series router will boot up using IOS image found on the PCMCIA memory card. In other words, the 3600 series router boots up into CLI mode as normal. You then download proper 4500 series router IOS image into the flash memory chip from CLI mode using copy tftp flash command. You then move back the 4500 series router flash memory chip to the 4500 series router. You now should be able to boot up the 4500 series router without problem. Don't forget to place back the original 3600 series router flash memory chip to the 3600 series router.
For more info regarding router models that share the same DRAM/Flash memory chip hardware specification, check out the following FAQ.
»Cisco Forum FAQ »Cisco equipment memory chip specification
Use dnld or xmodem command on the ROMMON mode
Some routers that have older version of ROMMON chip don't have tftpdlnd command available. When this is your case, then you could use the dnld or xmodem command which is serving similar functionality as the tftpdnld command. Using dnld or xmodem command, you will be downloading working IOS image through RS-232 serial port (i.e. CONSOLE or AUX ports).
Check out the following link for info on how to use xmodem command
Xmodem Console Download Procedure Using ROMmon
More info of using ROM Monitor commands including dnld can be found here
The largest issue to use those serial ports is that the transfer rate is slow compared to the Ethernet-based tftpdnld command transfer rate (10M/100M/1G/10G bps) even though you set the rate to 115200 bps (the "fastest possible" RS-232 serial port transfer rate). Therefore you might want to use this way of reviving as last resort when earlier ways are unavailable.
Comparing Alternatives To Revive Routers
1. Use USB Flash drive, CompactFlash drive, or PCMCIA flash drive
* Such flash drive is available at most local computer and electronic stores
* At certain situation, booting router directly using IOS image on this kind of drive is possible
* The router you need to revive may not need to go into ROMMON mode
* Only works with newer router model or those routers with updated ROM firmware
* The maximum memory size of this kind of drive might be 1 GB, depending on router ROM firmware version
2. Swap Out or Borrow Other Router's flash memory
* At certain situation, booting router directly using IOS image on this flash memory is possible
* The router you need to revive may not need to go into ROMMON mode
* Only works with routers that share the same flash memory hardware specification
* Different routers may have different maximum memory size, depending on router ROM firmware version and router platform types
3. Use tftpdnld command
* The command is available at most router models nowdays
* Setting TFTP server is minimal effort since you can have any machines to be one server
* Most applicable method to revive router at most situations
* The command is unavailable at old router models
* You need Internet access and administrative right to download and install TFTP server software on machines, which may be a challenge when at the moment there is no Internet access and you have no administrative right on your machine
4. Use dnlnd or xmodem command
* The command is available at most router models, including old router models
* Since the method uses slow serial port, the IOS image file transfer is very slow
Procedure To Revive Router When There Is Other Router You Can Borrow Its Functionality From
When you have at least another router that is in working condition, you can use the router to borrow its functionality from to revive the non-working router. The functionality you can borrow from the compatibility of either flash chip, USB Flash drive, CompactFlash drive, or PCMCIA Flash drive. You can refer one of the earlier discussion to temporarily revive the non-working router and make the solution permanent by either installing the suitable IOS image, installing proper flash chip or drive, or configuring the non-working router to boot using specific IOS image on specific drive location or directory.
To ensure that the router you are reviving is starting fresh without prior saved configuration in the way, type in confreg 0x2142 and reset on ROMMON prompt as the first step and then set the configuration registration value back to default which is 0x2102 once the router has booted up normally by doing the following on IOS enable mode.
write memory (or copy running-config startup-config)
Procedure To Revive Router When There Is No Other Router You Can Borrow Its Functionality From
When you don't have other routers that you can borrow its functionality from, then following is what you do.
* Type in confreg 0x2142 and reset on ROMMON prompt to make sure the boot process you are about to do in order to activate the IOS image the router is going to use is starting fresh, bypassing any possible saved/prior configuration
Choose one of the following choices
Choice #1 - Use USB Flash Drive, CompactFlash, or PCMCIA Flash drive
* Prepare a USB Flash drive
* Download suitable IOS image from your PC to the USB Flash drive
* Stick the USB Flash drive to the router USB port
* On the ROMMON prompt, use boot command to boot the router using the IOS image stored in the USB Flash drive. You can use dev command to get the USB Flash drive ID code and and dir command to get the IOS image name when you need to specify those during the boot command usage. You can also use ? at any time on ROMMON mode to help you using any ROMMON mode commands
rommon 1>boot usbflash0:[ENTER THE IOS IMAGE NAME HERE]
* Once the router is up normally, you can simply use the copy command to format and copy IOS image from USB Flash drive to Compact Flash. You can type ? after the copy to see available choices of drive code specially the USB Flash drive ID code.
Router#copy usbflash0:[ENTER THE IOS IMAGE NAME HERE] flash:
Choice #2 - Use tftpdnld command on ROMMON mode
* Prepare TFTP server
* Store suitable IOS image in one of the TFTP server directory (or folder if you use Windows machine)
* On the ROMMON prompt, use tftpdnld command to format and copy the IOS image from the TFTP server to the Compact Flash
* Boot the router using the IOS image in the Compact Flash using boot ROMMON command
rommon 1>boot flash:[ENTER THE IOS IMAGE NAME HERE]
Choice #3 - Use dnld or xmodem command on ROMMON mode
* Follow link above on dnld or xmodem command to use
* Once the router is up normally, set the configuration registration value back to default which is 0x2102 by doing the following on IOS enable mode.
write memory (or copy running-config startup-config)
You should have a way to keep working IOS image accessible at all times. From the above illustrations, here are some suggestions.
* Keep identical routers (i.e. the same router model, the same DRAM and flash memory size, the same ROMMON chip, the same IOS image) around to backup each other
* Keep several flash memory chips that contain working IOS image for each router platform you have
* Keep various router platform that share the same flash memory chip hardware specification
* Prefer to use routers that has PCMCIA, CompactFlash, or USB memory slot to revive routers
* Store backup IOS images safely on other media such as CD-ROM, DVD, USB keys, or tape backup
And of course, keep having TFTP server available and maintain your Smartnet contract so you can keep downloading IOS image from Cisco website.
»Cisco 7200 VXR Boot issues
»[HELP] TFTPDNLD -r from ROMMON on 1801 won't succeed
»1841 routers without flash memory
»Instructions for formatting compact flash cards
»Firmware Recovery on 877W with 'no service password-recovery
»[H/W] Cisco 871-SEC-K9, reboot loop
so good thank u
thanks a lot, its amazing........
You saved my bacon! Thank you!