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

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


Sensor Redfish Commands

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

Sensor IPMI Commands

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>


Last updated: