Upgrading Field-Programmable Device

An FPD is a field programmable logic device which contains non-volatile, re-programmable memory to define its internal wiring and functionality. The contents of this non-volatile memory are called the FPD image or FPD firmware. Over the lifespan of an FPD, FPD firmware images may need upgrades for bug fixes or functionality improvements. These upgrades are performed in the field with minimum system impact.

Prerequisites for FPD Image Upgrades

You must install the FPD pie before you install the SMUs or Service Packs. If you install the SMU or Service Packs before the FPD pie, the FPDs on the line card may not upgrade. In such cases, you must remove the SMUs and Service Packs and reload the router.

Overview of FPD Image Upgrade Support

An FPD image is used to upgrade the software on an FPD.

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.


Note

It is mandatory to upgrade all the required FPDs before doing a reload when you are upgrading FPDs on line cards. This is because, partial FPD component upgrades might result in booting errors (in some cases).


FPD upgrade service

The main tasks of the FPD upgrade service are:

  • Check FPD image version to decide if a specific firmware image needs an upgrade or not.

  • Manual FPD Image Upgrade using the upgrade hw-module fpd command.

  • Invoke the appropriate device driver with a name of the new image to load.

An FPD image package is used to upgrade FPD images. The install activate command is used to place the FPD binary files into the expected location on the boot devices.

Supported Upgrade Methods

Method

Remarks

Manual Upgrade

Upgrade using CLI, force upgrade supported.

Determining Upgrade Requirement

Use the show hw-module fpd command to determine if an FPD upgrade is required. Check for NEED UPGD in the Status column.

Use the show fpd package command to find out which FPGAs are supported with your current software release and minimum hardware requirements for each module.

Manual FPD upgrade

Manual FPD upgrade is performed using the upgrade hw-module fpd command. All cards or all of FPGA in a card can be upgraded. If reload is required to activate FPD , the upgrade should be complete. Line-cards, fabric cards and RP cards cannot be reloaded during the process of the FPD upgrade.

FPD upgrade is transaction-based:

  • Each fpd upgrade cli execution is one transaction

  • Only one transaction is allowed at any given time

  • One transaction may include one or many FPD upgrade(s)

The force option can be used to forcibly upgrade the FPD (regardless of whether it is required or not). It triggers all FPDs to be upgraded or downgraded. The force option can also be used to downgrade or upgrade the FPGAs even after the version check.


Note

In some cases, FPDs can have primary and backup images.


How to Upgrade FPD Images

You must determine if an FPD image upgrade is needed using the show hw-module fpd command and perform the upgrade, if needed, under the following circumstances:

  • Migrate the software to a later Cisco IOS XR software release.

  • Swap SPAs or SIPs from a system running a different Cisco IOS XR software release.

  • 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 FPD upgrade is not recommended except under explicit direction from Cisco engineering or TAC.


Before you begin
  • 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-module reload 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-module fpd command to determine if the FPD image on the card is compatible with the currently running Cisco IOS XR software release.

Configuration Examples for FPD Image Upgrade

The following examples indicates the use of commands associated with the FPD image upgrade procedure.

show fpd package Command Output: Example

Use the show fpd package command in System Admin 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.


Note

The FPD name used in the FPD Description column of the output of the show fpd package command includes the last ten characters of DCO-PID. Depending on the slot and port numbers, the FPD name is appended with DCO_0, DCO_1, or DCO_2. For example, the FPD names for CFP2-WDM-D-1HL in port 0 and port 1 are -WDM-D-1HL_DCO_0 and WDM-D-1HL_DCO_1 respectively.


The following example shows sample output from the show fpd package command:

show fpd package
Tue Jan 22 13:56:00.212 UTC
 
=============================== ================================================
                                        Field Programmable Device Package
                                ================================================
                                               Req     SW      Min Req   Min Req
Card Type            FPD Description           Reload  Ver     SW Ver  Board Ver
=================== ========================== ====== ======= ======== =========
--------------------------------------------------------------------------------
NC55-1200W-ACFW      LIT-PriMCU-ACFW(A)         NO      2.09    2.09    0.0 
--------------------------------------------------------------------------------
NC55-900W-ACFW-I     LIT-PriMCU-ACFW-I(A)       NO      1.04    1.04    0.0 
--------------------------------------------------------------------------------
NC55-900W-DCFW-I     LIT-PriMCU-DCFW-I(A)       NO      2.260   2.260   0.0 
--------------------------------------------------------------------------------
NC55-930W-DCFW-C     LIT-PriMCU-DCFW-C(A)       NO      2.259   2.259   0.0 
--------------------------------------------------------------------------------
NC55-MPA-12T-S       MPAFPGA                    YES     0.27    0.27    0.0 
--------------------------------------------------------------------------------
NC55-MPA-1TH2H-S     -WDM-D-1HL_DCO_2           NO     38.518  38.518   0.1 
                     MPAFPGA                    YES     0.53    0.53    0.0 
                     WDM-DE-1HL_DCO_2           NO     38.518  38.518   0.1 
                     WDM-DS-1HL_DCO_2           NO     38.268  38.268   0.1 
