Get System Info Parameters
更新时间: 2026/08/06
在Gitcode上查看源码

Get System Info Parameters

Change History

openUBMC VersionRevision DateDescription
25.062025/06/26Initial draft: add command details

Basic Information

Function Description

This command is used to query the third-party information stored on the BMC.

CAUTION: The third-party information is saved only on the BMC. Therefore, ensure that the third-party information is set before querying the third-party information. If the third-party information is directly queried, the query result may not meet the expectation. For details about the command for setting system information, see Set System Info Parameters.

Privilege

ReadOnly

Command Information

Request Information

ByteData Field
NetFnApp 06h
CMD59h
1[7]-0b=get parameter
1b=get parameter revision only
[6:0]-reserved
2Parameter selector
3Set Selector. Selects a given set of parameters under a given Parameter selector value. 00h if parameter doesn't use a Set Selector
4Block Selector (00h if parameter does not require a block number)

Response Information

ByteData Field
1Completion Code.
Generic codes, plus following command-specific completion code(s):
80h=parameter not supported.
C9h=Parameter out of range. One or more parameters in the data field of the Request are out of range.
2[7:0]-Parameter revision.
Format: MSN=present revision. LSN=oldest revision parameter is backward compatible with. 11h for parameters in this specification.
The following data bytes are not returned when the 'get parameter revision only' bit is 1b.
3:NConfiguration parameter data. For details, see Table 1. If the rollback feature is implemented, the BMC makes a copy of the existing parameters when the 'set in progress' state becomes asserted (See the Set In Progress parameter #0). While the 'set in progress' state is active, the BMC will return data from this copy of the parameters, plus any uncommitted changes that were made to the data. Otherwise, the BMC returns parameter data from non-volatile storage.

References

Table 1 System Info Parameters

Parameter selector#DataDescription
Set In Progress (volatile)0data 1 - This parameter is used to indicate when any of the following parameters are being updated, and when the updates are completed. The bit is primarily provided to alert software that some other software or utility is in the process of making changes to the data. An implementation can also elect to provide a 'rollback' feature that uses this information to decide whether to 'roll back' to the previous configuration information, or to accept the configuration change. If used, the roll back shall restore all parameters to their previous state. Otherwise, the change shall take effect when the write occurs.
[7:2] - reserved
[1:0] –
00b = set complete. If a system reset or transition to powered down state occurs while 'set in progress' is active, the BMC will go to the 'set complete' state. If rollback is implemented, going directly to 'set complete' without first doing a 'commit write' will cause any pending write data to be discarded.
01b = set in progress. This flag indicates that some utility or other software is presently doing writes to parameter data. It is a notification flag only, it is not a resource lock. The BMC does not provide any interlock mechanism that would prevent other software from writing parameter data while 'set in progress' value is present on these bits.
10b = commit write (optional). This is only used if a rollback is implemented. The BMC will save the data that has been written since the last time the 'set in progress' and then go to the 'set in progress' state. An error completion code will be returned if this option is not supported.
11b = reserved
-
System Firmware version1System Firmware Version string in text.
System firmware that requires multiple strings to represent version information can separate those strings using 00h as the delimiter for ASCII+LATIN1 and UTF-8 encoded string data, or 0000h for UNICODE encoded string data. For IA32 and EMT64 utilizing non-EFI system firmware, it is recommended that four blocks (64 bytes) of storage be provided. For EFI-based systems, 256 bytes is recommended.
Note: System firmware may optionally include a routine that checks during POST to see if this parameter is up-to-date with the present firmware version, and if not, update it automatically. Other implementations may elect to automatically update this parameter when system firmware updates occur.
data 1 - set selector = 16-byte data block number to access, 0 based. Two data blocks (32-bytes) for string data required, at least three recommended. Number of effective characters will be dependent on the encoding selected in string data byte 1.
data 2:17 - 16-byte block for system firmware name string data For the first block of string data (set selector = 0), the first two bytes indicate the encoding of the string and its overall length as follows: string data byte 1:
[7:4] - reserved
[3:0] - encoding
0h = ASCII+Latin1
1h = UTF-8
2h = UNICODE
all other = reserved.
string data byte 2:
[7:0] - string length (in bytes, 1-based
System name2System Name. A name for the overall system to be associated with the BMC. This may or may not match other names that are used for the system.
data 1 - set selector = 16-byte data block number to access, 0 based. Two data blocks (32-bytes) for string data required, at least three recommended. Number of effective characters will be dependent on the encoding selected in string data byte 1.
data 2:17 - 16-byte block for system name string data
For the first block of string data (set selector = 0), the first two string data bytes indicate the encoding of the string and its overall length as follows. There is no required value to be set or used for any bytes that are past the string length.
string data byte 1:
[7:4] - reserved
[3:0] - encoding
0h = ASCII+Latin1
1h = UTF-8 (ls-byte first)
2h = UNICODE (ls-byte first) all other = reserved
string data byte 2:
[7:0] - string length (in bytes, 1-based)
Primary Operating System Name (non-volatile)3Primary Operating system name. The OS that the system boots to for this BMC according to the default configuration of its system firmware. (Note: in systems that may have multiple physical partitions, this reflects the OS for the partition that the given BMC is in. For systems that have virtual machine capability being utilized [where more than one virtual systems may be sharing a physical BMC], it is recommended that this value hold the name of the virtual machine monitor (VMM) software or VMM type)
data 1 - set selector = 16-byte data block number to access, 0 based. Two data blocks (32-bytes) for string data required, at least three recommended. Number of effective characters will be dependent on the encoding selected in string data byte 1.
data 2:17 - 16-byte block for system name string data
For the first block of string data (set selector = 0), the first two bytes indicate the encoding of the string and its overall length as follows. There is no required value to be set or used for any bytes that are past the string length. string data byte 1:
[7:4] – reserved
[3:0] – encoding
0h = ASCII+Latin1
1h = UTF-8
2h = UNICODE
all other = reserved.
string data byte 2:
[7:0] - string length (in bytes, 1-based)
Operating System Name (volatile)4Present Operating system name. The name of the operating system that is presently running and able to access this BMC's system interface. The BMC automatically clears this value by zeroing out the string length on system power cycles and resets.
(Note: in systems that may have multiple physical partitions, this reflects the OS for the partition that the given BMC is in. For systems that have virtual machine capability being utilized [where more than one virtual systems may be sharing a physical BMC], it is recommended that this value hold the name of the virtual machine monitor (VMM) software or VMM type)
data 1 - set selector = 16-byte data block number to access, 0 based. Two data blocks (32-bytes) for string data required, at least three recommended. Number of effective characters will be dependent on the encoding selected in string data byte 1.
data 2:17 - 16-byte block for system name string data
For the first block of string data (set selector = 1), the first two bytes indicate the encoding of the string and its overall length as follows: string data byte 1:
[7:4] - reserved
[3:0] - encoding
0h = ASCII+Latin1
1h = UTF-8
2h = UNICODE
all other = reserved.
string data byte 2:
[7:0] - string length (in bytes, 1-based)
Present OS Version number5OS version string for the Present Operating system listed in parameter 4. Selector based, same as OS name. Volatile. The BMC automatically clears this value by zeroing out the string length on system power cycles and resets.
BMC URL (optional, if implemented can be r/w or read-only)6URL string of the general form (see [RFC3986]) http(s)😕/<ip>:<port> or http(s)😕/<DNSname>:<port> non-volatile.
Default = NULL string
Base OS/Hypervisor URL For Manageability (optional, if implemented can be r/w or read-only)7URL for Base OS/Hypervisor use to report a management URL string of the general form (see [RFC3986]): http(s)😕/<ip>:<port> or http(s)😕/<DNSname>:<port> Volatile. The BMC automatically clears this value by zeroing out the string length on system power cycles and resets.
PCIe Card InfoC0hdata1: number of PCIe slots on the mainboard
data2-3: PCIe Card1 VID, LSB First. If no card is inserted into the slot, this field is filled with 0xFFFF.
data4-5: PCIe Card1 DID, LSB First. If no card is inserted into the slot, 0xFFFF is filled.
[data6-7]: PCIe Card2 VID, LSB First. This parameter is optional and depends on the number of slots.
[data8-9]: PCIe Card2 DID, LSB First. This parameter is optional and depends on the number of slots.
...
Used for the BIOS to report the PCIe card type to the BMC. The BMC can adjust the physical parameters (such as the SMBUS secondary address and register offset) of the sensor related to the PCIe card based on the PCIe card.
Port TypeC1hdata1-Interface Selector (Set Selector)data2-Port Selector (Block Selector)data3-Port type00h -GE
01h -10GE
02h -40GE
03h-FC
04h-FCoE
data4:8-SerDes parameter
In some products, there is no PHY between the service board and the switch module, and thus negotiation is impossible. In addition, the switch module supports FC and FCoE ports. Therefore, you need to set the port type of the service board based on the switch module through the shelf management module (SMM) to support auto-negotiation when a service board is used with different switch modules. This parameter is used to set the port of the service board.
System InfoC2hdata1-set selector (0 base)data2-17-system informationThe system reports information and saves the information to the BMC. The SM sends the get command to obtain the information. The number of selectors is smaller than 16. The value of the selector number is an integer ranging from 0 to 15. Each selector contains no more than 16 bytes. (The first byte in the first block of the sent message indicates data length, based on which the SM board determines the number of data blocks to be read.)
PCIe Card Width (X)C3hdata1-PCIENUMdata2-PCIE1 device IDdata3-PCIE1 widthdata4-PCIE 2 device IDdata5-PCIE 2 width...
PCIE width:
00h-1X
01h-2X
02h-4X
03h-8X
04h-16X
Other reserved
The sequence of PCIE# is determined by the hardware. Currently, only Huawei -developed daughter cards support this sequence.
The BMC obtains the PCIe card bus width type from the hardware, and the BIOS obtains the type from the BMC for PCIe width negotiation.The BMC returns only the types of installed PCIe cards.
Register-reqC4hSystem software registers to BMC.
data1-The redfish feature supported maskbit[0] is support "Event message subscription"
1: support
0: not support
bit[1:7]: all reserved,default 0x0
data2-softwaretype
0:BMA
1:SP
2:eSight
data3:4-Reserveddata5-Register flag
1- Register
0- Unregister
data6: protocol field
bit[0]: IP protocol type
0: IPv4
1: IPv6
bit[1]: HTTP protocol type
0: HTTP (Note: iBMCBMC 300 5.05.00.02 and later versions do not support the HTTP protocol.)
1: HTTPS
bit[2-4]: Bob channel type
000-veth001-cdev010-usb-linux (Only the 1711 platform is supported.)011: usb-windows (reserved)100: usb-vmware (reserved)
bit[5:7]: all reserved, default 0x0
data7:22-IP Addr: IPv4(byte9~byte12); IPv6 address, MSByte firstdata23:24-Port, MSByte first,Max 31 Bytes. End by null if less than 31 Bytes.
Write-only. The BMA registers with the BMC.
Register-rspC4hdata1-Completion Codedata2- System software IDdata3-IP protocol
0: IPv4
1: IPv6
data4:19-IP Addr: IPv4(byte9~byte12) or IPv6 address, MSByte firstdata20:21-Port, MSByte first
Heart Beat-reqC5hSystem software send heart beat to BMC.
data1-System software IDdata2-System software version-major BCDdata3-System software version-minor BCDdata4-System software version-revision ASCIIdata5-restful state
0-online
1-offline
data6:31-Reseverd
Write-only. The BMC periodically sends heartbeat messages to the BMC.
Heart Beat-rspC5hdata1- Completion Codedata2- BMC state
0-initial
1-running
data3-restful state
0-online
1-offline
PCIe Card BDFC6hdata1 -[7]: End of list.
0=last frame data.
1=middle frame data.
[6:0]: total frame count.
data2: current frame number, starting from 1data3 -PCIe Slot Numbe For This Frame: indicates the number of standard PCIe slots reported by the frame.data4-PCIe Card1 Segment: For a multi-socket server connected through NC, this field indicates the sequence number of an independent unit. For example, if a 32-socket server consists of eight independent physical 4-socket units (the BDFs of PCIe devices in different units may be the same and need to be distinguished), the sequence number ranges from 1 to 8. Otherwise, this field is set to 0.data5-PCIe Card1 CPU Number: ID of the CPU to which the PCIe bus belongs, starting from 0data6: PCIe Card1 Bus Number. If no card is inserted into the slot and the slot is not hot-swappable, 0xFF is filled.data7: PCIe Card1 Device Number. If no card is inserted into the slot and the slot is not hot-swappable, 0xFF is filled.data8-PCIe Card1 Function Number. If no card is inserted into the slot and the slot is not hot-swappable, 0xFF is filled.data9: PCIe Card2 Segment. This parameter is optional and is determined by the number of slots.data10-PCIe Card2 CPU Number: This parameter is optional and is determined by the number of slots.data11-PCIe Card2 Bus Number: optional parameter, determined by the number of slotsdata12-PCIe Card2 Device Number: optional parameter, determined by the number of slotsdata13-PCIe Card2 Function Number: optional parameter, determined by the number of slots
......
Used by the BIOS to report the BDF of a standard PCIe card to the BMC, including the maximum number of standard PCIe slots supported by the product. For example: If the product supports 2-slot and 4-slot PCIe riser cards, the BIOS reports the BDFs of the four PCIe slots (0xFFFFFF is reported if the slot is not hot-swappable and no card is inserted). If a PCIe slot supports hot swap, the BIOS pre-allocates a BDF for the card in the slot and reports the BDF, the BMC uses the device BDF to read the VID, DID, SUB VID, and SUB DID from the ME. This command can be sent only in in-band mode.
PCIe Disk BDFC8hdata1 -[7]: End of list.
0: last frame data.
1: middle frame data.
[6:0]: total frame count.
data2 -[7]: format type, which is used to be compatible with the unexpected format reported by the BIOS.
0: old format-unexpected format reported by the BIOS
1: new format-expected format reported by the BIOS
[6:0]: current frame number, starting from 1.
data3-PCIe Slot Number For This Frame: indicates the number of PCIe disk slots reported by the frame.data4-PCIe Disk1 Segment: For a multi-socket server connected through NC, this field indicates the sequence number of an independent unit. For example, if a 32-socket server consists of eight independent physical 4-socket units (the BDFs pre-allocated to PCIe devices of different units may be the same and need to be distinguished), the value ranges from 1 to 8. Otherwise, this field is set to 0.data5-PCIe Disk1 CPU Number: ID of the CPU to which the PCIe bus belongs, starting from 0data6: PCIe Disk1 Bus Number. If no disk is inserted into the slot and the slot is not hot-swappable, the value is 0xFF.data7: PCIe Disk1 Device Number. If no disk is inserted into the slot and the slot is not hot-swappable, the value is 0xFF.data8-PCIe Disk1 Function Number. If no disk is inserted into the slot and the slot is not hot-swappable, 0xFF is filled.data9-PCIe Disk2 Segment: optional parameter, determined by the number of root ports connected to PCIe disk slotsdata10-PCIe Disk2 CPU Number: This parameter is optional and is determined by the number of root ports connected to PCIe disk slots.data11-PCIe Disk2 Bus Number: optional parameter, determined by the number of root ports connected to PCIe disk slotsdata12-PCIe Disk2 Device Number: optional parameter, which is determined by the number of root ports connected to the PCIe disk slot.data13-PCIe Disk2 Function Number: optional parameter, which is determined by the number of root ports connected to the PCIe disk slot.
Used by the BIOS to report the pre-allocated slot BDF of the PCIe SSD to the BMC. All root ports identified by the BIOS during system startup must be connected to the pre-allocated slot BDF of the PCIe SSD slot. When the PCIe SSD is in position, the BMC uses the BDF to read the VID from the ME, DID, SUB VID, and SUB DID. (This command supports only in-band transmission.)
Share Data InfoC9hdata1-Set selector (0 base): low byte of the number of data blocksdata2-Block selector (0 base): high byte of the number of data blocks. This field is reserved and set to 0.data3:17-system InfoThis item is used only for equipment tests. The BMC provides a shared area for the equipment to temporarily store the test results. For example, the BIOS writes the memory test results, the equipment reads and parses the results, and the data content and format are determined by the third party. The data is stored as a group of 8-bit integer data. The data in the shared area is lost when the AC is powered off, but is not lost when the BMC or system is reset. The combination of set selector and block selector indicates the number of data blocks. Each block contains a maximum of 16 bytes. (The first and second bytes of the first block in the sent message indicate the length of all data to be sent. The equipment determines the number of blocks to be read based on the two bytes.)
redfish URICAhRequest: System software send to BMC.
data1-ID(reseverd)data2-ID(reseverd)data3-ID(reseverd)data4-ID(reseverd)data5-ID(reseverd)data6-ID(reseverd)data7-ID(reseverd)data8-ID(reseverd)
Other components send a command to the BMC to obtain the Redfish relative path character string. The command contains the unique identifier (8 bytes, reserved currently) of the component. The BMC returns the /Sms/1, /Sms/2, or /Hmm/1 character string. The BMC performs determination based on the eight parameters contained in the command, check whether the same component is used. If no ID is allocated, the default value 1 is used. Otherwise, the value 2 is used. If the parameters are the same, the previously allocated value is returned;
Response:
data1-Completion Codedata2-Parameter version (reserved)data3 -
dataN -
PCIe Card NIC Port MAC AddressCBhdata1-PCIe Card Segment: For a multi-socket server connected through NC, this field indicates the sequence number of an independent unit. For example, if a 32-socket server consists of eight independent physical 4-socket units (the BDFs of PCIe devices in different units may be the same and need to be distinguished), the value ranges from 1 to 8. Otherwise, this field is set to 0.data2-PCIe Card CPU Number: ID of the CPU to which the PCIe bus belongs, starting from 0data3-PCIe Card Bus Number(pcie root port)data4-PCIe Card Device Number(pcie root port)data5-PCIe Card Function Number(pcie root port)data6-PCIe Card Bus Number(pcie card port)data7-PCIe Card Device Number(pcie card port)data8-PCIe Card Function Number(pcie card port)Data9-reserve1. The default value is 0.Data10-reserve2. The default value is 0.data11: NIC port number, which starts from 0 and is reported in the default port sequence.data12: NIC port address index, starting from 0. One network port may be bound to multiple physical addresses.data13-NIC Port Address Type, address type 0 standard 6-byte MAC address, 1 WWN, 2 WWPN...data14-dataN -NIC port address, which is a hexadecimal number (not a character string). Set this field based on the actual length.1. If there are a large number of PCIe cards, the BIOS startup time increases.
2. This information can be used to report the BDF information of each network port.
3. This command takes effect only after the "PCIe Card root BDF" and "PCIe Card BDF" alarms are reported.
4. By default, function 0, 1, 2, 3 corresponds to port 1, 2, 3, 4, respectively. If some cards are reversely connected, the BMC needs to process the special cards.
5. iBMCBMC does not use the port number for matching.
6. In the case of multiple PFs, if the BDF of the physical port changes, a problem may occur. You need to identify the problem based on the multiple PFs of the NIC. Currently, the six PCIe cards on the server have multiple PFs, but the BDF of the physical port does not change.
NICs that support PFs are as follows:
06310110 QLE3442-RJ-SP
06310114 QLE3442-CU-SP
06310119 QL45611HLCU
03024JND SP570(1822)
06030223 OCE11102-FM (EOM)
OCP Card BDFCChdata1 -[7]: End of list.
0=last frame data.
1=middle frame data.
[6:0]: total frame count.
data2: current frame number, starting from 1data3 -OCP Slot Number For This Frame, indicates the number of standard PCIe slots reported in this frame.data4-OCP Card1 Segment: For a multi-socket server connected through NC, this field indicates the sequence number of an independent unit. For example, if a 32-socket server consists of eight independent physical 4-socket units (the BDFs of PCIe devices in different units may be the same and need to be distinguished), the sequence number ranges from 1 to 8. Otherwise, this field is set to 0.data5-OCP Card1 CPU Number: ID of the CPU to which the PCIe bus belongs, starting from 0data6: OCP Card1 Bus Number. If no card is inserted into the slot and the slot is not hot-swappable, 0xFF is filled.data7: OCP Card1 Device Number. If no card is inserted into the slot and the slot is not hot-swappable, 0xFF is filled.data8-OCP Card1 Function Number. If no card is inserted into the slot and the slot is not hot-swappable, 0xFF is filled.data9: OCP Card2 Segment. This parameter is optional and is determined by the number of slots.data10-OCP Card2 CPU Number: This parameter is optional and is determined by the number of slots.data11-OCP e Card2 Bus Number: optional parameter, determined by the number of slotsdata12: OCP Card2 Device Number. This parameter is optional and is determined by the number of slots.data13-OCP Card2 Function Number: optional parameter, determined by the number of slots
...
Device BDF used by the BIOS to report standard OCP to the BMC, including the maximum number of standard PCIe slots supported by the product. For example: If the product supports 2-slot and 4-slot PCIe riser cards, the BIOS reports the BDFs of the four PCIe slots (0xFFFFFF is reported if the slot is not hot-swappable and no card is inserted). If a PCIe slot supports hot swap, the BIOS pre-allocates a BDF for the card in the slot and reports the BDF, the BMC uses the device BDF to read the VID, DID, SUB VID, and SUB DID from the ME. (This command supports only in-band transmission.)
System Configuration ItemCDhTable 2Table 2
CEhReservedRemarks: Refer to the definition of competitors. Pass-through disk management commands, Wang Yuhang, 7.18
Port Root BDFD0hReservedRemarks: This item is used for Qingzhu servers and is not used in scenarios such as Kunpeng.
PCIe Port root BDFD1hReservedRemarks: This item is used for Qingzhu servers and is not used in scenarios such as Kunpeng.

Table 2 Configuration parameters when Parameter selector is set to CDh

FunctionsConfiguration Subitemparameter data-getparameter data-set
Template: function description and application scenario0xMNRequest:
Data2: CDh
Data3: configuration subitem
Data4: 00
Response:
Data3: Length
Data4: N Config Data and its meaning
0: function 0
1: function 1
Request:
Data1: CDh
Data2: Length
Data3: N Config Data and its meaning
0: function 0
1: function 1
ProtocolType: in-band protocol type0x01Request:
Data1: 80h
Data2: CDh
Data3: 01h
Data4: Information Count=1
Data5: ReadLen=0xff
Data6-7: Offset=0
Data8-9: Object Key ID=0xffff
Data10: Reserved=0x79
Data11: Object Key Length=1
Data12: Object Key Value=0
Data13-14: InformationId=0x01 0x00
Response:
Data1: Completion Code
Data2: Parameter version=11h
Data3-4: InformationId=0x01 0x00
Data5: Reserved=0x79
Data6: InformationLen=1
Data7: ProtocolType
0: http
1: HTTPS
N/A

Command Example

Query the third-party information stored on the BMC.

Request:

bash
ipmicmd -k "0f 00 06 59 80 c2 00 00" smi 0

Response:

text
0f 07 00 59 00 00 01 02

Back to Index