Integrator Resources

The official home for NAI Support

Not sure where to start? Try Quick Start Guide or ask a question below!

Toggle Components with Visual Button
JavaScript Form Processing

IPMI Guide

NAI Power Supplies Intelligent Platform Management (IPMI) Guide

VPX-PS-IPMI-A001

VPX Power Supply Reference I2C Commands

  1. GENERAL INFORMATION AND SLAVE COMMANDS

1.1. Slave System Overview

When in slave mode, the module will respond to slave commands. This system is based on the I2C request and response system. By sending a command the unit recognizes, the unit will perform an action, by preparing a response or changing a status register. After the command has been sent, if the command contained a response, can be viewed by prompting a read on the unit. A list of recognizable commands can be seen on table [1.3].

1.2. Slave System Data Transaction

The following shows a formulated slave command request and the response.

Request Data:

0

Receiver Slave Address

1

2 . . (N-1)

N

Command

Data . .

Checksum

Response Data:

0

Requester Slave Address

1

2 . . (N-1)

N

Command

Echo

Data . .

Checksum

1.3. Command List

Below is the list of commands the PSM will respond to. These commands follow the slave system data transaction listed in [1.2].

Command Number Name Description

‘21’h

Composite Sensor

Returns monitored sensor data. Data is continually scanned and available for report.

‘55’h

Write Status Data

Writes status byte on composite sensor.

‘52’h

Advanced Reset

Performs a reset on the module.

‘44’h

Read Firmware Release

Returns the release date on the firmware.

‘45’h

Read I2C Address

Returns the module’s slave address.

1.3.1. Composite Sensor – Command ‘21’h

Request Byte # Expected Data Description

1

‘21’h

Command.

2

‘DF’h

Value required to make the sum of bytes [1:1] add to a multiple of 256. [ZERO CHECKSUM]

Response Byte # Expected Data Description

1

‘21’h

Command echo.

2

‘XX’h

Status of unit, refer to table below.

3-4

‘XX XX’h

Temperature °C = (Byte 3) * 256) + Byte 4 * 100 / 16384.

5-6

‘XX XX’h

Voltage on VS1, full-scale reading = 16384.

7-8

‘XX XX’h

Voltage on VS2, full-scale reading = 16384.

9-10

‘XX XX’h

Voltage on VS3, full-scale reading = 16384.

11-12

‘XX XX’h

Voltage on 3.3A, full-scale reading = 16384.

13-14

‘XX XX’h

Voltage on +12A, full-scale reading = 16384.

15-16

‘XX XX’h

Voltage on -12A, full-scale reading = 16384.

17-18

‘XX XX’h

Current on VS1, full-scale reading = 16384.

19-20

'XX XX’h

Current on VS2, full-scale reading = 16384.

21-22

‘XX XX’h

Current on VS3, full-scale reading = 16384.

23-24

‘XX XX’h

Current on 3.3A, full-scale reading = 16384.

25-26

‘XX XX’h

Current on +12A, full-scale reading = 16384.

27-28

‘XX XX’h

Current on -12A, full-scale reading = 16384.

29-30

‘XX XX’h

Voltage on 2.5 internal reference, 2.5V = 16384.

31-32

‘XX XX’h

Voltage on input, full-scale reading = 16384.

33-52

‘XX XX …​'h

Part number, ASCII.

53-54

‘XX XX’h

Serial number, high.

55-56

‘XX XX’h

Serial number, low.

57-58

'XX XX’h

Date code. ((Byte 57) * 100) + (Byte 58) = YY/WW

59-60

‘XX XX’h

Hardware revision.

61-62

‘XX XX’h

Firmware revision.

63

‘XX’h

RESERVED.

64

‘XX’h

Value required to make the sum of bytes [1:63] add to a multiple of 256. [ZERO CHECKSUM]

1.3.1.1. Status Register Byte

7 6 5 4 3 2 1 0

R/W

R/W

R/W

R/W

R/W

R/W

R

R

BTLS

FAIL

OT

PRIORITY

*SW IN

*SW EN

*HW IN

*HW EN

Bit 7, BTLS, is BATTLESHORT. Setting BATTLESHORT will prevent the over-temperature shutdown routine to not occur. The over-temperature field will still be cleared if over-temperature criteria is met. This command will prevent over-temperature shut down and take the unit out of over-temperature shutdown. BATTLESHORT defaults to low at start up.

Bit 6 is FAIL. This field can be set and will be latched low on any detected fault condition, such as an overvoltage or short circuit. The fail latch and be reset by setting the field by writing the status of the unit. FAIL defaults to high at start up.

Bit 5, OT, is OVERTEMPERATURE. Similar to the FAIL field, OT can be set high and will be latched low if the PSM temperature has reached a critical operating threshold. A set field indicates a PSM operating within normal temperatures. Before reaching over-temperature shutdown, the unit will warn it has reached critical operating temperature approximately 15°C before the over-temperature shutdown value by clearing the OT bit. OT defaults to high at start up.

Bit 4 is PRIORITY. This bit indicates which INHIBIT and ENABLE signals control the unit. Setting PRIORITY to be high will allow the SW INIHIBT and SW ENABLE to control the PSM, while clearing PRIORITY will allow HW INHIBIT and HW ENABLE* to control the PSM. SW INIHIBIT and SW ENABLE have no external connections and must be set by writing the status of the unit. HW INIHIBIT and HW ENABLE* are read only and have external connections that set or clear the bits. PRIORITY defaults to low at start up.

Bits 3 to 0 correspond to inhibit and enable behavior, as described in the table below.

PRIORITY *SW INIHIBIT *SW ENABLE *HW INHIBIT *HW ENABLE1 OUTPUTS

0

X

X

0

0

Inhibited (3.3Aux ONLY)

0

X

X

1

0

ON

0

X

X

0

1

OFF

0

X

X

1

1

OFF

1

0

0

X

X

Inhibited (3.3Aux ONLY)

1

1

0

X

X

ON

1

0

1

X

X

OFF

1

1

1

X

X

OFF

1 HW ENABLE will switch PRIORITY low when set, effectively switching to HW PRIORITY.

1.3.1.2. Full-scale Reading

Units often vary between the outputs they produce by the voltage created and current-ratings supported. Because of this, full-scale is used as a term explaining a nominal rating for a module output parameter. As an example, the table below shows data from a ‘VPX55H-31AAAA-00' and the translated indicated values. To understand what full-scale reading means on other units, please refer to their corresponding specification documents.

Response Byte # Expected Data Description

5-6

‘XX XX’h

Voltage on VS1, full-scale reading: 12V = 16384.

7-8

‘XX XX’h

Voltage on VS2, full-scale reading: 3.3V = 16384.

9-10

‘XX XX’h

Voltage on VS3, full-scale reading: 5V = 16384.

11-12

‘XX XX’h

Voltage on 3.3A, full-scale reading: 3.3V = 16384.

13-14

‘XX XX’h

Voltage on +12A, full-scale reading: 12V = 16384.

15-16

‘XX XX’h

Voltage on -12A, full-scale reading: -12V = 16384.

17-18

‘XX XX’h

Current on VS1, full-scale reading: 30A = 16384.

19-20

'XX XX’h

Current on VS2, full-scale reading: 20A = 16384.

21-22

‘XX XX’h

Current on VS3, full-scale reading: 40A = 16384.

23-24

‘XX XX’h

Current on 3.3A, full-scale reading: 4A = 16384.

25-26

‘XX XX’h

Current on +12A, full-scale reading: 1A = 16384.

27-28

‘XX XX’h

Current on -12A, full-scale reading: 1A = 16384.

29-30

‘XX XX’h

Voltage on 2.5 internal reference, 2.5V = 16384.

31-32

‘XX XX’h

Voltage on input, full-scale reading: 28V = 16384.

1.3.2. Write Status Data – Command ‘55’h

Request Byte # Expected Data Description

1

‘55’h

Command.

2

‘XX’h

Status byte data.

3

‘XX’h

Value required to make the sum of bytes [1:2] add to a multiple of 256. [ZERO CHECKSUM]

An example transaction is shown below:

55h 78h 33h

55h refers to the command ‘write status data.'

78h refers to the data overwritten in the status register, the byte translates as follows

7: 0 Battleshort not enabled, over-temperature routines will still occur.

6: 1 Fail signal set, will be cleared and latched low if failure occurs.

5: 1 Over-temperature signal set, will be cleared and latched low if failure occurs.

4: 1 Software has priority to enable/disable the unit.

3: 1 *SW Inhibit is set.

2: 0 *SW Enable is cleared.

1: 0 *HW Inhibit is ignored.

0: 0 *HW Enable is ignored.

33h refers to the checksum value needed to make the command add up to a value of 256.

1.3.3. Advanced Reset – Command ‘52’h

Reset will perform a processor reset on the power supply. Reset will only occur if the unit has PRIORITY cleared.

Request Byte # Expected Data Description

1

‘52’h

Command, ‘R' ASCII.

2

‘45’h

Command, ‘E' ASCII.

3

‘53’h

Command, ‘S' ASCII.

4

‘45’h

Command, ‘E' ASCII.

5

‘54’h

Command, ‘T' ASCII.

6

‘7D’h

Value required to make the sum of bytes [1:5] add to a multiple of 256. [ZERO CHECKSUM]

1.3.4. Read Firmware Release Date – Command ‘44’h

Read Firmware Release Date will return the compile date on the firmware installed on the power supply module, in the order of month, day, and year respectively.

Request Byte # Expected Data Description

1

‘44’h

Command.

2

‘BC’h

Value required to make the sum of bytes [1:1] add to a multiple of 256. [ZERO CHECKSUM]

Response Byte # Expected Data Description

1

‘44’h

Command echo.

2-21

‘XX XX …​'h

Date, ASCII.

22

‘XX’h

Value required to make the sum of bytes [1:21] add to a multiple of 256. [ZERO CHECKSUM]

1.3.5. Read I2C Address – Command ‘45’h

Read I2C address will return the module’s address, this function can be called globally to determine the actual address of the module.

Request Byte # Expected Data Description

1

‘45’h

Command.

2

‘BB’h

Value required to make the sum of bytes [1:1] add to a multiple of 256. [ZERO CHECKSUM]

Response Byte # Expected Data Description

1

‘45’h

Command echo.

2

‘XX’h

Slave I2C address.

3

‘XX’h

Value required to make the sum of bytes [1:2] add to a multiple of 256. [ZERO CHECKSUM]

1.4. Slave Address

The I2C address of a given power supply module is hardware specified as geographic addressing (per VITA 46.11 Rev 0.15). The default base address is 0x20. GA0 through GA3 provide the 5 LSB’s for the address. These geographic address signals have pull-up resistors to a 3.3-volt supply. When left open, the address will be 0x20, otherwise, the address will be as described in the table below.

Signal I2C Address

*GA4

*GA3

*GA2

*GA1

*GA0

0

0

1

0

0

0

0

0

0x20

0

0

1

0

0

0

0

1

0x21

0

0

1

0

0

0

1

0

0x22

0

0

1

0

0

0

1

1

0x23

0

0

1

0

0

1

0

0

0x24

0

0

1

0

0

1

0

1

0x25

0

0

1

0

0

1

1

0

0x26

0

0

1

0

0

1

1

1

0x27

2. INTERNAL INFORMATION AND INTERNAL COMMANDS

2.1. EEPROM Memory Allocation

The first 256 bytes of the EEPROM are reserved for the unit. These memory locations contain serial, field replaceable unit information (FRU) and calibration information for unit performance. All subsequent byte locations are used for BIT records. If the BIT record exceeds the total memory of the EEPROM, the BIT will roll back to the original fault log record address (0x0100), and overwrite the data written there. The organization of this scheme is shown below.

BYTE (hex)

Data Type

Description

0x0000 – 0x00FF

FRU information and calibration memory map.

0x0100 – 0x010F

BIT record write # 1.

0x0110 – 0x011F

RESERVED

BIT record write # 2.

0x00A0 – 0x00AF

Character String, ASCII

BIT record write # 3.

0x00B0 – 0x00BF

Character String, ASCII

BIT record write # 4.

0x00C0 – 0x00CF

U Integer, MSB First

BIT record write # 5.

0x00D0 – 0x00DF

Character, ASCII

BIT record write # 6.

0x00E0 – 0x00EF

Character, ASCII

BIT record write # 7.

0x00F0 – 0x00FF

Character, ASCII

BIT record write # 8.

0x0100 – 0x010F

U Integer, MSB First

BIT record write # 9.

  1. . .

  1. . .

0xFFD0 – 0xFFDF

BIT record write # (n – 2).

0xFFE0 – 0xFFEF

BIT record write # (n – 1).

0xFFF0 – 0xFFFF

BIT record write # (n).

2.1.1. BIT Record Map

BIT Record Map Section Byte # Description

Counter Bytes

0-3

Time counter.

Status Bytes

4

Trigger code.

5

Output status.

6

Share status.

Analog Bytes

7-8

Temperature.

9-10

Input voltage.

RESERVED

11-13

RESERVED.

Record Management Bytes

14

Key, ‘DE’h

15

Checksum.

2.1.1.1. Trigger Code: The trigger code explains the instance of the fault log recording data to the EEPROM. Each instance of a fault log contains a singular, set trigger event.

7 6 5 4 3 2 1 0

Start Up

Trigger

Timer Trigger

Command 08 Trigger

Failure Trigger

Internal I2C

Failure

Voltage

Failure

Current

Failure

Temperature Failure

2.1.1.2. Output Status: Set indicates an output within specification. Clear indicates an output out of specification.

7 6 5 4 3 2 1 0

RESERVED

RESERVED

VS1 GOOD

VS2 GOOD

VS3 GOOD

V4 GOOD

V5 GOOD

V6 GOOD

2.1.1.3. Share Status: Set indicates an output current sharing (current evenly distributed among parallel modules). Clear indicates a module saturating the current.

7 6 5 4 3 2 1 0

RESERVED

RESERVED

VS1 SHARING

VS2 SHARING

VS3 SHARING

V4 SHARING

V5 SHARING

V6 SHARING

2.2. Internal Command List

Command Number Name Description

‘07’h

Read BIT (TIv3)

Reads the EEPROM at a specified memory address.

‘08’h

Write BIT (TIv3)

Prompts an EEPROM write at the next, unused memory address.

