Introduction
This document describes how to avoid common issue in the upgrade process for ROMMON, CPLD, and FPGA for an ASR with a Route Processor (RP) version 2.
Prerequisites
Requirements
Cisco recommends that you have knowledge of these topics:
- Cisco IOSĀ® XE
- Cisco 1000 Series Aggregation Services Routers (ASR or ASR1k)
- ROM Monitor (ROMMON)
- Complex Programmable Logic Device (CPLD)
- Field-programmable Gate Array (FPGA)
Components Used
The information in this document is based on the hardware and software version:
- ASR1006-X: Cisco IOS XE 16.3.7, ROMMON 16.3(2r)
- ASR1000-RP2: CPLD 14111801, FPGA 15010901
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, ensure that you understand the potential impact of any command.
Difference of CPLD and FPGA
FPGAs and CPLDs are two types of digital logic chips. They are different hardware modules installed in ASR1k Embedded Services Processors (ESP), RP and linecards.
Identify CPLD and FPGA Version
In order to display the current CPLD and FPGA version use the show hw-programmable all command:
Router# show hw-programmable all
Hw-programmable versions
Slot CPLD version FPGA version
--------------------------------------------------------
R0 10021901 08112501
F0 08041102 N/A
0 00020008 N/A
Note: The FPGA version is displayed as N/A, when the FPGA component is not present in a hardware module.
CPLD and FPGA Version Included in a Package
In order to upgrade the CPLD or FPGA version use the hardware programmable package available in the Cisco Software Download page. Each package contains a CPLD and FPGA firmware for each hardware component.
Use the show upgrade hw-programmable file
command to display the information:
Router# show upgrade hw-programmable file bootflash:asr1000-hw-programmables.16.08.01.SPA.pkg
List of card type, hw-programmable device and version in this package:
No. Card Type hw-programmable device Version
--------------------------------------------------------------
0 ASR1000-SIP10 CPLD 09111601
1 Ethernet-LineCard CPLD 15072100
3 Ethernet-LineCard MBFPGA 00010024
4 ASR1000-ESP200 CPLD 13041200
5 ASR1000-ESP100 CPLD 12071700
20 ASR1000-RP2 CPLD 14111801
21 ASR1000-RP2 FPGA 17071402
22 ASR1000-RP3 CPLD 17042115
Note: Notice the different versions for each the CPLD and FPGA in the ASR1000-RP2 component.
Caution: ASR1k is susceptible to the Cisco Secure Boot Hardware Tampering Vulnerability. Refer to Cisco bug ID CSCvn77246.
Common Issues
Upgrade Version 3.x to 16.x
Cisco IOS XE versions 3.x have dedicated release for a specific feature set (Advanced Enterprise, Advanced IP Services, and so on), while Cisco IOS XE 16.x versions are universal images and to activate a given feature set you must install or request a specific license for it.
Due to this difference when an upgrade from 3.x to 16.x is done, the system boots and prompts to accept the End User License Agreement (EULA) and select the feature set. An additional reload is then required.
**************************************************************************
YOU HAVE CHOSEN TO BOOT WITH adventerprise GLOBAL EULA* FOLLOWS NEXT
**************************************************************************
*http://www.cisco.com/c/en/us/td/docs/routers/asr1000/configuration/guide/chassis/asrswcfg/csa_rtu.html#pgfId-1059908
PLEASE READ THE FOLLOWING TERMS CAREFULLY. INSTALLING THE LICENSE OR LICENSE KEY PROVIDED FOR ANY CISCO PRODUCT FEATURE OR USING SUCH PRODUCT FEATURE CONSTITUTES YOUR FULL ACCEPTANCE OF THE FOLLOWING TERMS. YOU MUST NOT PROCEED FURTHER IF YOU ARE NOT WILLING TO BE BOUND BY ALL THE TERMS SET FORTH HEREIN.
Use of this product feature requires an additional license from Cisco, together with an additional payment. You may use this product feature on an evaluation basis, without payment to Cisco, for 60 days. Your use of the product, including during the 60 day evaluation period, is subject to the Cisco end user license agreement http://www.cisco.com/en/US/docs/general/warranty/English/EU1KEN_.html
If you use the product feature beyond the 60 day evaluation period, you must submit the appropriate payment to Cisco for the license. After the 60 day evaluation period, your use of the product feature will be governed solely by the Cisco end user license agreement (link above), together with any supplements relating to such product feature. The above applies even if the evaluation license is not automatically terminated and you do not receive any notice of the expiration of the evaluation period. It is your responsibility to determine when the evaluation period is complete and you are required to make payment to Cisco for your use of the product feature beyond the evaluation period.
Your acceptance of this agreement for the software features on one product shall be deemed your acceptance with respect to all such software on all Cisco products you purchase which includes the same software. (The foregoing notwithstanding, you must purchase a license for each software feature you use past the 60 days evaluation period, so that if you enable a software feature on 1000 devices, you must purchase 1000 licenses for use past the 60 day evaluation period.)
Activation of the software command line interface will be evidence of your acceptance of this agreement.
ACCEPT? (yes/[no]):
Solution
Add the previous image as a second boot up image:
Step 1.
Remove the previous boot statement:
Router(config)# no boot system bootflash:asr1000rp2-adventerprise.03.xxx.bin
Step 2.
Configure the 16.x version as the first boot up image:
Router(config)# boot system bootflash:asr1000rpx86-universalk9.16.xxx.SPA.bin
Step 3.
Add previously removed 3.x image as the second boot up image:
Router(config)# boot system bootflash:asr1000rp2-adventerprise.03.xxx.bin
Step 4.
After a boot up with the 16.x image, the second boot statement must be removed from the configuration:
Router(config)# no boot system bootflash:asr1000rp2-adventerprise.03.xxx.bin
This procedure enables the license based on the previous image and prevents an additional reload that is required.
Tip: These same steps are described in the Cisco IOS XE Denali Migration Guide.
Cisco IOS XE Image Exceeds 1GB Size
If an Cisco IOS XE upgrade is attempted when neither the ROMMON or FPGA version support 1GB size images, the device is stuck in a boot loop and the error message "Failed to allocate enough space for the ISO image !" triggers:
Boot image size = 1059962220 (0x3f2dbd6c) bytes
Package header rev 1 structure detected
Calculating SHA-1 hash...done
validate_package_cs: SHA-1 hash:
calculated e6c84580:6a3f70e9:45e348ff:50e3fb50:998bc7e3
expected e6c84580:6a3f70e9:45e348ff:50e3fb50:998bc7e3
Validating main package signatures
RSA Signed RELEASE Image Signature Verification Successful.
Failed to Free memory block at address 0x0000000000000000
Failed to allocate enough space for the ISO image !
Solution
Upgrade the ROMMON and FPGA Versions.
ROMMON versions older than 16.9(5r) or FPGA versions older than 17071402 are not capable to boot Cisco IOS XE images that exceed the 1GB in size.
Note: Refer to Cisco bug ID CSCvm90995.
Detailed Steps When the Current Cisco IOS XE Version is 16.x
Step 1.
Upgrade to ROMMON to 16.9(5r) or newer.
Router# upgrade rom-monitor filename bootflash:asr1000-rommon.169_5r_SPA.pkg all
Tip: Available ROMMON versions and Cisco ASR 1000 Series Aggregation Services Routers ROMmon Upgrade Guide. ROMMON version 16.9(5r) or newer is required on all RPs if redundancy is enabled.
Step 2.
Upgrade FPGA to 17071402 or newer.
Router# upgrade hw-programmable fpga filename harddisk: asr1000rpx86-hw-programmables.16.08.01.SPA.pkg r0
Note: If redundancy is enabled all the supervisors must be upgraded.
Step 3.
After the ROMMON and FPGA upgrade completes you can proceed with an upgrade to Cisco IOS XE 16.10 or newer.
Note: To upgrade CPLD version 19022811 to 19060309 the Cisco IOS XE version 17.2.1 and the 16.12(9r) ROMMON image are required.
Detailed Steps when the Current Cisco IOS XE Version is 3.x
Caution: If the current Cisco IOS XE version is 3.x the FPGA upgrade is not successful.
An attempt to upgrade FPGA/CPLD with Cisco IOS XE version is 3.x results in an error:
mount: wrong fs type, bad option, bad superblock on /dev/loop0,
or too many mounted file systems
(could this be the IDE device where you in fact use
ide-scsi so that sr0 or sda or so is needed?)
Attempt to unmount something that is not a package
Removal of hw-programmable package mount point failed
Therefore, an Cisco IOS XE upgrade to an intermediate version is required.
Step 1.
Upgrade to ROMMON to 16.9(5r) or newer.
Router# upgrade rom-monitor filename bootflash:asr1000-rommon.169_5r_SPA.pkg all
Tip: See Available ROMMON versions and Cisco ASR 1000 Series Aggregation Services Routers ROMmon Upgrade Guide. ROMMON version 16.9(5r) or newer is required on all RPs if redundancy is enabled.
Step 2.
Upgrade the Cisco IOS XE version from the current 3.x to an intermediate 16.x (earlier than 16.10.1). For detailed steps go to section Upgrade Version 3.x to 16.x.
A reasonable intermediate version is the latest rebuild of 16.9.x.
Step 3.
Upgrade FPGA to 17071402 or newer.
Router# upgrade hw-programmable fpga filename harddisk: asr1000rpx86-hw-programmables.16.08.01.SPA.pkg r0
Step 4.
After completing the ROMMON and FPGA upgrade you can proceed with an upgrade to Cisco IOS XE 16.10 or newer.
Note: To upgrade CPLD version 19022811 to 19060309 the Cisco IOS XE version 17.2.1 and the 16.12(9r) ROMMON image are required.
ROMMON Upgrade Fails on a Module
When a module ROMMON version is upgraded any of these error messages trigger:
- "rsync error: some files/attrs were not transferred"
- "Unsupported package. Upgrade cannot proceed"
Note: Refer to Cisco bug ID CSCvj93306.
Router# upgrade rom-monitor filename bootflash:asr1000-rommon.1612-8r.pkg 0
Platform is ASR. Verifying the code signature of the ROMMON package...
Upgrade rom-monitor on SPA-Inter-Processor 0
Target copying rom-monitor image file
rsync: change_dir "/rommon/mcp/CC/40G" (in rommon_upgrade_pub) failed: No such file or directory (2)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at /nobackup/nosbuild/cge7_jenkins/workspace/SDK_Build/build-single-sdk_2/tmp.k0pfD5HpjZ/tmp/work/powerpc-nf-iosxe-linux/rsync/3.0.9-r0/rsync-3.0.9/main.c(1518) [Receiver=3.0.9]
umount: /tmp/rommon_upgrade_pub: target is busy.
Upgrade rom-monitor on SPA-Inter-Processor 0
Target copying rom-monitor image file
Unsupported package. Upgrade cannot proceed
Solution
Not all ROMMON versions are compatible with every module, see ROMMON Compatibility Matrix to select the correct version.
Note: It is expected to see different ROMMON versions in the output of the show platform
command.
Related Information