IPMI 实用小代码,如何给“FW Progress sensor”触发一个事件

1 背景

我们知道 “FW Progress sensor” 在 IPMI 的环境中,是一个常见的sensor, 它记录了我们FW启动的状态,根据不同BMC 参考设计,可能会有不同的实现。 通常来说,如果是基于我们常见的PPS参考方案,我们就可以通过IPMI RAW 命令来触发的事件。 我们可以使用类似方式来实现OS层面与FW层的沟通

2 具体命令如下

1
# ipmitool raw 0x2e 0xf0 0xcd 0x65 0x00 0x0f 0xa0 0x02 0x21
1
2
3
4
5
6
7
8
9
10
Byte 1: NetFn: 0x2e
Byte 2: CMD: 0xf0
Byte 3: COMP_IANA_MFG_ID 0: 0xcd
Byte 4: COMP_IANA_MFG_ID 1: 0x65
Byte 5: COMP_IANA_MFG_ID 2: 0x00
Byte 6: Sensor Type: 0x0F
Byte 7: EventData 1: 0xA0 // you should add the actual data here:
00h System Firmware Error (IPMI spec V1.5 Table 36-3, Sensor Type Codes)
Byte 8: EventData 2: 0x02 // IPMI spec V1.5 Table 36-3, Sensor Type Codes
Byte 9: EventData 3: 0x21 // refer to the Hardware guide
  • 输出
    1
    2
    # ipmitool sel list
    1 | 03/20/2021 | 00:58:40 | System Firmware Error #0x11 | No usable system memory | Asserted
  • 详细信息
    1
    # ipmitool sel get 1
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SEL Record ID : 0001
    Record Type : 02
    Timestamp : 03/20/2021 00:58:40
    Generator ID : 0092
    EvM Revision : 04
    Sensor Type : System Firmware Error
    Sensor Number : 11
    Event Type : Sensor-specific Discrete
    Event Direction : Assertion Event
    Event Data (RAW) : a00221
    Event Interpretation Missing
    Description : No usable system memory