I'm back from another Cisco battle. These things really try to fight me any chance they get.

I have a Cisco 831 broadband router. This is my second Cisco router for home use. I also have a 806... but the hardware is lacking. I needed soemthing more powerful.

As a good admin would, I try to keep up on all of the Cisco IOS upgrades and releases. For both a feature purpose and a security purpose. I like to keep it secure and I like to play with new featues. One of the first things you are supposed to do is make sure you have enough memory for the new image. I just upgraded the Flash memory to the maximum the device would take. I never thought to check for RAM. Turns out that the image I was trying to load needed 64MB of RAM. I only have 48.

So, I try to load the new image and right away I knew something was wrong. I go and plug in a console cable and watch it booting up. Sure enough, memory error. Dumbass! I should have known to check to make sure I have enough RAM.

So, I sulk back in the chair and think to myself... "No problem. I'll boot into ROMMON and reload the old image." ROMMON should really only be used for disaster recovery. This wipes the Flash clean. So, anything else you may have had on there is gone. That isn't a problem for me. I ALWAYS backup over tftp anytime I'm moving files around or upgrading.

So, I try to recover and everytime I try to tftp the image to the device, I get a "bad checksum" error after its written to flash and I display the contents of the flash. This happens regardless of which computer or image or connection I use. I tried all of the following ways.

The fastest way... tftp. I've done it time and time again. I rarely have a problem with it.
The first time I do it, I make my laptop the tftp server and I get the error. I think its because I'm on a wireless connection at the time. So, I switch to wired. I try again over the wired connection and I get the same thing.

Now I was really getting puzzled. It downloads the image, checks the checksum, then erases flash and reprograms the flash. It should not write a bad image to the disk. I have the options set for TFTP to check the checksum after it downloads.

So, I stoop to a slower connection with the correct parameters.

Twice over x-modem which takes FOREVER! Almost 2.5hrs to load over that connection.
Once over y-modem which is just a tiny bit faster than x-modem at about 2hrs.

Again... everything is failing. I'm getting tired of dealing with it and I let it sit for a day or two.
I picked it up again over the next several days and tried to load the image on there.. but every time it fails.

I do some more research and everyone thinks that it must be bad hardware.
I couldn't beleive that because it was working fine! I just wanted to load a new image on there.

Finally... it dawns on me...

The tftp is working fine, so is the x-modem and y-modem.
The problem has to be in the process of reprogramming the flash.

I find out that there is a ROMMON update. This issue is not listed as something this update fixes... but I'm on my last leg. I'll upgrade ROMMON regarless.

Sure enough, I reload ROMMON and then proceed to tftp the new image to the device and it works fine!

Too bad I didn't find the ROMMON update 2 weeks ago...

Anyway... woo hoo! I got it working again. Now to order some more RAM so I can really load the image I want.

So, for all you out there that deal with Cisco devices. When they say make sure you have enough memory... check both FLASH AND RAM! It may save you some headaches down the road.

Oh, and if your recovery is giving you problems... make sure you have the latest ROMON version.