‘09’h

Write BIT Timestamp (TIv3)

Sets the timestamp of an EEPROM write following IPMI 1.5 specification.

‘10’h

Read BIT Current Address (TIv3)

Reads the current memory address of the pointer in the EEPROM.

2.2.1. Read BIT – Command ‘07’h

Request Byte # Expected Data Description

1

'07’h

Command.

2-3

‘XX XX’h

Specified memory address to read.

4

‘XX’h

Value required to make the sum of bytes [1:3] add to a multiple of 256. [ZERO CHECKSUM]

Response Byte # Expected Data Description

1

‘07’h

Command echo.

2-17

‘XX XX …​'h

Value stored at memory address, and subsequent addresses. For more information on formatting, see [2.2] and [2.2.2].

64

‘XX XX’h

Value required to make the sum of bytes [1:18] add to a multiple of 256. [ZERO CHECKSUM]

2.2.2. Write BIT – Command ‘08’h

Request Byte # Expected Data Description

1

'08’h

Command.

2-4

‘XX XX …​'h

Data written to reserved memory bytes specified in BIT definition.

5

‘XX’h

Value required to make the sum of bytes [1:4] add to a multiple of 256. [ZERO CHECKSUM]

Response Byte # Expected Data Description

1

‘08’h

Command echo.

2

‘XX’h

Completion code, see the completion code table.

3

‘XX’h

Value required to make the sum of bytes [1:2] add to a multiple of 256. [ZERO CHECKSUM]

2.2.3. Write BIT Timestamp – Command ‘09’h

Request Byte # Expected Data Description

1

'09’h

Command.

2-5

‘XX XX …​'h

Time counter.

6

‘XX’h

Value required to make the sum of bytes [1:5] add to a multiple of 256. [ZERO CHECKSUM]

Response Byte # Expected Data Description

1

‘09’h

Command echo.

2

‘XX’h

Completion code, see the completion code table.

3

‘XX’h

Value required to make the sum of bytes [1:2] add to a multiple of 256. [ZERO CHECKSUM]

2.2.4. Read BIT Current Address – Command ‘10’h

Request Byte # Expected Data Description

1

'10’h

Command.

2

‘XX’h

Value required to make the sum of bytes [1:1] add to a multiple of 256. [ZERO CHECKSUM]

Response Byte # Expected Data Description

1

‘10’h

Command echo.

2-3

‘XX’h

EEPROM memory address.

4

‘XX’h

Value required to make the sum of bytes [1:3] add to a multiple of 256. [ZERO CHECKSUM]

3. MASTER INFORMATION AND MASTER COMMANDS (IPMI)

3.1. Master System Overview

Certain commands will change the dynamics of the I2C system. When sending a master command, the PSM will become a master, assemble a response, and transmit the response across the I2C line before reverting to a slave. These commands are largely based on and follow the formatting of tier 1 ANSI VITA 46.11, which also leverages information from IPMI specification and ATCA specification by PICMG. This document will regularly refer to tables and definitions from these specifications.

3.2. Master System Data Transaction

The following shows a formulated master command request and the response.

Request Data:

0

1

2

Receiver Slave Address

Net FN,

Receiver LUN

Checksum

3

4

5

6 . . (N-1)

N

Requester Slave Address

Requester Sequence,

Requester LUN

Command

Data . .

Checksum

Response Data:

0

1

2

Requester Slave Address

Net FN,

Requester LUN

Checksum

3

4

5

6

7 . . (N-1)

N

Receiver Slave Address

Requester Sequence,

Receiver LUN

Command

Completion Code

Data . .

Checksum

3.2.1. Connector Header

Every master command has a connector header. The connector header is bytes 0 to 4, and often vary in value based on address settings, how many transactions have occurred, and which LUN is being addressed. The description for bytes 0 to 4 is as follows:

Request Byte # Expected Byte Description

0

‘XX’h

Receiver Slave Address:

The address of the module that is receiving this transaction.

1

‘XX’h

Net Function, Responder LUN:

[0:5] Net Function: Indicates the classification on command. Each command belongs to its own net function.

[6:7] Responder Logical Unit Number: A sub address of the responder module.

2

‘XX’h

Checksum:

Value required to make bytes [0:1] add to a multiple of 256. [ZERO CHECKSUM]

3

‘XX’h

Requester Slave Address:

The address of the module that will receive the response.

4

‘XX’h

Requester Sequence, Responder LUN:

[0:5] Requester Sequence: Indicates the current transaction number in the communication sequence.

[6:7] Responder Logical Unit Number: A sub address of the requester module.

Response Byte # Expected Data Description

0

‘XX’h

Requester Slave Address:

The address of the module that is requesting this transaction.

1

‘XX’h

Net Function, Requester LUN:

[0:5] Net Function: Indicates the classification on command. Each command belongs to its own net function.

[6:7] Requester Logical Unit Number: A sub address of the requested module.

2

‘XX’h

Checksum:

Value required to make bytes [0:1] add to a multiple of 256. [ZERO CHECKSUM]

3

‘XX’h

Receiver Slave Address:

The address of the module that is receiving this transaction.

4

‘XX’h

Net Function, Responder LUN:

[0:5] Net Function: Indicates the classification on command. Each command belongs to its own net function.

[6:7] Responder Logical Unit Number: A sub address of the responder module.

3.3. Master Command List

Below is the list of commands the PSM will respond to. These commands follow the connector header format from byte 5 onward to the checksum.

Net Function Command Number Name Description

‘06’h

‘01’h

Get Device ID Info

Provides the PSM hardware revision, firmware revision, and sensor and event interface revision information.

‘06’h

‘01’h

Get Device ID Info (Broadcast)

Provides the PSM hardware revision, firmware revision, and sensor and event interface revision information. This command is identical to ‘Get Device ID Info,' but is addressed to ‘00’h.

‘06’h

‘04’h

Get Self-Test Results

Provides self-test information.

‘04’h

‘20’h

Get Device SDR Info

Provides general information about the sensor collection of the PSM.

‘04’h

‘21’h

Get Device SDR

Provides the population of sensors for a given LUN on a FRU. Sensor data records provide information necessary to decode the ‘Get Sensor Reading' command.

‘04’h

‘22’h

Reserve Device SDR Repository

Issues a Reservation ID, which is necessary to indicate if records have changed in multi-read SDR fetching processes.

‘04’h

‘2D’h

Get Sensor Reading

Provides a reading for a sensor.

‘0A’h

‘10’h

Get FRU Inventory Area Info

Provides the size of the FRU data, in bytes.

‘0A’h

‘11’h

Read FRU Data

Provides the data stored in the FRU information area, when given an offset and number of bytes to read.

‘0A’h

‘12’h

Write FRU Data

Writes data in the FRU information when given an offset and data string to write.

‘2C’h

‘00’h

Get VSO Capable

Provides information whether the PSM supports VITA 46.11 and basic operating parameters.

‘2C’h

‘44’h

Get Mandatory Sensor Numbers

Provides an identifier number for each mandatory sensor located on the FRU.

‘2C’h

‘01’h

Set IPMB State

Activates or deactivates an IPMB.

‘2C’h

‘0D’h

Get Device Locator Record ID

Provides the Device Locator ID for a specified FRU

