Recovery From Corrupt or Missing Software Image on Cisco device

This is a movie based on a true story. Is the issue you will have sooner or later if you are into networking and managing devices? Perhaps you will manage to upgrade hundreds of devices before you will see this happening but maybe it will be one of the first devices in production environment to go down exactly when you don’t have time for this kind of problem. Better be ready and read next short story about how is possible in very short time to revive a dead device stuck without IOS Software on it.

If you have a corrupt or missing software image on Cisco device this is the thing you should do:

Reset to the factory default using Mode button if you have the Mode button, if your device is not having that button then simply reboot the device and hit break or Esc key to stop the booting process. In this example, again, based on my true story I will take an example with recovering one of standalone Cisco Aironet Wireless Access points. It’s basically the same with all IOS devices and some devices that do not have IOS but some older software and then you want them to upgrade to IOS. It’s for example the situation with one very old Cisco Aironet AP350 device. Let’s go…

To change device settings to factory default with Mode button:

  • First you need to ensure that Cisco device is connected to your PC via network cable
  • To make transfer of IOS possible you need to configure a standard IP address 10.0.0.2 and with a subnet mask of 255.0.0.0 on your PC
  • You need to know the directory where you have stored the ISO image on your PC. If you don’t have the IOS you should contact the Cisco TAC. Let’s say that the directory will be in this example C:\IOS
  • Rename the IOS from this format: c350-k9w7-tar.123-8.JEA3.tar to this format: c350-k9w7-tar.default
  • Put it in the directory C:\IOS so you will be able to start TFTP server app on the PC and define C:\IOS directory.
  • I use TFTPD32 as my preferable app for TFTP sessions. It’s available for x86 and x64 architecture and also IPv6 capable.
  • Launch your TFTP server program and set it up like in this picture:Tftpd32
  • Connect your PC to cisco device with the console. (Console cable)
  • Create a HyperTerminal connection. simply use Putty to connect your serial COM port to the device, that will make a HyperTerminal connection and you will see directly what is happening in the next step when you reboot the device.Putty
  • You the disconnect the power and reconnect the power again. When you connect the power again, in the same time press mode button and hold for 30 seconds until device starts to show red LEDs.
  • Access point in this case will reboot.

The ap: command prompt will be visible in putty. In some other devices like switch there will be rommon> sign at putty but you will proceed with the same steps.

Loading the new Software Image

ap: set IP_ADDR 10.0.0.9
ap: set NETMASK 255.0.0.0
ap: set DEFAULT_ROUTER 10.0.0.15
ap: tftp_init
tftp_init success:

ap: tar -xtract tftp://10.0.0.2/c350-k9w7-tar.default flash:

When the display becomes full, the CLI pauses and displays –MORE–.
Press the spacebar to continue because if you don’t it will maybe timeout without transfering the whole IOS from PC

You will see something like this:

extracting info (274 bytes)
 c350-k9w7-tar.123-8.JEA3/ (directory) 0 (bytes)
 c350-k9w7-tar.123-8.JEA3/html/ (directory) 0 (bytes)
 c350-k9w7-tar.123-8.JEA3/html/level/ (directory) 0 (bytes)
 c350-k9w7-tar.123-8.JEA3/html/level/1/ (directory) 0 (bytes)
 extracting c350-k9w7-tar.123-8.JEA3/html/level/1/appsui.js (557 bytes) extracting c350-k9w7-tar.123-8.JEA3/html/level/1/back.shtml (498 bytes) extracting c350-k9w7-tar.123-8.JEA3/html/level/1/cookies.js (5026 bytes)
 extracting c350-k9w7-tar.123-8.JEA3/html/level/1/forms.js (17465 bytes)...
 extracting c350-k9w7-tar.123-8.JEA3/html/level/1/sitewide.js (15991 bytes)...
 extracting c350-k9w7-tar.123-8.JEA3/html/level/1/stylesheet.css (3214 bytes)
-- MORE --

Don’t forget to press MORE button when it shows!

To make system boot from flash and set yours IOS to be the default for the next boot processes type:

ap:set BOOT flash:/c350-k9w7-tar.123-8.JEA3/c350-k9w7-tar.123-8.JEA3
ap:set
BOOT=flash:/c1200-k9w7-mx.123-7.JA4/c1200-k9w7-mx.123-7.JA4
DEFAULT_ROUTER=10.0.0.15
IP_ADDR=10.0.0.9
NETMASK=255.0.0.0

reboot the device with reload command or reboot command. Next time the system boots up the device will boot IOS.

Leave a Reply