HOWTO MODIFY BIOS PARAMETER VIA CURL REMOTELY ON S8056 MOTHERBOARD

HOWTO MODIFY BIOS PARAMETER VIA CURL REMOTELY ON S8056 MOTHERBOARD

PREREQUISITE:  Need to install the following packages on Remote Client (Ubuntu 20.04)
                  apt install curl
                  apt install python2
                  apt install jq

Before modifying any BIOS parameter, you must first check the BIOS Attribute Registry for the name of parameters (AttributeName) and it's valid values (ValueDisplayName).

The following is the redfish URI path for both GENOA and TURIN CPU:

CPU

Redfish URI Path

GENOA

https://{{IP}} /redfish/v1/Registries/BiosAttributeRegistry8056_.en-US.0.1.0.json

TURIN

https://{{IP}}/redfish/v1/Registries/BiosAttributeRegistry8056A.en-US.0.1.0.json


For GENOA CPU, issue the following command:
1.  Issue "curl -k -u "root:tyan@123" --output BAR.json --compressed https://{{IP}}/redfish/v1/Registries/BiosAttributeRegistry8056_.en-US.0.1.0.json" command

2.  Issue "cat BAR.json|python -mjson.tool > BAR.txt"


For TURIN CPU, issue the following curl command:
3.  Issue "curl -k -u "root:tyan@123" --output BAR.json --compressed https://{{IP}}/redfish/v1/Registries/BiosAttributeRegistry8056A.en-US.0.1.0.json" command
4.  Issue "cat BAR.json | python -mjson.tool > BAR.txt"


A. MODIFYING FAN SPEED CONTROL TO FULL SPEED

Step 1:  Issue nano BAR.txt and check FAN Speed Control parameters.


Step 2:  To modify FAN Speed Control to Full Speed, issue "curl -k -u "root:tyan@123" -H "Content-Type: application/json" 
               -H "If-None-Match: foo" -X PATCH https://{{IP}}/redfish/v1/Systems/Self/Bios/SD
               -d '{"Attributes": {"Fan Speed Control": "Full Speed"}}' | python -mjson.tool


Step 3:  To reboot S8056, issue "curl -k -u "root:tyan@123" -H "Content-Type: applicaion/json"
              -X POST https://{{IP}}/redfish/v1/Systems/Self/Actions/ComputerSystem.Reset
              -d '{"ResetType": "ForceRestart"}'


Step 4:  Boot into BIOS Setup



B.  MODIFYING FAN SPEED CONTROL TO MANUAL AND PWM MINIMUM DUTY CYCLE TO 50%

Step 1:  Issue nano BAR.txt and check for Fan Speed Control and PWM Minimum Duty Cycle


Step 2: To modify FAN Speed Control and PWM Minimum Duty Cycle, issue "curl -k -u "root:tyan@123" -H "Content-Type: application/json"
             -H "If-None-Match: foo" -X PATCH https://{{IP}}/redfish/v1/Systems/Self/Bios/SD
             -d '{ "Attributes": { "Fan Speed Control":"Manual", "PWM_Minimum_Duty_Cycle":50 }}' | python -mjson.tool


Step 3:  To reboot S8056, issue "curl -k -u "root:tyan@123" -H "Content-Type: application/json"
              -X POST https://{{IP}}/redfish/v1/Systems/Self/Actions/ComputerSystem.Reset
              -d '{ "ResetType": "ForceRestart" }'


Step 4:  Boot into BIOS Setup and re-check

          


C.  DISABLING CSM SUPPORT

Step 1:  nano BAR.txt and check CSM_Support parameter


Step 2:  To modify CSM Support to disabled, issue "curl -k -u "root:tyan@123" -H "Content-Type: application/json" -H "If-None-Match: foo"
              -X PATCH https://{{IP}}/redfish/v1/Systems/Self/Bios/SD -d '{ "Attributes": { "CSM_Support": "Disabled"}}'


Step 3:  To reboot S8056, issue "curl -k -u "root:tyan@123" -H "Content-Type: application/json"
             -X POST https://{{IP}}/redfish/v1/Systems/Self/Actions/ComputerSystem.Reset
             -d '{ "ResetType": "ForceRestart" }'

Step 4:  Boot into BIOS Setup and re-check




NOTE:  
You can replace python -mjson.tool with jq command

For example:
curl -k -u "root:tyan@123" https://{{IP}}/redfish/v1|python -mjson.tool


curl -k -u "root:tyan@123" https://{{IP}}/redfish/v1|jq