‘2C’h

‘1E’h

FRU Control Capabilities

Provides FRU control capabilities for a specified FRU.

‘2C’h

‘20’h

Get FRU Address Info

Provides general address information regarding a specified FRU located on the IPMC.

3.3.1. Get Device ID Info – Net Fn ‘06’h Command ‘01’h

Request Byte # Expected Data Description

5

‘01’h

Command.

6

‘XX’h

Value required to make the sum of unit address and bytes [3:5] add to a multiple of 256. [ZERO CHECKSUM]

Response Byte # Expected Data Description

5

‘01’h

Command.

6

‘00’h

Completion code, anything other than ‘00’h indicates failure.

7

‘01’h

Device ID.

8

‘80’h

Device revision:

[7] 1b – Device provides SDRs.

[6:0] Firmware revision, binary.

9

‘XX’h

Major firmware revision, based on module FW version.

10

‘00’h

Minor firmware revision.

11

‘51’h

IPMI version. ‘51’h indicates IPMI version 1.5.

12

‘09’h

Additional device support, lists the ‘logical device' commands and functions that the controller supports that are in addition to the mandatory IPM:

[7] 1b – Chassis device

[6] 1b – Bridge

[5] 1b – IPMB Event Generator

[4] 1b – IPMB Event Reciever

[3] 1b – FRU Inventory Device

[2] 1b – SEL Device

[1] 1b – SDR Repository Device

[0] 1b – Sensor Device

13-15

‘C1 5F 00’h

Manufacturer’s ID, LSB.

16-17

'XX XX’h

Product ID. ASCII character, based on model name.

18

‘XX’h

Value required to make the sum of unit address and byte [0] add to a multiple of 256. [ZERO CHECKSUM].

3.3.2. Get Self-Test Results – Net Fn ‘06’h Command ‘04’h

_ Request Byte # _ Expected Data _ Description _

5

‘04’h

Command.

6

‘XX’h

Value required to make the sum of bytes [3:5] add to a multiple of 256. [ZERO CHECKSUM]

Response Byte # Expected Data Description

5

‘04’h

Command.

6

‘00’h

Completion code, anything other than ‘00’h indicates failure.

7

‘55’h

Self-test result code:

‘55’h, no error, self test passed.

‘56’h, self test function not implemented in this controller.

‘57’h, corrupted or inaccessible data or devices.

‘58’h, fatal hardware error.

8

‘00’h

Self-test failure code:

IF byte 6 is ‘57’h, this byte returns a flag bitfield, indicating the inaccessible data.

[7] 1b - Inaccessible SEL device.

[6] 1b - Inaccessible SDR Repository.

[5] 1b - Inaccessible BMC FRU device.

[4] 1b - IPMB signal lines do not respond.

[3] 1b - SDR repository empty.

[2] 1b - Internal use area of BMC FRU corrupted.

[1] 1b - Controller update ‘boot block' firmware corrupted.

[0] 1b - Controller operational firmware corrupted.

9

‘XX’h

Value required to make the sum of unit address and byte [3:8] add to a multiple of 256. [ZERO CHECKSUM]

3.3.3. Get Device SDR Info – Net Fn ‘04’h Command ‘20’h

_ Request Byte # _ _ Expected Data _ _ Description _

5

‘20’h

Command.

6

‘XX’h

Value required to make the sum of bytes [3:5] add to a multiple of 256. [ZERO CHECKSUM]

Response Byte # Expected Data Description

5

‘20’h

Command.

6

‘00’h

Completion code, anything other than ‘00’h indicates failure.

7

‘09’h

Number of sensors in device for LUN this command was addressed to.

8

‘81’h

Population flags:

[7] 1b – Dynamic sensor population, the device may have its sensor population change on run time.

[6] Reserved

[5] Reserved

[4] Reserved

[3] 1b – LUN 3 has sensors.

[2] 1b – LUN 2 has sensors.

[1] 1b – LUN 1 has sensors.

[0] 1b – LUN 0 has sensors.

9-12

'00 00 00 00’h

Counter, increments every time a dynamic sensor population changes.

13

‘XX’h

Value required to make the sum of unit address and byte [3:12] add to a multiple of 256. [ZERO CHECKSUM]

3.3.4. Get Device SDR – Net Fn ‘04’h Command ‘21’h

_ Request Byte # _ _ Expected Data _ _ Description _

5

‘21’h

Command.

6-7

‘XX XX’h

Reservation ID.

8-9

‘XX XX’h

Record ID.

10

‘XX’h

Offset into the record.

11

‘XX’h

Number of bytes to read. ‘FF’h means read the entire record.

12

‘XX’h

Value required to make the sum of bytes [3:11] add to a multiple of 256.

Response Byte # Expected Data Description

5

‘21’h

Command.

6

‘00’h

Completion code, anything other than ‘00’h indicates failure.

80h – Indicates the record has changed since it was last requested.

7-8

‘XX XX’h

Record ID for next record

9-(9+N)

‘XX …​'h

Requested SDR data.

(10+N)

‘XX’h

Value required to make the sum of unit address and byte [3:(9+N)] add to a multiple of 256. [ZERO CHECKSUM]

3.3.4.1. Sensor Data Record Memory Map

Sensor Data Records are organized in unique blocks of data which are categorized by “Get Mandatory Sensor Numbers.” These data records can only be obtained by specifying the unique number associated with the block of data, and then specifying the parameters of data to return such as offset and length as seen in “Get SDR.” For more information on the descriptions of these blocks and bytes, refer to the IPMI v1.5 specification section 37 “Sensor Data Record Formats.”

SDR Memory Map Location Byte # Expected Byte Description

Section

Management Controller Device Locator

(‘00’h)

0-1

'00 00’h

Record ID stored by Sensor Data Repository, LSB.

2

‘51’h

SDR version.

3

‘18’h

Record type.

4

‘1B’h

Record length.

5

‘XX’h

Device slave address.

6

‘00’h

Channel number.

7

‘CC’h

Power state notification global initialization.

8

‘09’h

Device capabilities.

9-11

'00 …​'h

Reserved.

10

‘A0’h

Entity ID.

11

‘60’h

Entity Instance

12

‘00’h

OEM.

13

‘D0’h

Device ID type/length. ‘ASCII Encoding, 16 characters'

14-29

'56 …​'h

Device ID data. ‘VPX---'

Management Controller Device Locator

(‘01’h) ???

0-1

'01 00’h

Record ID stored by Sensor Data Repository, LSB.

2

‘51’h

SDR version.

3

‘18’h

Record type.

4

‘1B’h

Record length.

5

‘XX’h

Device slave address.

6

‘00’h

Channel number.

7

‘CC’h

Power state notification global initialization.

8

‘09’h

Device capabilities.

9-11

'00 …​'h

Reserved.

10

‘A0’h

Entity ID.

11

‘60’h

Entity Instance

12

‘00’h

OEM.

13

‘D0’h

Device ID type/length. ‘ASCII Encoding, 16 characters'

14-29

'56 …​'h

Device ID data. ‘VPX---'

Full Sensor Record “FRU STATE SENSOR” (‘02’h)

0-1

'02 00’h

Record ID stored by Sensor Data Repository, LSB.

2

‘51’h

SDR version.

3

