What can I help you with?
NVIDIA BlueField Platform Software Troubleshooting Guide

Redfish

DMTF’s Redfish® is a standard designed to deliver simple and secure management for converged, hybrid IT and the Software Defined Data Center (SDDC). Redfish leverages common Internet and web services standards to expose information directly to the modern tool chain.

In case of Bluefield, Redfish server is located on Bluefield-BMC (aka DPU-BMC) and UEFI Redfish client runs on Bluefield. In the case of Monterey, Redfish server is located on Platform-BMC (aka Server-BMC).

For the most part, BMC acts as a middle-man caching requests and responses between user and UEFI Redfish client.

This page will go over the troubleshooting steps when a Redfish request is not providing desired results due to failure in processing by UEFI Redfish client.

Command

Description

echo 'SW_RESET 1' > /dev/rshim0/misc

Soft reset the BlueField connected on rshim0

echo 'DISPLAY_LEVEL 2' > /dev/rshim0/misc; cat /dev/rshim0/misc

Increase the display log level to debug and dump the RShim logs of the BlueField connected on rshim0

minicom -D /dev/rshim0/console -C console_logs.txt

Open a serial console to Bluefield on rshim0 and store the console logs to console_logs.txt file

obmc-console-client

Open a serial console to BlueField from its BMC

Note

The console logs are stored in /var/log/obmc-console.log on BlueField BMC.

RShim Logging

Copy
Copied!
            

INFO[UEFI]: Redfish enabled Redfish has been enabled INFO[UEFI]: DPU-BMC RF credentials not found BMC failed to share credentials INFO[UEFI]: DPU-BMC RF credentials found BMC shared the Redfish credentials with UEFI successfully    ERR[UEFI]: RF DHCPv4 failed BMC DHCP server didn't respond / failed to provide IP address DHCP Session Start UEFI is attempting DHCP request with BMC


Redfish Requests are Not Processed During DOCA BFB Installation or When BFB is Pushed via RShim to BlueField

The UEFI Redfish client skips execution when a .bfb file is pushed via RShim in order to facilitate the installation process completion. UEFI Redfish client performs a number of HTTP transactions among other things, and hence results in increased boot time, impeding the installation process. Hence execution of UEFI Redfish client is skipped.

For the UEFI Redfish client to process the Redfish requests, simply reboot or soft reset the BlueField.

Redfish Data in BMC Redfish Server is Empty

This may happen due to the fact that the UEFI Redfish client in BlueField has not run since the BMC has booted (following a power cycle or reboot).

For the UEFI Redfish client to run and populate the current settings on the BMC Redfish server, simply reboot or soft reset the BlueField.

Redfish Request is Not Processed Even After Rebooting BlueField

