NVIDIA BlueField BMC Software

BMC Sensor Data

SDR Sensor List

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

NVIDIA® BlueField® temperature

p0_temp

Temperature

IPMB

Uplink port 0 SFP temperature

p1_temp

Temperature

IPMB

Uplink port 1 SFP temperature

ddr_temp 

Temperature

IPMB

DDR temperature

rtc_voltage 

Voltage

IPMB

RTC battery voltage

power_envelope

Power

IPMB

  • This sensor indicates the maximum power consumption allowed for BlueField-3 DPU

  • This sensor is incompatible with secured Linux

soc_power

Power

IPMB

  • This sensor indicates the current power consumption of the BlueField-3 DPU

  • This sensor is incompatible with secured Linux

power_envelope_deviation

Power

Synthesized Sensor

Measures the deviation of soc_power sensor value from power_envelope sensor value.

  • power_envelope_deviation = soc_power - power_envelope

  • The sensor value should be negative for normal conditions. If the sensor value is positive, then SoC power has exceeded the allowed power envelope.

  • If the value of soc_power or power_envelope sensors is NaN, then the power_envelope_deviation sensor value will also be NaN.

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


IPMB sourced sensors are supported when operating in DPU mode only.

Sensor Redfish Commands

Getting 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/power_envelope"
    },
    {
      "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/power_envelope_deviation"
    },
    {
      "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/soc_power"
    },
    {
      "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/bluefield_temp"
    },
    {
      "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/ddr_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"
    },
    {
      "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/rtc_voltage"
    }
  ],
  "Members@odata.count": 24,
  "Name": "Sensors"
}

Getting 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
    }
  }
}

Configuring 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"
    }
  ]
}

Sensor IPMI Commands

BMC software supports reading chassis sensor information using the IPMItool.

The following subsections list commands which allow reading SDR data.

Displaying 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

Displaying Extended Sensor Data

Displays extended sensor information.

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

Displaying 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

Displaying 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>

Displaying 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>

Displaying 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>

Displaying 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>


Last updated: