ISR4321 Switch Module Not Working – CPLD Incompatibility

I recently had the pleasure of upgrading a ISR4321 router to Denali (16.3.5). If you have a NIM-ES2-8 for example you might want to be careful and check the CPLD version before doing the upgrade! Here is why.

Here the CPLD version is 14101324

The Firmware Version is the ROMMON version.

As of writing there is no way of correlating the CPLD version show in the output of show platform and the one you can download on CCO. And for ISR4321 there is only one version on CCO.

Why is this important? Well, if you upgrade to Denali this will show up in the log after the upgrade:

*Jan 17 2018 10:07:34.633 CET: %SPA_OIR-3-RECOVERY_RELOAD: subslot 0/1: Attempting recovery by reloading SPA
*Jan 17 2018 10:07:34.637 CET: %SPA_OIR-6-OFFLINECARD: SPA (NIM-ES2-8) offline in subslot 0/1

Router#sh hw-module subslot 0/1 oir
Module        Model                Operational Status
------------- -------------------- ------------------------
subslot 0/1   NIM-ES2-8            out of service(failed too many times)

After you upgrade the CPLD version the module will work again.

Router#show hw-module subslot 0/1 oir
Module        Model                Operational Status
------------- -------------------- ------------------------
subslot 0/1   NIM-ES2-8            ok

And as of writing this was not documented in the release notes or anywhere else in Cisco Documentation!

ISR4321 Software Upgrade – Signature Verification Failed

If you try to upgarde to Everest (16.6.2) you will probably hit a ROMMON bug due to the image footprint (being larger than 512MB). Specifically you will see this:

Turns out the bug is reported as CSCvg89038

If your router has a switch module installed, you might want to check out this post.

Cisco 4321 – Boot Loop

I had the opportunity to configure a new Cisco 4321 router the other day.

Opened the box and plugged in the power which by the way is via an external power supply that has a Mickey Mouse (C5) connector!

Waiting in excitement for the router to boot… After some time I realised the router wasn’t booting. The error was:

unable to open bootflash:xdsl/packages.conf (14)

My output from SecureCRT:

Great! Brand new out of box router from Cisco that doesn’t boot!

I put the router into rommon and looked at the flash. The image was there so I tried to issue the boot command and the router booted. After bootup I discovered that the Gi0 management port had an IP address assigned! Never seen that before. I did a wr erase and reload. Boot loop again!

I stumbled upon a Troubleshoot Cisco 4000 Series ISR Stuck in ROMMON article and tried the solution they suggested. And it worked! In short I did this:

Set configuration register to 0x0 which makes the router ignore the boot variable configured in startup-config.

rommon 1 > confreg 0x0
rommon 2 > reset

Next set the configuration register back to 0x2102.

rommon 1 > confreg 0x2102
rommon 2 > boot bootflash:isr4400-universalk9.03.15.01.S.155-2.S1-std.SPA.bin

The router boots and is able to boot again when reloaded!