Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge IPMI configuration to ibm-openbmc 1110-public branch #306

Merged
merged 9 commits into from
Nov 14, 2024

Conversation

lxwinspur
Copy link
Contributor

Merge the following patch into the ibm-openbmc 1110-public branch:

  • 6644db6: meta-ibm:p10bmc: Add dcmi sensors
  • 79d18b3: meta-ibm:p10bmc: Print sdr and sensor info
  • 4ad1adb: meta-ibm:p10bmc Add more sensors
  • 482f8b0: meta-ibm:p10bmc: Display fans sensor information
  • 0184663: p10bmc:meta-ibm: Add Ambient and PCIe sensors
  • 655ce20: Add CPU and DIMM temperatures
  • 2813b04: meta-ibm:p10bmc: Enable setting cpu Present property
  • fe7040f: Merged upstream
  • 8b088d0: meta-ibm:p10bmc: Print fans/power supply FRU info
  • 36ffa61: meta-ibm:p10bmc Print system and bmc FRU info

@lxwinspur
Copy link
Contributor Author

Shantappa Teekappanavar and others added 9 commits November 5, 2024 09:06
Get DCMI sensors and temperature readings

Testing:
$ ipmitool -I lanplus -C 17 -N 3 -p 623 -U user -H host
dcmi sensors

Inlet: 3 temperature sensors found:
Record ID 0x0059: Ambient_0_Temp   | 21 degrees C      | ok
Record ID 0x005a: Ambient_1_Temp   | 21 degrees C      | ok
Record ID 0x005b: Ambient_2_Temp   | disabled          | ns

CPU: 16 temperature sensors found:
Record ID 0x005e: proc0_core0_0_te | 34 degrees C      | ok
Record ID 0x005f: proc0_core0_1_te | 30 degrees C      | ok
Record ID 0x0060: proc1_core0_0_te | 28 degrees C      | ok
Record ID 0x0061: proc1_core0_1_te | 28 degrees C      | ok
Record ID 0x0062: proc2_core0_0_te | 29 degrees C      | ok
Record ID 0x0063: proc2_core0_1_te | 29 degrees C      | ok
Record ID 0x0064: proc3_core0_0_te | 29 degrees C      | ok
Record ID 0x0065: proc3_core0_1_te | 29 degrees C      | ok
Record ID 0x0065: proc3_core0_1_te | 29 degrees C      | ok
Record ID 0x0066: proc4_core0_0_te | 28 degrees C      | ok
Record ID 0x0067: proc4_core0_1_te | 28 degrees C      | ok
Record ID 0x0068: proc5_core0_0_te | 29 degrees C      | ok
Record ID 0x0069: proc5_core0_1_te | 29 degrees C      | ok
Record ID 0x006a: proc6_core0_0_te | 28 degrees C      | ok
Record ID 0x006b: proc6_core0_1_te | 28 degrees C      | ok
Record ID 0x006c: proc7_core0_0_te | 29 degrees C      | ok

Baseboard: 2 temperature sensors found:
Record ID 0x005c: PCIE_0_Temp      | 23 degrees C      | ok
Record ID 0x005d: PCIE_1_Temp      | 23 degrees C      | ok

$ ipmitool -I lanplus -C 17 -N 3 -p 623 -U user -H host
dcmi get_temp_reading

        Entity ID                       Entity Instance    Temp.
Readings
Inlet air temperature(40h)                      1               +21 C
Inlet air temperature(40h)                      2               +21 C
CPU temperature sensors(41h)                    1               +32 C
CPU temperature sensors(41h)                    2               +35 C
CPU temperature sensors(41h)                    3               +29 C
CPU temperature sensors(41h)                    4               +29 C
CPU temperature sensors(41h)                    5               +29 C
CPU temperature sensors(41h)                    6               +29 C
CPU temperature sensors(41h)                    7               +30 C
CPU temperature sensors(41h)                    8               +30 C
CPU temperature sensors(41h)                    8               +30 C
Baseboard temperature sensors(42h)              1               +24 C
Baseboard temperature sensors(42h)              2               +23 C

Signed-off-by: Shantappa Teekappanavar <[email protected]>

Co-authored-by: Shantappa Teekappanavar <[email protected]>
This commit adds p10bmc specific config files to list SDRs and Sensor
information for DIMMS and CPUs.

Tested on simics:
$ ipmitool -I lanplus -C 17 -N 3 -p 2623 -U <user> -H <host> sdr elist