‘01’h

Record type.

4

‘33’h

Record length.

5

‘XX’h

Device slave address.

6

‘00’h

Device LUN.

7

‘00’h

Sensor number.

8

‘A0’h

Entity ID.

9

‘60’h

Entity instance.

10

‘67’h

Sensor initialization.

11

‘41’h

Sensor capabilities.

12

‘F0’h

Sensor type.

13

‘6F’h

Event/reading type code.

14-15

‘FF 00’h

Assertion event mask/lower threshold reading mask.

16-17

'00 00'

Deassertion event mask/upper threshold reading mask.

18-19

'00 00’h

Discrete Reading Mask/settable threshold mask.

20

‘00’h

Sensor units 1.

21

‘00’h

Sensor units 2.

22

‘00’h

Sensor units 3.

23

‘00’h

Linearization.

24

‘00’h

M.

25

‘00’h

M, tolerance.

26

‘00’h

B.

27

‘00’h

B, accuracy.

28

‘00’h

Accuracy, accuracy exp.

29

‘00’h

R exp, B exp.

30

‘00’h

Analog characteristic flags.

31

‘00’h

Nominal reading.

32

‘00’h

Nominal maximum.

33

‘00’h

Normal minimum.

34

‘00’h

Sensor maximum reading.

35

‘00’h

Sensor minimum reading.

36

‘00’h

Upper non-recoverable threshold.

37

‘00’h

Upper critical threshold.

38

‘00’h

Upper non-critical threshold.

39

‘00’h

Lower non-recoverable threshold.

40

‘00’h

Lower critical threshold.

41

‘00’h

Lower non-critical threshold.

42

‘00’h

Positive-going threshold hysteresis value.

43

‘00’h

Negative-going threshold hysteresis value.

44-45

'00 00’h

Reserved.

46

‘00’h

OEM.

47

‘C8’h

ID string type/length. ‘ASCII Encoding, 8 characters'

48-55

'48 …​'h

ID string data. ‘Hot Swap'

Full Sensor Record “SYSTEM IPMB LINK” (‘03’h)

0-1

'03 00’h

Record ID stored by Sensor Data Repository, LSB.

2

‘51’h

SDR version.

3

‘01’h

Record type.

4

‘38’h

Record length.

5

‘XX’h

Device slave address.

6

‘00’h

Device LUN.

7

‘01’h

Sensor number.

8

‘A0’h

Entity ID.

9

‘60’h

Entity instance.

10

‘67’h

Sensor initialization.

11

‘41’h

Sensor capabilities.

12

‘F1’h

Sensor type.

13

‘6F’h

Event/reading type code.

14-15

‘0F 00’h

Assertion event mask/lower threshold reading mask.

16-17

'00 00’h

Deassertion event mask/upper threshold reading mask.

18-19

‘0F 00’h

Discrete Reading Mask/settable threshold mask.

20

‘00’h

Sensor units 1.

21

‘00’h

Sensor units 2.

22

‘00’h

Sensor units 3.

23

‘00’h

Linearization.

24

‘00’h

M.

25

‘00’h

M, tolerance.

26

‘00’h

B.

27

‘00’h

B, accuracy.

28

‘00’h

Accuracy, accuracy exp.

29

‘00’h

R exp, B exp.

30

‘00’h

Analog characteristic flags.

31

‘00’h

Nominal reading.

32

‘00’h

Nominal maximum.

33

‘00’h

Normal minimum.

34

‘00’h

Sensor maximum reading.

35

‘00’h

Sensor minimum reading.

36

‘00’h

Upper non-recoverable threshold.

37

‘00’h

Upper critical threshold.

38

‘00’h

Upper non-critical threshold.

39

‘00’h

Lower non-recoverable threshold.

40

‘00’h

Lower critical threshold.

41

‘00’h

Lower non-critical threshold.

42

‘00’h

Positive-going threshold hysteresis value.

43

‘00’h

Negative-going threshold hysteresis value.

44

‘00’h

Reserved.

45

‘00’h

Reserved.

46

‘00’h

OEM.

47

‘CD’h

ID string type/length. ‘ASCII Encoding, 13 characters.'

48-60

'73 …​'h

ID string data. ‘IPMB Physical'

Full Sensor Record “FRU HEALTH SENSOR (‘04’h)

0-1

'04 00’h

Record ID stored by Sensor Data Repository, LSB.

2

‘51’h

SDR version.

3

‘01’h

Record type.

4

‘37’h

Record length.

5

‘XX’h

Device slave address.

6

‘00’h

Device LUN.

7

‘02’h

Sensor number.

8

‘A0’h

Entity ID.

9

‘60’h

Entity instance.

10

‘67’h

Sensor initialization.

11

‘41’h

Sensor capabilities.

12

‘F2’h

Sensor type.

13

‘04’h

Event/reading type code.

14-15

'03 00’h

Assertion event mask/lower threshold reading mask.

16-17

'00 00’h

Deassertion event mask/upper threshold reading mask.

18-19

'03 00’h

Discrete Reading Mask/settable threshold mask.

20

‘00’h

Sensor units 1.

21

‘00’h

Sensor units 2.

22

‘00’h

Sensor units 3.

23

‘00’h

Linearization.

24

‘00’h

M.

25

‘00’h

M, tolerance.

26

‘00’h

B.

27

‘00’h

B, accuracy.

28

‘00’h

Accuracy, accuracy exp.

29

‘00’h

R exp, B exp.

30

‘00’h

Analog characteristic flags.

31

‘00’h

Nominal reading.

32

‘00’h

Nominal maximum.

33

‘00’h

Normal minimum.

34

‘00’h

Sensor maximum reading.

35

‘00’h

Sensor minimum reading.

36

‘00’h

Upper non-recoverable threshold.

37

‘00’h

Upper critical threshold.

38

‘00’h

Upper non-critical threshold.

39

‘00’h

Lower non-recoverable threshold.

40

‘00’h

Lower critical threshold.

41

‘00’h

Lower non-critical threshold.

42

‘00’h

Positive-going threshold hysteresis value.

43

‘00’h

Negative-going threshold hysteresis value.

44-45

‘00’h

Reserved.

46

‘00’h

OEM.

47

‘CC’h

ID string type/length. ‘ASCII Encoding, 12 characters'

48-59

'46 …​'h

ID string data. ‘FRU#0 Health'

Full Sensor Record “FRU VOLTAGE SENSOR” (‘05’h)

0-1

'05 00’h

Record ID stored by Sensor Data Repository, LSB.

2

‘51’h

SDR version.

3

‘01’h

Record type.

4

‘38’h

Record length.

5

‘XX’h

Device slave address.

6

‘00’h

Device LUN.

7

‘03’h

Sensor number.

8

‘A0’h

Entity ID.

9

‘60’h

Entity instance.

10

‘67’h

Sensor initialization.

11

‘41’h

Sensor capabilities.

12

‘02’h

Sensor type.

13

‘05’h

Event/reading type code.

14-15

'03 00’h

Assertion event mask/lower threshold reading mask.

16-17

'00 00’h

Deassertion event mask/upper threshold reading mask.

18-19

'03 00’h

Discrete Reading Mask/settable threshold mask.

20

‘00’h

Sensor units 1.

21

‘00’h

