HP iLO Chassis Management IPMI User Guide Abstract This document provides customers with information on the implementation of the Intelligent Platform Management Interface in HP Moonshot iLO Chassis Management Firmware, including the available commands.
© Copyright 2014 Notices Confidential computer software. Valid license from HP required for possession, use, or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor's standard commercial license. The information contained herein is subject to change without notice.
Contents 1 Introduction and key concepts......................................................................7 Overview................................................................................................................................7 Sensor Data Model...................................................................................................................7 Sensor owner identification...................................................................................................
Get channel authentication capabilities command.............................................................50 Get Channel Cipher Suites Command.............................................................................52 Cipher suite records..................................................................................................54 Cipher suite ID numbers............................................................................................55 Set session privilege level command .............
Set event receiver command.........................................................................................112 Get event receiver command........................................................................................113 Platform event message command.................................................................................113 SEL commands................................................................................................................114 SEL device commands.............
Channel numbers.............................................................................................................145 Logical channels..............................................................................................................145 Channel Privilege Levels....................................................................................................145 Users & Password support.................................................................................................
1 Introduction and key concepts Overview The term Intelligent Platform Management (IPMI), refers to autonomous monitoring and recovery features implemented directly in platform management hardware and firmware. The key characteristic of Intelligent Platform Management is that inventory, monitoring, logging, and recovery control functions are available independently of the main processors, BIOS, and operating system. Platform management functions are available even when the system is in a powered down state.
Table 1 Sensor owner ID and sensor number field definition (continued) IPMB Sensor Owner ID System Sensor Owner ID 0 0b (ID is a slave address) 0 1b (ID is a software ID) LUN (2 bits) sensor number (8 bits, FFh = reserved) sensor number (1 bit, FFh = reserved) In Moonshot: 0x82 IPMB address This only appears in the system node SEL, where the it is logged by the host system Sensor type code Each sensor has a sensor type code and are defined in “Some Moonshot sensor type codes” (page 8).
Event messages are special messages sent by management controllers when they detect significant or critical system management events. This includes messages for events such as: • temperature threshold exceeded • voltage threshold exceeded • power fault The event message generator notifies the system by sending an Event Request Message to the event receiver device.
Table 3 SEL event records (continued) Byte Field Description Event type Type of trigger for the event, such as, a critical threshold going high or state asserted. Also indicates class of the event. Example: discrete, threshold, or OEM. The event type field is encoded using the event/reading type code. 14 Event data 1 Event request message, event data field contents. 15 Event data 2 Event request message, event data field contents. 16 Event data 3 Event request message, event data field contents.
Table 4 Sensor data record formats Record header Record Key fields Record body Record ID — a value used for accessing sensor data records. The record key bytes are the Contains specific information to the contiguous bytes following the record sensor data record header. The number of bytes vary SDR version — version number of the according to record type. Together, SDR specification.
inventory data mechanisms such as those provided by SM BIOS, and PCI vital product data. Rather, IPMI FRU information is typically used to complement that information or provide information access out-of-ban or under system down conditions. IPMI provides FRU information in two ways: via a management controller, or via FRU SEEPROMs. FRU information that is managed by a management controller is accessed using IPMI commands.
The timestamps used for SDR and SEL records are specified in relative local time (that is, the difference between the timestamp does not include the GMT offset). Converting the timestamp to a GMT-based time requires adding the GMT offset for the system and is obtained from system software level interfaces. IPMI commands do not store or return GMT offset for the system. Applications may use ANSI C time standard library routines for converting the SEL timestamp into other time formats.
2 The virtual topology of the Moonshot 1500 CM module Figure 1 Moonshot virtual IPMI topology There are five virtual management controller (MC) entity types represented within the HP Moonshot 1500 Chassis Management module. Table 5 (page 14) summarizes the various functions available in Moonshot and the virtual management controllers to which they apply.
Table 5 Moonshot virtual management controller functions (continued) Function Description Applicable Virtual Management Controller Zone Chassis Power Supply Cart Node x x The SDR Repository must be accessible via the system interface. If an IPMB is provided, the SDR Repository must be readable via that interface as well. SDR update via the IPMB interface is optional.
Table 5 Moonshot virtual management controller functions (continued) Function Description Applicable Virtual Management Controller Zone Chassis Power Supply Cart Node Sensors The MC can provide sensors. A typical server MC would provide sensors for baseboard temperature, voltage, and chassis intrusion monitoring. x x x x x Internal Event Generation The MC must generate internal events for the x Watchdog Timer.
3 Discovering managed entities using IPMITool Enter the IPMItool sdr list all command to show all management controller records, whether you are querying an SDRR from the Virtual Zone MC or you are querying a device SDR for Virtual Cartridge MC records.
4 IPMItool IPMI tool is a simple command-line interface to systems that support the IPMI v1.5 specification. It provides the ability to read the sensor data repository and print sensor values, display the contents of the system event log, print field replaceable unit information, read and set LAN configuration parameters, and perform remote chassis power control.
where: • –B • –T • -b • -t Interfaces IPMItool supports dynamic loading of interfaces that correspond to low-level communication methods for accessing IPMI systems. The most common of these are the System Interface provided by the OpenIPMI Linux kernal driver and IPMI over LAN interfaces.
Example 1 Raw Get Device ID to chassis satellite controller over LAN # ipmitool -I lanplus -H 16.85.178.125 -U admin -P admin123 -L Administrator -b 0 -t 0x44 raw 6 1 15 01 02 01 02 29 0b 00 00 00 85 00 00 00 00 Example 2 Powering on C2N1 over LAN # ipmitool -I lanplus -H 16.85.178.125 -U admin -P admin123 -L Administrator -B 0 –T 0x84 –b 7 –t 0x72 chassis power on Chassis Power Control: Up/On Example 3 Activating SOL on C2N1 over LAN # ipmitool -I lanplus -H 16.85.178.
Example 4 Output from sdr list all command ZoMC 254 IPMB0 Phys Link ChasMgmtCtlr1 PsMgmtCtlr1 PsMgmtCtlr2 PsMgmtCtlr3 PsMgmtCtlr4 CaMC CaMC CaMC CaMC CaMC . . . CaMC | | | | | | | | | | | | | Static MC @ 20h | ok Log FRU @FEh f0.60 | ok 0x00 | ok Static MC @ 44h | ok Dynamic MC @ 52h | ok Dynamic MC @ 54h | ok Dynamic MC @ 56h | ok Dynamic MC @ 58h | ok Dynamic MC @ A6h | ok Dynamic MC @ A8h | ok Dynamic MC @ AAh | ok Dynamic MC @ ACh | ok Dynamic MC @ AEh | ok.
Inventory IPMI supports multiple sets of non-volatile FRU information for different parts in the system. This provides access to data such as serial number, part number, asset tag, and other information for major modules in the system including the baseboard, chassis, processors, memory, power supplies, and even the management controller itself.
ipmitool [-chvV] -Ilanplus -H [-p] [-U] [-L] [-aEPf] [-o] [-C] Description This program allows management of IPMI functions of either the local system via a kernal device driver or a remote system using IPMI v1.5 and IPMI v2.0. These functions include printing FRU information, LAN configuration, sensor readings and remove chassis power control.
—v Increase verbose output level. May be specified multiple times to increase levels of debug output, for example, specifying three times results in hexdumps of all incoming and outgoing packets. —V Display version information. IPMItool Raw command syntax and example 1. 2.
5 Command specification IPMI provides standardized interfaces and commands for configuring the platform managemenet subsystem. This enables cross-platform software to SDRs are an example of the interface for configuring sensor population and behavior on a system. There are also commands for configuring capabilities such as LAN and serial/modem remote protocols, user passwords and privilege levels, platform event filtering, alert destinations, and others.
Notation Description Multi-byte fields that are shown as optional cannot be split. Either all bytes for the field are present or absent. For example, if a four byte multi-byte field is listed as optional, it is illegal to include the first two bytes, but not the second two bytes. Table 6 (page 26) lists the available Moonshot IPMI commands and, where available, the equivalent iLO Chassis Management CLI command.
Table 6 Moonshot IPMI commands and their iLO CM CLI equivalents (continued) Moonshot IPMI Command NetFn Command Moonshot iLO CM CLI command equivalent Code Set Session Privilege Level App (0x06) 0x3B IPMI specific Close Session App (0x06) 0x3C IPMI specific Get Session Info App (0x06) 0x3D IPMI specific Get AuthCode App (0x06) 0x3F IPMI specific Set Channel Access App (0x06) 0x40 IPMI specific Get Channel Access App (0x06) 0x41 IPMI specific Get Channel Info App (0x06) 0x42 IPM
Table 6 Moonshot IPMI commands and their iLO CM CLI equivalents (continued) Moonshot IPMI Command NetFn Command Moonshot iLO CM CLI command equivalent Code Set Event Receiver S/E (0x04) 0x00 IPMI specific Get Event Receiver S/E (0x04) 0x01 IPMI specific Platform Event (Event Message) S/E (0x04) 0x02 No CLI equivalent Get Device SDR Info S/E (0x04) 0x20 IPMI specific Get Device SDR S/E (0x04) 0x21 show show show show Reserve Device SDR Repository S/E (0x04) 0x22 IPMI specific Get S
Table 6 Moonshot IPMI commands and their iLO CM CLI equivalents (continued) Moonshot IPMI Command NetFn Command Moonshot iLO CM CLI command equivalent Code Get SEL Time Storage (0x0A) 0x48 show time Set SEL Time Storage (0x0A) 0x49 set time Set LAN Configuration Parameters Transport (0x0C) 0x01 set network Get LAN Configuration Parameters Transport (0x0C) 0x02 show network Set SOL Configuration Parameters Transport (0x0C) 0x21 IPMI specific Get SOL Configuration Parameters Transport
While broad dependence on OEM-specific functionality is discouraged, two fields in the response allow software to identify controllers for the purpose of recognizing controller specific functionality. These are the device ID and the product ID fields. A controller that just implements standard IPMI commands can set these fields to unspecified. Table 7 Device ID command response data Response data Data field byte number 1 Completion code 2 Device ID.
Table 7 Device ID command response data (continued) Response data Data field byte number vendor-specific definition is not known, generic utilities should display each byte as 2-digit hexadecimal numbers, with byte 13 displayed first as the most significant byte.
Table 8 Additional device ID specifications (continued) Device ID Specification Description Additional device support Indicates the logical device support that the device provides in addition to the IPM and application logical devices. Manufacturer ID Uses IANA (http://www.iana.org/).
NOTE: The cold reset command is provided for platform development, test, and platform-specific initialization and recovery actions. The system actions of the cold reset command are platform specific. Issuing a cold reset command could have adverse effects on system operation, particularly if issued during run-time. Therefore, the cold reset command should not be used unless all the side-effects for the given platform are known.
Table 11 Get self test results command response data Response data byte number Data field 1 Completion code. 2 • 55h — No error. All self tests passed. • 56h — Self test function not implemented in this controller. • 57h — Corrupted or inaccessible data or devices. • 58h — Fatal hardware error (system should consider MC inoperative). This indicates that the controller hardware (including associated devices such as sensor hardware or RAM) may need to be repaired or replaced. • FFh — Reserved.
Table 12 Get ACPI power state command response data (continued) Response data byte number 3 Data field 03h S3 Typically equates to suspend-to-RAM 04h S4 Typically equates to suspend-to-disk 05h S5 / G2 Soft off 06h S4/S5 Soft off, cannot differentiate between S4 and S5 07h G3 Mechanical off 08h sleeping Sleeping - cannot differentiate between S1-S3 09h G1 sleeping Sleeping - cannot differentiate between S1-S4 0Ah Override S5 entered by override 20h Legacy on Legacy on (indicates
See “Get device ID command” (page 29) for information on the fields returned by the broadcast get device ID command response. The IPMB message format for the broadcast get device ID ID request exactly matches that for the get device ID command, with the exception that the IPMB message is prefixed with the 00h broadcast address.
Table 13 Set BMC global enables command request and response data (continued) [2] 1b = Enable event message buffer. Error completion code returned if written as 1 and the event message buffer not supported. [1] 1b = Enable event message buffer full interrupt. [0] 1b = Enable receive message queue interrupt (this bit also controls whether KCS communication interrupts are enabled or disabled. An implementation is allowed to have this interrupt always enabled.
Table 15 Clear message flags command request and response data Request data byte number Data field 1 [7] 1b = Clear OEM 2 [6] 1b = Clear OEM 1 [5] 1b = Clear OEM 0 [4] Reserved [3] 1b = [2] Reserved [1] 1b = Clear event message buffer [0] 1b = Clear receive message queue Clear watchdog pre-timeout interrupt flag If the receive message queue or event message full interrupts are not implemented the corresponding interrupt enabled status bit must return as 0b.
messages from channels that it intends to process, and provides a disable mechanism in case the receive message queue is being erroneously or maliciously flooded with requests on a particular channel. It does not affect the ability for SMS to transmit on that channel. Only the SMS message channel is enabled by default. All other channels must be explicitly enabled by BIOS or system software, as appropriate.
based the on the present operating privilege level for the user (set using the set session privilege level command). If, before sending the packet, the user had set their privilege level to Operator, the packet would be assigned an inferred privilege level of Operator. This means an authenticated (signed) packet can be assigned different inferred privilege levels based on the present operating privilege set by the set session privilege level command.
The following table indicates the contents of the Message Data field from the get message response according to the channel type and channel protocol that was used to place the message in the receive message queue.
calculation for the receive message queue data whenever IPMB is listed as the originating bus and with IPMB as the channel protocol. Send message command This command is available to the MC. The send message command is used for bridging IPMI messages between channels, and between the SMS and a given channel. For IPMI v2.
Table 20 Send message command request and response data (continued) [3:0] Channel number where to send the message 2:N Message data. Format dependent on target channel type. Request data byte number Data field 1 Completion code Generic, plus additional command-specific completion codes: 80h = Invalid session handle. The session handle does not match up with any currently active sessions for this channel.
Table 21 Send message data fields (continued) Target channel type Target channel protocol Message data for sending requests (RQ) and responses (RS) NOTE: Terminal mode has a single, fixed SWID for the remote console. Software using send message to deliver a message to a terminal mode remote console should use their SWID or slave address as the source of the request or response, and the terminal mode SWID (40h) as the destination.
system implementations. However, versions 3, 4, or 5 formats are also allowed. A system GUID should not change over the lifetime of the system. If the MC is on a removable card that can be moved to another system, the vendor of the card or system vendor should provide a mechanism for generating a new system GUID or retrieving the SMBIOS UUID from the given system.
Get system info parameters command This command is available to the MC. This command is used for retrieving system information parameters from the set system info parameters command. Table 24 Get system info parameters command request and response data Request data byte number Data field 1 [7] • 0b = get parameter • 1b = get parameter revision only [6:0] — reserved 2 Parameter selector 3 Set selector. Selects a given set of parameters under a given parameter selector value.
Table 25 System info parameters (continued) Parameter System firmware version # 1 Parameter data (non-volatile unless otherwise noted)1 01b = Set in progress indicating 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 MC 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).
Table 25 System info parameters (continued) Parameter # Parameter data (non-volatile unless otherwise noted)1 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) Primary operating system name (non-volatile) 3 Primary operating system name.
Table 25 System info parameters (continued) Parameter # Parameter data (non-volatile unless otherwise noted)1 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 is dependent on the encoding selected in string data byte 1.
Table 26 Master write-read command request and response data (continued) 3 Read count. Number of bytes to read, 1 based. 0 equals not bytes to read. The maximum read count should be at least 34 bytes. This allows the command to be used for an SMBus Block Read. This is required if the command provides access to an SMBus or IPMB. Otherwise, if FRU SEEPROM devices are accessible, at least 31 bytes must be supported.
Table 27 Get channel authentication capabilities command request and response data (continued) [7] 1b = Get IPMI v2.0+ extended data. If the given channel supports authentication but does not support RMCP+ (such as a serial channel), then the response data should return with bit [5] of byte 4 = 0b, byte 5 should return 01h, 0b = Backward compatible with IPMI v1.5.
Table 27 Get channel authentication capabilities command request and response data (continued) [0] 4 None [7:6] Reserved [5] KG status (two-key login status). Applies to v2.0/RMCP+ RAKP authentication only. Otherwise, ignore as reserved. 0b = KG is set to default (all 0’s). User key KUID is used in place of KG in RAKP. (Knowledge of KG not required for activating session.) 1b = KG is set to non-zero value.
The data is accessed 16-bytes at a time starting from List Index field value of 0 in the request and then repeating the request incrementing the List Index field each time until fewer than 16-bytes of algorithm data (or no algorithm data) is returned in the response, or the maximum List Index value has been reached. A given Cipher Suite may only be available for establishing a session at a particular maximum privilege level or lower.
Table 28 Get channel cipher suites command request and response data (continued) Format. Record data is ‘packed’; there are no pad bytes between records. It is possible that record data will span across multiple List Index values. The MC returns sixteen (16) bytes at a time per index, starting from index 00h, until the list data is exhausted, at which point it will 0 bytes or <16 bytes of list data.
Table 29 Cipher suite record format (continued) Size Tag bits [7:6] Tag bits [5:0] var 01b [5:0] = Integrity Algorithm Number(s). var 10b [5:0] = Confidentiality Algorithm Number(s). Cipher suite ID numbers The following table provides the number ranges and assignments for Cipher Suite IDs. The Cipher Suite ID values are used as a way to identify different Cipher Suites in configuration parameters and IPMI commands.
Table 30 Cipher suite ID numbers (continued) ID Characteristics Cipher Suite Authentication Algorithm Integrity Algorithm(s) Confidentiality Algorithm(s) A = Authenticated payload data supported. E = Authentication and encrypted payload data supported. Set session privilege level command This command is available to the MC. This command is sent in authenticated format. When a session is activated, the session is set to an initial privilege level.
Close session command This command is used to immediately terminate a session in progress. It is typically used to close the session that the user is communicating over, though it can be used to terminate other sessions in progress (provided that the user is operating at the appropriate privilege level, or the command is executed over a local channel, such as the system interface). Table 32 Close session command request and response data IPMI request data byte number Data field 1:4 Session ID.
Table 33 Get session info command request and response data (continued) IPMI response data byte number Data field 1 Completion code 2 Session handle presently assigned to active session. FFh = reserved. Return 00h if no active session associated with given session index. 3 Number of possible active sessions. This value reflects the number of possible entries (slots) in the sessions table. • [7:6] — Reserved • [5:0] — Session slot count. 1-based.
Table 33 Get session info command request and response data (continued) 10:13 If PPP connection, the IP address of the remote console. (MS-byte first). 00h, 00h, 00h, 00h otherwise. The following additional bytes 14:15 are returned if channel type = asynch. serial/modem and connection is PPP: 14:15 Port address of remote console (LS-byte first). Address that was received in the activate session command that activated the session. Get AuthCode command This command is available to the MC.
Table 34 Get AuthCode command request and response data IPMI request data byte number Data field 1 [7:6] - Authentication type / Integrity algorithm number • 00b = IPMI v1.5 AuthCode algorithms • 01b = IPMI v2.0/RMCP+ algorithm number For [7:6] = 00b, IPMI v1.5 AuthCode number: • [5:4] - Reserved • [3:0] - Hash type ◦ 0h = Reserved ◦ 1h = MD2 ◦ 2h = MD5 ◦ 3h = Reserved ◦ 4h = Reserved (change from IPMI v1.5). This results in an error completion code.
The active (volatile) settings can be overwritten to allow run-time software to make temporary changes to the access. The volatile settings are overwritten from the non-volatile settings whenever the system is reset or transitions to a powered off state. An implementation can elect to provide a subset of the possible access mode options. If a given access mode is not supported, the command-specific completion code 83h (access mode not supported) must be returned.
Table 35 Set channel access command request and response data (continued) 3 010b = Always available. Channel always available for communication regardless of system mode. BIOS typically dedicates the serial connection to the MC. 011b = Shared. Same as always available, but BIOS typically leaves the serial port available for software use. Channel privilege level limit. This value sets the maximum privilege level that can be accepted on the specified channel.
Table 36 Get channel access command request and response data (continued) 1 2 Completion code. Generic, plus the command-specific completion code: 82h = Command not supported for selected channel (for example, the channel is session-less.) [7:6] Reserved. [5] 0b = Alerting enabled. 1b = Alerting disabled. [4] [3] [2:0] 3 Per-message authentication enable/disable. This bit is unspecified for channels (such as serial/modem) that do not support per-message authentication.
Table 37 Get channel info command request and response data (continued) IPMI response data byte number Data field 1 Completion code 2 [7:4] Reserved [3:0] Actual channel number. This value typically matches the channel number passed in the request, unless the request is for channel E, in which case the response returns the actual channel number.
Table 37 Get channel info command request and response data (continued) For OEM channel types: Byte 1:2 = OEM specified per OEM identified by vendor ID. All other channel types: Byte 1:2 = reserved. Set user access command This command is available to the MC. This command is used to configure the privilege level and channel accessibility associated with a given user ID.
Table 38 Set user access command request and response data (continued) 2 User ID • [7:6] — Reserved • [5:0] — User ID. 000000b = Reserved. 3 (4) User limits [7:4] Reserved [3:0] User privilege limit. Determines the maximum privilege level that the user is allowed to switch to on the specified channel. 0h = Reserved 1h = Callback 2h = User 3h = Operator 4h = Administrator 5h = OEM proprietary Fh = No access User session limit (optional).
Table 39 Get user access command request and response data (continued) NOTE: An implementation does not return an error completion code if the user access level is set higher than the privilege limit for a given channel. To bring attention to this condition, the software must check the channel privilege limits and provide notification of the mismatch. 2 Maximum number of user IDs. 1-based. Count includes User 1. A value of 1 indicates only User 1 is supported.
Table 39 Get user access command request and response data (continued) 4h = Administrator 5h = OEM proprietary Fh = No access. This value does not add to, or subtract from, the number of enabled user IDs Set user name command This command is available to the MC. This command adds a new user ID. The names are stored as a logical array within non-volatile storage associated with the management controller. Names are stored and retrieved using the user ID as the index into the logical array.
Table 41 Get user name command request and response data (continued) Response data byte number Data field 1 Completion code. 2:17 User name string in ASCII, 16 bytes, max. Strings with fewer than 16 characters are terminated with null (00h) characters filling in the remaining bytes. MC does not check to see whether string data is printable or not. Only character that MC interprets is null (00h). Set user password command This command is available to the MC.
Table 42 Set user password command request and response data (continued) 00b = Disable user 01b = Enable user 10b = Set password 11b = Test password. Compares the password data given in the request with the presently stored password and returns an OK completion code if there is a match. Otherwise, an error completion code is returned. (See the completion code description in the response data.) For password size = 16 bytes: 3:18 Password data.
NOTE: The following commands remain available for payloads if IPMI messaging payload type is disabled: • Deactivate payload • Suspend/resume payload encryption (as defined for given payload) • Get payload activation status • Get channel payload version command • Set session privilege level • Close session Table 43 (page 71) defines the payload type numbers and ranges for Payload Type Handles.
Table 44 Activate payload command request and response data Request data byte number Data field 1 • [7:6] — Reserved • [5:0] — Payload type. IPMI message payloads do not need to be explicitly activated. A payload that is required to be launched over a different port than that used to establish the initial IPMI session is only required to support the IPMI commands needed by the particular payload type. 2 Payload instance • [7:4] — Reserved • [3:0] — Payload instance. 1-based. 0h = reserved.
Table 44 Activate payload command request and response data (continued) the remote console to first alter volatile configuration settings before hardware handshake is released). ◦ [0] — Reserved • Byte 2:4 — Reserved, write a 00h Response data byte number Data field 1 Completion code. Generic plus the command-specific completion codes: (An error completion code should be returned if the payload type in the request is set to IPMI Message ( 0h ) ).
Table 45 Deactivate payload command request and response data Request data byte number Data field 1 • [7:6] — Reserved • [5:0] — Payload type. 2 Payload instance • [7:4] — Reserved • [3:0] — Payload instance. 1-based. 0h = reserved. 3:6 Payload auxiliary data. Additional parameters to configure behavior of the payload when it becomes deactivated. Ignored if no auxiliary data is specified for given payload type.
Table 46 Payload-specific encryption behavior (continued) Payload Type = SOL • The SOL configuration parameters allow configuring the system to require that SOL data be encrypted. • The MC will transmit SOL payload data according to encryption settings that were selected when the payload was activated unless over-ridden by SOL configuration parameters. • The Suspend/Resume Payload Encryption command controls whether SOL Payload data is encrypted or not.
If this command is not supported, it indicates that the keys are either permanently pre-configured, or that they are only configurable via an OEM/MC-specific mechanism. Request data byte number Data field 1 Channel Number [7:4] - reserved [3:0] - Channel Number NOTE: This command only applies to channels that support RMCP+, if the channel does not support RMCP+ the command will return an error completion code.
2 7:2 - reserved. 1:0 - lock status • 00b = key is not lockable. • 01b = key is locked. • 10b = key is unlocked. • 11b = reserved (3:N) Key value. The MC returns the specified key value when the Operation is set to “read key”. Otherwise, the MC returns no additional bytes past the completion code. Get system interface capabilities command This command can be used to determine whether the SSIF supports multi-part transactions, and what size of IPMI messages can be transferred.
[2:0] - SSIF Version • 000b = version 1 (version defined in this specification). 4 Input message size in bytes. (1 based.) Number of bytes of IPMI message data that the MC can accept. This number does not include slave address, SMBus length , PEC, or SMBus CMD bytes, just the IPMI message data. A MC that just supports single-part writes would return 32 (20h) for this value. A MC that supports multi-part Start and End would return a value from 33 to 64.
Table 48 Get payload activation status command request and response data (continued) 4 [7] [6] 0b = Instance 1 is deactivated. 1b = Instance 16 is activated. 0b = Instance 16 is deactivated. 1b = Instance 15 is activated. 0b = Instance 15 is deactivated. 1b = Instance 9 is activated. 0b = Instance 9 is deactivated. ... [0] Get payload instance info command This command is available to the MC. This command returns information about a specific instance of a payload type.
payloads selected to set the configuration for standard payloads, and then at least once with OEM payloads selected to set the configuration for OEM payloads. Table 50 Set user payload access command request and response data Request data byte Data field number 1 Channel number • [7:4] — Reserved • [3:0] — Channel number 2 [7:6] - Operation • 00b = Enable. Writing a “1b” to enable/disable bit enables the corresponding payload. Writing “0b” to bit causes no change to enabled/disabled state.
Table 51 Get user payload access command request and response data Request data byte Data field number 1 Channel number • [7:4] — Reserved • [3:0] — Channel number 2 User ID • [7:6] — Reserved • [5:0] - User ID. 000000b = reserved Response data byte number Data field 1 Completion code 2 Standard payload enables 1 • [7:2] — Reserved for standard payloads 2-7 enabled/disabled state. • [1] ◦ 1b = Standard payload 1 enabled (SOL) ◦ 0b = Standard payload 1 disabled • [0] — Reserved.
Table 52 Get channel payload support command request and response data (continued) 1 Completion code 2 • [7] = Standard payload type #7 supported • ... • [0] = Standard payload type #0 supported 3 • [7] = Standard payload type #15 (0Fh) supported • ... • [0] = Standard payload type #8 supported 4 • [7] = Session setup payload type #7 supported • ... • [0] = Session setup payload type #0 supported 5 • [7] = Session setup payload type #15 (0Fh) supported • ...
Table 53 Get channel payload version command request and response data (continued) Response data byte number Data field 1 Completion code. Generic plus command-specific completion code: 80h — Payload type not available on given channel. 2 Format version • [7:4] - Major format version. BCD encoded (0 to 9). • [3:0] - Minor format version. BCD encoded (0 to 9). Software should present version data to the user in the format “major.minor”. For example, 10h —>1.0.
Table 55 Get LAN configuration parameters request and response data Request data byte Data field number 1 [7] • 0b = Get parameter • 1b = Get parameter revision only [6:4] - Reserved [3:0] - Channel number 2 Parameter selector 3 Set Selector. Selects a given set of parameters under a given Parameter selector value. 00h if parameter doesn’t use a Set Selector. 4 Block Selector (00h if parameter does not require a block number) Response data byte number Data field 1 Completion Code.
Table 56 LAN configuration parameters (continued) Parameter # Parameter Data (non-volatile unless otherwise noted)1 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 Authentication Type 1 Support (Read Only) This ‘read only’ field returns which possible Authentication Types (algorithms) can be enabled for the given channel.
Table 56 LAN configuration parameters (continued) Parameter # Parameter Data (non-volatile unless otherwise noted)1 ◦ [1] - MD2 ◦ [0] - none • byte 2: Authentication Type(s) for maximum privilege = User level (format follows byte 1) • byte 3: Authentication Type (s) for maximum privilege = Operator level (format follows byte 1) • byte 4: Authentication Type (s) for maximum privilege = Administrator level (format follows byte 1) • byte 5: Authentication Type (s) for maximum privilege = OEM level (form
Table 56 LAN configuration parameters (continued) Parameter # MC-generated ARP 10 control (optional2) Parameter Data (non-volatile unless otherwise noted)1 data 1 - MC-generated ARP control. Note: the individual capabilities for MC-generated ARP responses and MC-generated Gratuitous ARPs are individually optional. The MC should return an error completion code if an attempt is made to enable an unsupported capability.
Table 56 LAN configuration parameters (continued) Parameter # Parameter Data (non-volatile unless otherwise noted)1 Destination Type 18 Sets the type of LAN Alert associated with the given destination. This parameter is not present if the Number of Destinations parameter is 0. (volatile / non-volatile - see description) • data 1 - Set Selector = Destination selector, 0 based. ◦ [7:4] -reserved ◦ [3:0] -Destination selector.
Table 56 LAN configuration parameters (continued) Parameter # Parameter Data (non-volatile unless otherwise noted)1 Destination Addresses 19 Sets/Gets the list of IP addresses that a LAN alert can be sent to. This parameter is not present if the Number of Destinations parameter is 0. • data 1 - Set Selector = Destination Selector. ◦ [7:4] -reserved ◦ [3:0] -Destination selector. Destination 0 is always present as a volatile destination that is used with the Alert Immediate command.
Table 56 LAN configuration parameters (continued) Parameter # Parameter Data (non-volatile unless otherwise noted)1 Cipher Suite IDs assigned for standard Cipher Suites (see Table 22-19, Cipher Suite IDs) data 1 [7:5] - reserved [4:0] - Cipher Suite Entry count. Number of Cipher Suite entries, 1-based, 10h max.
Table 56 LAN configuration parameters (continued) Parameter # Parameter Data (non-volatile unless otherwise noted)1 it must support configuring unique TAG information for all destinations on the given channel. • data 1 - Set Selector = Destination Selector. ◦ [7:4] -reserved ◦ [3:0] -Destination selector. Destination 0 is always present as a volatile destination that is used with the Alert Immediate command. • data 2 - Address Format ◦ [7:4] - Address Format.
Table 56 LAN configuration parameters (continued) Parameter # Parameter Data (non-volatile unless otherwise noted)1 The Set User Access command is used to re-enable the user for the Channel. • byte 1 ◦ [7:1] - reserved ◦ [0] – 0b = do not generate an event message when the user is disabled. – 1b = generate a Session Audit sensor "Invalid password disable" event message. byte 2 ◦ 7:0 - Bad Password Threshold number. • byte 3:4 ◦ 15:0 - Attempt Count Reset Interval.
Table 57 Set SOL configuration parameters command request and response data Request data byte Data field number 1 • [7:4] — Reserved • [3:0] — Channel number 2 Parameter selector 3:N Configuration parameter data. See Table 59 (page 94). Response data byte number Data field 1 Completion code. • 80h = Parameter not supported. • 81h = Attempt to set the set in progress value (in parameter #0) when not in the set complete state.
Table 59 SOL configuration parameters Parameter # Parameter Data (non-volatile unless otherwise noted)1 Set In Progress (volatile) 0 Data 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.
Table 59 SOL configuration parameters (continued) Parameter Character accumulate interval & character send threshold # 3 Parameter Data (non-volatile unless otherwise noted)1 1b: Force authentication. If the cipher suite for the session supports authentication, this setting forces the use of authentication on all SOL payload data. 0b: Authentication controlled by remote software. For the standard cipher suites, if encryption is used then authentication must also be used.
Table 59 SOL configuration parameters (continued) Parameter # Parameter Data (non-volatile unless otherwise noted)1 NOTE: If SOL is enabled for multiple LAN channels, the MC uses the serial communication settings for the channel over which the activate sol command was initially received. The settings for other channels are ignored. Data 1 [7:4] Reserved [3:0] Bit rate. 1-5h = reserved. Support for bit rates other than 19.2 kbps is optional.
• System power cycle • Pre-timeout interrupt (optional) The system reset on timeout, system power off on timeout, and system power cycle on timeout action selections are mutually exclusive. The watchdog timer is stopped whenever the system is powered-down. A command must be sent to start the timer after the system powers up. Watchdog timer use field and expiration flags The watchdog timer provides a timer use field that indicates the current use assigned to the watchdog timer.
Pre-timeout interrupt The watchdog timer offers a pre-timeout interrupt option. This option is enabled whenever the interrupt on timeout option is selected along with any of the other watchdog timer actions. If this option is enabled, the MC generates the selected interrupt a fixed interval before the timer expires. This feature can be used to allow an interrupt handler to intercept the timeout event before it actually occurs. The default pre-timeout interrupt interval is one (1) second.
If the timer is already running, the set watchdog timer command stops the timer (unless the don’t stop bit is set) and clears the watchdog pre-timeout interrupt flag. MC hard resets, system hard resets, and the cold reset command also stop the timer and clear the flag. • Byte 1 is used for selecting the timer use and configuring whether an event will be logged on expiration. • Byte 2 is used for selecting the timeout action and pre-timeout interrupt type. • Byte 3 sets the pre-timeout interval.
Table 61 Set watchdog timer command request and response data (continued) 100b,111b Reserved = [3] Reserved [2:0] Timeout action 000b = No action 001b = Hard reset 010b = Power down 011b = Power dycle 100b,111b Reserved = 3 Pre-timeout interval in seconds. 1 based. 4 Timer use expiration flags clear. (0b = leave alone, 1b = clear timer use expiration bit).
2 3 Timer use [7] 1b = Don't log [6] 1b = Timer is started (running) 0b = Timer is stopped [5:3] Reserved [2:0] Timer use (logged on expiration when don't log bit = 0b) 000b = Reserved 001b = BIOS FRB2 010b = BIOS/POST 011b = OS Load 100b = SMS/OS 101b = OEM 110b -111b = Reserved Timer actions [7] Reserved [6:4] Pre-timeout interrupt (logged on expiration when don’t log bit = 0b) 000b = None 001b = SMI (if implemented) 010b = NMI / diagnostic interrupt (if implemented) 01
Table 62 Get watchdog timer command response data (continued) [2] BIOS/POST [1] BIOS FRB2 [0] Reserved 6 Initial countdown value, LS byte (100 ms/count) 7 Initial countdown value, MS byte 8 Present countdown value, LS byte. The initial countdown value and present countdown values should match immediately after the countdown is initialized via a set watchdog timer command and after a reset watchdog timer has been executed.
Table 63 Get chassis capabilities command response data (continued) 3 Chassis FRU info device address. All IPMB addresses used in this command have the 7-bit I2C slave address as the most-significant 7-bits and the least significant bit set to 0b. 00h = unspecified. 4 Chassis SDR device address 5 Chassis SEL device address 6 Chassis system management device address (7) Chassis bridge device address. Reports location of the ICMB bridge function.
Table 64 Get chassis status command response data (continued) 4 1b = Last power down caused by power fault [2] 1b = Last power down caused by a power interlock being activated [1] 1b = Last power down caused by a power overload [0] 1b = AC failed Miscellaneous chassis state (5) 1 [3] [7] Reserved [6] 1b = Chassis identify command and state information supported (optional) 0b = Chassis identify command support unspecified via this command.
Table 65 Chassis control command request and response data (continued) 0h = Power down. Force system into soft off (S4/S45) state. This is for emergency management power down actions. The command does not initiate a clean shut-down of the operating system before powering down the system. 1h = Power up. 2h = Power cycle (optional). This command provides a power off interval of at least 1 second following the de-assertion of the system’s power good status from the main power subsystem.
Table 66 Chassis identify command request and response data Request data byte number Data field 11 [7:0] Identify interval in seconds (optional). 1-based. Timing accuracy = -0/+20%. If this byte is not provided, the default timeout shall be 15 seconds -0/+20%. This byte can be overridden by optional byte 2. 00h = Turn off identify 22 Force identify on (optional). This field enables software to command the identify to be on indefinitely.
Table 67 Set power restore policy command request and response data (continued) 1 [2] 1b = Chassis supports always powering up after AC/mains returns [1] 1b = Chassis supports restoring power to the state that was in effect when AC/mains was lost [0] 1b = Chassis supports staying powered off after AC/mains returns In some installations, the chassis’ main power feed may be DC based. For example, -48V.
Table 69 Get system boot options request command and response data Request data byte number Data field 1 Parameter selector [7] Reserved [6:0] Boot option parameter selector 2 [7:0] - Set selector. Selects a particular block or set of parameters under the given parameter selector. Write as 00h if parameter does not use a set selector. 3 [7:0] - Block selector. Selects a particular block within a set of parameters. Write as 00h if parameter does not use a block selector.
Table 70 Boot option parameters (continued) Parameter # Parameter data (non-volatile unless otherwise noted) parameter data. It is a notification flag only, it is not a resource lock. The MC does not provide any interlock mechanism that would prevent other software from writing parameter data. 11b = MC boot flag valid bit clearing (semi-volatile)1 Boot info acknowledge (semi-volatile)1 3 4 Reserved Data 1 — MC boot flag valid bit clearing. Default = 00000b.
Table 70 Boot option parameters (continued) Parameter # Boot flags (semi-volatile)1 5 Parameter data (non-volatile unless otherwise noted) [1] 0b = OS loader has handled boot information. [0] 0b = BIOS/POST has handled boot information. [7] 1b = Boot flags valid. The bit should be set to indicate that valid flag data is present. This bit may be automatically cleared based on the boot flag valid bit clearing parameter. [6] 0b = Options apply to next boot only.
Table 70 Boot option parameters (continued) Parameter # Parameter data (non-volatile unless otherwise noted) 0010b = Force boot from default hard-drive2 1100-1110b Reserved [1] 1b = Screen blank. Not supported in Moonshot. [0] 1b = Lock out reset buttons. Not supported in Moonshot. Data 3 [7] 1b = Lock out (power off/ sleep request) via power button. Not supported in Moonshot. [6:5] Firmware (BIOS) verbosity (directs what appears on POST display). Not supported in Moonshot.
Table 71 Get POH counter command response data Response data byte number Data field 1 Completion code 2 Minutes per count 3:6 Counter reading. LS byte first. When the system is powered down between counts, the counter either picks up incrementing at the offset at which the power down occurred, or starts counting at 0 minutes from the last counter reading, depending on the choice of the implementer.
Get event receiver command This command is used to retrieve the present setting for the event receiver slave address and LUN. This command is only applicable to management controllers that act as IPMB event generators. Table 73 Get event receiver command response data Response data byte number Data field 1 Completion code 2 Event receiver slave address. 0FFh indicates event message generation has been disabled.
SEL commands The SEL is a non-volatile repository for system events and certain system configuration information. The device that fields these commands is referred to as the SEL device. Event message information is normally written into the SEL after being received by the event receiver functionality in the event receiver device. The SEL device commands are structured in such a way that the device can be separated from the event receiver device.
Table 75 Get SEL info command request and response data (continued) Request data byte number Data field 4 Entries MS byte — number of log entries in SEL, MS byte 5:6 Free space in bytes, LS byte first. FFFFh indicates 65535 or more bytes of free space are available. 7:10 Most recent addition timestamp. • LS byte first. • Returns FFFF_FFFFh if no SEL entries have ever been made or if a component update or error caused the retained value to be lost. 11:14 Most recent erase timestamp.
Get SEL entry command Use this command to retrieve entries from the SEL. The record data field in the response returns the 16 bytes of data from the SEL event record. Table 77 Get sel entry request data Request data byte number Data field 1:2 Reservation id, LS byte first. Only required for partial get. Use 0000h otherwise. 3:4 SEL record id, LS byte first. 1 0000h = get first entry FFFFh — get last entry 5 Offset into record 6 Bytes to read. FFh means read entire record.
Table 80 Add SEL entry response data Request data byte number Data field 1 Completion code. Generic, plus following command specific: 80h = operation not supported for this record type 81h = cannot execute command, SEL erase in progress 2:3 Record id for added record, LS byte first. Clear SEL This command erases all contents of the System Event Log.
Get SEL time command This command returns the time from the SEL device. This time is used by the SEL device for event timestampting. Table 84 Get SEL time command request and respond data Response data byte number Data field 1 Completion code 2:5 Present timestamp clock reading. LS byte first. Request data byte number Data field 1:4 Time in four byte format. LS byte first. Set SEL time command This command initializes the time in the SEL device.
changed. Software can determine whether a given record has been given a different record ID by examining just the SDR’s header and record key bytes. Get SDR repository info command This command is available to the MC. At the zone level, remember to issue the SDR repository version of the command. At any other zone, use the device SDR version of the command. This command returns the SDR command version for the SDR repository. It also returns a timestamp for when the last add, delete, or clear occurred.
Get SDR repository allocation info command This command is available to the MC. This command returns the number of possible allocation units, the amount of usable free space (in allocation units), the allocation unit size (in bytes), and the size of the largest contiguous free region (in allocation units). The allocation unit size is the number of bytes in which storage is allocated.
the record ID for the wrong record. However, events that change record IDs for any existing records cause the present reservation ID to be canceled. This prevents software from using an out-of-date record ID to access a record. For example, it would prevent the delete SDR command from executing and deleting the wrong record in case a given record ID was reassigned to a different record.
version of the SDR repository before it sends any other SDR repository commands. This is important since the SDR repository command format and operation can change between versions). If the record ID is specified as 0000h, this command returns the record header for the first SDR in the repository. FFFFh specifies that the last SDR in the repository should be listed.
This command adds the specified sensor record to the SDR repository and returns its record ID. The data passed in the request must contain the SDR data in its entirety. Table 90 Add SDR command request and response data Request data byte number Data field 1:N SDR data Response data byte number Data field 1 Completion code 2 Record ID for added record, LS byte 3 Record ID for added record, MS byte Delete SDR command This command is available to the MC.
Table 92 Clear SDR repository command request and response data (continued) 5 R (52h) 6 • AAH = initiate erase • 00h = get erasure status Response data byte number Data field 1 Completion code 2 Erasure progress • [7:4] - reserved • [3:0] - erasure in progress ◦ 0h = erasure in progress ◦ 1h = erase completed Run initialization agent command This command is available to the MC. This command can be used to cause the initialization agent to run.
Get FRU inventory area info command This command returns the overall size of the FRU inventory area for a device in bytes. Table 94 Get FRU inventory area info command request and response data Request data byte number Data field 1 FRU device id. FFh = reserved Response data byte number Data field 1 Completion code. 2 FRU inventory area size in bytes, LS byte. 3 FRU inventory area size in bytes, MS byte.
Table 95 Read FRU data command request and response data (continued) 2 Count returned – count is 1 based 3:2+N Requested data. Write FRU data command This command writes the specified byte or word to the FRU inventory info area. This is a low level direct interface to a non-volatile storage area. This means that the interface does not interpret or check any semantics or formatting for the data being written.
Table 97 Get device SDR info command request and response data (continued) [7:1] — reserved [0] — 1b = Get SDR count, returns the total number of SDRs in the device. 0b = Get sensor count, returns the number of sensors implemented on the LUN addressed. Response data byte number Data field 1 Completion code 2 For operation = Get sensor count (or if byte 1 not present in the request): Number of sensors in device for the LUN this command was addressed.
Table 98 Get device SDR command request and response data (continued) 5 Offset into record. 6 Bytes to read. FFh means read entire record. Response data byte number Data field 1 Completion code. Generic, plus command specific: 80h = record changed. This status is returned if any of the record contents were altered since the last time the requestor issued the request with 00h for the offset into SDR field. 2 Record id for next record, LS byte. 3 Record id for next record, MS byte.
Table 100 Get sensor thresholds command response data (continued) Response data byte number Data field 6 upper non-critical threshold, if present, ignore on read otherwise 7 upper critical, if present, ignore on read otherwise 8 upper non-recoverable, if present, ignore on read otherwise Get sensor reading command This command returns the present reading for sensor.
Table 101 Get sensor reading command request data (continued) [3] = 1b = state 3 asserted [2] = 1b = state 2 asserted [1] = 1b = state 1 asserted [0] = 1b = state 0 asserted (5) For discrete reading sensors only. (Optional) (00h Otherwise) [7] = Reserved. Returned as 1b. Ignore on read.
Table 102 DCMI completion codes (continued) Code Definition CFh Cannot execute duplicated request. This completion code is for devices which cannot return the response that was returned for the original instance of the request. Such devices should provide separate commands that allow the completion status of the original request to be determined. An event receiver does not use this completion code, but returns the 00h completion code in the response to (valid) duplicated requests.
Table 104 DCMI Capabilities Parameters Parameter # Parameter data (non-volatle unless noted) Supported DCMI capabilities 1 This field returns the supported capabilities available in the server in conformance to DCMI specification for both Platform and Manageability access. All reserved bits shall be set to 0b. • Byte 1–Reserved • Byte 2–Platform capabilities.
Table 104 DCMI Capabilities Parameters (continued) Parameter # Parameter data (non-volatle unless noted) Optional platform attributes 3 This field returns the attributes required for the recommended platform capabilities. • Byte 1 — Power management device slave address ◦ [7:1] 7–bit I2C slave address on IPMB. ◦ [0] Reserved. Write as 0b.
Table 105 Get asset tag command request and response data (continued) shall return the requested data bytes, but shall also return a command-specific completion code based on the detected encoding type, as follows: • 80h=Encoding type in FRU is binary/unspecified • 81h=Encoding type in FRU is BCD Plus • 82h=Encoding type is FRU is 6–bit ASCII Packed • 83h=Encoding type is set to ASCII+Latin1 but language code is not set to English (indicating data is 2–byte Unicode).
Table 107 Get DCMI sensor info command request and response data (continued) 4 Number of record IDs in this response (maximum of 8 per response) 01h for entity instance not equal to 00h. 5:6 + N SDR record ID corresponding to the entity IDs. • Byte 1: Record ID LS byte, used for retrieving SDR records. • Byte 2: Record ID MS byte, used for retrieving SDR records. NOTE: The management controller can include SDR record IDs corresponding to entities IDs compatible IPMI 2.
controller identifier string commands are provided to provision the controller with the unique identification. The management controller must maintain the management controller identifier string as non-volatile data. The management controller ID string is used to override the default OEM provided ID for DHCP discovery. If the management controller ID string is not provisioned, then the default controller ID shall be “DCMI”.
PICMG specific commands Get PICMG properties command Table 111 Get PICMG properties command request and response data Request data byte number Data field 1 PICMG Identifier. Indicates that this is a PICMG-defined group extension command. A value of 00h is used. Response data byte number Data field 1 Completion code. 2 PICMG Identifier. Indicates that this is a PICMG-defined group extension command. A value of 00h is used. 3 PICMG Extension Version.
Table 112 Get address info command request and response data (continued) 1 Completion code. 2 PICMG identifier. Indicates that this is a PICMG-defined group extension command. A value of 00h is used. 3 Hardware Address. Indicates the Hardware Address of the IPM Controller. 4 IPMB-0 Address. Indicates the IPMB address for IPMB-0 of the IPM Controller. 5 Reserved. Has a value FFh. Other values reserved in PICMG 2.9. 6 FRU Device ID.
Table 114 FRU inventory device lock control command request and response data (continued) 3 Operation. The operation to perform on the FRU lock. 0 Get last commit timestamp. Used to fetch the FRU inventory device’s last commit timestamp. 1 Lock. Lock the FRU inventory device lock and return a lock 10. 2 Unlock and discard. Unlock the FRU inventory device lock and discard all writes since the last lock. 3 Unlock and commit. Unlock the FRU inventory device lock and commit all writes since the last lock.
6 IPMI Messaging and Interfaces IPMI uses message based interfaces for the different interfaces to the platform management subsystem such as IPMB, LAN, and the system interface to the MC. All IPMI messages share the same fields in the message payload regardless of the interface (transport) that they are transferred over. The same core of IPMI messages is available over every IPMI specified interface, just wrapped differently according to the needs of the particular transport.
Message interface description The heart of this specification is the definition of the messages and data formats used for implementing sensors, event messages, event generators and event receivers, the SDR Repository, and the SEL in the platform management architecture. These messages are designed for delivery using a messaging interface with a particular set of characteristics. This section presents the general specification of that interface, and the messages.
for a given network function are not node specific. The format and function for standard command sets is specified later. Table 116 Moonshot network function codes Value(s) Name Meaning Description 00, 01 Chassis Chassis device requests and responses 00h identifies the message as a command/request and 01h as a response, relating to the common chassis control and status functions. 04, 05 Sensor/Event Sensor and event requests and responses This functionality can be present on any node.
completed successfully and normally, and if not, provides a value indicating the completion condition. Completion codes work at the command level. They are responses to the interpretation of the command after it has been received and validated through the messaging interface. Errors at the network (messaging interface) level are handled with a different error reporting mechanism. Completion code values are split into generic, device-specific (which covers OEM) and command-specific ranges.
Table 117 Completion Codes (continued) Code Definition D4h Cannot execute command due to insufficient privilege level or other security based restriction (example, disabled for firmware firewall). D5h Cannot execute command. Command or request parameter(s) not supported in present state. D6h Cannot execute command. Parameter is illegal because command sub-function has been disabled or is unavailable (example, disabled for firmware firewall). FFh Unspecified error.
Privilege Levels determine which IPMI commands a given user can execute over a given channel. Privilege Limits set the maximum privilege level at which a user can operate. A user is configured with a given maximum privilege limit for each channel. In addition, there is a Channel Privilege Limit that sets the maximum limit for all users on a given channel. The Channel Privilege Limit takes precedence over the privilege configured for the user.
Table 119 Channel privilege levels Channel privilege level Description Callback Lowest privilege level. Only commands necessary to support initiating a Callback are allowed. User Primarily commands that read data structures and retrieve status. Commands that can be used to alter MC configuration, write data to the management controllers, or perform system actions such as resets, power on/off, and watchdog activation are disallowed.
An IPMI messaging connection to the MC fits one of three classifications, session-less, single-session, or multi-session. Session-less connections A session-less connection is unauthenticated. There is no user login required for performing IPMI messaging. The System Interface and IPMB are examples of session-less connections. A special case of a session-less connection can occur over an interface that supports session-based messaging.
message in the queue. This helps prevent lockout by having the queue fill with just messages from one interface. The MC itself can, if necessary, use the Receive Message Queue and Messaging Channels to send asynchronous messages to system management software. The recommended mechanism for accomplishing this is to define a unique channel with a protocol type of system.
Send Message command with response tracking The Send Message command is used primarily to direct the MC to act as a proxy that translates a message from one IPMI messaging protocol to another. The MC formats the data for the target channel type and protocol and delivers it to the selected medium. Media such as the IPMB do not include channel number and session information as part of their addressing information.
When a request message is bridged to another channel by encapsulating it in a Send Message command (from a source channel other than the system interface), the MC immediately returns a response to the Send Message command itself. Meanwhile, the request is extracted from the Send Message command and forwarded to the specified target channel.
1. 2. 3. 4. 5. When the MC receives the Send Message command with the Bridged Request parameter bit set, it checks for an available entry in a Pending Bridged Response table and copies parameters from the request to be bridged. When the response comes back, these parameters will be used to validate that the response matches the earlier request and to reformat the response for the originating channel.
Table 121 MC IPMB LUNs LUN Short Description Long Description 00b MC commands and Event Request Messages Event Request Messages received on this LUN are routed to the Event Receiver Function in the MC and automatically logged if SEL logging is enabled. 01b OEM LUN 1 OEM — reserved for MC implementer/system integrator definition.
The response is for the Send Message command and not for the Set Event Receiver command. The response to the Set Event Receiver command is returned later in the Receive Message Queue. System software uses the Get Message command to read messages from the Receive Message Queue. System software keeps track of any outstanding responses and matches responses up with corresponding requests as they are returned.
Where: LUN Returns the LUN that was passed in the Request Message. NetFn A return of the NetFn code that was passed in the Request Message. Except that an odd NetFn value is returned. Cmd Return of the Cmd code that was passed in the Request Message. Completion Code Indicates whether the request completed successfully. Data Zero or more bytes of data. The MC always returns a response to acknowledge the request, regardless of whether data is returned.
Table 122 RMCP Port Numbers (continued) Port# Name Description Since discovery requires sending in the clear RMCP ping/pong packets, the secondary port is used to transfer encrypted transfers while the primary port continues to support unencrypted packets. An implementation that utilizes this port must still support the Primary RMCP port and the required messages on that port in order to be conformant with the RMCP specifications.
Table 124 Message Type Determination Under RMCP (continued) ACK/Normal bit Message Class Message Type Message Data normal ASF ASF Messages Per ASF specification normal OEM OEM message bytes:3 = OEM IANA under RMCP bytes 4:N = OEM message data (defined by manufacturer or organization identified by the OEM IANA field value) normal IPMI IPMI messages Per this specification Serial Over LAN (SOL) SOL is the name for the redirection of baseboard serial controller traffic over an IPMI session.
7 Support and other resources Information to collect before contacting HP Be sure to have the following information available before you contact HP: • Software product name • Hardware product model number • Operating system type and version • Applicable error message • Third-party hardware or software • Technical support registration number (if applicable) How to contact HP Use the following methods to contact HP technical support: • In the United States, see the Customer Service / Contact HP U
These documents are on the HP website at: http://www.hp.com/go/moonshot/docs Websites • HP Moonshot website: http://www.hp.com/go/moonshot • HP Moonshot Component Pack download website: http://www.hp.com/go/servers/moonshot/download • Intel IPMI specification website: http://www.intel.com/design/servers/ipmi/tools.
A Command Assignments The following lists the commands defined in this specification and the minimum privilege level required to execute a given command. In addition, the following apply: • Unless otherwise specified, unauthenticated, session-less interfaces, such as the System Interface and IPMB, can support any IPMI command. • The privilege level requirements for OEM commands (NetFn=OEM, OEM/Group) is specified by the OEM identified by the corresponding manufacturer ID.
Table 125 Moonshot command number assignments and privilege levels NetFn CMD C U O A App 01h Broadcast ‘Get Device ID’ App 01h Cold Reset App 02h X Warm Reset App 03h X Get Self Test Results App 04h X Get ACPI Power State App 07h X Reset Watchdog Timer App 22h X Set Watchdog Timer App 24h X Get Watchdog Timer App 25h Set BMC Global Enables App 2Eh Get BMC Global Enables App 2Fh Clear Message Flags App 30h s Get Message Flags App 31h Enable Message Channel Recei
Table 125 Moonshot command number assignments and privilege levels (continued) NetFn CMD C U O A Get Payload Activation Status App 4Ah X Get Payload Instance Info App 4Bh X Set User Payload Access App 4Ch Get User Payload Access App 4Dh Get Channel Payload Support App 4Eh X Get Channel Payload Version App 4Fh X Master Write-Read App 52h X Get Channel Cipher Suites App 54h p p p Suspend/Resume Payload Encryption App 55h X9 Set Channel Security Keys App 56h Get System Int
Table 125 Moonshot command number assignments and privilege levels (continued) NetFn CMD C U O A Storage 12h Get SDR Repository Info Storage 20h X Get SDR Repository Allocation Info Storage 21h X Reserve SDR Repository Storage 22h X Get SDR Storage 23h X Add SDR Storage 24h X Delete SDR Storage 26h X Clear SDR Repository Storage 27h X Run Initialization Agent Storage 2Ch X Get SEL Info Storage 40h X Reserve SEL Storage 42h X Get SEL Entry Storage 43h X Add SEL
Table 125 Moonshot command number assignments and privilege levels (continued) NetFn CMD C U O A Get PICMG Properties PICMG (00h) 00h X Get Address Info PICMG (00h) 01h X FRU Inventory Device Lock Control PICMG (00h) 1Fh 1 X This command is sent using the Broadcast format on IPMB. See command description for details. 2 A User can use a Send Message command to deliver a message to system software, but Operator privilege is required to use it to access other channels.
B Verbose output examples root@JSMITH-LX:/# ipmitool -I lanplus -H ILOH101GEMINI -U Administrator -P password sdr list all –v Running Get PICMG Properties my_addr 0x20, transit 0, target 0x20 Discovered PICMG Extension 2.3 Discovered IPMB-0 address 0x20 Device ID : ZoMC Entity ID : 240.
Device Capabilities Chassis Device Bridge IPMB Event Generator IPMB Event Receiver FRU Inventory Device SEL Device SDR Repository Sensor Device : : : : : : : : No No Yes No Yes No Yes Yes Device ID : PsMgmtCtlr3 Entity ID : 10.
Logs Init Agent Errors : No Event Message Gen : Enable Device Capabilities Chassis Device : No Bridge : No IPMB Event Generator : Yes IPMB Event Receiver : No FRU Inventory Device : Yes SEL Device : No SDR Repository : Yes Sensor Device : Yes Device ID : CaMC Entity ID : 160.
ACPI Device P/S Notif : Not Required Controller Presence : Dynamic Logs Init Agent Errors : No Event Message Gen : Enable Device Capabilities Chassis Device : No Bridge : No IPMB Event Generator : Yes IPMB Event Receiver : No FRU Inventory Device : Yes SEL Device : No SDR Repository : Yes Sensor Device : Yes Device ID : CaMC Entity ID : 160.
Channel Number : 0h ACPI System P/S Notif : Not Required ACPI Device P/S Notif : Not Required Controller Presence : Dynamic Logs Init Agent Errors : No Event Message Gen : Enable Device Capabilities Chassis Device : No Bridge : No IPMB Event Generator : Yes IPMB Event Receiver : No FRU Inventory Device : Yes SEL Device : No SDR Repository : Yes Sensor Device : Yes Device ID : CaMC Entity ID : 160.
Entity ID : 160.97 (PICMG Front Board) Device Slave Address : 88h Channel Number : 0h ACPI System P/S Notif : Not Required ACPI Device P/S Notif : Not Required Controller Presence : Dynamic Logs Init Agent Errors : No Event Message Gen : Enable Device Capabilities Chassis Device : No Bridge : No IPMB Event Generator : Yes IPMB Event Receiver : No FRU Inventory Device : Yes SEL Device : No SDR Repository : Yes Sensor Device : Yes Device ID : CaMC Entity ID : 160.
Device ID : CaMC Entity ID : 160.97 (PICMG Front Board) Device Slave Address : 8Ch Channel Number : 0h ACPI System P/S Notif : Not Required ACPI Device P/S Notif : Not Required Controller Presence : Dynamic Logs Init Agent Errors : No Event Message Gen : Enable Device Capabilities Chassis Device : No Bridge : No IPMB Event Generator : Yes IPMB Event Receiver : No FRU Inventory Device : Yes SEL Device : No SDR Repository : Yes Sensor Device : Yes Device ID : CaMC Entity ID : 160.
SDR Repository Sensor Device : Yes : Yes Device ID : CaMC Entity ID : 160.
FRU Inventory Device SEL Device SDR Repository Sensor Device : : : : Yes No Yes Yes Device ID : CaMC Entity ID : 160.
IPMB Event Generator IPMB Event Receiver FRU Inventory Device SEL Device SDR Repository Sensor Device : : : : : : Yes No Yes No Yes Yes Device ID : CaMC Entity ID : 160.
Chassis Device Bridge IPMB Event Generator IPMB Event Receiver FRU Inventory Device SEL Device SDR Repository Sensor Device : : : : : : : : No No Yes No Yes No Yes Yes Device ID : CaMC Entity ID : 160.
Positive Hysteresis Negative Hysteresis Minimum sensor range Maximum sensor range Event Message Control Readable Thresholds Settable Thresholds Threshold Read Mask : : : : : : Unspecified Unspecified -127.000 Unspecified Entire Sensor Only ucr unr : : ucr unr Sensor ID : 03-DIMM (0x3) Entity ID : 32.
Device Capabilities Chassis Device Bridge IPMB Event Generator IPMB Event Receiver FRU Inventory Device SEL Device SDR Repository Sensor Device Device ID Entity ID Device Access Address Logical FRU Device Channel Number LUN.Bus Device Type.Modifier OEM : : : : : : : : No No Yes No Yes Yes Yes Yes : : : : : : : : SnMC 1 193.98 (PICMG AdvancedMC Module) A4h 01h 0h 0h.0h 10h.
SEL Record ID Record Type Timestamp Generator ID EvM Revision Sensor Type Sensor Number Event Type Event Direction Event Data Description : : : : : : : : : : : 0005 02 03/27/2000 01:23:36 0044 04 Power Supply 04 Sensor-specific Discrete Assertion Event 01ffff Failure detected SEL Record ID Record Type Timestamp Generator ID EvM Revision Sensor Type Sensor Number Event Type Event Direction Event Data Description : : : : : : : : : : SEL Record ID Record Type Timestamp Generator ID EvM Revision Sensor Typ
Event Data Description : 01ffff : Failure detected SEL Record ID Record Type Timestamp Generator ID EvM Revision Sensor Type Sensor Number Event Type Event Direction Event Data Description : : : : : : : : : : SEL Record ID Record Type Timestamp Generator ID EvM Revision Sensor Type Sensor Number Event Type Event Direction Event Data Description : : : : : : : : : : SEL Record ID Record Type Timestamp Generator ID EvM Revision Sensor Type Sensor Number Event Type Event Direction Event Data Descript
Sensor Number Event Type Event Direction Event Data Description : : : : : 04 Sensor-specific Discrete Assertion Event 01ffff Failure detected SEL Record ID Record Type Timestamp Generator ID EvM Revision Sensor Type Sensor Number Event Type Event Direction Event Data Description : : : : : : : : : : SEL Record ID Record Type Timestamp Generator ID EvM Revision Sensor Type Sensor Number Event Type Event Direction Event Data Description : : : : : : : : : : SEL Record ID Record Type Timestamp Generator I
Generator ID EvM Revision Sensor Type Sensor Number Event Type Event Direction Event Data Description : : : : : : : : SEL Record ID Record Type Timestamp Generator ID EvM Revision Sensor Type Sensor Number Event Type Event Direction Event Data Description : : : : : : : : : : SEL Record ID Record Type Timestamp Generator ID EvM Revision Sensor Type Sensor Number Event Type Event Direction Event Data Description : : : : : : : : : : SEL Record ID Record Type Timestamp Generator ID EvM Revision Sensor Typ
SEL Record ID Record Type Timestamp Generator ID EvM Revision Sensor Type Sensor Number Event Type Event Direction Event Data Description : : : : : : : : : : : 0020 02 08/09/2013 14:34:49 0044 04 Fan 07 Generic Discrete Deassertion Event 00ffff Transition to Running SEL Record ID Record Type Timestamp Generator ID EvM Revision Sensor Type Sensor Number Event Type Event Direction Event Data Description : : : : : : : : : : SEL Record ID Record Type Timestamp Generator ID EvM Revision Sensor Type Sensor N
Event Data Description : 00ffff : Transition to Running SEL Record ID Record Type Timestamp Generator ID EvM Revision Sensor Type Sensor Number Event Type Event Direction Event Data Description : : : : : : : : : : SEL Record ID Record Type Timestamp Generator ID EvM Revision Sensor Type Sensor Number Event Type Event Direction Event Data Description : : : : : : : : : : SEL Record ID Record Type Timestamp Generator ID EvM Revision Sensor Type Sensor Number Event Type Event Direction Event Data Des
Sensor Number Event Type Event Direction Event Data Description : : : : : 0a Generic Discrete Assertion Event 00ffff Transition to Running SEL Record ID Record Type Timestamp Generator ID EvM Revision Sensor Type Sensor Number Event Type Event Direction Event Data Description : : : : : : : : : : SEL Record ID Record Type Timestamp Generator ID EvM Revision Sensor Type Sensor Number Event Type Event Direction Event Data Description : : : : : : : : : : SEL Record ID Record Type Timestamp Generator ID E
Generator ID EvM Revision Sensor Type Sensor Number Event Type Event Direction Event Data Description : : : : : : : : SEL Record ID Record Type Timestamp Generator ID EvM Revision Sensor Type Sensor Number Event Type Event Direction Event Data Description : : : : : : : : : : SEL Record ID Record Type Timestamp Generator ID EvM Revision Sensor Type Sensor Number Event Type Event Direction Event Data Description : : : : : : : : : : SEL Record ID Record Type Timestamp Generator ID EvM Revision Sensor Typ
SEL Record ID Record Type Timestamp Generator ID EvM Revision Sensor Type Sensor Number Event Type Event Direction Event Data Description : : : : : : : : : : : 003b 02 08/09/2013 15:00:54 0044 04 Fan 0b Generic Discrete Deassertion Event 00ffff Transition to Running SEL Record ID Record Type Timestamp Generator ID EvM Revision Sensor Type Sensor Number Event Type Event Direction Event Data Description : : : : : : : : : : SEL Record ID Record Type Timestamp Generator ID EvM Revision Sensor Type Sensor N
Glossary ACPI Advanced Configuration and Power Interface Specification BCD Binary-coded Decimal BMC Baseboard Management Controller BT Block Transfer ChMC Chassis Management Controller CMOS The PC-AT compatible region of battery-backed 128 bytes of memory, which normally resides on the baseboard CTS Clear to send DCD Data Carrier Detect DCMI Data Center Manageability Interface DSR Data Set Ready DTR Data Transfer Request EvMRev Event message revision FPGA Field-Programmable Gate Arr
rsSA Random Single Switch Algorithm RTS Request to send SCI Software Configuration Identification SDR Sensor Data Record SEL System Event Log SMB System Management Bus SMI System Management Interrupt SMIC System Management Interface Chip SMM System Management Mode.
Index A ACK messages, 155 active sessions, 57 authcode, 59 authentication, 144 authorized resellers, 157 B BMC, 141 interfaces, 141 BT, 19 C channel access, 66 channel accessibility, 65 channel number, 144 chassis status, 22 command line tool, 18 command set, 141 command value, 141 Commands Get Sensor Reading, 7 commands Activate Session, 144 activate session, 56 add sel entry, 114 CMD, 141 get channel access limits, 65 Get Channel Info, 145 Get Device ID, 17 Get SDR, 11 Get SDR Repository Info, 11 Get Se
P V parsing hierarchy, 141 payload commands, 70 POH counter, 12 print field replaceable unit, 18 privilege level, 65 virtual chassis manager, 17 R RCMP+, 70 remote systems, 22 response messages, 142 RMCP, 154, 155 RMCP+ protocol, 156 S SDR format, 10 platform management, 10 purpose, 10 record body, 10 record header, 10 record key, 10 repository, 10 repository device, 12 SEL, 114 SEL commands, 114 SEL device, 114 SEL commands, 9 Sensor data model, 7 sensor data repository, 18 sensor owner sensor owner i