Showing results for 
Search instead for 
Did you mean: 
Join Customer Connection to register!
Farooq Muhammad

2821 checksum error while loading the ios

Hi all,

I have a cisco 2821 router and it has an advanceip image in the flash each time on reboot it gives the message software forced crash and checksum error and finally goes into rommon.

i tried xmodem and tftpdnld -r but same problem persists.

I even changed the CF with a working router's flash but the same problem occurs.I also loaded an ipbase image of about 13Mb size and all the same problem repeats with it .

Any help is highly valued.


Peter Paluch
Hall of Fame Cisco Employee


The fact you have tried different ways of booting a correct IOS including tftpdnld -r and using other router's working CF card without success hints that probably, the RAM of your router may be damaged. This is, sadly, quite difficult to prove without an extensive memory test. We may try to use the following procedure but please be very careful not to do anything beyond what is explicitly shown here - otherwise, you may end up bricking your router for good.

What I am going to suggest here is using the built-in memtest feature of ROMMON. Before we can use it, however, we need to unlock the ROMMON to get access to more dangerous commands - that is why I explicitly warn against experimenting.

When in ROMMON, issue the cookie command. It will show you something like:

rommon 1 > cookie


04 ff c3 06 00 15 f9 76 75 f2 43 00 22 c1 8b 46

4f 43 30 39 34 33 30 31 46 53 40 04 1b 41 05 00



The cookie will be significantly larger. Now, take the first line and taking each two hexa numbers as a single two-byte integer, compute their sum in hexa, so in this case:

0x04ff+0xc306+0x0015+0xf976+0x75f2+0x4300+0x22c1+0x8b46 = 0x32889

Then, in ROMMON, enter the priv command and when asked for a password, enter the last four digits from the sum, i.e. the 2889. Now, some advanced commands in the ROMMON are unlocked, as follows:

rommon 11 > priv


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

the machine unbootable.

First, enter the meminfo command. You will get an output similar to this:

rommon 12 > meminfo


Current Memory configuration is:

Onboard SDRAM: Size = 128 MB : Start Addr = 0x00000000

-----Bank 0 128 MB

-----Bank 1   0 MB

Dimm 0: Not Installed


Main memory size: 128 MB in 64 bit mode.

Available main memory starts at 0xa0015000, size 130988KB

Smart Init is enabled.

NVRAM size: 191KB

rommon 12 >

Note the line in bold. It tells you the starting address of your system memory and its available size. Here, convert the size to bytes and express it in hexa, i.e.:

130988 * 1024 =0x7feb000

Now run the memtest command and enter the computed values:

rommon 17 > memtest

Enter in hex the start address [0x0]:  0xa0015000

Enter in hex the test size or length in bytes [0x7ffffff]:  0x7feb000

Enter in hex the number of passes [0x0]:  0x1

This will run a memtest of your memory. If an obvious error is detect, you should be informed about it by ROMMON.

Please be very careful, as - once again - the unlocked ROMMON can make your router become a paperweight if used unwisely.

Best regards,