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
|
p1_link |
Discrete |
IPMB |
Uplink port 1 link status
|
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:
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:
{
"@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
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:
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:
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:
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 subsections list commands which allow reading SDR data.
Display Sensor Data
Displays sensor data repository entry readings and their status.
ipmitool -C 17 -I lanplus -H <bmc_ip> -U ADMIN -P ADMIN sdr list
Display Extended Sensor Data
Displays extended sensor information.
ipmitool -C 17 -I lanplus -H <bmc_ip> -U ADMIN -P ADMIN sdr elist
Display Sensors and Thresholds
Displays sensors and thresholds in a wide table format.
ipmitool -C 17 -I lanplus -H <bmc_ip> -U ADMIN -P ADMIN sensor list
Display Sensor Data Records Specified by Sensor ID
Displays sensor data records specified by sensor ID.
ipmitool -C 17 -I lanplus -H <bmc_ip> -U ADMIN -P ADMIN sdr get <name>
Display All Records from SDR Repository of Specific Type
Displays all records from the SDR repository of a specific type.
ipmitool -C 17 -I lanplus -H <bmc_ip> -U ADMIN -P ADMIN sdr type <type>
Display Data for Sensors Specified by Name
Displays information for sensors specified by name.
ipmitool -C 17 -I lanplus -H <bmc_ip> -U ADMIN -P ADMIN sensor get <sensor_name>
Display Readings for Sensors Specified by Name (Only for Numeric Sensors)
ipmitool -C 17 -I lanplus -H <bmc_ip> -U ADMIN -P ADMIN sensor reading <name>…<name>
TBD
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.
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>