Modify BIOS settings with Redfish

Modified on Thu, 21 Mar 2024 at 10:30 AM

Redfish is supported on the following platforms:

  • SPR-M - Sapphire Rapids
  • RPL - Raptor Lake
  • ADL - Alder Lake



To update BIOS settings via Redfish, you must modify /Systems/Self/Bios/SD and then reboot the system.



For example, we might want to enable the onboard network devices and allow PXE boot over IPv4. We can do this by sending a PATCH request to the Redfish API to change the desired values.


The request will include the following JSON payload:


{
  "Attributes": {
    "NWSK000": "NWSK000Enabled",
    "NWSK001": "NWSK001Enabled"
  }
}

In the above example, two key/value pairs are included. NWSK000 modifies the Network Stack and controls enabling or disabling the network adapters. NWSK001 controls IPv4 PXE Support and enabling it allows the system to boot over PXE.


You can get a full list of the available attributes that can be modified, as well as possible values by querying the path

 /Registries/BiosAttributeRegistryA5335.en-US.XX.X.X.json 

The exact version number at the end of the path will change depending on the BIOS version. This can be confirmed by querying /Registries


Below is a snippet of the BIOS Attribute Registry showing the information provided for each attribute:


...
{
  "AttributeName": "NWSK000",
  "DefaultValue": "Disabled",
  "DisplayName": "Network Stack",
  "HelpText": "Enable/Disable UEFI Network Stack",
  "ReadOnly": false,
  "ResetRequired": true,
  "Type": "Enumeration",
  "UefiNamespaceId": "x-UEFI-AMI",
  "Value": [
    {
      "ValueDisplayName": "Disabled",
      "ValueName": "NWSK000Disabled"
    },
    {
      "ValueDisplayName": "Enabled",
      "ValueName": "NWSK000Enabled"
    }
  ]
},
...


Finally, below is an example request with curl:


curl -k -u "admin:admin123" https://<IP-ADDRESS>/redfish/v1/Systems/Self/Bios/SD -H "If-None-Match: 1710949541" -H "Content-Type: application/json" -d '{"Attributes": {"NWSK000":"NWSK000Enabled", "NWSK001": "NWSK001Enabled"}}' -X PATCH



Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select atleast one of the reasons

Feedback sent

We appreciate your effort and will try to fix the article