Firmware ID Management
Change History
| iBMC 4-segment version | Revision Date | Description | Revised By |
|---|---|---|---|
| 2024.3.29 | Added the ComponentIDEx rule definition. | Liu Xingsen 00583113 | |
| 2024.3.29 | The following FPGA firmware upgrade types are added to ComponentIDEx: FPGA JTAG loading: 0x05000001 FPGA parallel port loading: 0x05000002 0x17000001: HDU power upgrade | Liu Xingsen 00583113 | |
| 2024.4.27 | Added ComponentIDEx to specify the VRD upgrade scenario. 0x17100001: TCE NP board VRD upgrade 0x17100002: TCE Mesh Board VRD Upgrade | Sun Yuanxing (employee ID: 30024636) | |
| 2024.11.28 | Added ComponentID and ComponentIDEx=0x20 and 0x20090000: switching firmware of partner 09. | Li Kun/00617272 | |
| 5.09.00.01 | 2025.2.11 | The ComponentIDEx = 0x1D000006 is added to optimize the upgrade efficiency of a single HPC server (16 modules). The VRD takes effect in parallel instead of serial mode. (The MCU cache is used to implement parallel VRD taking effect, shortening the service interruption time.) | Lu Jiayao/30067042 |
| 2025.3.6 | The Ascend control plane product alarm is added. PoDManager: 0x14 | Cao Yang, Peng Qiang, Liu Xingsen | |
| 3.20.00.01 | 2025.05.29 | Added the SP686 series firmware of the RAID controller card. | Guan Yongjian 30059065 |
| 5.11.12.01 | 2025/11/19 | The IEU CPLD firmware subtype is added. | Pei Jiacheng 30061709 |
| 5.12.0.1 | 2025/11/21 | The firmware type and subtype of the CPU collection register are added. | Shi Junguo/30038273 |
ComponentIDEx rule definition
| Array | Bit | Function | Description |
|---|---|---|---|
| Highest | bit24-bit31 | ComponentID | See Table 1 |
| - | bit16-bit23 | Product ID. The value 00 is used for the general firmware upgrade solution, and the product ID is used for the dedicated firmware of a specific product. | See Product ID allocation table. |
| - | bit8-bit15 | User-defined | - |
| Lowest | bit0-bit7 | User-defined | - |
Firmware Upgrade Matching Principles
ComponentID and ComponentIDEx are used to match the firmware type.
The board ID and Uid are used to match the hardware type.
In the non-Tianchi architecture, the update.cfg file does not carry the BoardID of the board. You need to use ComponentIDEx to distinguish different hardware types.
Firmware Type is used in Redfish FirmwareInventory in the following scenarios:
Resource Id:
/redfish/v1/UpdateService/FirmwareInventory/<[Position]+[DeviceName]><Firmware Type>. Example:/redfish/v1/UpdateService/FirmwareInventory/BCU1CpuBoard1HWSR.SoftwareId: named in the
<Firmware Type>-xxxformat. Example:CPLD-BC82AMDT.
Table 1 Firmware Upgrade ID Allocation Table (ComponentID and ComponentIDEx)
Note: In the upgrade package update.cfg, ComponentID and ComponentIDEx must be specified in decimal. The table lists both hexadecimal and decimal in the hex=decimal format.
| Firmware Type | ComponentID | ComponentIDEx | Functions |
|---|---|---|---|
| CONFIG | 0x00 | - | Configuration file package support.tar.gz required for the upgrade |
| APP | 0x01 | - | Upgrading the App Zone |
| BIOS | 0x02 | - | BIOS upgrade |
| CFG | 0x03 | - | CFG upgrade |
| UBOOT | 0x04 | - | U-Boot Upgrade |
| CPLD | 0x05 | - | CPLD upgrade. ComponentIDEx is left blank by default; UpdateFileType |
| CPLD | 0x05 | 0x05000001=83886081 | FPGA JTAG loading, for example: Tiangong HPC blade. Hi1711 pass-through JTAG, SVF format |
| CPLD | 0x05 | 0x05000002=83886082 | FPGA parallel port loading, for example: Tiangong management board |
| CPLD | 0x05 | 0x05000003=83886083 | FPGA SFC loading, for example: magneto-electric disk enclosure |
| CPLD_HDD_BACKPLANE | 0x06 | - | Upgrading the CPLD of the Hard Disk Backplane (Front) |
| IPMC/BMC | 0x07 | - | Upgrading the BMC Root File System (cramfs) |
| 2488H_CPU | 0x08 | - | 2488H |
| 8100_CPU | 0x08 | - | 8100 |
| 9032_CPU | 0x08 | - | - |
| 8100_FIO | 0x09 | - | 8100 |
| 9032_FIO | 0x09 | - | 9032 front I/O module |
| ATLAS_NPU_BOARD | 0x09 | - | ID of the CPLD upgrade component on the NPU |
| ATLAS_NPU_BOARD | 0x09 | 0x0F=15 | Extended ID of the NPU CPLD upgrade component (CPLD_NPU_BOARD_IDEX) |
| ATLAS_NPU_BOARD | 0x09 | 0x10=16 | Extended ID of the NPU module CPLD upgrade component (written to all modules synchronously, CPLD_NPU_HAM_IDEX1) |
| ATLAS_NPU_BOARD | 0x09 | 0x11=17 | Extended ID of the NPU module CPLD upgrade component (written to all modules in sequence, CPLD_NPU_HAM_IDEX2) |
| SOC_FW | 0x09 | - | Upgrading the Altas Carrier Module |
| 8100_BIOS | 0x0A=10 | - | 8100 |
| 9032_BIOS | 0x0A=10 | - | - |
| 8100_BIO | 0x0B=11 | - | 8100 |
| LCD | 0x0C=12 | - | LCD upgrade |
| RAID | 0x0D=13 | - | RAID controller card firmware upgrade |
| RAID | 0x0D=13 | 0x0D000001=218103809 | SP686 series firmware |
| FAN | 0x0E=14 | - | Upgrading the FAN |
| 8100_HDD_BACKPLANE_B | 0x0F=15 | - | 8100 |
| 9032_HDD_BACKPLANE_B | 0x0F=15 | - | - |
| RH5885_HDD_BACKPLANE_CD | 0x0F=15 | - | RH5885V3-HV3 |
| Host firmware | 0x10=16 | 0x10000001=268435457 | SP firmware |
| 8100_HDD_BACKPLANE_C | 0x10=16 | - | Discarded (2023/12/6) |
| 9032_HDD_BACKPLANE_C | 0x10=16 | - | - |
| WBD | 0x11=17 | - | White-box package |
| HWSR | 0x11=17 | - | Component Self-Description Record: component self-description record |
| HWSR | 0x11=17 | 0x11000001=285212673 | Reserved |
| HWSR | 0x11=17 | 0x11000002=285212674 | Component driver |
| 9032_BIO | 0x12=18 | - | 9032 rear I/O board |
| RETIMER_FW | 0x13=19 | - | 9032 |
| DFT_MODE | 0x14=20 | - | Upgrades the equipment mode flag, which is used to restore factory settings |
| 8100_HDD_BACKPLANE_D | 0x15=21 | - | 8100 |
| CPLD_HDD_BACKPLANE_EXP | 0x16=22 | - | Extended hard disk backplane |
| PSU | 0x17=23 | 0x17000001=385875969 | HDU firmware of the Tiangong management board |
| PSU | 0x17=23 | 0x17100001=386924545 | TCE NP board VRD upgrade |
| PSU | 0x17=23 | 0x17100002=386924546 | TCE Mesh board VRD upgrade |
| PSU | 0x17=23 | 0x17100003=386924547 | Power brick of the Tiangong management board (local-board IIC upgrade; cross-board network upgrade) |
| CPLD | 0x18=24 | - | Upgrading the CPLD of the Hard Disk Backplane (Built-in and Rear) |
| CPLD | 0x18=24 | 0x8=8 | Expansion board CPLD-0 |
| CPLD | 0x18=24 | 0x9=9 | Expansion board CPLD-1 |
| CPLD | 0x18=24 | 0xA=10 | IEU CPLD |
| CPLD | 0x18=24 | 0xFFFFFFFD=4294967293 | CPLD_HDD_COMPONENT_IDEX |
| IPMC_EXT4 | 0x19=25 | - | Upgrading the BMC Root File System (ext4fs) |
| CPLD_BY_I2C | 0x1A=26 | - | Upgrading the CPLD of the RAID Controller Card (Through I2C) |
| I2C_CPLD | 0x1B=27 | - | - |
| PRR_FW | 0x1C=28 | - | Upgrading the PRR Firmware |
| MCU | 0x1D=29 | 0x0=0 | Board MCU firmware upgrade, including firmware upgraded through the MCU (such as VRD). Updated on 2024.1.9 based on V2/V3 code |
| MCU | 0x1D=29 | 0x1=1 | NPU MCU |
| MCU | 0x1D=29 | Byte3: 0x1=1 | Upgrading NPU firmware through the MCU. Byte 2 to Byte 0: N/A; Smbus channel. For example: Atlas series PCIe cards |
| MCU | 0x1D=29 | Byte3: 0x2=2 | Upgrading ECU firmware through the MCU. Byte 2 to Byte 0: N/A; Mobus channel. For example: RM211 management module |
| MCU | 0x1D=29 | Byte3: 0x3=3 | Upgrading CPLD firmware through the MCU. Byte 2 to Byte 0: N/A; Smbus channel. For example: DPU series cards |
| MCU | 0x1D=29 | Byte3: 0x4=4 | SDI VRD firmware. Byte 2 to Byte 0: N/A |
| MCU | 0x1D=29 | 0x1D000005=486539269 | VDM firmware upgraded through the MCU. For example: basic board |
| MCU | 0x1D=29 | 0x1D000006=486539270 | VRD firmware. Serial activation is optimized to parallel activation (via MCU cache) to shorten service interruption. For example: a single HPC server (16 modules) |
| PUB_FW | 0x1E=30 | - | Shared FRU Upgrade |
| CPLD_182X_EXT_IDEX | 0x0F=15 | - | Computing storage: CPLD upgrade function of the full-width computing extension board; extended ID of the 182X extension board CPLD upgrade |
| EFUSE | 0x1F=31 | - | - |
| NSBoard | 0x20=32 | 0x20090000=537460736 | Switching firmware of partner 09 |
| CollectRegister | 0x21=33 | 0x21000001=553648129 | Collecting CPU register information in firmware management mode |
| Disk | 0x22=34 | 0xFFFFFFFF=4294967295 | Disk firmware. Match the hard disk model using the Model attribute in update.cfg |
| NIC | 0x23=35 | 0x23000001=587202561 | Hi1825 NIC firmware |
| All | 0xFF=255 | 0xFFFFFFFF=4294967295 | Ignore this attribute and match the firmware type in other ways |