OEM IPMI Commands
The XCC supports the following IPMI OEM commands. Each command requires a different level of privilege as listed as below.
Code | Netfn 0x2E Commands | Privilege |
---|---|---|
0xCC | Reset XCC to Default | PRIV_USR |
Code | Netfn 0x3A Commands | Privilege |
---|---|---|
0x00 | Query Firmware version | PRIV_USR |
0x0D | Board Information | PRIV_USR |
0x1E | Chassis Power Restore Delay Options | PRIV_USR |
0x38 | NMI and Reset | PRIV_USR |
0x49 | Initiate Data Collection | PRIV_USR |
0x4A | Push File | PRIV_USR |
0x4D | Data Collection Status | PRIV_USR |
0x50 | Get Build Information | PRIV_USR |
0x55 | Get/Set Host Name | PRIV_USR |
0x6B | Query FPGA Firmware Revision Level | PRIV_USR |
0x6C | Query Board Hardware Revision Level | PRIV_USR |
0x6D | Query PSoC Firmware Revision Level | PRIV_USR |
0x98 | FP USB Port Control | PRIV_USR |
0xC7 | Native NM IPMI Switch | PRIV_ADM |
- Reset XCC to Default Command
This command resets the XCC configuration setting to the default values.
Net Function = 0x2E Code Command Request, Response Data Description 0xCC Reset XCC to Default
Request:
Byte 1 – 0x5EByte 2 – 0x2B
Byte 3 – 0x00
Byte 4 – 0x0AByte 5 – 0x01
Byte 6 – 0xFF
Byte 7 – 0x00Byte 8 – 0x00
Byte 9 – 0x00
Response:
Byte 1 – Completion CodeByte 2 – 0x5EByte 3 – 0x2B
Byte 4 – 0x00
Byte 5 – 0x0AByte 6 – 0x01
Byte 7 – Response Data- 0 = Success
- non-zero = Failure
This command resets the XCC configuration settings to the default values.
- Board / Firmware Information Commands
This section lists the commands for querying the board and firmware information.
Net Function = 0x3A Code Command Request, Response Data Description 0x00
Query Firmware Version
Request:
No data on request
Response:
Byte 1 – Completion Code
Byte 2 – Major version
Byte 3 – Minor version
This command returns the major and minor version numbers of the firmware. If the command is made with the optional 1 byte of request data, the XCC response also returns the third field (Revision) of the version.
(Major.Minor.Revision)
0x0D
Query Board Information
Request: N/A
Response:
Byte 1 – System ID
Byte 2 – Board Revision
This command returns the Board ID and planar revision.
0x50
Query Build Information
Request: N/A
Response:
Byte 1 – Completion Code.
Bytes 2:10 – ASCIIZ Build Name
Bytes 11:23 – ASCIIZ Build Date
Bytes 24:31 – ASCII Build Time
This command returns the build name, build date, and build time. The build name and build date strings have a zero termination.
The format of the build date is YYYY-MM-DD.
e.g. “ZUBT99A ”- “2005-03-07”
- “23:59:59”
0x6B
Query FPGA Firmware Revision Level
Request:
Byte 1 – FPGA Device Type*
FPGA Device Type
0 = Local (Active level)
1 = CPU Card 1 (Active level)
2 = CPU Card 2 (Active level)
3 = CPU Card 3 (Active level)
4 = CPU Card 4 (Active level)
5 = Local Primary ROM
6 = Local Recovery ROM
Response:
Byte 1 – Completion Code
Byte 2 – Major revision level
Byte 3 – Minor revision level
Byte 4 – Sub-Minor revision level
(Test Byte on XCC platforms)
This command returns the revision level of the FPGA firmware.
If Byte 1 is omitted then Local (Active level) will be selected
0x6C
Query Board Hardware Revision Level
Request:
No Data.
Response:
Byte 1 – Completion Code
Byte 2 – Revision level
This command returns the revision level of the board hardware where the FPGA resides.
0x6D
Query PSoC Firmware Revision Level
Request:
None
Response:
Byte 1 – Completion Code
Byte 2 – bin#
Byte 3 – APID
Byte 4 – Rev
Byte 5-6 – FRU ID
Bytes 6:N – repeat of Bytes 2-6 for each detected PSoC
This command returns the revision level of all of the detected PSoC devices.
Note: bin# represents a physical location. Consult the system specification for details.
- System Control Commands
The IPMI specification provides basic power and reset control. Lenovo adds additional control functions.
Net Function = 0x2E Code Command Request, Response Data Description 0x1E
Chassis Power Restore Delay Options
Request:
Byte 1
Request Type:
0x00 = Set Delay Options
0x01 = Query Delay Options
Byte 2
(if byte 1 = 0x00)
0x00 = Disabled (default)
0x01 = Random
0x02 - 0xFF Reserved
Response:
Byte 1 – Completion Code
Byte 2 – Delay Options (for Query request only)
This setting is used, when the chassis power restore policy is set to always power-on or restore to power-on (if previously powered-on), after AC is applied/returns. There are 2 choices: Disabled (the default setting, no delay when powered-on), and Random. The random delay setting, provides a random delay between 1 and 15 seconds, from the time AC is applied/returns and when the server is automatically powered-on.
The command is supported by XCC only on Rack servers.
0x38
NMI and reset
Request:
Byte 1 – Number of seconds- 0 = NMI Only
Byte 2 – Reset type- 0 = soft reset
- 1 = power cycle
Response :
Byte 1 – Completion code
This command is used to perform a system NMI. Optionally the system can be reset (rebooted) or power cycled after the NMI.
If the “Number of Seconds” field is not 0, then the system will be reset or power cycled after the specified number of seconds.
Byte 2 of the request is optional. If byte 2 is not provided, or if it has a value of 0x00, a soft reset is performed. If byte 2 is 0x01, the system is power cycled.
- Miscellaneous Commands
This section is for commands that do not fit into any other section.
Net Function = 0x3A Code Command Request, Response Data Description 0x55
Get/Set Hostname
Request Length = 0:
Empty Request Data
Response:
Request Length 1-64:Byte 1
Completion Code
Bytes 2-65
Current Hostname.
ASCIIZ, Null terminated string.
Bytes 1-64
DHCP Hostname
ASCIIZ Terminate with 00h
Use this command to Get/Set the Hostname.
When setting the Hostname, the desired value must be terminated by a 00h. The hostname is limited to 63 characters plus the null.
0x98
FP USB Port Control
Request:
Byte 1
Response:01h:
Get current owner of front panel USB port
Byte 1 – Completion Code
Byte 2
Request:00h:
Owned by host
01h:
Owned by BMC
Byte 1
Response:02h:
Get the configuration of front panel USB port
Byte 1 – Completion Code
Byte 2
00h:
Dedicated to host
01h:
Dedicated to BMC
02h:
Shared mode
Byte 3:4 – Inactivity timeout in minutes(MSB first)
Byte 5 – Enable ID button
00h:
Disabled
01h:
Enabled
Byte 6 – Hysteresis (optional) in seconds
Request:
Byte 1
03h: set the configuration of front panel USB port
Byte 2
00h:
Dedicated to host
01h:
Dedicated to BMC
02h:
Shared mode
Byte 3:4 – Inactivity timeout in minutes(MSB first)
Byte 5 – Enable ID button
00h:
Disabled
01h:
Enabled
Byte 6 – Hysteresis (optional) in seconds
Response:
Byte 1 – Completion CodeByte 2
Response:00h:
Switch to host
01h:
Switch to BMC
Byte 1 – Completion Code
Byte 1
05h:
Enable/Disable the front panel USB port
Byte 2
00h:
Disable
01h:
Enable
Response:
Byte 1 – Completion Code
Request:
Byte 1
Response:06h:
Read the Enable/Disable state of the front panel USB port
Byte 1 - Completion Code
Byte 2
This command is used for query status/configuration of FP USB port, configure mode/timeout of FP USB port and switch USB port owner between host and BMC
In configuration, FP USB can has 3 modes – dedicated to host, solely owned by BMC or shared mode that allows owner switch between host and BMC.
If shared mode is enabled, the USB port is connected to BMC when server is powered off and connected to the server when the server power is on.
When shared mode is enabled and server power is on, the BMC will return USB port back to the server after inactivity timeout in configuration occurs.
If the server has identification button, users can enable/disable the ID button to switch owner of FP USB port by holding the ID button for more than 3 seconds.
Hysteresis in seconds will be set when automatically switching the port during the power cycle. This is an optional parameter.
SD530 Servers
On the SD530 platform the port is optional and if present is wired directly to the XCC, and only to the XCC. Switching the port to the Host in not available.
When the command is issued with byte 1 = 1, the XCC will always respond that the port is owned by the BMC.
When the command is issued with byte 1 = 2, the XCC will always respond that the port is dedicated to the BMC.
When the command is issued with byte 1 = 3 or byte 1 =4, the XCC will respond with completion code D6h.
Non-SD530 Servers
On the non-SD530 platform the XCC’s use of the front panel USB port can be disabled by switching to the “Host Only” mode.
When the command is issued with byte 1 = 5 or byte 1 =6, the XCC will respond with completion code D6h.
0xC7
Native NM IPMI Switch
Request Length = 0:
Empty request data
Response:
Request Length= 1:Byte 1
Completion Code
Bytes 2
Current Enable/Disable Status
Response:Byte 1
Native NM IPMI Interface Enable/Disable attribute
00h – Disable
01h – Enable
Byte 1
Completion Code
This command is used to enable/disable the bridging function of XCC for Native Intel IPMI commands.