Skip to main content

OEM IPMI Commands

The XCC supports the following IPMI OEM commands. Each command requires a different level of privilege as listed as below.

CodeNetfn 0x2E CommandsPrivilege

0xCC

Reset XCC to Default

PRIV_USR

CodeNetfn 0x3A CommandsPrivilege

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
CodeCommandRequest, Response DataDescription
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
CodeCommandRequest, Response DataDescription

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
CodeCommandRequest, Response DataDescription

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
CodeCommandRequest, Response DataDescription

0x55

Get/Set Hostname

Request Length = 0:

Empty Request Data

Response:

Byte 1

Completion Code

Bytes 2-65

Current Hostname.

ASCIIZ, Null terminated string.

Request Length 1-64:

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

01h:

Get current owner of front panel USB port

Response:

Byte 1 – Completion Code

Byte 2

00h:

Owned by host

01h:

Owned by BMC

Request:

Byte 1

02h:

Get the configuration of front panel USB port

Response:

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

00h:

Switch to host

01h:

Switch to BMC

Response:

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

06h:

Read the Enable/Disable state of the front panel USB port

Response:

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:

Byte 1

Completion Code

Bytes 2

Current Enable/Disable Status

Request Length= 1:

Byte 1

Native NM IPMI Interface Enable/Disable attribute

00h – Disable

01h – Enable

Response:

Byte 1

Completion Code

This command is used to enable/disable the bridging function of XCC for Native Intel IPMI commands.