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

0x1E

Chassis Power Restore Delay Options

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

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 – 0x66

Byte 2 – 0x4A

Byte 3 – 0x00

Response:

Byte 1 – Completion Code

Byte 2 – 0x66

Byte 3 – 0x4A

Byte 4 – 0x00

Byte 5 – 0x0A

Byte 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)

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 Type1

FPGA Device Type

0 = Local (Active level)

1 = CPU Card 1 (Active level)

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.

Note
  1. 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 = 0x3A
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

00h:

Switch to host

01h:

Switch to BMC

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.

Miscellaneous Commands

This section is for commands that do not fit into any other section.

Net Function = 0x3A
CodeCommandRequest, Response DataDescription

0x49

Initiate Service Log Collection

Request:

Byte 1 – Service Log Type

Request Type:

01h = Service Debug Log (FFDC)

02h = Data Log (Mini-log)

Byte 2 – Flag (Optional)1

For Type 02:

0000 0001b – Include "Network" category.

0000 0010b – Include "Audit" category.

0000 0100b – Include "Telemetry" category.

0000 1000b – Include "Latest failure screen" category.

Response:

Byte 1

Completion code

01h = Dump already in Progress

CCh = Unsupported Data Collection Type

Byte 2

FFDC dump timeout value2 (minutes based)

This command provides a means to initiate service log collection on a system.

Note
  1. The Flag byte is optional. If not specified, those categories won’t be included for the service log Type.

  2. The timeout value (in minutes) is provided to the requestor to specify the maximum wait time for the FFDC package file to complete generation.

0x4D

Service Log Collection Status

Request:

Byte 1 — Data Collection Type

Request Type:

01h = Debug Log (FFDC)

02h = Service Data Log (Mini-log)

Response1:

Byte 1

Completion code

Byte 2

Collection Status:

00h – no data, no collection in progress

01h – data ready for collection

02h – collection in progress

Byte 3 (optional)

Percentage Complete2

This command provides a means to report the status for data (dump) collection on a system.

Note
  1. The response may be either 2 or 3 bytes in length. If it is unable to report a percentage complete, the response will contain only byte 1 and byte 2. If it is able to report a percentage complete, the response will also contain byte 3.

  2. Percentage Complete (optional). This is an approximation of collection activity progress with value between 0 and 100.

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

04h:

Set the owner of front panel USB port manually if it is in shared mode

Byte 2

00h:

Switch to host

01h:

Switch to BMC

Response:

Byte 1 – Completion Code

This command is used for query owner of FP USB port, and switch USB port owner between host and BMC.