dimm0     | 01h | ok  | 32.1 | Presence Detected
dimm1     | 02h | ok  | 32.2 | Presence Detected
...
dimm63    | 40h | ns  | 32.64 | Disabled
dcm0_cpu0 | 41h | ok  |  3.1 | Presence detected
dcm0_cpu1 | 42h | ok  |  3.2 | Presence detected
dcm1_cpu0 | 43h | ok  |  3.3 | Presence detected
dcm1_cpu1 | 44h | ok  |  3.4 | Presence detected
dcm2_cpu0 | 45h | ns  |  3.5 | Disabled
...

$ ipmitool -I lanplus -C 17 -N 3 -p 2623 -U <user>-H <host> sensor
dimm0     | 0x0 | discrete   | 0x4000| na | na | na | na | na | na
dimm1     | 0x0 | discrete   | 0x4000| na | na | na | na | na | na
dimm2     | 0x0 | discrete   | 0x4000| na | na | na | na | na | na
...
dimm63    | na  | discrete   | na    | na | na | na | na | na | na
dcm0_cpu0 | 0x0 | discrete   | 0x8000| na | na | na | na | na | na
dcm0_cpu1 | 0x0 | discrete   | 0x8000| na | na | na | na | na | na
dcm1_cpu0 | 0x0 | discrete   | 0x8000| na | na | na | na | na | na
dcm1_cpu1 | 0x0 | discrete   | 0x8000| na | na | na | na | na | na
dcm2_cpu0 | na  | discrete   | na    | na | na | na | na | na | na
...

Signed-off-by: Shantappa Teekappanavar <[email protected]>
Change-Id: Iadd1e79956e3c0f14e25da019270fde6e1734a81
Adding sensor support for setting Boot Progress and Auto Reboot
using IPMI.

Testing:
AutoReboot: Enable
$ ipmitool -I lanplus -C 17 -N 3 -p 623 -U user -H host \
raw 0x04 0x30 0x4E 0x00 0x00 0x02 0x00 0x00 0x00 0x00 0x20 0x00
$ curl -k -X GET https://user:passwd@host/redfish/v1/Systems/system
  "Boot": {
    "AutomaticRetryAttempts": 3,
    "AutomaticRetryConfig": "RetryAttempts",
    "[email protected]": [
      "Disabled",
      "RetryAttempts"
    ],
    "RemainingAutomaticRetryAttempts": 3,
    "StopBootOnFault": "Never",
    "TrustedModuleRequiredToBoot": "Required"
  },

AutoReboot: Disable
$ ipmitool -I lanplus -C 17 -N 3 -p 623 -U user -H host raw \
0x04 0x30 0x4E 0x00 0x00 0x01 0x00 0x00 0x00 0x00 0x20 0x00
$ curl -k -X GET https://user:passwd@host/redfish/v1/Systems/system
  "Boot": {
    "AutomaticRetryAttempts": 3,
    "AutomaticRetryConfig": "Disabled",
    "[email protected]": [
      "Disabled",
      "RetryAttempts"
    ],
    "StopBootOnFault": "Never",
    "TrustedModuleRequiredToBoot": "Required"
  },

Set Boot Progress: OSStart
$ ipmitool -I lanplus -C 17 -N 3 -p 623 -U user -H host raw \
0x04 0x30 0x41 0xa8 0x00 0x04 0x00 0x00 0x00 0x00 0x13 0x00
$ curl -k -X GET https://user:passwd@host/redfish/v1/Systems/system
  "BootProgress": {
    "LastState": "OSBootStarted"
  },

Signed-off-by: Shantappa Teekappanavar <[email protected]>
Change-Id: I37465bc37bd98598e6ca9b3ee4735295d0619a79

Co-authored-by: Shantappa Teekappanavar <[email protected]>
This commit adds sensor information corresponding to fans

Testing:
$ ipmitool -I lanplus -C 17 -N 3 -p 623 -U user -H host sensor
fan0_0 | 10800.000  | RPM | ok    | na | na | na | na | na | na
fan0_1 | 11100.000  | RPM | ok    | na | na | na | na | na | na
fan1_0 | 10800.000  | RPM | ok    | na | na | na | na | na | na
fan1_1 | 11100.000  | RPM | ok    | na | na | na | na | na | na
fan2_0 | 10800.000  | RPM | ok    | na | na | na | na | na | na
fan2_1 | 11200.000  | RPM | ok    | na | na | na | na | na | na
fan3_0 | 10800.000  | RPM | ok    | na | na | na | na | na | na
fan3_1 | 11000.000  | RPM | ok    | na | na | na | na | na | na
fan4_0 | na         |     | na    | na | na | na | na | na | na
fan4_1 | na         |     | na    | na | na | na | na | na | na
fan5_0 | na         |     | na    | na | na | na | na | na | na
fan5_1 | na         |     | na    | na | na | na | na | na | na

Signed-off-by: Shantappa Teekappanavar <[email protected]>

Co-authored-by: Shantappa Teekappanavar <[email protected]>
Displays Ambient and PCIe temperatures when sensor information
is requested using ipmitool

Testing:
$ ipmitool -I lanplus -C 17 -N 3 -p 623 -U user -H host sensor
Ambient_0_Temp |21.000|degrees C|ok|na|na|0.000|100.000|na|na
Ambient_1_Temp |20.000|degrees C|ok|na|na|0.000|100.000|na|na
Ambient_2_Temp |na    |         |na|na|na|na   | na    |na|na
PCIE_0_Temp    |25.000|degrees C|ok|na|na|na   |na     |na| na
PCIE_1_Temp    |24.000|degrees C|ok|na|na|na   |na     |na| na

Signed-off-by: Shantappa Teekappanavar <[email protected]>

Co-authored-by: Shantappa Teekappanavar <[email protected]>
This commit adds CPU (core0) and DIMM (dram) related temperature
sensors.

Testing:
$ ipmitool -I lanplus -C 17 -N 3 -p 623 -U user -H host sensor
proc0_core0_0_te | 26.000|degrees C|ok|na|na|na|na|na|na
proc0_core0_1_te | 27.000|degrees C|ok|na|na|na|na|na|na
proc1_core0_0_te | 29.000|degrees C|ok|na|na|na|na|na|na
proc1_core0_1_te | 29.000|degrees C|ok|na|na|na|na|na|na
proc2_core0_0_te | 30.000|degrees C|ok|na|na|na|na|na|na
proc2_core0_1_te | 30.000|degrees C|ok|na|na|na|na|na|na
proc3_core0_0_te | 30.000|degrees C|ok|na|na|na|na|na|na
proc3_core0_1_te | 30.000|degrees C|ok|na|na|na|na|na|na
proc4_core0_0_te | 31.000|degrees C|ok|na|na|na|na|na|na
proc4_core0_1_te | 31.000|degrees C|ok|na|na|na|na|na|na
proc5_core0_0_te | 30.000|degrees C|ok|na|na|na|na|na|na
proc5_core0_1_te | 30.000|degrees C|ok|na|na|na|na|na|na
proc6_core0_0_te | 28.000|degrees C|ok|na|na|na|na|na|na
proc6_core0_1_te | 28.000|degrees C|ok|na|na|na|na|na|na
proc7_core0_0_te | 27.000|degrees C|ok|na|na|na|na|na|na
proc7_core0_1_te | 27.000|degrees C|ok|na|na|na|na|na|na
dimm0_dram_temp  | 29.000|degrees C|ok|na|na|na|na|na|na
dimm1_dram_temp  |na     |         |na|na|na|na|na|na|na
...
dimm6_dram_temp  |na     |         |na|na|na|na|na|na|na
dimm7_dram_temp  | 32.000|degrees C|ok|na|na|na|na|na|na
dimm8_dram_temp  | 32.000|degrees C|ok|na|na|na|na|na|na
dimm9_dram_temp  |na     |         |na|na|na|na|na|na|na
...
dimm15_dram_temp | 29.000|degrees C|ok|na|na|na|na|na|na
dimm16_dram_temp | 29.000|degrees C|ok|na|na|na|na|na|na
dimm17_dram_temp |na     |         |na|na|na|na|na|na|na

Signed-off-by: Shantappa Teekappanavar <[email protected]>

Co-authored-by: Shantappa Teekappanavar <[email protected]>
Current implemetation does not allow setting the cpu Preset state
property to false, but allows setting to true. This commit helps
setting this property to true or false.

Set Operational Status: Functional, w/ CPU - absent:
$ ipmitool -I lanplus -C 17 -N 3 -p 623 -U user -H host raw 0x04 0x30
0x41 0x00 0x00 0x00 0x00 0x00 0x01 0x00 0x20 0x00
$ curl -k -X GET
https://user:passwd@host/redfish/v1/Systems/system/Processors/dcm0-cpu0
| grep Status -A 3
  "Status": {
    "Health": "OK",
    "State": "Absent"
  },

Set Operational Status: Non-Functional, w/ CPU - absent
$ ipmitool -I lanplus -C 17 -N 3 -p 623 -U user -H host raw 0x04 0x30
0x41 0xa9 0xff 0x00 0x01 0x00 0x00 0x00 0x20 0x00
$ curl -k -X GET
https://user:passwd@host/redfish/v1/Systems/system/Processors/dcm0-cpu0
| grep Status -A 3
  "Status": {
    "Health": "Critical",
    "State": "Absent"
  },

Operational CPU - Present, w/ Status: w/ Non-functional
$ ipmitool -I lanplus -C 17 -N 3 -p 623 -U user -H host raw 0x04 0x30
0x41 0xa9 0x00 0x80 0x00 0x00 0x00 0x00 0x20 0x00
$ curl -k -X GET
https://user:passwd@host/redfish/v1/Systems/system/Processors/dcm0-cpu0
| grep Status -A 3
  "Status": {
    "Health": "Critical",
    "State": "Enabled"
  },

Signed-off-by: Shantappa Teekappanavar <[email protected]>
Change-Id: I4a8340e0cd6311abd85f59a64fab5170f13b931c

Co-authored-by: Shantappa Teekappanavar <[email protected]>
This commit adds p10bmc specific configuration files to display
fans, power supplies, and system information using ipmitool.

Testing:
$ ipmitool -I lanplus -C 17 -N 3 -p 623 -U <user> -P **** -H <host>
fru print 0
 Chassis Type          : Unknown
 Chassis Part Number   : 00L5521
 Chassis Serial        : YW30UF11K006
 Board Mfg Date        : Thu Jul 23 19:00:00 2020
 Board Product         : EBMC
 Board Serial          : YW30UF0CR00A
 Board Part Number     : 00L5533
 Product Name          : System
 Product Serial        : EV00003

$ ipmitool -I lanplus -C 17 -N 3 -p 623 -U <user> -P **** -H <host>
fru print
FRU Device Description : Builtin FRU Device (ID 0)
...
FRU Device Description : fan0 (ID 73)
 Product Name          : fan0

FRU Device Description : powersupply0 (ID 77)
 Product Name          : powersupply0
 Product Part Number   : 03FP207
 Product Serial        : YL31KY12K0E0

Note: To print Builtin FRU device info at ID 0, fru-id is
required to be specified. Otherwise, it simply prints it as
"Builtin FRU Device (ID 0)". See the above examples.

Signed-off-by: Shantappa Teekappanavar <[email protected]>
Change-Id: Ib856de257e963e33135be0d753416ee197496d97

Co-authored-by: Shantappa Teekappanavar <[email protected]>
Currently the System (system/chassis/motherboard) and BMC FRU
information is not printed. This commit after merge prints
both System and BMC FRU info.

Testing:
$ ipmitool -I lanplus -C 17 -N 3 -p 623 -U user -P passwd -H host fru
...
FRU Device Description : system (ID 83)
 Chassis Type          : Unknown
 Chassis Part Number   : 02WG656
 Chassis Serial        : Y132UF0AZ00R
 Board Mfg Date        : Sun Dec 31 18:00:00 1995
 Board Product         : System Backplane
 Board Serial          : Y132UF0AZ00R
 Board Part Number     : 02WG656
 Product Name          : System
 Product Serial        : 13BE960

FRU Device Description : ebmc_card_bmc (ID 84)
 Board Mfg Date        : Sun Aug 25 19:00:00 2019
 Board Product         : BMC Card
 Board Serial          : Y131UF18J014
 Board Part Number     : 02WF542

Signed-off-by: Shantappa Teekappanavar <[email protected]>
Change-Id: I03fcc95ad9b6539674789397dd1e4dc1ca447008

Co-authored-by: Shantappa Teekappanavar <[email protected]>
@mzipse
Copy link

mzipse commented Nov 14, 2024

@anoo1 , the 3 commits have been merged upstream now. Can we go ahead and pull this in downstream then?

@rfrandse rfrandse merged commit 798f9a3 into ibm-openbmc:1110-public Nov 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants