cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
5542
Views
0
Helpful
5
Comments
Bryan Garland
Cisco Employee
Cisco Employee

 

 

FPD 101 for the ASR9k

The purpose of this document is to give guidance and explain how the FPD process works for the ASR9k platform.

 

Basics about FPDs

Field-programmable devices (FPDs) are hardware devices implemented on the router linecards that support separate software upgrades. An FPD image package is used to upgrade FPD images.  All linecards usually have multiple FPDs that can be upgraded.  It's important to make sure the FPDs are upgraded for the current running release.  This upgrade fixes bugs as well as enables newer features/enhancements.  

 

Upgrading FPDs

Now when it comes to upgrading FPDs there are a couple of ways.  There is a manual way to upgrade the FPDs on a per location or all locations through the CLI.  There is also a configuration knob to allow the FPDs to get upgraded during a code upgrade.  When upgrading FPDs, most require a reload of the linecard for the new image to take affect.  

Upgrading FPDs Manually

You can see which FPDs need upgraded with the command "admin show hw-module fpd location all".  Take the below output as an example.  It will list all the locations and identify which ones need upgraded, if any.  Now this should also be done if a new card is inserted or a card is replaced due to RMA as well.  One thing to note.  There is no need to downgrade FPDs.  FPDs are backward compatible so there is no need to downgrade the FPDs.  In fact as of 5.3.2 we no longer report "yes" in the below output if a card is higher version than the running code.  

 

RP/0/RSP0/CPU0:ASR9010-B#admin show hw-module fpd location all
Thu Sep 8 05:19:35.074 EST

===================================== ==========================================
Existing Field Programmable Devices
==========================================
HW Current SW Upg/
Location Card Type Version Type Subtype Inst Version Dng?
============ ======================== ======= ==== ======= ==== =========== ====
0/RSP0/CPU0 A9K-RSP880-SE 1.0 lc cbc 0 34.38 No
lc rommon 0 10.48 No
lc fpga2 0 0.40 No
lc fsbl 0 1.80 No
lc lnxfw 0 1.80 No
lc fpga3 0 0.10 No
lc fpga4 0 0.11 No
lc fpga5 0 0.08 No
lc fpga6 0 0.04 No
--------------------------------------------------------------------------------
0/FT0/SP ASR-9010-FAN-V2 1.0 ft cbc 7 29.11 No
--------------------------------------------------------------------------------
0/FT1/SP ASR-9010-FAN-V2 1.0 ft cbc 8 29.11 No
--------------------------------------------------------------------------------
0/PM0/0/SP PWR-6KW-AC-V3 1.0 pm fpga11 13 4.01^ No
pm fpga12 13 4.00^ No
pm fpga13 13 4.01^ No
--------------------------------------------------------------------------------
0/PM0/1/SP PWR-6KW-AC-V3 1.0 pm fpga11 14 4.01^ No
pm fpga12 14 4.00^ No
pm fpga13 14 4.01^ No
--------------------------------------------------------------------------------
0/PM0/2/SP PWR-6KW-AC-V3 1.0 pm fpga11 15 4.01^ No
pm fpga12 15 4.00^ No
pm fpga13 15 4.01^ No
--------------------------------------------------------------------------------
0/PM1/0/SP PWR-6KW-AC-V3 1.0 pm fpga11 17 4.01^ No
pm fpga12 17 4.00^ No
pm fpga13 17 4.01^ No
--------------------------------------------------------------------------------
0/PM1/1/SP PWR-6KW-AC-V3 1.0 pm fpga11 18 4.01^ No
pm fpga12 18 4.00^ No
pm fpga13 18 4.01^ No
--------------------------------------------------------------------------------
0/PM1/2/SP PWR-6KW-AC-V3 1.0 pm fpga11 19 4.01^ No
pm fpga12 19 4.00^ No
pm fpga13 19 4.01^ No
--------------------------------------------------------------------------------
0/RSP1/CPU0 A9K-RSP880-SE 1.0 lc cbc 0 34.38 No
lc rommon 0 10.48 No
lc fpga2 0 0.40 No
lc fsbl 0 1.80 No
lc lnxfw 0 1.80 No
lc fpga3 0 0.10 No
lc fpga4 0 0.11 No
lc fpga5 0 0.08 No
lc fpga6 0 0.04 No
--------------------------------------------------------------------------------
0/0/CPU0 A9K-8X100GE-SE 1.0 lc cbc 0 38.20 No
lc rommon 0 8.30 No
lc fpga2 0 1.20 Yes
lc fsbl 0 1.11 Yes
lc lnxfw 0 1.11 Yes
lc fpga3 0 1.03 No
lc fpga4 0 1.04 Yes
--------------------------------------------------------------------------------
0/0/CPU0 A9K-8X100GE-SE 1.0 lc fpga3 1 1.03 No
--------------------------------------------------------------------------------
NOTES:
1. One or more FPD needs an upgrade. This can be accomplished
using the "admin> upgrade hw-module fpd <fpd> location <loc>" CLI.
2. ^ One or more FPD will be intentionally skipped from upgrade using CLI with option "all" or during "Auto fpd".
It can be upgraded only using the "admin> upgrade hw-module fpd <fpd> location <loc>" CLI with exact location.
RP/0/RSP0/CPU0:ASR9010-B#

So in the above example we can see there is a linecard that needs upgraded.  To perform that upgrade manually, you would use the command "admin upgrade hw-module fpd all location 0/0/CPU0".  This will take some time and will need to be reloaded after the upgrade is complete.  

 

RP/0/RSP0/CPU0:ASR9010-B#admin upgrade hw-module fpd all location 0/0/CPU0
Thu Sep 8 05:29:07.378 EST

***** UPGRADE WARNING MESSAGE: *****
* This upgrade operation has a maximum timout of 160 minutes. *
* If you are executing the cmd for one specific location and *
* card in that location reloads or goes down for some reason *
* you can press CTRL-C to get back the RP's prompt. *
* If you are executing the cmd for _all_ locations and a node *
* reloads or is down please allow other nodes to finish the *
* upgrade process before pressing CTRL-C. *

% 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.
NOTE: Chassis CLI will not be accessible while upgrade is in progress.
Continue? [confirm]


FPD upgrade in progress on some hardware, reload/configuration change
on those is not recommended as it might cause HW programming failure
and result in RMA of the hardware.


Starting the upgrade/download of following FPDs:
=========== ==== ======= ======= =========== =========
Current Upg/Dng
Location Type Subtype Upg/Dng Version Version
=========== ==== ======= ======= =========== =========
0/0/CPU0 lc fpga2 upg 1.20 1.76
lc fsbl upg 1.11 1.78
lc lnxfw upg 1.11 1.78
lc fpga4 upg 1.04 1.06
------------------------------------------------------
FPD upgrade in progress. Max timeout remaining 89 min.
FPD upgrade in progress. Max timeout remaining 88 min.
FPD upgrade in progress. Max timeout remaining 87 min.
FPD upgrade in progress. Max timeout remaining 86 min.
FPD upgrade in progress. Max timeout remaining 85 min.
FPD upgrade in progress. Max timeout remaining 84 min.
FPD upgrade in progress. Max timeout remaining 83 min.
FPD upgrade in progress. Max timeout remaining 82 min.
FPD upgrade in progress. Max timeout remaining 81 min.
FPD upgrade in progress. Max timeout remaining 80 min.
FPD upgrade in progress. Max timeout remaining 79 min.
FPD upgrade in progress. Max timeout remaining 78 min.
FPD upgrade in progress. Max timeout remaining 77 min.
FPD upgrade in progress. Max timeout remaining 76 min.
FPD upgrade in progress. Max timeout remaining 75 min.
FPD upgrade in progress. Max timeout remaining 74 min.
FPD upgrade in progress. Max timeout remaining 73 min.
FPD upgrade in progress. Max timeout remaining 72 min.
FPD upgrade in progress. Max timeout remaining 71 min.
Successfully upgraded fpga2 for A9K-8X100GE-SE on location 0/0/CPU0 from 1.20 to 1.76
Successfully upgraded fsbl for A9K-8X100GE-SE on location 0/0/CPU0 from 1.11 to 1.78
Successfully upgraded lnxfw for A9K-8X100GE-SE on location 0/0/CPU0 from 1.11 to 1.78
Successfully upgraded fpga4 for A9K-8X100GE-SE on location 0/0/CPU0 from 1.04 to 1.06


FPD upgrade has ended.

Upgrading FPDs with fpd auto-upgrade

FPDs can be upgraded automatically during the activation phase of the IOS-XR code upgrade process.  The configuration is an Admin level config.

 

RP/0/RSP0/CPU0:ASR9010-B#admin show run
Thu Sep 8 06:06:03.175 EST
Building configuration...
!! IOS XR Admin Configuration 5.3.3
username root
group root-system
secret 5 xxxxxxxxxxxxxxxxxx
!
fpd auto-upgrade
end

 

FPD auto-upgrade guidelines

If you are upgrading from a code of 5.3.0 through 5.3.3 then it is recommended to not use auto-fpd upgrade.  The reason for this is the longer upgrade times that tomahawk cards take to upgrade.  There is a high probability that the FPD upgrades will timeout due to the 90 minute timer and there will be cards that won't get upgraded before the activation of the new code and system reload.  This will potentially leave some cards upgraded and some not upgraded once the system comes back up after the upgrade.  Which would still require manual upgrades.  So to simplify the upgrade process and avoid the if/thens we recommend doing the FPD upgrades manually after the code upgrade.  Now if you have upgraded to 5.3.3 or higher, there have also been some FPD improvements to help shorten the upgrade times.  So after the upgrade and doing it manually should be quicker as well even though it will require a second system reload.  

If you are upgrading from code earlier than 5.3.0 then the use of FPD auto-upgrade is fine to use.  

 

Use of the "force" option with FPD upgrades

RP/0/RSP0/CPU0:ASR9010-D#admin upgrade hw-module fpd all ?
force Skip version check and force an upgrade
location Specify a location

The force option bypasses the version check and takes the FPD binary and copies it into the FPD memory space.  This should never be done except explicitly directed to do so.  If the FPD binary is corrupted or the wrong binary it can lead to a dead card which would need RMAed.  

Comments
adorins
Level 1
Level 1

Hi,

I made an IOS upgrade for asr9010 chassis from 5.1.3 to 5.3.4. (without auto fpd-upgrade). After chassis come up I found that some of cards need a fpd to be upgraded, I done this manually. Upgrade ended successfully but command "show hw-module fpd location all" still shows that same fpds still need to be upgraded.

Questions:

1) Must I reload a router again after fpd upgrade is done? Ok, I missed a reload reminder shown during upgrade process.

2) Until reloaded router will continue to work with old fpd versions? How long it can work on such situation? I need a time to schedule next MW to reload router again to use new fpd versions

Thanks

 

smailmilak
Level 4
Level 4

Hi,

You can reload LC by LC, standby RSP and then do a RSP switchover so that you can reload the other RSP.

Regarding fpd, I had once an issue with ISM-100 module because fpd was not upgraded. It was nothing serious, though.

Bryan Garland
Cisco Employee
Cisco Employee

That's correct.  Unfortunately most FPDs require a reload for the newer version to take affect.  smailmilak does mention a good way to limit the impact if you don't want to reload the entire router again.  

As mentioned in the first part of the doc it is very important to have your FPDs at least up to the level for the code you are running.  If not, there are chances for feature impact or known bugs.  

The advantage of auto fdp-upgrade is it upgrades the FPDs before the reload from the install activate so only 1 reload.  That will be what's recommend from 534 going forward.  

James Jun
Level 1
Level 1

Hello,

 

Tomahawk line cards are advertised to have "hitless FPD upgrade" capability.  Does this mean after I upgrade FPD on a Tomahawk, I don't have to reload that line card (where as on Typhoon you have to)? 

 

James

Jon Berres
Level 4
Level 4

Hey @Bryan Garland 

 

Can you confirm if it is expected then for FPD upgrades to timeout on an upgrade from 5.3.4 to 6.4.x or 6.5.x? We recently had an upgrade with auto fpd enabled that timed out after 90 minutes and required manual upgrade and LC reloads. 

 

 

0/RSP0/CPU0 A9K-RSP880-TR(Standby) IOS XR RUN PWR,NSHUT,MON
0/RSP1/CPU0 A9K-RSP880-TR(Active) IOS XR RUN PWR,NSHUT,MON
0/0/CPU0 A9K-MOD80-SE IOS XR RUN PWR,NSHUT,MON
0/0/0 A9K-MPA-4X10GE OK PWR,NSHUT,MON
0/0/1 A9K-MPA-4X10GE OK PWR,NSHUT,MON
0/1/CPU0 A9K-8X100GE-CM IOS XR RUN PWR,NSHUT,MON
0/2/CPU0 A9K-8X100GE-CM IOS XR RUN PWR,NSHUT,MON
0/3/CPU0 A9K-24x10GE-TR IOS XR RUN PWR,NSHUT,MON

 

 

RP/0/RSP0/CPU0:Jun 13 01:33:58 : firmware_manager[236]: %PLATFORM-UPGRADE_FPD-6-STATUS : FPD upgrade in progress. Max timeout remaining 1 min.

RP/0/RSP0/CPU0:Jun 13 01:34:58 : firmware_manager[236]: %PLATFORM-UPGRADE_FPD-6-STATUS : FPD upgrade in progress. Max timeout remaining 0 min.

RP/0/RSP0/CPU0:Jun 13 01:34:58 : firmware_manager[236]: %PLATFORM-UPGRADE_FPD-4-WARNING : A Warning message while doing fpd_upgrade: FPD upgrade has exceeded the maximum time window, the process will terminate now. Please check the status of the hardware and reissue the upgrade command if required.

RP/0/RSP0/CPU0:Jun 13 01:34:58 : firmware_manager[236]: %PLATFORM-UPGRADE_FPD-3-GENERIC_FPD_ERROR : ERROR occured while FPD upgrade: FPD upgrade failed to receive reply from 0/RSP0/CPU0

RP/0/RSP0/CPU0:Jun 13 01:35:00 : instdir[254]: %INSTALL-INSTMGR-4-INSTALL_OPERATION_WARNING : A warning occurred during install operation 19. See 'show install log 19 detail' for more information.

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community:

Quick Links