BMC Sensor Data

The following is a list of the available sensors maintained by the BMC including their type and name.

Sensor Name

Sensor Type

Source

Description

p0_link

Discrete

IPMB

Uplink port 0 link status

  • 0x100 – connection OK

  • 0x200 – connection error

p1_link

Discrete

IPMB

Uplink port 1 link status

  • 0x100 – connection OK

  • 0x200 – connection error

bluefield_temp

Temperature

IPMB

Bluefield DPU Temperature

p0_temp

Temperature

IPMB

Uplink port 0 SFP temperature

p1_temp

Temperature

IPMB

Uplink port 1 SFP temperature

1V_BMC

Voltage

BMC ADC

1_2V_BMC

Voltage

BMC ADC

1_8V

Voltage

BMC ADC

1_8V_BMC

Voltage

BMC ADC

2_5V

Voltage

BMC ADC

3_3V

Voltage

BMC ADC

3_3V_RGM

Voltage

BMC ADC

5V

Voltage

BMC ADC

12V_ATX

Voltage

BMC ADC

Input power rail from ATX (power from gold fingers in case of Sub75 when ATX power is off)

12V_PCIe

Voltage

BMC ADC

Input power rail from gold fingers

DVDD

Voltage

BMC ADC

HVDD

Voltage

BMC ADC

VDD

Voltage

BMC ADC

VDDQ

Voltage

BMC ADC

VDD_CPU_L

Voltage

BMC ADC

VDD_CPU_R

Voltage

BMC ADC

Get List of Support Sensors

BlueField sensors are stored within the Sensors schema under the Chassis schema. To retrieve the list of supported sensors, execute the following command:

Copy
Copied!
            

curl -k -u root:'<password>' -H 'Content-Type: application/json' -X GET https://<bmc_ip>/redfish/v1/Chassis/Card1/Sensors

The following is an example of the anticipated output:

Copy
Copied!
            

{ "@odata.id": "/redfish/v1/Chassis/Card1/Sensors", "@odata.type": "#SensorCollection.SensorCollection", "Description": "Collection of Sensors for this Chassis", "Members": [ { "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/bluefield_temp" }, { "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/p0_temp" }, { "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/p1_temp" }, { "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/12V_ATX" }, { "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/12V_PCIe" }, { "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/1V_BMC" }, { "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/1_2V_BMC" }, { "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/1_8V" }, { "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/1_8V_BMC" }, { "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/2_5V" }, { "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/3_3V" }, { "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/3_3V_RGM" }, { "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/5V" }, { "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/DVDD" }, { "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/HVDD" }, { "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/VDD" }, { "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/VDDQ" }, { "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/VDD_CPU_L" }, { "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/VDD_CPU_R" } ], "Members@odata.count": 19, "Name": "Sensors" }


Get Data for Specific Sensor

Copy
Copied!
            

curl -k -u root:'<password>' -H 'Content-Type: application/json' -X GET https://<bmc_ip>/redfish/v1/Chassis/Card1/Sensors/<sensor_name>

The following is an example of a temperature sensor BlueField reading:

Copy
Copied!
            

curl -k -u root:'<password>' -H 'Content-Type: application/json' -X GET https://<bmc_ip>/redfish/v1/Chassis/Card1/Sensors/bluefield_temp { "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/bluefield_temp", "@odata.type": "#Sensor.v1_2_0.Sensor", "Id": "bluefield_temp", "Name": "bluefield temp", "Reading": 43.0, "ReadingRangeMax": 255.0, "ReadingRangeMin": 0.0, "ReadingType": "Temperature", "ReadingUnits": "Cel", "RelatedItem": [ { "@odata.id": "/redfish/v1/Systems/Bluefield" } ], "Status": { "Conditions": [], "Health": "OK", "HealthRollup": "OK", "State": "Enabled" }, "Thresholds": { "LowerCaution": { "Reading": 5.0 }, "LowerCritical": { "Reading": 0.0 }, "UpperCaution": { "Reading": 95.0 }, "UpperCritical": { "Reading": 105.0 } } }


Configure Sensor Thresholds

The following commands set the thresholds for sensors that support setting a threshold:

Copy
Copied!
            

curl -k -u root:'<password>' -X PATCH https://<bmc_ip>/redfish/v1/Chassis/Card1/Sensors/<sensor name>/ -d '{"Thresholds":{"<Threshold name>": {"Reading":<value>}}}'

The following is an example of how to set the upper critical threshold for the BlueField temperature sensor:

Copy
Copied!
            

curl -k -u root:'<password>' -X PATCH https://<bmc_ip>/redfish/v1/Chassis/Card1/Sensors/bluefield_temp -d '{"Thresholds":{"UpperCritical": {"Reading":100}}}' { "@Message.ExtendedInfo": [ { "@odata.type": "#Message.v1_1_1.Message", "Message": "The request completed successfully.", "MessageArgs": [], "MessageId": "Base.1.15.0.Success", "MessageSeverity": "OK", "Resolution": "None" } ] }


BMC software supports reading chassis sensor information using the IPMItool.

The following table lists commands which allow reading SDR data:

Command

Description

Copy
Copied!
            

ipmitool -C 17 -I lanplus -H <bmc_ip> -U ADMIN -P ADMIN sdr list

Displays sensor data repository entry readings and their status

Copy
Copied!
            

ipmitool -C 17 -I lanplus -H <bmc_ip> -U ADMIN -P ADMIN sdr elist

Displays extended sensor information

Copy
Copied!
            

ipmitool -C 17 -I lanplus -H <bmc_ip> -U ADMIN -P ADMIN sensor list

Displays sensors and thresholds in a wide table format

Copy
Copied!
            

ipmitool -C 17 -I lanplus -H <bmc_ip> -U ADMIN -P ADMIN sdr get <name>

Displays information for sensor data records specified by sensor ID

Copy
Copied!
            

ipmitool -C 17 -I lanplus -H <bmc_ip> -U ADMIN -P ADMIN sdr type <type>

Displays all records from the SDR repository of a specific type

Copy
Copied!
            

ipmitool -C 17 -I lanplus -H <bmc_ip> -U ADMIN -P ADMIN sensor get <sensor_name>

Displays information for sensors specified by name

Copy
Copied!
            

ipmitool -C 17 -I lanplus -H <bmc_ip> -U ADMIN -P ADMIN sensor reading <name>…<name>

Displays readings for sensors specified by name (only for numeric sensors)

Copy
Copied!
            

ipmitool -C 17 -I lanplus -H <bmc_ip> -U ADMIN -P ADMIN sensor thresh <sensor_name> upper <non_critical_value> <critical_value> 0 ipmitool -C 17 -I lanplus -H <bmc_ip> -U ADMIN -P ADMIN thresh <sensor_name> lower 0 <critical_value> <non_critical_value>

  • If the original threshold value is >0, the new threshold values must be between 0-255

  • If the original threshold value is <0, the new threshold values must be between 0-127

If a threshold is crossed, a message is added to the Redfish event log, SEL, and journal.

© Copyright 2023, NVIDIA. Last updated on Mar 18, 2024.