Xmodem Console Download Procedure Using ROMmon
Contents
Introduction
Before You Begin
Components Used
Overview
Usage
Examples
Xmodem Procedure for Downloading a Cisco IOS Software
Image onto a Cisco 1603 Router
Xmodem Procedure for Downloading a Cisco IOS Software
Image onto a Cisco 2620 Router
This document explains how to use the xmodem
command at the console to download Cisco IOS® Software using the ROM monitor
(ROMmon).
The information in this document is based on the software and hardware
versions below.
-
Cisco 827, 1600, 1700, 2600, 3600, and 3700 Series Routers
-
Cisco AS5200, AS5300, AS5350, and AS5400 Universal Access Server
 |
Note Xmodem can also be used on certain Catalyst
switches. |
|
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.
Xmodem can be used on a group of routers (see Components Used) and is used in disaster recovery situations where
the router has no valid Cisco IOS software or bootflash image to boot
from and hence, only boots up in ROMmon. This procedure can also be used
where there are no Trivial File Transfer Protocol (TFTP) servers or network
connections, and a direct PC connection (or through a modem connection)
to the router's console is the only viable option. Because this procedure
relies on the console speed of the router and the serial port of the PC,
it can take a long time to download an image. For example, downloading
Cisco IOS Software Release 12.1(16) IP Plus image to a Cisco 1600 series
router using a speed of 38400 bps takes approximately 25 minutes.
Here is the command syntax for xmodem.
xmodem [-c] [-y] [-e] [-f] [-r] [-x] [-s data-rate]
The following table describes the command syntax for the xmodem
command.
| syntax |
Description |
| -c |
(Optional) CRC-16 checksumming, which is more sophisticated
and thorough than standard checksumming. |
| -y |
(Optional) Uses the Ymodem protocol for higher
throughput. |
| -e |
(Optional) Erases the first partition in Flash
memory before starting the download. This option is only valid for
the Cisco 1600 series. |
| -f |
(Optional) Erases all Flash memory before starting
the download. This option is only valid for the Cisco 1600 series
routers. |
| -r |
(Optional) Downloads the file to DRAM. The default
is Flash memory. |
| -x |
(Optional) Does not execute the Cisco IOS software
image on completion of the download. |
| -s data-rate |
(Optional) Sets the console port's data rate during
file transfer. Values are 1200, 2400, 4800, 9600, 19200, 38400, and
115200 bps. The default rate is specified in the configuration register.
This option is only valid for the Cisco 1600 series routers. |
| filename |
(Optional) Filename to copy. This argument is ignored
when the -r keyword is specified since only one file can be copied
to DRAM. On the Cisco 1600 series routers, files are loaded to the
ROMmon for execution. |
 |
Note xmodem options
e, f,
and s are only supported on the
Cisco 1600 series routers. To find out the syntax and available
options to use with the xmodem
command, type xmodem -? at the
ROMmon prompt. |
|
Here's an example of the xmodem command
issued on a Cisco 1603 router:
rommon 9 >xmodem -?
usage: xmodem [-cyrxefs]<destination filename>
-c CRC-16
-y ymodem-batch protocol
-r copy image to dram for launch
-x do not launch on download completion
-f Perform full erase of flash
-e Perform erase of first flash partition
-s<speed>Set speed of Download, where speed may be
1200|2400|4800|9600|19200|38400|115200
Here's an example of the xmodem command
issued on a Cisco 2620 router:
rommon 1 >xmodem -?
xmodem: illegal option -- ?
usage: xmodem [-cyrx] <destination filename>
-c CRC-16
-y ymodem-batch protocol
-r copy image to dram for launch
-x do not launch on download completion
rommon 12 > xmodem -cfs115200
c1600-sy-mz.121-16.bin
rommon 2 > xmodem -c c2600-is-mz.122-10a.bin
 |
Note The xmodem
transfer only works on the console port. You can only download
files to the router. You cannot use xmodem
to get files from the router. |
|
 |
Note It is also important to note that the -sdata-rate
option is only available on the Cisco 1600 series routers and
was implemented to overcome the console baud rate limitation
of 9600 bps. By specifying -sdata-rate of 115200 bps for example,
you can increase the download rate and hence, reduce download
time. Other Cisco routers support console speeds up to 115200
bps. Therefore, the -sdata-rate option is not required. |
|
 |
Note Ensure that the PC serial port is
using a 16550 universal asynchronous transmitter/receiver (UART)
if you're downloading a Cisco IOS software image through the
router's console speed at 115200. If the PC serial port is not
using a 16550 UART, it is recommended that you use a speed of
38,400 or lower. |
|
Use the following xmodem procedure to download a Cisco IOS software image
onto a Cisco 1603 router.
Step 1 Launch
a terminal emulator program.
In the following example, configure Windows HyperTerminal
for 8-N-1 at 9600 bps and connect your PC's serial port to the console
port of the router. Once connected, you need to get into the ROMmon prompt
(rommon 1>). Typically, if the router's Cisco IOS software image and
bootflash image are both corrupt, the router only comes up in ROMmon mode.
If the former is not true and you need to get into the ROMmon prompt,
you need to change the configuration register (typically 0x2102 as given
by show version) to 0x0 as follows:
1600#configure term
Enter configuration commands, one per line. End with CNTL/Z.
1600(config)#configure
1600(config)#config-register 0x0
1600(config)#^Z
1600#
00:22:06: %SYS-5-CONFIG_I: Configured from console by console
1600#reload
System configuration has been modified. Save? [yes/no]: n
Proceed with reload? [confirm]
00:22:16: %SYS-5-RELOAD: Reload requested
System Bootstrap, Version 12.0(3)T, RELEASE SOFTWARE (fc1)
Copyright (c) 1999 by cisco Systems, Inc.
Simm with parity detected, ignoring onboard DRAM
C1600 platform with 16384 Kbytes of main memory
rommon 1 >
Step 2 From
the ROMmon prompt, issue the xmodem command.
However, before issuing the xmodem command,
ensure that you have the new Cisco IOS software image on your PC.
In this example, all Flash memory is erased before downloading
using the f option (only on the Cisco 1600 series). Perform a CRC-16 checksum
using the c option and using a download speed of 115200 bps (only on the
Cisco 1600 series) by specifying -s115200:
rommon 12 >xmodem -cfs115200
c1600-sy-mz.121-16.bin
Do not start the sending program yet...
 |
Note If the console port is attached to a modem,
both the console port and the modem must be operating at the
same baud rate. |
|
Use console speed 115200 bps for download [confirm]
File size Checksum File name
1957444 bytes (0x1dde44) 0xe345 c1600-y-mz.113-9.T
Erasing flash at 0x83f0000 no partition 2 on device: PCMCIA slot 1
Ready to receive file c1600-sy-mz.121-16.bin ...
Download will be performed at 115200.
make sure your terminal emulator is set to
this speed before sending file. All existing files in the partition displayed
and files in any other partitions on this device will be lost!
Continue ? press 'y' for yes, 'n' for no:y
Step 3 Configure
the terminal emulator program for a data rate of 115200 bps to match the
xmodem speed specified above. This is done by closing the previous terminal
session of 9600 bps and opening a new one at 115200 with 8-N-1. The trick
here is that the Cisco 1603 only supports a maximum baud rate of 9600
bps. Therefore, when connecting at 115200 bps, you won't be able to see
the router prompt. This is an important point to remember. Once connected
to the router at 115200 bps, select from the HyperTerminal menu bar.
Figure 1: Choosing
Transfer > Send File...
Step 4 Specify
the image file name and location and enter xmodem
as the Protocol.
Figure 2: Send
File Dialog
Step 5 Click
on Send to start the transfer.
Figure 3: File
Progress Dialog

