In general terms, field-programmable devices (FPDs) are
hardware devices implemented on router cards that support separate software
upgrades. A field-programmable gate array (FPGA) is a type of programmable
memory device that exists on most hardware components of the router. The term
FPD has been introduced to collectively and generically
describe any type of programmable hardware device on SIPs and shared port
adapters (SPAs), including FPGAs and the read-only memory monitor (ROMMON).
Cisco IOS XR software
provides the Cisco FPD upgrade feature to manage the upgrade of FPD images on
SIPs and SPAs.
This chapter describes the information that you must know to verify
image versions and to perform an upgrade for SPA or SIP FPD images when
incompatibilities arise.
For complete descriptions of the FPD commands listed in this module,
see
Related Documents.
To locate documentation for other commands that might appear in the course of
performing a configuration task, search online in
Cisco ASR 9000 Series Aggregation Services Router
Commands Master List.
Table 1 Feature History for Upgrading FPD Software on
Cisco IOS XR Software
Before upgrading the FPD on
your router you must install and activate the
Cisco ASR 9000 Series Router-fpd.pie.
For information about performing this task, see the
Upgrading and Managing
the Cisco ASR 9000 Series Router module in
Cisco ASR 9000 Series
Aggregation Services Router System Management Configuration Guide.
Overview of FPD Image Upgrade Support
An FPD image is used to upgrade the software on an FPD.
Whenever a
Cisco IOS XR Software
image is released that supports SIPs and SPAs, a companion SIP and SPA FPD
image is bundled with the
Cisco IOS XR software release.
Generally, the FPD image is not automatically upgraded. You must manually upgrade
the FPD image running on the SPA or SIP when you upgrade the
Cisco IOS XR software image.
FPD versions must be compatible with the
Cisco IOS XR software
that is running on the router; if an incompatibility exists between an FPD
version and the
Cisco IOS XR software,
the device with the FPGA may not operate properly until the incompatibility is
resolved. An FPGA incompatibility on a SPA does not necessarily affect the
running of the SPA interfaces; an FPD incompatibility on a SIP disables all
interfaces for all SPAs in the SIP until the incompatibility is addressed.
Use the show hw-module fpd command to determine if an FPD upgrade is required. A value of ‘Yes’ in the Upg/Dng? (upgrade/downgrade) column indicates that an upgrade or downgrade is required.
The
Cisco ASR 9000 Series Router
supports upgrades for FPGA devices on its SIPs and SPAs. FPGA and ROMMON
software upgrades are part of an FPD image package that corresponds to a
Cisco IOS XR software image.
SIPs and SPAs support manual upgrades for FPGA devices using the Cisco FPD
upgrade feature that is further described in this chapter.
By default, the FPD image is not automatically upgraded. Generally, you must manually upgrade the FPD image running on the SPA or SIP when you upgrade the Cisco IOS XR software image. However, if you enable the fpd auto-upgrade command in administration configuration mode, FPD images are automatically updated whenever you perform a software upgrade. For the automatic FPD upgrade to work, the following conditions must be met:
The FPD package installation envelope
(PIE) must already be installed on the router.
The FPD PIE must be activated together with the new Cisco IOS XR image.
The fpd auto-upgrade command must be enabled.
Note
Although the FPD upgrade is performed during the install operation, there is no install commit performed. Therefore, once the FPD has been upgraded, if the image is rolled back to the original version, the FPD version is not downgraded to the previous version.
The automatic FPD upgrade is not performed in the following instances:
Line cards or other cards such as RSPs, SPAs or alarm cards are added to an existing router.
A non-reload software maintenance upgrade
(SMU) or PIE installation is performed, even where the FPD image version changes. Since a non-reload installation is, by definition, not supposed to reload the router, and an FPD upgrade requires a router reload, the automatic FPD upgrade is repressed.
Note
In all cases where the automatic FPD upgrade is not performed, you must perform a manual FPD upgrade using the upgrade hw-module fpd command.
How to Upgrade FPD Images
You must determine if an FPD image upgrade is needed using
the
showhw-modulefpd command and perform the upgrade, if needed,
under the following circumstances:
You migrate the software
to a later
Cisco IOS XR software release.
You swap SPAs or
SIPs from a system running a different Cisco IOS XR software release.
You insert a new SPA or
SIP.
In the event that there is an FPD incompatibility with your card, you
may receive an error message. If you upgrade to a newer version of the
Cisco IOS XR software
and there is an FPD incompatibility, you receive the following message:
LC/0/1/CPU0:Dec 23 16:33:47.945 : spa_192_jacket_v2[203]: %PLATFORM-UPGRADE_FPD-4-DOWN_REV : spa fpga2 instance 0 is down-rev (V0.6), upgrade to (V1.0). Use the "upgrade hw-module fpd" CLI in admin mode.
If the FPD image on the card is newer then what is required by the
currently running
Cisco IOS XR software image
on the router, you receive the following error message:
LC/0/1/CPU0:Dec 23 16:33:47.955 : spa_192_jacket_v2[203]: %PLATFORM-UPGRADE_FPD-4-UP_REV : spa fpga instance 1 is severely up-rev (V2.1), downgrade to (V1.6). Use the "upgrade hw-module fpd" CLI in admin mode.
You should perform the FPD upgrade procedure if you receive such
messages. Cards may not function properly if FPD incompatibilities are not
resolved.
Note
The use of the force option when performing a FDP upgrade is not recommended except under explicit direction from Cisco engineering or TAC.
Before You Begin
Before upgrading the FPD, you must install and activate the
asr9k-fpd.pie.
For information about performing this task, see the
Upgrading and Managing Cisco IOS XR Software module.
The FPD upgrade procedure is performed while the
card is online. At the end of the
procedure the card must be reloaded before the FPD upgrade is
complete. To automatically reload the card,
you can use the
hw-modulereload command during your next maintenance
window. The upgrade procedure is not complete until the card is reloaded.
During the FPD upgrade,
you
must not do the following:
Reload, perform an online insertion and removal (OIR) of a
line card (LC), or power down the chassis. Doing so may cause the node to enter
an unusable state.
Press Ctrl-C if the console appears to hang without any
output. Doing so may abort the upgrade.
If you are not sure
whether a card requires an FPD upgrade, you can install the card and use the
show
hw-modulefpd command to determine if the FPD image on
the card is compatible with the currently running
Cisco IOS XR software release.
RP/0/RSP0/CPU0:router# show hw-module fpd location all
or
RP/0/RSP0/CPU0:router# show hw-module fpd location 0/4/cpu0
Displays the current FPD image versions for the specified card or all cards
installed in the router. Use this command to determine if you must upgrade the
FPD image on your card.
Step 2
admin
Example:
RP/0/RSP0/CPU0:router# admin
Enters administration EXEC mode.
Step 3
showfpdpackage
Example:
RP/0/RSP0/CPU0:router(admin)# show fpd package
(Optional)
Displays which cards are supported with your current
Cisco IOS XR software release,
which FPD image you need for each card, and what the minimum hardware requirements
are for the various modules. (A minimum hardware requirement
version of 0.0 indicates that all hardware can support this FPD image version.)
If there are multiple FPD images for your card, use this command
to determine which FPD image to use if you want to upgrade only a specific FPD
type.
RP/0/RSP0/CPU0:router(admin)# upgrade hw-module fpd
all location 0/3/1
.
.
.
Successfully upgraded 1 FPD for SPA-2XOC48POS/RPR
on location 0/3/1
Upgrades all the current FPD images that must be
upgraded on the specified card with new images.
Before continuing to the next step, wait for confirmation that the
FPD upgrade has successfully completed.
Status messages, similar to these, are displayed to the screen until the FPD upgrade is completed:
FPD upgrade started.
FPD upgrade in progress..
FPD upgrade in progress..
FPD upgrade sent to location xxxx
FPD upgrade sent to location yyyy
FPD upgrade in progress..
FPD upgrade finished for location xxx
FPD upgrade in progress..
FPD upgrade finished for location yyyy
FPD upgrade completed.
The “FPD upgrade in progress.” message is printed every minute. These logs are information logs, and as such, are displayed if the logging console informational command is configured.
If Ctrl-C is pressed while the FPD upgrade is in progress, the
following warning message is displayed:
FPD upgrade in progress on some hardware,
aborting now is not recommended as it might
cause HW programming failure and result in
RMA of the hardware.
Do you want to continue? [Confirm(y/n)]
If you confirm that you want to abort the FPD upgrade procedure, this message is displayed:
FPD upgrade process has been aborted, please
check the status of the hardware and reissue
the upgrade command if required.
Note
If your card supports multiple FPD images, you can use
the
showfpdpackage admin command to determine what
specific image to upgrade in the
upgradehw-modulefpd command.
Step 5
exit
Example:
RP/0/RSP0/CPU0:router(admin)# exit
Exits administration EXEC mode and returns to EXEC mode.
Use the
showhw-modulefpd to display the current version of FPD images on the SPAs, SIPs and other cards installed on your router.
This command can be used to identify information about FPDs on any
card. If you enter the location of a line card that is not a SPA, the output
displays information about any programmable devices on that line card.
The following example shows how to display FPD compatibility for all
modules in the router:
RP/0/RSP1/CPU0:router# show hw-module fpd location all
Mon Jun 29 05:38:50.332 PST
===================================== ==========================================
Existing Field Programmable Devices
==========================================
HW Current SW Upg/
Location Card Type Version Type Subtype Inst Version Dng?
============ ======================== ======= ==== ======= ==== =========== ====
0/RSP0/CPU0 A9K-RSP-4G 4.8 lc fpga3 0 1.13 No
lc fpga1 0 1.5 No
lc fpga2 0 1.14 No
lc cbc 0 1.2 No
lc fpga4 0 1.6 No
lc rommon 0 1.0 No
--------------------------------------------------------------------------------
0/RSP0/CPU0 ASR-9010-FAN 1.0 lc cbc 1 4.0 No
--------------------------------------------------------------------------------
0/RSP0/CPU0 ASR-9010-FAN 1.0 lc cbc 2 4.0 No
--------------------------------------------------------------------------------
0/1/CPU0 A9K-40GE-B 1.0 lc fpga1 0 0.38 No
lc fpga2 0 0.8 No
lc cbc 0 2.2 No
lc cpld1 0 0.15 No
lc rommon 0 1.0 No
--------------------------------------------------------------------------------
0/1/CPU0 A9K-40GE-B 1.0 lc fpga1 1 0.38 No
--------------------------------------------------------------------------------
0/4/CPU0 A9K-8T/4-B 1.0 lc fpga1 0 0.38 No
lc fpga2 0 0.10 No
lc cbc 0 2.2 No
lc cpld2 0 0.7 No
lc cpld1 0 0.15 No
lc cpld3 0 0.3 No
lc rommon 0 1.0 No
lc fpga3 0 14.42 No
--------------------------------------------------------------------------------
0/4/CPU0 A9K-8T/4-B 1.0 lc fpga1 1 0.38 No
--------------------------------------------------------------------------------
0/6/CPU0 A9K-4T-B 1.0 lc fpga1 0 0.38 No
lc fpga2 0 0.10 No
lc cbc 0 2.2 No
lc cpld2 0 0.7 No
lc cpld1 0 0.15 No
lc cpld3 0 0.3 No
lc rommon 0 1.0 No
lc fpga3 0 14.42 No
--------------------------------------------------------------------------------
0/6/CPU0 A9K-4T-B 1.0 lc fpga1 1 0.38 No
--------------------------------------------------------------------------------
The following example shows how to display FPD compatibility for a specific
module in the router:
RP/0/RSP1/CPU0:router# show hw-module fpd location 0/4/cpu0
Thu Nov 19 21:43:49.599 UTC
===================================== ==========================================
Existing Field Programmable Devices
==========================================
HW Current SW Upg/
Location Card Type Version Type Subtype Inst Version Dng?
============ ======================== ======= ==== ======= ==== =========== ====
0/4/CPU0 A9K-SIP-700 1.13 lc fpga1 0 0.22 No
lc cbc 0 3.03 No
lc hsbi 0 3.00 No
lc rommon 0 1.02 No
lc fpga2 0 5.14 No
lc cpld1 0 0.14 No
--------------------------------------------------------------------------------
Table 2 show hw-module fpd Field Descriptions
Field
Description
Location
Location of the module in the
rack/slot/module
notation.
Card Type
Module part number.
HW Version
Hardware model version for the module.
Type
Hardware type. Can be one of the following types:
spa—Shared port
adapter
lc—Line card
Subtype
FPD type. Can be one of the following types:
fabldr—Fabric
downloader
fpga1—Field-programmable gate array
fpga2—Field-programmable gate array 2
fpga3—Field-programmable gate array 3
fpga4—Field-programmable gate array 4
fpga5—Field-programmable gate array 5
rommonA—Read-only
memory monitor A
rommon—Read-only
memory monitor B
Inst
FPD instance. The FPD instance uniquely identifies an FPD and
is used by the FPD process to register an FPD.
Current SW Version
Currently running FPD image version.
Upg/Dng?
Specifies whether an FPD upgrade or downgrade is required. A
downgrade is required in rare cases when the version of the FPD image has
a higher major revision than the version of the FPD image in the current
Cisco IOS XR software package.
show fpd package Command Output: Example
Use the
showfpdpackage command in administration EXEC mode to
find out which SPAs and SIPs are supported with your current
Cisco IOS XR software release,
which FPD image package you need for each SPA or SIP, and what the minimum
hardware requirements are for each module. If multiple FPD images are available
for your card, they are listed as Subtype fpga2, fpga3, and so on.
The following example shows sample output from the
showfpdpackage command:
This table describes the significant fields shown in the display:
Table 3 show fpd package Field Descriptions
Field
Description
Card Type
Module part number.
FPD Description
Description of all FPD images available for the SPA.
Type
Hardware type. Possible types can be:
spa—Shared port
adapter
lc—Line card
Subtype
FPD subtype. These values are used in the
upgradehw-modulefpd command to indicate a specific FPD image type to
upgrade.
SW Version
FPD software version recommended for the associated module
running the current
Cisco IOS XR software.
Min Req SW Vers
Minimum required FPD
image software version to operate the card. Version 0.0 indicates that a minimum required image was not programmed into the card.
Min Req HW Vers
Minimum required hardware version for the associated FPD
image. A minimum hardware requirement of version 0.0 indicates that all
hardware can support this FPD image version.
Note
In the
showfpdpackage command output, the
“subtype” column shows the FPDs that correspond with each SPA
image. To upgrade a specific FPD with the
upgradehw-modulefpd command, replace the
fpga-type
argument with the appropriate FPD from the
“subtype” column, as shown in the following example:
Use the upgradehw-modulefpd command to upgrade the FPD image on a SPA, SIP or line card.
RP/0/RSP0/CPU0:router# admin
RP/0/RSP0/CPU0:router(admin)# upgrade hw-module fpd fpga location 0/1/cpu0
Mon Jan 12 05:44:37.611 PST
% RELOAD REMINDER: - The upgrade operation of the target module will not interrupt its normal
operation. However, for the changes to take effect, the target module
will need to be manually reloaded after the upgrade operation. This can
be accomplished with the use of "hw-module <target> reload" command.
- If automatic reload operation is desired after the upgrade, please use
the "reload" option at the end of the upgrade command.
- The output of "show hw-module fpd location" command will not display
correct version information after the upgrade if the target module is
not reloaded.
Continue? [confirm] y
Starting the upgrade/download of following FPD:
=========== ==== ======= ======= =========== =========
Current Upg/Dng
Location Type Subtype Upg/Dng Version Version
=========== ==== ======= ======= =========== =========
0/1/CPU0 lc fpga upg 0.40 0.40
------------------------------------------------------
LC/0/1/CPU0:Jan 12 05:44:43.700 : lc_fpd_upgrade[192]: %PLATFORM-UPGRADE_FPD-6-START :
Starting to upgrade fpga subtype image from 0.4 to 0.4 for for this card on location 0/1/CPU0
SP/0/1/SP:Jan 12 05:44:41.150 : upgrade_daemon[280]: programming...with file
/net/node0_RP1_CPU0/disk0:/asr9k-fpd-3.9.0.25I/fpd/ucode/fpga_jacket_hw80_sw0.4.xsvf
LC/0/1/CPU0:Jan 12 05:44:42.990 : fabricq_mgr[152]: EES:Internal clock detect IDLE
period(-106461) more than threshold(1200000)
LC/0/1/CPU0:Jan 12 05:44:42.990 : ingressq[179]: EES:Internal clock detect IDLE
period(-106461) more than threshold(1200000)
LC/0/1/CPU0:Jan 12 05:45:09.240 : fabricq_mgr[152]: EES:Internal clock detect IDLE
period(-105945) more than threshold(1200000)
LC/0/1/CPU0:Jan 12 05:45:09.241 : ingressq[179]: EES:Internal clock detect IDLE
period(-105944) more than threshold(1200000)
SP/0/1/SP:Jan 12 05:45:16.020 : upgrade_daemon[280]: ...programming...
SP/0/1/SP:Jan 12 05:45:16.034 : upgrade_daemon[280]: ...it will take a while...
SP/0/1/SP:Jan 12 05:45:16.053 : upgrade_daemon[280]: ...it will take a while...
SP/0/1/SP:Jan 12 05:47:42.967 : upgrade_daemon[280]: ...programming...
SP/0/1/SP:Jan 12 05:47:42.981 : upgrade_daemon[280]: ...it will take a while...
% SLC/0/1/CPU0:Jan 12 05:48:08.737 : lc_fpd_upgrade[192]: %PLATFORM-UPGRADE_FPD-6-PASSED :
Successfully upgrade fpga subtype image for for this card on location 0/1/CPU0
show platform Command Output: Example
Use the showplatform command to verify that the SPA is up and running.
RP/0/RSP0/CPU0:router# show platform
Sat Jul 25 12:26:38.905 DST
Node Type State Config State
-----------------------------------------------------------------------------
0/RSP0/CPU0 A9K-RSP-4G(Active) IOS XR RUN PWR,NSHUT,MON
0/FT0/SP FAN TRAY READY
0/FT1/SP FAN TRAY READY
0/1/CPU0 A9K-40GE-B IOS XR RUN PWR,NSHUT,MON
0/4/CPU0 A9K-8T/4-B IOS XR RUN PWR,NSHUT,MON
0/6/CPU0 A9K-4T-B IOS XR RUN PWR,NSHUT,MON
0/PM0/SP A9K-3KW-AC READY PWR,NSHUT,MON
0/PM1/SP A9K-3KW-AC READY PWR,NSHUT,MON
0/PM2/SP A9K-3KW-AC READY PWR,NSHUT,MON
Troubleshooting Problems with FPD Image Upgrades
This section contains information to help troubleshoot problems that can occur during the upgrade process.
Power Failure or Removal of a SPA During an FPD Image Upgrade
If the FPD upgrade operation is interrupted by a power failure or the removal of the
SPA, it could corrupt the FPD image. This corruption of the FPD image file makes the
SPA unusable by the router and the system displays the following messages when it tries to power up the SPA. When it cannot successfully power up the SPA, it places it in the failed state, as shown in the following example:
LC/0/3/CPU0:Feb 4 08:23:16.672 : spa_192_jacket[188]: %L2-SPA-5-OIR_INSERTED : SPA discovered in bay 0
LC/0/3/CPU0:Feb 4 08:23:23.349 : spa_192_jacket[188]: %L2-SPA-5-OIR_ERROR : SPA (0): An error occurred (0x1002), error recovery action: reset SPA
LC/0/3/CPU0:Feb 4 08:23:26.431 : spa_192_jacket[188]: %L2-SPA-5-OIR_INSERTED : SPA discovered in bay 0
LC/0/3/CPU0:Feb 4 08:23:32.593 : spa_192_jacket[188]: %L2-SPA-5-OIR_ERROR : SPA (0): Too many retries, error recovery stopped
LC/0/3/CPU0:Feb 4 08:23:32.593 : spa_192_jacket[188]: %L2-SPA-5-OIR_ERROR : SPA (0): An error occurred (0x1002), error recovery action: hold SPA in reset
When a SPA is in the failed state, it may not register itself with the FPD upgrade mechanism. In this case, you do not see the SPA listed when you use the showhw-modulefpd command. To verify the state of a SPA, use the showhw-modulesubsloterror command and the showhw-modulesubslotstatus command.
Performing a SPA FPD Recovery Upgrade
To recover a SPA from the failed state because of a corrupted FPD image,
you must manually shut down the SPA. Use the
hw-modulesubslot
subslot-idshutdown
command in global configuration mode to administratively shutdown
the SPA. After the SPA is shut down, you can use the
upgradehw-modulefpd command in administration EXEC mode:
If a SIP upgrade fails for whatever
reason, do not reload the SIP. Try to perform the upgrade procedure again. You
can perform the upgrade procedure multiple times, as long as you do not reload
the SIP. The FPD upgrade procedure takes several minutes to complete; do not
interrupt the procedure. If you reload the SIP when the FPD image is corrupted,
the SIP malfunctions and you must contact Cisco technical support for
assistance.
To recover a SIP from the failed state because of a corrupted FPD image,
you must contact Cisco technical support.
To recover a SIP from the failed state because of a corrupted FPD image,
you must turn off the automatic reset of the SIP card. Use the
hw-moduleresetautodisable command in administration configuration mode, as shown in the
following example:
RP/0/RSP0/CPU0:router(admin-config)# hw-module reset auto disable location 0/1/4
Additional References
The following sections provide references related to FPD software
upgrade.
Related Documents
Related Topic
Document Title
Cisco IOS XR command master list
Cisco ASR 9000 Series Aggregation Services Router
Commands Master List
Cisco IOS XR FPD upgrade-related commands
Cisco ASR 9000 Series Aggregation
Services Router System Management Command Reference
Initial system bootup and configuration information for a
router using the Cisco IOS XR Software.
Cisco ASR 9000 Series Aggregation Services Router
Getting Started Guide
Information about user groups and task IDs
Configuring AAA Services on
the Cisco ASR 9000 Series Router
module of
Cisco ASR 9000 Series Aggregation
Services Router System Security Configuration Guide
Standards
Standards
Title
No new or modified standards are supported by this feature,
and support for existing standards has not been modified by this feature.
No new or modified RFCs are supported by this feature, and
support for existing RFCs has not been modified by this feature.
—
Technical Assistance
Description
Link
The Cisco Technical Support website contains thousands of
pages of searchable technical content, including links to products,
technologies, solutions, technical tips, and tools. Registered Cisco.com users
can log in from this page to access even more content.