--------------------------------------------------------------------------------
NC55-MPA-2TH-HX-S    -WDM-D-1HL_DCO_0           NO     38.518  38.518   0.1 
                     -WDM-D-1HL_DCO_1           NO     38.518  38.518   0.1 
                     MPAFPGA                    YES     0.53    0.53    0.0 
                     WDM-DE-1HL_DCO_0           NO     38.518  38.518   0.1 
                     WDM-DE-1HL_DCO_1           NO     38.518  38.518   0.1 
                     WDM-DS-1HL_DCO_0           NO     38.268  38.268   0.1 
                     WDM-DS-1HL_DCO_1           NO     38.268  38.268   0.1 
--------------------------------------------------------------------------------
NC55-MPA-2TH-S       -WDM-D-1HL_DCO_0           NO     38.518  38.518   0.1 
                     -WDM-D-1HL_DCO_1           NO     38.518  38.518   0.1 
                     MPAFPGA                    YES     0.53    0.53    0.0 
                     WDM-DE-1HL_DCO_0           NO     38.518  38.518   0.1 
                     WDM-DE-1HL_DCO_1           NO     38.518  38.518   0.1 
                     WDM-DS-1HL_DCO_0           NO     38.268  38.268   0.1 
                     WDM-DS-1HL_DCO_1           NO     38.268  38.268   0.1 
--------------------------------------------------------------------------------
NC55-MPA-4H-HD-S     MPAFPGA                    YES     0.53    0.53    0.0 
--------------------------------------------------------------------------------
NC55-MPA-4H-HX-S     MPAFPGA                    YES     0.53    0.53    0.0 
--------------------------------------------------------------------------------
NC55-MPA-4H-S        MPAFPGA                    YES     0.53    0.53    0.0 
--------------------------------------------------------------------------------
NC55A2-MOD-SE-H-S    Bootloader(A)              YES     1.11    1.11    0.0 
                     CPU-IOFPGA(A)              YES     1.18    1.18    0.1 
                     MB-IOFPGA(A)               YES     0.18    0.18    0.1 
                     MB-MIFPGA                  YES     0.19    0.19    0.0 
                     SATA(A)                    NO      5.00    5.00    0.0 
--------------------------------------------------------------------------------
NCS-55A2-MOD-HD-S    Bootloader(A)              YES     1.11    1.11    0.0 
                     CPU-IOFPGA(A)              YES     1.18    1.18    0.1 
                     MB-IOFPGA(A)               YES     0.18    0.18    0.1 
                     MB-MIFPGA                  YES     0.19    0.19    0.0 
                     SATA(A)                    NO      5.00    5.00    0.0 
--------------------------------------------------------------------------------
NCS-55A2-MOD-HX-S    Bootloader(A)              YES     1.11    1.11    0.0 
                     CPU-IOFPGA(A)              YES     1.18    1.18    0.1 
                     MB-IOFPGA(A)               YES     0.18    0.18    0.1 
                     MB-MIFPGA                  YES     0.19    0.19    0.0 
                     SATA(A)                    NO      5.00    5.00    0.0 
--------------------------------------------------------------------------------
NCS-55A2-MOD-S       Bootloader(A)              YES     1.11    1.11    0.0 
                     CPU-IOFPGA(A)              YES     1.18    1.18    0.1 
                     MB-IOFPGA(A)               YES     0.18    0.18    0.1 
                     MB-MIFPGA                  YES     0.19    0.19    0.0 
                     SATA(A)                    NO      5.00    5.00    0.0 
--------------------------------------------------------------------------------
NCS-55A2-MOD-SE-S    Bootloader(A)              YES     1.11    1.11    0.0 
                     CPU-IOFPGA(A)              YES     1.18    1.18    0.1 
                     MB-IOFPGA(A)               YES     0.18    0.18    0.1 
                     MB-MIFPGA                  YES     0.19    0.19    0.0 
                     SATA(A)                    NO      5.00    5.00    0.0 
                     STATSFPGA                  YES     0.01    0.01    0.0

This table describes the significant fields shown in the display:

Table 1. 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 upgrade hw-module fpd 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.

upgrade hw-module fpd Command Output: Example

Use the upgrade hw-module fpd command to upgrade the FPD image on a SPA, SIP or line card.

show platform Command Output: Example

Use the show platform command to verify that the SPA is up and running.