The following message is received when the transfer
is complete:
Download Complete!
Returning console speed to 9600
Please reset your terminal emulator to this speed...
Step 6 Per the message above, you need to exit your 115200
bps HyperTerminal session and restart a new one at 9600 bps. Once connected,
the router's ROMmon prompt appears. Verify that the download was successful
by issuing a dir flash:.
rommon 9 >dir flash:
File size Checksum File name
3686656 bytes (0x384100) 0x1a5e c1600-sy-mz.121-16.bin
Step 7 Change the config register back to 0x2102 and reset
or power cycle the router so that the new Cisco IOS software image gets
loaded.
rommon 10 >confreg 0x2102
You must reset or power cycle for new config to take effect.
rommon 11 >reset
System Bootstrap, Version 12.0(19981130:173850) [rameshs-120t_lava 114],
DEVELOPMENT SOFTWARE Copyright (c) 1994-1998 by cisco Systems, Inc.
Simm with parity detected, ignoring onboard DRAM
C1600 platform with 16384 Kbytes of main memory
program load complete, entry point: 0x4020060, size: 0x15568c
%SYS-6-BOOT_MESSAGES: Messages above this line are from the boot loader.
program load complete, entry point: 0x2005000, size: 0x3840e0
Self decompressing the image : ########################################
################
........
Cisco Internetwork Operating System Software
IOS (tm) 1600 Software (C1600-SY-M), Version 12.1(16),
RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2002 by cisco Systems, Inc.
Compiled Mon 08-Jul-02 17:09 by kellythw
Image text-base: 0x02005000, data-base: 0x0275BD48
.......
Use the following xmodem procedure to download
a Cisco IOS software image onto a Cisco 2620 router.
Step 1 Launch
a terminal emulator program.
This example Windows HyperTerminal is configured for 8-N-1 at 9600 bps.
Connect your PC's serial port to the console port of the router. Once
connected, get into the ROMmon prompt (rommon 1>). Typically, if the
router's Cisco IOS software image and bootflash image are both corrupt,
the router only comes up in ROMmon mode. If the former is not true and
you need to get into the ROMmon prompt, then you will need to change the
configuration register (typically 0x2102 as given by show
version) to 0x0 as follows:
2620#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
2620(config)#con
2620(config)#conf
2620(config)#config-register 0x0
2620(config)#^Z
2620#
5d03h: %SYS-5-CONFIG_I: Configured from console by console
2620#
2620#reload
System configuration has been modified. Save? [yes/no]: n
Proceed with reload? [confirm]
5d03h: %SYS-5-RELOAD: Reload requested
System Bootstrap, Version 11.3(2)XA4, RELEASE SOFTWARE (fc1)
Copyright (c) 1999 by cisco Systems, Inc.
TAC:Home:SW:IOS:Specials for info
C2600 platform with 65536 Kbytes of main memory
rommon 1 >
Step 2 Once
in ROMmon, change the console baud rate from 9600 bps to 115200 bps to
speed up the download time. Use the confreg
command and follow the instructions presented on the screen.
rommon 1 >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
enable "diagnostic mode"? y/n [n]:
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]: 7
change the boot characteristics? y/n [n]:
Configuration Summary
enabled are:
break/abort has effect
console baud: 115200
boot: the ROM Monitor
do you wish to change the configuration? y/n [n]:
You must reset or power cycle for new config to take effect.
rommon 2 >
Step 3 Once
the router boots up in ROMmon, the HyperTerminal sessions start to display
illegible characters. You need to exit the current terminal session and
start a new one at a data rate of 115200 bps to match the console rate as
in step 2 above.
Step 4 You
are now ready to issue the xmodem command.
However, before issuing the xmodem command,
ensure that you have the new Cisco IOS software image on your PC.
rommon 1 >
rommon 1 >xmodem -?
xmodem: illegal option -- ?
usage: xmodem [-cyrx] <destination filename>
-c CRC-16
-y ymodem-batch protocol
-r copy image to dram for launch
-x do not launch on download completion
rommon 2 >
rommon 2 >
rommon 2 > xmodem -c c2600-is-mz.122-10a.bin
!--- Note that [-s datarate]
is not available here since you are set for 115200 bps.
Do not start the sending program yet...
File size Checksum File name
9939820 bytes (0x97ab6c) 0x4991 c2600-is-mz.122-7a.bin
Warning: All existing data in bootflash will be lost!
Invoke this application only for disaster recovery.
Do you wish to continue? y/n [n]: y
Ready to receive file c2600-is-mz.122-10a.bin ...
Step 5 From
the HyperTerminal menu bar select and specify the image name/location and xmodem
protocol as in steps 3 and 4 above and start the transfer.
Figure 4: File
Progress Dialog
Step 6 Once the transfer is complete, the following messages
appears:
Erasing flash at 0x60fc0000
program flash location 0x60990000
Download Complete!
Notice how the Flash gets erased towards the end automatically
compared to Cisco C1600. Hence, the reason why the f option is not required
here. Finally, ensure that you reset the console speed back to 9600 and
change the boot sequence back to default by changing the config register
back to 0x2102 as follows:
rommon 12 > confreg 0x2102
You must reset or power cycle for new config to take effect
rommon 2 >reset
System Bootstrap, Version 11.3(2)XA4, RELEASE SOFTWARE (fc1)
Copyright (c) 1999 by cisco Systems, Inc.
TAC:Home:SW:IOS:Specials for info
C2600 platform with 65536 Kbytes of main memory
program load complete, entry point: 0x80008000, size: 0x995ec8
Self decompressing the image : ################################
##################################################################
##################################################################
######################## [OK]
............................
Cisco Internetwork Operating System Software
IOS (tm) C2600 Software (C2600-IS-M), Version 12.2(10a), RELEASE
SOFTWARE (fc1)
Copyright (c) 1986-2002 by cisco Systems, Inc.
Compiled Tue 21-May-02 14:16 by pwade Image text-base: 0x80008088, data-base:
0x810ABB08
cisco 2620 (MPC860) processor (revision 0x100) with 61440K/4096K bytes
of memory.
Processor board ID JAB03110MUB (3691217154)
M860 processor: part number 0, mask 49
Bridging software.
X.25 software, Version 3.0.0.
1 FastEthernet/IEEE 802.3 interface(s)
2 Voice FXS interface(s)
32K bytes of non-volatile configuration memory.
16384K bytes of processor board System flash (Read/Write)
Press RETURN to get started!
.........................
|