keepcalculator

06 Numbers and Powers

Upgrade Firmware Cisco Devices: Steps & Risks

Card No. 06·63283 · Updated · Standard formula, shown below

Upgrading firmware on Cisco devices means replacing the current operating system (IOS, IOS-XE, NX-OS, or ASA) with a newer version to fix bugs, close security holes, and add features. You do this by downloading the correct image file from Cisco, copying it to the device, and telling the device to boot from it. This article explains the full process, how to choose the right version, and how to avoid the common mistakes that turn a routine upgrade into an outage.

Why Firmware Upgrades Matter

Cisco devices run their hardware on a software package stored in flash memory. That software—commonly called the IOS image—handles every packet, routing decision, and security policy. Cisco periodically releases new versions for three main reasons:

  • Security fixes: Patches for known vulnerabilities, some of which are publicly disclosed and actively exploited.
  • Bug resolution: Fixes for software defects that cause crashes, memory leaks, or incorrect behavior.
  • Feature additions: New protocols, hardware support, or management capabilities.

Running an outdated image is a risk, but upgrading without planning is also a risk. The key is to understand the difference between a recommended release and the latest release, and to test before you deploy.

How Cisco Firmware Versioning Works

Cisco uses a three-part version number, for example 15.2(4)E or 16.9.5. The first number is the major release train, the second is the feature set, and the third (or the number in parentheses) is the maintenance release. A maintenance release contains only bug fixes and security patches; it does not add new features. A new major or minor train adds features but also changes behavior.

Each platform (Catalyst switches, ISR routers, Nexus switches, ASA firewalls) has its own software train. You cannot run a Catalyst 2960 image on a Catalyst 3850, and you cannot run an IOS-XE image on a classic IOS-only platform. The device model and the required feature set determine which image file you download.

Before You Upgrade: Preparation Steps

Proper preparation prevents most upgrade failures. Work through this checklist before touching the device:

  1. Identify the current version: Run show version to see the exact image name and version.
  2. Check hardware and memory: The new image may require more DRAM or flash. Compare the new image’s requirements with the device’s show inventory and show flash output.
  3. Read the release notes: Cisco publishes release notes for every version. They list new features, caveats, and—critically—any upgrade path restrictions (e.g., you must go from 15.0 to 15.2 directly, but from 15.2 to 16.9 you must first install an intermediate version).
  4. Back up the current configuration: Copy the running config to a TFTP server or to a text file. Also back up the current image to a server if you need to roll back.
  5. Schedule a maintenance window: Even a smooth upgrade causes a reboot and a few minutes of downtime. For a stack or a redundant pair, you can upgrade one unit at a time to avoid downtime.

Step-by-Step Upgrade Process

The exact commands vary by platform, but the general flow is the same for most Cisco IOS and IOS-XE devices. Here is a typical sequence for a standalone switch or router:

  1. Download the image from Cisco.com (requires a valid service contract) and place it on a TFTP, FTP, or USB drive.
  2. Copy the image to flash: copy tftp: flash: and follow the prompts. Verify the file size matches the one on Cisco’s site.
  3. Verify the image integrity: Use verify /md5 flash:image-name.bin to check the MD5 hash against the published value. This catches corrupted downloads.
  4. Set the boot statement: boot system flash:/image-name.bin tells the device to load this image on the next reload.
  5. Save the configuration: write memory (or copy running-config startup-config) so the boot statement persists.
  6. Reload: reload. The device will reboot and load the new image.
  7. Verify: After it comes back, run show version to confirm the new version is active, and show running-config to confirm your config is intact.

For switches in a stack, you typically upgrade the stack master first, then the members, or you use the software install command on IOS-XE switches which handles the entire stack. For Nexus (NX-OS), the command is install all after copying the image to the device. Always consult the specific configuration guide for your platform.

Choosing the Right Image: Gold Star vs. Latest

Cisco does not recommend the newest version for everyone. They maintain a set of “gold star” releases—versions that have been in the field long enough to be stable and are recommended for most deployments. The latest release may have new features but also new bugs. As a rule:

  • For production, choose a gold star release that has been out for at least 6–12 months.
  • For new deployments that need a specific new feature, you may need a newer train, but plan for more frequent updates as bugs get fixed.
  • Always check the release notes for “caveats” that affect your hardware or configuration.

If you are upgrading to fix a specific bug, verify that the bug ID is listed as fixed in the release notes. If you are upgrading for security, check the Cisco Security Advisories page to see which versions fix the CVE you are concerned about.

Common Mistakes and How to Avoid Them

Most upgrade failures come from a handful of predictable errors:

  • Insufficient flash space: The new image is larger than the old one. Check show flash and delete old images if necessary—but keep the old one until the new one is verified.
  • Wrong image for the platform: Downloading the “universal” image when your device needs the “services” image, or vice versa. The release notes list the exact filenames.
  • Skipping the MD5 check: A corrupted download causes a boot failure. Always verify the hash.
  • Not saving the boot statement: If you reload without saving, the device may boot from the old image or fail to boot. The write memory step is not optional.
  • Upgrading during business hours: Even a successful upgrade takes 5–15 minutes of downtime. If you have a redundant supervisor or stack, you can do it without downtime, but only if you know the procedure.
  • Ignoring the upgrade path: Some versions require an intermediate upgrade. Trying to jump too far can cause the device to reject the image.

Rollback: What to Do If It Fails

If the device fails to boot the new image, it will usually fall back to the old image if the old boot statement is still in the startup config. If you set the new boot statement and saved it, the device may get stuck in a boot loop. To recover:

  1. Interrupt the boot process (often by sending a break signal during startup) to get to the ROMmon prompt.
  2. Boot manually from the old image: boot flash:old-image.bin.
  3. Once the device is up, change the boot statement back to the old image and save.

If you deleted the old image to make room, you will need to download it again or restore from a backup. This is why keeping the old image until the new one is verified is critical.

Frequently Asked Questions

Can I upgrade without a service contract?

No. Cisco requires an active support contract to download software images from Cisco.com. Without a contract, you cannot legally obtain the firmware, though you may be able to get it from a third-party vendor—but that is risky and not recommended.

How long does a Cisco firmware upgrade take?

The copy to flash takes 5–20 minutes depending on the file size and connection speed. The reload takes 3–10 minutes for most devices. Plan for at least 30 minutes total for a single device.

Will my configuration be preserved after the upgrade?

Yes, the startup configuration is stored separately from the image. As long as you do not erase NVRAM or the startup config, your settings remain. However, some new versions may change default behavior or deprecate commands, so review the release notes for config migration steps.

What is the difference between IOS and IOS-XE?

Classic IOS runs on older platforms like Catalyst 2960 and ISR G2. IOS-XE is the modern modular version that runs on Catalyst 9000, ISR 4000, and ASR 1000. The upgrade commands differ slightly, but the preparation steps are the same.

Can I downgrade after upgrading?

Yes, usually. You can copy the old image back to flash and set the boot statement to it. However, if the new version changed the configuration format or the file system, you may need to restore the old startup config from a backup. Downgrades are not always clean, so always back up both the image and config.

How do I know if a new version is available?

You can check the Cisco Software Center, but a simpler way is to subscribe to Cisco Security Advisories and check the release notes for your platform. Many organizations also use Cisco’s Software Checker tool to compare their current version with recommended ones.

Related

Method: the standard formula for this calculation, rounded as each result states. See how the calculators work or report an error.

More cards in this drawer

The whole Numbers and Powers drawer →