Sensor units 2.

22

‘00’h

Sensor units 3.

23

‘00’h

Linearization.

24

‘00’h

M.

25

‘00’h

M, tolerance.

26

‘00’h

B.

27

‘00’h

B, accuracy.

28

‘00’h

Accuracy, accuracy exp.

29

‘00’h

R exp, B exp.

30

‘00’h

Analog characteristic flags.

31

‘00’h

Nominal reading.

32

‘00’h

Nominal maximum.

33

‘00’h

Normal minimum.

34

‘00’h

Sensor maximum reading.

35

‘00’h

Sensor minimum reading.

36

‘00’h

Upper non-recoverable threshold.

37

‘00’h

Upper critical threshold.

38

‘00’h

Upper non-critical threshold.

39

‘00’h

Lower non-recoverable threshold.

40

‘00’h

Lower critical threshold.

41

‘00’h

Lower non-critical threshold.

42

‘00’h

Positive-going threshold hysteresis value.

43

‘00’h

Negative-going threshold hysteresis value.

44-45

‘00’h

Reserved.

46

‘00’h

OEM.

47

‘CD’h

ID string type/length. ‘ASCII Encoding, 13 characters.'

48-60

'46 …​'

ID string data. ‘FRU#0 Voltage'

Full Sensor Record “FRU TEMPERATURE SENSOR” (‘06’h)

0-1

'06 00’h

Record ID stored by Sensor Data Repository, LSB.

2

‘51’h

SDR version.

3

‘01’h

Record type.

4

‘35’h

Record length.

5

‘XX’h

Device slave address.

6

‘00’h

Device LUN.

7

‘04’h

Sensor number.

8

‘A0’h

Entity ID.

9

‘60’h

Entity instance.

10

‘67’h

Sensor initialization.

11

‘41’h

Sensor capabilities.

12

‘F3’h

Sensor type.

13

‘6F’h

Event/reading type code.

14-15

‘3F 00’h

Assertion event mask/lower threshold reading mask.

16-17

‘3F 00’h

Deassertion event mask/upper threshold reading mask.

18-19

‘3F 00’h

Discrete Reading Mask/settable threshold mask.

20

‘00’h

Sensor units 1.

21

‘00’h

Sensor units 2.

22

‘00’h

Sensor units 3.

23

‘00’h

Linearization.

24

‘00’h

M.

25

‘00’h

M, tolerance.

26

‘00’h

B.

27

‘00’h

B, accuracy.

28

‘00’h

Accuracy, accuracy exp.

29

‘00’h

R exp, B exp.

30

‘00’h

Analog characteristic flags.

31

‘00’h

Nominal reading.

32

‘00’h

Nominal maximum.

33

‘00’h

Normal minimum.

34

‘00’h

Sensor maximum reading.

35

‘00’h

Sensor minimum reading.

36

‘00’h

Upper non-recoverable threshold.

37

‘00’h

Upper critical threshold.

38

‘00’h

Upper non-critical threshold.

39

‘00’h

Lower non-recoverable threshold.

40

‘00’h

Lower critical threshold.

41

‘00’h

Lower non-critical threshold.

42

‘00’h

Positive-going threshold hysteresis value.

43

‘00’h

Negative-going threshold hysteresis value.

44-45

'00 00’h

Reserved.

46

‘00’h

OEM.

47

‘CA’h

ID string type/length. ‘ASCII Encoding, 10 characters'

48-57

'46 …​'h

ID string data. ‘FRU#0 Temp'

Full Sensor Record “FRU PAYLOAD TEST RESULTS” (‘07’h)

0-1

'07 00’h

Record ID stored by Sensor Data Repository, LSB.

2

‘51’h

SDR version.

3

‘01’h

Record type.

4

‘35’h

Record length.

5

‘XX’h

Device slave address.

6

‘00’h

Device LUN.

7

‘05’h

Sensor number.

8

‘A0’h

Entity ID.

9

‘60’h

Entity instance.

10

‘67’h

Sensor initialization.

11

‘41’h

Sensor capabilities.

12

‘F4’h

Sensor type.

13

‘04’h

Event/reading type code.

14-15

'03 00’h

Assertion event mask/lower threshold reading mask.

16-17

'00 00’h

Deassertion event mask/upper threshold reading mask.

18-19

'03 00’h

Discrete Reading Mask/settable threshold mask.

20

‘00’h

Sensor units 1.

21

‘00’h

Sensor units 2.

22

‘00’h

Sensor units 3.

23

‘00’h

Linearization.

24

‘00’h

M.

25

‘00’h

M, tolerance.

26

‘00’h

B.

27

‘00’h

B, accuracy.

28

‘00’h

Accuracy, accuracy exp.

29

‘00’h

R exp, B exp.

30

‘00’h

Analog characteristic flags.

31

‘00’h

Nominal reading.

32

‘00’h

Nominal maximum.

33

‘00’h

Normal minimum.

34

‘00’h

Sensor maximum reading.

35

‘00’h

Sensor minimum reading.

36

‘00’h

Upper non-recoverable threshold.

37

‘00’h

Upper critical threshold.

38

‘00’h

Upper non-critical threshold.

39

‘00’h

Lower non-recoverable threshold.

40

‘00’h

Lower critical threshold.

41

‘00’h

Lower non-critical threshold.

42

‘00’h

Positive-going threshold hysteresis value.

43

‘00’h

Negative-going threshold hysteresis value.

44-45

‘00’h

Reserved.

46

‘00’h

OEM.

47

‘CC’h

ID string type/length. ‘ASCII Encoding, 12 characters'

48-59

'46 …​'h

ID string data. ‘FRU#0 P.Test'

Full Sensor Record “FRU PAYLOAD TEST STATUS” (‘08’h)

0-1

'08 00’h

Record ID stored by Sensor Data Repository, LSB.

2

‘51’h

SDR version.

3

‘01’h

Record type.

4

‘3B’h

Record length.

5

‘XX’h

Device slave address.

6

‘00’h

Device LUN.

7

‘06’h

Sensor number.

8

‘A0’h

Entity ID.

9

‘60’h

Entity instance.

10

‘67’h

Sensor initialization.

11

‘41’h

Sensor capabilities.

12

‘F5’h

Sensor type.

13

‘03’h

Event/reading type code.

14-15

'03 00’h

Assertion event mask/lower threshold reading mask.

16-17

'00 00’h

Deassertion event mask/upper threshold reading mask.

18-19

'03 00’h

Discrete Reading Mask/settable threshold mask.

20

‘00’h

Sensor units 1.

21

‘00’h

Sensor units 2.

22

‘00’h

Sensor units 3.

23

‘00’h

Linearization.

24

‘00’h

M.

25

‘00’h

M, tolerance.

26

‘00’h

B.

27

‘00’h

B, accuracy.

28

‘00’h

Accuracy, accuracy exp.

29

‘00’h

R exp, B exp.

30

‘00’h

Analog characteristic flags.

31

‘00’h

Nominal reading.

32

‘00’h

Nominal maximum.

33

‘00’h

Normal minimum.

34

‘00’h

Sensor maximum reading.

35

‘00’h

Sensor minimum reading.

36

‘00’h

Upper non-recoverable threshold.

37

‘00’h

Upper critical threshold.

