How to crash your Cisco 871 Series Router
Turns out it's pretty easy to brick a Cisco 871 series router... just reboot it. OK, it's a little harder but not much. Here's the 411.
We selected the Cisco 871 Series router for use in a medical device. The customers of our medical device turn it on before using it, then turn it off when they're finished. Pretty normal, right? The gotcha is when you turn the router off during the boot process, and this router takes longer than most old PC's to boot. (Almost 3 minutes to hand out an address over DHCP).
The exact kill-spot depends on the version of IOS, we used 12.4(15) at first and then experimented with several other versions. It appears that during the final stages of the IOS boot process, around 69 seconds for 12.4(15), it reads the config from NVRAM, and if power is interrupted during this brief window the config is lost and the router is "bricked".
In our test lab we have a PC controlled Solid State Relay connected to a 120v AC power outlet, so I can power cycle the router automagically. I wrote a script to reboot the router in a loop after 1,2,3...infinity seconds. The good news is that each version of IOS tested died in the same place, so at least it's consistent.
Here's the logic of the Cisco Router "brick" script:
0. Begin loop at 01 seconds.
1. Power off the router.
2. Wait 10 seconds.
3. Turn on the router for XX number of seconds, where XX is the loop count.
4. Turn off the router.
5. Wait 10 seconds.
6. Power on the router, wait for it to boot (360 seconds just to be safe)
7. Run ipconfig on the PC, which is attached to a LAN port on the 871.
8. Ping the router. If it responds, we log this and continue. If it doesn't, we halt, leave the router on and wait for a humanoid life form to intervene.
9. Increment the loop count by 1, goto step 1.
We also attached a PC to the serial console and logged the output. We killed the router 100% of the time, but the cycle count varied from 49 to 70 on the versions of IOS we tried.
Conclusion:
Don't use Cisco 871 hardware in embedded applications. I don't have any higher end Cisco hardware laying around to test if this is a "feature" limited to the 871 series, but it's probably safe to assume this isn't a typical use case for Cisco routers, so who knows...?
Brick (br
k) - a molded rectangular block of baked clay.
To render an expensive piece of networking gear useless by screwing up the configuration. Steve bricked the core router by installing an image of the OS larger than the available NVRAM .
All trademarks are property of their respective owners (and lawyers).

Performance notes on the LSI 1068 SATA/SAS Controller »
Search
Comments
Sounds like you're not very familiar with Cisco routers or the IOS.
It's really easy to backup and replace a config. Get a book or something seriously.
What you describe does not turn Cisco routers into bricks. NVRAM only stores the config, not the boot software. All the routers you tested this on are still good. nuff said..
Posted by: anonymous | October 31, 2008 2:02 AM
Actually, I know a heck of a lot about bricking Cisco 871 routers. I will admit it's been years since I regularly supported those clunky old 2511/2514's though.
However, on boot the 871 does read config from NVRAM, and if you interrupt the power at the exact right time, you brick the router.
To be more exact, the config and bootloader are lost, the router boots up to ROMmon.
By re-installing the IOS image and dropping my config file back on, the hardware could be fully recovered, of course.
Al this proves is the 871 is not suitable for an embedded application, just as my writeup above states. It's designed for home office or small office use.
I will go on record here, the 871 is a piece of crap router. Further, the Cisco Router and Security config app is a enormously bloated java app that takes forever to do anything, with a mainframe era GUI. I stick to enterprise class Cisco hardware and putty.
Posted by: John | August 12, 2009 10:23 PM