Cisco ISR 4000: How to perform in-service software upgrade (ISSU)
By Sai Kiran Pandrala · reviewed by Sai Kiran Pandrala, Editor Last verified: 2026-05-30
| Category | Upgrade Failure |
|---|---|
| Subject | Cisco ISR 4000 |
| Skill level | Intermediate to advanced (CCNA / CCNP background recommended) |
| DIY-able? | Mostly yes with CLI access; some scenarios need TAC + RMA. |
What this guide covers
Zero-downtime upgrade on HA-capable platforms.
Repair sequence
- Verify ISSU compatibility, not all releases support ISSU.
show issu stateshould return clean state before starting.install add file <new-image>on the active supervisor.install activate ISSU. triggers controlled failover.- Standby loads new image, becomes active.
- Active then loads new image, becomes new standby.
install committo lock in.
CLI commands
show issu state detail
install add file bootflash:<new-image>.bin
install activate ISSU
show issu state
install commit
Recovery options
- ROMmon tftpdnld for image-level recovery
- Install rollback within the auto-revert window
- Force-failover to a known-good standby supervisor
- Manual boot from a previous image on flash
Frequently asked questions
Will this work on my exact IOS-XE / ASA version?
The procedure reflects current IOS-XE 17.x and ASA 9.20 behaviour. Older trains (15.x, 9.16 ASA) may need minor syntax adjustments, use ? in the CLI.
Should I open a TAC case immediately?
Open one if you suspect hardware failure or the symptom persists after a maintenance-window reload. Make sure your SmartNet is active first.
Where can I find the Cisco official documentation?
https://www.cisco.com/c/en/us/support/all-products.html: search the product family + feature name.
Is this procedure safe in production?
Test in a lab or maintenance window first. Capture pre-change state so you can roll back.
Related guides
- All Cisco fix guides → /cisco/
- Cisco IOS error messages → /cisco/section/ios_error_messages.html
- Cisco troubleshooting by symptom → /cisco/section/troubleshoot_symptoms.html
References
- Cisco System Message Guide for IOS-XE / IOS
- Cisco Bug Search Tool: https://bst.cloudapps.cisco.com/bugsearch/
- Cisco Smart Software Manager: https://software.cisco.com
- Cisco TAC: https://mycase.cloudapps.cisco.com/case
Reference material, not professional advice. Validate against your specific IOS-XE version and test in a non-production environment before applying.
Why this matters for your day-to-day
A Cisco device that's misbehaving costs more than the fix itself: lost productivity, missed calls, security risk, even safety risk in some categories. Treating the symptom quickly with a documented procedure is cheaper than letting it persist. The steps above are written to get you back to working in under an hour where possible, and to flag clearly when escalation is the right call.
Cause analysis
A few things to confirm so the Cisco device fix goes cleanly:
- Latest firmware downloaded if you're going to update.
- Warranty + support contract status checked, opening sealed parts may void it.
- Backup of current configuration (where applicable) taken.
- Spare parts on hand if you anticipate replacement.
- Adequate workspace, lighting, and time. rushing causes regressions.
Post-repair audit
Before you walk away from a Cisco device fix, run through:
1. Reproduce the original trigger, does the issue reappear? 2. Check the device's status / health screen for any new alerts. 3. Confirm paired devices (app, hub, controller) reconnected. 4. Save / commit any configuration changes per the device's normal workflow. 5. Note the change in your maintenance log with date + firmware version.
Escalation guide
For a Cisco device, the right escalation depends on impact:
- Cosmetic / minor: log a ticket via the Cisco app or web portal. Response 1-3 business days.
- Mid-impact: phone support. Have your serial number ready.
- Critical (production down, safety issue): in-person dealer / TAC visit. Bring proof of purchase.
- Out of warranty: third-party repair shop with manufacturer-certified technicians.
More frequently asked questions
What if the fix returns after a reboot?
Persistent fault returns mean either: a hardware fault (escalate), a configuration that's being overwritten by a sync source (check cloud profiles), or a regression in a recent firmware update (rollback).
How long does this fix usually take?
Most users complete the steps in 20-45 minutes the first time, and 5-10 minutes on subsequent runs once the menu paths are familiar.
Why is this happening on a brand-new unit?
Out-of-box defects do occur. If you've owned the device under 30 days and the symptom persists after a factory reset, escalate to the seller for replacement under DOA terms before opening a manufacturer support case.
Should I update firmware first or last?
Update firmware first if a release note specifically mentions your symptom. Otherwise, finish the troubleshooting flow first, then update; that way you can isolate whether the update or the underlying fix solved it.
Is it safe to apply during business hours?
If the device is in production use, apply during a scheduled maintenance window. Most procedures need 2-15 minutes of downtime. Capture pre-change state so you can roll back if needed.
Field notes from real incidents on Upgrade Failure
When I work on Cisco ISR 4000: How to perform in-service software upgrade (ISSU) the rhythm I lean on is the one I have built over years of these tickets. The newer Cisco IOS-XE traceability tools (show platform hardware fed) are massively underused; they answer questions the old CLI cannot. Most catalyst stack issues I have triaged were power-budget related, not software: the show power detail output answers it in 5 seconds. Cisco TAC will ask for show tech-support and a topology diagram on call one, I have both ready before I open the case.
Tools I actually reach for
For Cisco ISR 4000: How to perform in-service software upgrade (ISSU) on Upgrade Failure the cheapest signal I can land usually comes from a known order of operations, not a kitchen-sink approach. I start with show platform hardware capacity because it is the lowest-friction way to confirm the failure is real and reproducible. If that returns ambiguous data, I escalate to show running-config | include <feature>, show tech-support (capture for TAC), and finally to show logging last 200 only when the cheaper tools cannot reach the layer the failure lives in. That ordering matches the failure surfaces I have actually seen on Upgrade Failure units over the last few years, not an abstract taxonomy. The cheap signals gate the expensive ones so the investigation does not balloon into a multi-hour exercise.
Verification I run before I close the ticket
Before I mark Cisco ISR 4000: How to perform in-service software upgrade (ISSU) resolved on a Upgrade Failure unit, the verification loop below is what I actually run. Each step proves a different layer is green, and the order matters - the cheap checks gate the more expensive ones so I never burn an hour on a deep test that a shallow one would have failed in seconds.
show bgp summary # confirm session state after route changesIf that one comes back clean, move to the next check. If it does not, stop and dig in there before layering more verification on top of a red signal.
show interfaces <int> | include errors|drops|CRCIf that one comes back clean, move to the next check. If it does not, stop and dig in there before layering more verification on top of a red signal.
show spanning-tree summary # confirm topology stabilityOnly when every line above runs clean do I close the ticket and update the runbook with the timestamps. A green verification that nobody can reproduce is not a fix, it is luck waiting to regress.
Where I check first when the docs disagree
When two sources contradict each other on a Upgrade Failure detail, the disambiguation order I lean on is stable across products and across years. cisco.com/c/en/us/support. official command references is where I start for the ground-truth view. Cisco TAC case knowledge base is where I start for the ground-truth view. cisco.com/c/en/us/td/docs/ios-xml for IOS XR is where I start for the ground-truth view. developer.cisco.com for NSO / model-driven APIs is where I start for the ground-truth view. Random blog posts and reseller wikis are signal, not ground truth, and I treat them as such until the references above either confirm or contradict the claim. The cost of trusting an unauthoritative source on Cisco ISR 4000: How to perform in-service software upgrade (ISSU) is rarely worth the time it saved.
Pitfalls I have walked into on this exact path
The shortcuts that look smart on Cisco ISR 4000: How to perform in-service software upgrade (ISSU) have a habit of biting back. The pitfalls below are the ones I have personally walked into on a Upgrade Failure unit, not things I read about. Cisco bug search tool is the cheapest sanity check before a config change, search the symptom, sort by affected releases, decide. The newer Cisco IOS-XE traceability tools (show platform hardware fed) are massively underused; they answer questions the old CLI cannot. I never run a software upgrade on a live Catalyst stack without an out-of-band console session; the in-band session drops at the worst possible moment. When in doubt I revert to the slower path that the manual prescribes - the time I save by skipping it is always smaller than the time I spend cleaning up afterwards.
What I tell the next on-call
When I hand Cisco ISR 4000: How to perform in-service software upgrade (ISSU) off to the next person on rotation, the three lines I leave in the runbook are these. First, the symptom signature on Upgrade Failure - not a paraphrase, the exact string that surfaces in logs or on the screen. Second, the diagnostic that gave the highest signal in the least time. Third, the exact verification command whose green output justified closing the ticket. That trio is what turns a one-off fix into a runbook entry the next engineer can use without paging me at three in the morning.
I also add a one-line note on the cost of getting this wrong. For Cisco ISR 4000: How to perform in-service software upgrade (ISSU) on a Upgrade Failure unit, the cost is rarely the replacement part or the patch itself. It is the downtime, the second site visit, and the trust deficit you spend with whoever owns the asset when the fix does not hold. That framing keeps the next on-call from choosing the cheap-looking shortcut that ends up costing the most in elapsed hours and goodwill.
Related fixes
Related guides worth a look while you sort this one out:
- Cisco ASA: How to perform in-service software upgrade (ISSU)
- Cisco ASR 1000: How to perform in-service software upgrade (ISSU)
- Cisco Catalyst 3850: How to perform in-service software upgrade (ISSU)
- Cisco Catalyst 9000: How to perform in-service software upgrade (ISSU)
- How to upgrade IOS XE on Catalyst 9300 ISSU on ISR 4000
- How to upgrade IOS XE on Catalyst 9500 ISSU on ISR 4000
People also ask
Will this work on my exact IOS-XE / ASA version?
The procedure reflects current IOS-XE 17.x and ASA 9.20 behaviour. Older trains (15.x, 9.16 ASA) may need minor syntax adjustments: use `?` in the CLI.
Should I open a TAC case immediately?
Open one if you suspect hardware failure or the symptom persists after a maintenance-window reload. Make sure your SmartNet is active first.
Where can I find the Cisco official documentation?
https://www.cisco.com/c/en/us/support/all-products.html, search the product family + feature name.
Is this procedure safe in production?
Test in a lab or maintenance window first. Capture pre-change state so you can roll back.