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 table lists commands which allow reading SDR data:
Command | Description |
| Displays sensor data repository entry readings and their status |
| Displays extended sensor information |
| Displays sensors and thresholds in a wide table format |
| Displays information for sensor data records specified by sensor ID |
| Displays all records from the SDR repository of a specific type |
| Displays information for sensors specified by name |
| Displays readings for sensors specified by name (only for numeric sensors) |
|
If a threshold is crossed, a message is added to the Redfish event log, SEL, and journal. |