This could happen due to the fact that the request requires additional user action for it to take effect.

  • Reboot BlueField again to see if that resolves the issue (e.g., SecureBootEnable setting requires an additional reboot of BlueField (1st reboot is for the UEFI Redfish client to execute and process the request, and the 2nd reboot is for the configuration to take effect)

  • If this is a setting request to change mode of operation to NIC or DPU mode, system power cycle is required

No Result Even After Submitting the Redfish Request and Rebooting BlueField Several Times

This may happen due to any of the reasons in the following subsections.

Redfish Not Enabled on BlueField

This can be verified by looking at the RShim logs. In RShim logs, look for "Redfish enabled" log message:

Copy
Copied!
            

# echo "DISPLAY_LEVEL 2" > /dev/rshim1/misc; cat /dev/rshim1/misc DISPLAY_LEVEL 2 (0:basic, 1:advanced, 2:log) BOOT_MODE 1 (0:rshim, 1:emmc, 2:emmc-boot-swap) BOOT_TIMEOUT 150 (seconds) DROP_MODE 0 (0:normal, 1:drop) SW_RESET 0 (1: reset) DEV_NAME pcie-0000:31:00.5 DEV_INFO BlueField-3(Rev 1) OPN_STR N/A UP_TIME 69302(s) SECURE_NIC_MODE 0 (0:no, 1:yes) --------------------------------------- Log Messages --------------------------------------- INFO[PSC]: PSC BL1 START INFO[BL2]: start INFO[BL2]: boot mode (emmc) INFO[BL2]: VDDQ adjustment complete INFO[BL2]: VDDQ: 1118 mV INFO[BL2]: DDR POST passed INFO[BL2]: UEFI loaded INFO[BL31]: start INFO[BL31]: lifecycle Secured (development) INFO[BL31]: VDD: 747 mV INFO[BL31]: runtime INFO[UEFI]: eMMC init INFO[UEFI]: eMMC probed INFO[BL31]: MB ping success INFO[UEFI]: UPVS valid INFO[UEFI]: PCIe enum start INFO[UEFI]: PCIe enum end INFO[UEFI]: UEFI Secure Boot (disabled) INFO[UEFI]: Redfish enabled

If Redfish is not enabled, access the UEFI menu on the BlueField console and navigate to Device Manager > System Configuration > Redfish Configuration and enable the Redfish setting.

BlueField BMC Credentials Not Found

BlueField requires Redfish credentials to perform redfish transactions. These credentials are retrieved using a separate channel from the BlueField BMC.

If these are not received, then BlueField would not be able to transact Redfish requests with its BMC. To check whether the credentials are found check the RShim logs:

Copy
Copied!
            

# echo "DISPLAY_LEVEL 2" > /dev/rshim1/misc; cat /dev/rshim1/misc DISPLAY_LEVEL 2 (0:basic, 1:advanced, 2:log) BOOT_MODE 1 (0:rshim, 1:emmc, 2:emmc-boot-swap) BOOT_TIMEOUT 150 (seconds) DROP_MODE 0 (0:normal, 1:drop) SW_RESET 0 (1: reset) DEV_NAME pcie-0000:31:00.5 DEV_INFO BlueField-3(Rev 1) OPN_STR N/A UP_TIME 69302(s) SECURE_NIC_MODE 0 (0:no, 1:yes) --------------------------------------- Log Messages --------------------------------------- INFO[PSC]: PSC BL1 START INFO[BL2]: start INFO[BL2]: boot mode (emmc) INFO[BL2]: VDDQ adjustment complete INFO[BL2]: VDDQ: 1118 mV INFO[BL2]: DDR POST passed INFO[BL2]: UEFI loaded INFO[BL31]: start INFO[BL31]: lifecycle Secured (development) INFO[BL31]: VDD: 747 mV INFO[BL31]: runtime INFO[UEFI]: eMMC init INFO[UEFI]: eMMC probed INFO[BL31]: MB ping success INFO[UEFI]: UPVS valid INFO[UEFI]: PCIe enum start INFO[UEFI]: PCIe enum end INFO[UEFI]: UEFI Secure Boot (disabled) INFO[UEFI]: Redfish enabled INFO[UEFI]: DPU-BMC RF credentials not found

If the BlueField BMC credentials are not found try rebooting the BMC. If the issue persists, contact NVIDIA Enterprise Support for further assistance.

Redfish DHCP Failure

The first step of Redfish transactions initiated by the UEFI Redfish client is the DHCP request. The UEFI Redfish interface's network must be configured and also information about Redfish host interface must be known, hence the DHCP request. If the DHCP request fails or receives no response, then the UEFI Redfish client aborts and logs the error in RShim log:

Copy
Copied!
            

# echo "DISPLAY_LEVEL 2" > /dev/rshim1/misc; cat /dev/rshim1/misc DISPLAY_LEVEL 2 (0:basic, 1:advanced, 2:log) BOOT_MODE 1 (0:rshim, 1:emmc, 2:emmc-boot-swap) BOOT_TIMEOUT 150 (seconds) DROP_MODE 0 (0:normal, 1:drop) SW_RESET 0 (1: reset) DEV_NAME pcie-0000:31:00.5 DEV_INFO BlueField-3(Rev 1) OPN_STR N/A UP_TIME 134(s) SECURE_NIC_MODE 0 (0:no, 1:yes) --------------------------------------- Log Messages --------------------------------------- INFO[PSC]: PSC BL1 START INFO[BL2]: start INFO[BL2]: boot mode (emmc) INFO[BL2]: VDDQ: 1120 mV INFO[BL2]: DDR POST passed INFO[BL2]: UEFI loaded INFO[BL31]: start INFO[BL31]: lifecycle Secured (development) INFO[BL31]: VDD: 746 mV INFO[BL31]: runtime INFO[BL31]: MB ping success INFO[UEFI]: eMMC init INFO[UEFI]: eMMC probed INFO[UEFI]: UPVS valid INFO[UEFI]: PCIe enum start INFO[UEFI]: PCIe enum end INFO[UEFI]: UEFI Secure Boot (disabled) INFO[UEFI]: Redfish enabled INFO[UEFI]: DPU-BMC RF credentials found ERR[UEFI]: RF DHCPv4 failed

Since BlueField BMC is responsible for providing the DHCP service, try rebooting the BlueField BMC. If the issue persists, contact NVIDIA Enterprise Support for further assistance.

NIC Firmware/UNDI Driver Did Not Load

For many of the Redfish vendors, the network function is provided by the universal network device interface (UNDI) driver in UEFI. The UNDI driver is part of the NIC firmware and is loaded by UEFI during PCIe enumeration. UEFI first verifies the signature and then loads the UNDI driver. If the NIC firmware on the BlueField platform is incorrectly installed or corrupt, then the UNDI driver is not loaded in UEFI, and the UEFI Redfish client would not run.

If this indeed is the issue, then checking the RShim logs would show that only the Redfish enabled message is printed, but there is no information about DPU-BMC RF credentials found/not found or about RF DHCPv4/6 failed. This can be resolved by installing the recommended version of NIC firmware as described in the respective manual.

Unknown or Unsupported Vendor in Redfish Service Root

Once the network is set up via DHCP, the next step in the Redfish flow is to read the Redfish vendor information from the Redfish service root (/redfish/v1). No credentials are required to access this URL. Vendor information is critical as it decides the imminent flow (e.g., the authorization type to use to get a token—X-AUTH or O-AUTH—the URLs for different Redfish schemas). For Redfish on the BlueField BMC, the vendor should always be set to Nvidia (case sensitive):

Copy
Copied!
            

Redfish enabled DHCP Session Start Press ESC/F2/DEL twice to enter UEFI Menu. Press ENTER to skip countdown. 3 seconds remain... 2 seconds remain... 1 seconds remain... 0 seconds remain... ** Redfish GET https://192.168.240.1/redfish/v1/, Success ProcessVendorIdentification: Vendor: Nvidia

Info

Refer to section "Command Cheat Sheet" for the commands to access the console.

If the vendor information does not match, then UEFI Redfish client aborts further transactions. As the Redfish server is on BMC, a BMC reboot may resolve the issue. If the issue persists, contact NVIDIA Enterprise Support for further assistance.

X-AUTH POST is Not Successful

After vendor identification, the next step in the Redfish flow is to fetch a token by providing the previously retrieved credentials. Based on the vendor, the authorization protocol can be X-AUTH or O-AUTH. It is important that this transaction succeeds. Otherwise, the rest of Redfish transactions are skipped as they rely on the token received during the authorization step.

Copy
Copied!
            

Redfish enabled DHCP Session Start Press ESC/F2/DEL twice to enter UEFI Menu. Press ENTER to skip countdown. 3 seconds remain... 2 seconds remain... 1 seconds remain... 0 seconds remain... ** Redfish GET https://192.168.240.1/redfish/v1/, Success ProcessVendorIdentification: Vendor: Nvidia ** XAUTH POST https://192.168.240.1/redfish/v1/SessionService/Sessions, Success

As seen in the example, X-AUTH transaction is Success. If it is not a success (e.g., Aborted, Unsupported), then contact NVIDIA Enterprise Support for further assistance.

UEFI Redfish Client Fails to Process Request

There are a number of Redfish transactions performed by the UEFI Redfish client for different schemas on respective URL. All these transactions can be visible on the BlueField console logs. For example, if a Redfish request is made to change a BIOS attribute, the respective log should be visible on the BlueField. The log should provide enough information about the request process status (success or failure). If the log is missing or the desired behavior is not seen despite a Success, then contact NVIDIA Enterprise Support with RShim and BlueField console logs as this requires further investigation.

The following BlueField console log shows that the UEFI Redfish client successfully read (GET) the BIOS request, processed it, and responded (PATCH).

Copy
Copied!
            

DHCP Session Start   Press ESC/F2/DEL twice to enter UEFI Menu. Press ENTER to skip countdown.   3 seconds remain... 2 seconds remain... 1 seconds remain... 0 seconds remain... ** Redfish GET https://192.168.240.1/redfish/v1/, Success ProcessVendorIdentification: Vendor: Nvidia ** XAUTH POST https://192.168.240.1/redfish/v1/SessionService/Sessions, Success ** Redfish GET https://192.168.240.1/redfish/v1/Registries/BiosAttributeRegistry/BiosAttributeRegistry, Success ** Redfish GET https://192.168.240.1/redfish/v1/Systems/Bluefield, Success ** Redfish GET https://192.168.240.1/redfish/v1/Systems/Bluefield/Settings, Success ** Redfish PATCH https://192.168.240.1/redfish/v1/Systems/Bluefield, Success ** Redfish PATCH https://192.168.240.1/redfish/v1/Systems/Bluefield, Success ** Redfish GET https://192.168.240.1/redfish/v1/Systems/Bluefield/Bios/Settings, Success ** Redfish PATCH https://192.168.240.1/redfish/v1/Systems/Bluefield/Bios, Success


UEFI Redfish Client Does Not Execute for Another Reason

If UEFI is stuck (in a loop) or crashes before the UEFI Redfish client executes, then Redfish transactions fail to take place, causing the Redfish request to not be processed. The details of the crash or hanged state can be seen on RShim logs or from the console log. Contact NVIDIA Enterprise Support with RShim and BlueField console logs as this requires further investigation.

© Copyright 2024, NVIDIA. Last updated on Nov 12, 2024.