38

‘00’h

Upper non-critical threshold.

39

‘00’h

Lower non-recoverable threshold.

40

‘00’h

Lower critical threshold.

41

‘00’h

Lower non-critical threshold.

42

‘00’h

Positive-going threshold hysteresis value.

43

‘00’h

Negative-going threshold hysteresis value.

44-45

'00 00’h

Reserved.

46

‘00’h

OEM.

47

‘D0’h

ID string type/length. ‘ASCII Encoding, 15 characters'

48-62

'46 …​'h

ID string data. ‘FRU#0P.TestStat'

OEM Record “Analog Sensors” (‘09’h)

0-1

'09 00’h

Record ID stored by Sensor Data Repository, LSB.

2

‘51’h

SDR version.

3

‘C0’h

Record type.

4

‘1C’h

Record length.

5-7

‘C1 5F 00’h

Manufacturer’s ID, LSB.

8-9

‘XX XX’h

Voltage on V1, nominal voltage (10mV).

10-11

‘XX XX’h

Voltage on V2, nominal voltage (10mV).

12-13

‘XX XX’h

Voltage on V3, nominal voltage (10mV).

14-15

‘XX XX’h

Voltage on V4, nominal voltage (10mV).

16-17

‘XX XX’h

Voltage on V5, nominal voltage (10mV).

18-19

‘XX XX’h

Voltage on V6, nominal voltage (10mV).

20-21

‘XX XX’h

Current on V1, maximum current (100mA).

22-23

‘XX XX’h

Current on V2, maximum current (100mA).

24-25

‘XX XX’h

Current on V3, maximum current (100mA).

26-27

‘XX XX’h

Current on V4, maximum current (100mA).

28-29

‘XX XX’h

Current on V5, maximum current (100mA).

30-31

‘XX XX’h

Current on V6, maximum current (100mA).

32-33

‘XX XX’h

Temperature,

3.4.5. Get Sensor Reading – Net Fn ‘04’h Command ‘2D’h

_ Request Byte # _ _ Expected Data _ _ Description _

5

‘2D’h

Command.

6

‘XX’h

Sensor number.

7

‘XX’h

Value required to make the sum of bytes [3:6] add to a multiple of 256. [ZERO CHECKSUM]

Response Byte # Expected Data Description

5

‘2D’h

Command echo.

6

‘XX’h

Analog sensor reading.

7

‘XX’h

Event Messaging:

[7] 1b – Event messaging enabled.

[6] 1b – Sensor scanning enabled.

[5] 1b – Re-arm update ready for this sensor.

[4] Reserved

[3] Reserved

[2] Reserved.

[1] Reserved.

[0] Reserved.

8

‘XX’h

Provides an indicate of what state the sensor is currently in.

9

‘XX’h

Provides asserting for discrete reading sensors.

10

‘XX’h

Value required to make the sum of bytes [3:9] add to a multiple of 256. [ZERO CHECKSUM]

3.4.6. Get FRU Inventory Area Info – Net Fn ‘0A’h Command ‘10’h

_ Request Byte # _ _ Expected Data _ _ Description _

5

‘10’h

Command.

6

‘00’h

FRU Device ID.

7

‘XX’h

Value required to make the sum of bytes [3:6] add to a multiple of 256. [ZERO CHECKSUM]

Response Byte # Expected Data Description

5

‘10’h

Command echo.

6-7

'68 00’h

FRU inventory area size in bytes, LSB.

8

‘00’h

‘01’h indicates FRU device is accessed by words.

‘00’h indicates FRU device is accessed by bytes.

9

‘XX’h

Value required to make the sum of bytes [3:8] add to a multiple of 256. [ZERO CHECKSUM]

3.4.7. Read FRU Data – Net Fn ‘0A’h Command ‘11’h

_ Request Byte # _ _ Expected Data _ _ Description _

5

‘11’h

Command.

6

‘00’h

FRU Device ID.

7-8

‘XX XX’h

FRU Inventory offset to read.

9

‘XX’h

Count to read (N).

10

‘XX’h

Value required to make the sum of bytes [3:9] add to a multiple of 256. [ZERO CHECKSUM]

Response Byte # Expected Data Description

5

‘11’h

Command echo.

6

‘00’h

Completion code, anything other than ‘00’h indicates failure.

7

‘XX’h

Count read (N).

8-(8+N)

‘XX …​'h

Requested data.

(9+N)

‘XX’h

Value required to make the sum of bytes [3:(8+N)] add to a multiple of 256. [ZERO CHECKSUM]

3.4.7.1. FRU Data Records

FRU Data Records, unlike sensor data records, are all organized within one block. The only parameters required to retrieve this data is offset and length as seen in “Read FRU Data.” For more information on the descriptions of these bytes and formatting, refer to the IPMI FRU v1.0 specification section 17 “FRU Information Layout.”

FRU Memory Map Byte # Expected Byte Description

Name

Subsection

Common Header

0

‘01’h

Common Header format version.

1

‘00’h

Internal Use Area Starting Offset value (‘00’h not occupied).

2

‘00’h

Chassis Info Area Starting Offset value (‘00’h not occupied).

3

‘01’h

Board Area Starting Offset value (‘00’h not occupied).

4

‘00’h

Product Info Area Starting Offset value (‘00’h not occupied).

5

‘07’h

Multi-record Area Starting Offset value (‘00’h not occupied).

6

‘00’h

PAD.

7

‘F7’h

Common Header [0-6] checksum.

Board Info Area

8

‘01’h

Board Info Area formatting.

9

‘06’h

Area length (per 8 bytes).

10

‘19’h

Language code.

11-13

'00 00 00’h

Manufacturing code.

14

‘C4’h

Board manufacturer type/length.

15-18

‘XX . .'h

Board manufacturer data, ASCII.

19

‘C3’h

Board product type/length.

20-22

‘XX . .'h

Board product data, ASCII.

23

‘46’h

Board serial type/length.

24-29

‘XX

Board serial data.

30

‘D3’h

Board part number type/length.

31-49

‘XX . .'h

Board part number data, ASCII.

50

‘00’h

Asset tag type/length.

51

‘00’h

FRU file ID.

52

‘C1’h

Key.

53-54

'00 . . 'h

RESERVED.

55

‘XX’h

Board Info Area [8-54] checksum.

Product Info Area

56

‘01’h

Product Info Area formatting.

57

‘06’h

Area length (per 8 bytes).

58

‘19’h

Language code.

59

‘C4’h

Manufacturer’s name type/length.

60-63

‘4E . .'h

Manufacturer’s name data.

64

‘C3’h

Product name type/length.

65-67

'56 . .'h

Product name data.

68

‘D3’h

Product model name type/length.

69-87

‘XX . .'h

Product model name data.

88

‘C2’h

Board version type/length.

89-90

‘XX XX’h

Board version data.

91

‘06’h

Board serial number type/length.

92-97

‘XX . .'h

Board serial number data.

98

‘00’h

Asset tag type/length.

99

‘00’h

FRU file ID.

100

‘C1’h

Key.

101-102

'00 00’h

RESERVED

103

‘XX’h

Product Info Area [56-] checksum.

3.4.8. Write FRU Data – Net Fn ‘0A’h Command ‘12’h

_ Request Byte # _ _ Expected Data _ _ Description _

5

‘12’h

Command.

6

‘00’h

FRU Device ID.

7

‘XX’h

FRU Inventory offset to read, LSB.

8

‘XX’h

FRU Inventory offset to read, MSB.

9-(9+N)

‘XX …​'h

Data to write (N).

(10+N)

‘XX’h

Value required to make the sum of bytes [3:(9+N)] add to a multiple of 256. [ZERO CHECKSUM]

Response Byte # Expected Data Description

5

‘12’h

Command.

6

‘00’h

Completion code, anything other than ‘00’h indicates failure.

7

‘XX’h

Count written (N).

8

‘XX’h

Value required to make the sum of bytes [3:7] add to a multiple of 256. [ZERO CHECKSUM]

3.4.9. Get VSO Capability – Net Fn ‘2C’h Command ‘00’h

_ Request Byte # _ _ Expected Data _ _ Description _

5

‘00’h

Command.

6

‘03’h

VSO identifier.

7

‘XX’h

Value required to make the sum of bytes [3:6] add to a multiple of 256. [ZERO CHECKSUM]

Response Byte # Expected Data Description

5

‘00’h

Command echo.

6

‘00’h

Completion code.

7

‘03’h

VSO identifier.

8

‘00’h

IPMC identifier.

9

‘00’h

IPMB capabilities.

10

‘00’h

VSO standard.

11

‘01’h

VSO specification revision.

12

‘00’h

Max FRU device ID.

13

‘00’h

FRU device for IPMC.

14

‘XX’h

Value required to make the sum of bytes [3:13] add to a multiple of 256. [ZERO CHECKSUM]

3.4.10. Get Mandatory Sensor Numbers – Net Fn ‘2C’h Command ‘44’h

_ Request Byte # _ _ Expected Data _ _ Description _

5

‘44’h

Command.

6

‘03’h

VSO identifier.

7

‘00’h

FRU device ID.

8

‘XX’h

Value required to make the sum of bytes [3:7] add to a multiple of 256. [ZERO CHECKSUM]

Response Byte # Expected Data Description

5

‘44’h

Command.

6

‘00’h

Completion code, anything other than ‘00’h indicates failure.

7

‘03’h

VSO identifier.

8

‘00’h

FRU State sensor number.

9

‘02’h

FRU Health sensor number.

10

‘03’h

FRU Voltage sensor number.

11

‘04’h

FRU Temperature sensor number.

12

‘05’h

Payload Test Results sensor number.

13

‘06’h

Payload Test Status sensor number.

14

‘XX’h

Value required to make the sum of bytes [3:13] add to a multiple of 256. [ZERO CHECKSUM]

3.4.11. Set IPMB State – Net Fn ‘2C’h Command ‘09’h

_ Request Byte # _ _ Expected Data _ _ Description _

5

‘09’h

Command.

6

‘03’h

VSO identifier.

7

‘XX’h

IPMB-A State:

[1:7] System IPMB Link Identification

‘00’h Select all system IPMB Links

'01-5F’h System IPMB Link number 1 to 95.

[0] 1b – Local Control State, IPMC determines IPMB-A state.

8

‘XX’h

IPMB-B State:

[1:7] System IPMB Link Identification

‘00’h Select all system IPMB Links

'01-5F’h System IPMB Link number 1 to 95.

[0] 1b – Local Control State, IPMC determines IPMB-B state.

9

‘XX’h

Value required to make the sum of bytes [3:8] add to a multiple of 256. [ZERO CHECKSUM]

Response Byte # Expected Data Description

5

‘09’h

Command echo.

6

‘00’h

Completion code, anything other than ‘00’h indicates failure.

7

‘03’h

VSO identifier.

8

‘XX’h

Value required to make the sum of bytes [3:7] add to a multiple of 256. [ZERO CHECKSUM]

3.4.12. Get Device Locator Rec ID – Net Fn ‘2C’h Command ‘0D’h

_ Request Byte # _ _ Expected Data _ _ Description _

5

‘0D’h

Command.

6

‘03’h

VSO identifier.

7

‘00’h

FRU device ID.

8

‘XX’h

Value required to make the sum of bytes [3:7] add to a multiple of 256. [ZERO CHECKSUM]

Response Byte # Expected Data Description

5

‘0D’h

Command echo.

6

‘00’h

Completion code, anything other than ‘00’h indicates failure.

7

‘03’h

VSO identifier.

8-9

‘XX XX’h

Record ID, LSB.

10

‘XX’h

Value required to make the sum of bytes [3:9] add to a multiple of 256. [ZERO CHECKSUM]

3.4.13. Get FRU Control Capabilities – Net Fn ‘2C’h Command ‘1E’h

_ Request Byte # _ _ Expected Data _ _ Description _

5

‘1E’h

Command.

6

‘03’h

VSO identifier.

7

‘00’h

FRU device ID.

8

‘XX’h

Value required to make the sum of bytes [3:7] add to a multiple of 256. [ZERO CHECKSUM]

Response Byte # Expected Data Description

4

‘40’h

Command echo.

5

‘00’h

Completion code.

6

‘03’h

VSO identifier.

7

‘XX’h

FRU control capabilities mask:

[7:5] Reserved.

[4] 1b – Capable of controlling payload power.

[3] 1b = Capable of issuing a diagnostic interrupt.

[2] 1b – Capable of issuing a graceful reboot.

[1] 1b – Capable of issuing a warm reset.

[0] 1b – Capable of issuing a cold reset.

8

‘XX’h

Value required to make the sum of bytes [3:7] add to a multiple of 256. [ZERO CHECKSUM]

3.4.14. Get FRU Address Info – Net Fn ‘2C’h Command ‘40’h

_ Request Byte # _ _ Expected Data _ _ Description _

5

‘40’h

Command.

6

‘03’h

VSO identifier.

7

‘00’h

FRU device ID.

8

‘XX’h

Address key type.

9

‘XX’h

Address key.

10

‘XX’h

Site type.

11

‘XX’h

Value required to make the sum of bytes [3:10] add to a multiple of 256. [ZERO CHECKSUM]

Response Byte # Expected Data Description

5

‘40’h

Command echo.

6

‘00’h

Completion code.

7

‘03’h

VSO identifier.

8

‘XX’h

Hardware address, based on geographic addressing.

9

‘XX’h

IPMB address, based on geographic addressing.

10

‘FF’h

Reserved.

11

‘01’h

FRU device ID.

12

‘01’h

Site number.

13

‘02’h

Site type.

14

‘FF’h

Reserved.

15

‘FF’h

Address on IPMI channel 7.

16

‘XX’h

Value required to make the sum of bytes [3:15] add to a multiple of 256. [ZERO CHECKSUM]

3.4. Completion Code

_ Completion Code _ _ Description _

‘00’h

Command Successful.

‘80’h

Write failed, location is a protected offset.

‘81’h

Write failed, device is busy.

‘C0’h

Node busy.

‘C1’h

Invalid command.

‘C2’h

Command invalid for a given LUN.

‘C3’h

Timeout while processing command.

‘C9’h

Parameter out of range.

‘CC’h

Invalid data field in request.

‘D3’h

Destination unavailable.

‘D5’h

Cannot execute command.

Help Bot

X