Firmware Inventory and Update Service
Firmware Inventory
FirmwareInventory represents firmware version information for each component on the server.
URI: /redfish/v1/UpdateService/FirmwareInventory
Method: GET
Response: 200
{
"@odata.type": "#SoftwareInventoryCollection.SoftwareInventoryCollection",
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory",
"Id": "UpdateService",
"Name": "Firmware Inventory Collection",
"Members@odata.count": 19,
"Members": [
{
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/BMC"
},
{
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Backup_BMC"
},
{
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Golden_BMC"
},
{
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Staging_BMC"
},
{
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/BIOS"
},
{
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Backup_BIOS"
},
{
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Golden_BIOS"
},
{
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Staging_BIOS"
},
{
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Capsule_BIOS"
},
{
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Capsule_ME"
},
{
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Capsule_MCU"
},
{
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Golden_CPLD_Motherboard"
},
{
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/CPLD_Motherboard"
},
{
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/CPLD_Backplane_1"
},
{
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/BIOS_ME"
},
{
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/NIC1"
},
{
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/NVMeController1"
},
{
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/PowerSupply1"
},
{
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/PowerSupply2"
}
],
"Oem": {}
}
Firmware Resiliency Actions
Set the current active image as the golden template. If the current image is used as the golden image by the golden template under Supermicro’s recommendation or the administrator’s preference, then use this option to update the golden firmware image with the active firmware image.
Allowable values for Targets:
BMC: Use "/redfish/v1/Managers/1" to update golden firmware image for BMC.
BIOS: Use "/redfish/v1/Systems/1" to update golden firmware image for BIOS.
URI: /redfish/v1/UpdateService/Actions/Oem/SmcUpdateService.Install
Method: POST
Payload:
{
"Targets":[ "/redfish/v1/Managers/1"],
"InstallOptions":["UpdateGolden"]
}
Response: 200
Updating BIOS Firmware
To perform BIOS firmware update, use the image file available on the local system:
Allowable values for @Redfish.OperationApplyTime:
-
Immediate: Start BIOS firmware update immediately after POST action to
/redfish/v1/UpdateService/upload
-
OnStartUpdateRequest: upload firmware with POST action upload API and then BIOS firmware update will only start after POST action to
/redfish/v1/UpdateService/Actions/UpdateService.StartUpdate
StartUpdat API doesn’t require any parameter in the payload.
URI: /redfish/v1/UpdateService/upload
Method: POST
Response: 202
UpdateParameters:
{"Targets": ["/redfish/v1/Systems/1/Bios"],
"@Redfish.OperationApplyTime": "Immediate",
"Oem": {"Supermicro": { "BIOS": { "PreserveME": true, "PreserveNVRAM": true, "PreserveSMBIOS": true, "BackupBIOS": false }}}}
UpdateFile: <File>
Notes:
-
On X12 (Whitley and Tatlow series), X13, and later platforms, only these commands are available for use when using this method: PreserveOA, PreserveSETUPCONF, PreserveSETUPPWD, PreserveSECBOOTKEY, PreserveBOOTCONF, and UpdateRollbackID (note that this only works for RoT).
-
With RoT, only these commands are available for use when using this method: PreserveME, PreserveNVRAM, PreserveSMBIOS, and BackupBIOS.
Check BIOS update status in TaskService API.
URI: /redfish/v1/TaskService
Method: GET
Response: 200
When the update completes, check the BIOS version in UpdateService/FirmwareInventory.
Updating BMC Firmware
Use the image file available on the local system to update BMC firmware:
Allowable values for @Redfish.OperationApplyTime:
-
Immediate: Start BMC firmware update immediately after POST action to /redfish/v1/UpdateService/upload
-
OnStartUpdateRequest: upload firmware with POST action upload API and then BMC firmware update will only start after POST action to /redfish/v1/UpdateService/Actions/UpdateService.StartUpdate.
StartUpdate API doesn’t require any parameter in the URI: /redfish/v1/UpdateService/upload
Method: POST
Response: 202
UpdateParameters:
{"Targets": ["/redfish/v1/Managers/1"],
"@Redfish.OperationApplyTime": "Immediate",
"Oem": {"Supermicro": { "BMC": {"PreserveCfg":true, "PreserveSdr":true, "PreserveSsl":true, "BackupBMC": true}}}
}
UpdateFile: <File>
Check BMC update status in TaskService API
URI: /redfish/v1/TaskService
Method: GET
Response: 200
When the the update completes, check the BMC version in UpdateService/FirmwareInventory
Updating CPLD Firmware
There are two types of CPLD firmware to be updated:
Use the image file available on the local system to update CPLD motherboard firmware:
URI: /redfish/v1/UpdateService/upload
Method: POST
Response: 202
UpdateParameters:
{"Targets":[ “/redfish/v1/UpdateService/FirmwareInventory/CPLD_Motherb
oard"], "@Redfish.OperationApplyTime":"Immediate"}
UpdateFile: <File>
Note: After Motherboard CPLD update, it will trigger a BMC reset.
• Use the image file available on the local system to update CPLD backplane firmware:
URI: /redfish/v1/UpdateService/FirmwareInventory
Method: POST
Response: 202
UpdateParameters:
{"Targets":[ /redfish/v1/UpdateService/FirmwareInventory/CPLD_Backplan
e_[id]"],"@Redfish.OperationApplyTime":"Immediate"}
UpdateFile: <File>
Simple Update
Simple Update only supports BMC and BIOS. You can update the installed software component(s) as contained within a software image file located at a URI referenced by the ImageURI parameter, and preserve BMC config, SSL, SDR, and SMBIOS, BIOS BootConfg by default.
You are required to prepare the FTP, HTTP, or HTTPS file server to put BMC or BIOS firmware image file.
URI: /redfish/v1/UpdateService/Actions/UpdateService.SimpleUpdate
Method: POST
Response: 202
Payload:
{
"ImageURI": "<file ip>/<path and image file name>",
"TransferProtocol": "FTP",
"Targets": ["/redfish/v1/Managers/1"]
}
Target value:
For BIOS Update, use "/redfish/v1/Systems/1".
For BMC Update use, "/redfish/v1/Managers/1".
Updating Broadcom Storage Controller Firmware
You can check if the controller firmware update is supported or not under /redfish/v1/UpdateService/FirmwareInventory/Broadcom[num].
To update Broadcom firmware using the image file available on the local system:
URI: /redfish/v1/UpdateService/upload
Method: POST
Response: 202
UpdateParameters: {"Targets":[ "/redfish/v1/Systems/1/Storage/HARAID#/StorageControllers/[num]"],"@Redfish.OperationApplyTime":"OnStartUpdateRequest"}
UpdateFile: <File>
Note: Currently, this is supported to update HA-RAID 3108, 38xxIR, 39xx ,and BCOM 3916. After the update, it needs a system reboot for the new firmware to take effect.
Updating Marvel Storage Controller Firmware
You can check if the controller firmware update is supported or not under /redfish/v1/UpdateService/FirmwareInventory/Marvell[num].
To update Marvell firmware using the image file on the local system:
URI: /redfish/v1/UpdateService/upload
Method: POST
Response: 202
UpdateParameters: {"Targets":[ "/redfish/v1/Systems/1/Storage/MRVL.HARAID#/StorageControllers/[num]"],"@Redfish.OperationApplyTime":
"OnStartUpdateRequest"}
UpdateFile: <File>
Updating AOC NIC Firmware
“NIC [num]” exists under the Redfish/v1 directory when your AOC NIC controller is supported. To ensure that you can update the AOC NIC controller firmware, check if “NIC [num]” exists in the URI /redfish/v1/UpdateService/FirmwareInventory/NIC[num].
To update AOC NIC firmware, use the image file on the local system:
URI: /redfish/v1/UpdateService/upload
Method: POST
Response: 202
UpdateParameters:
{"Targets":[ "//redfish/v1/UpdateService/FirmwareInventory/NIC[num]"],
"@Redfish.OperationApplyTime": "OnStartUpdateRequest"}
UpdateFile: <File>
Updating SSL Certificate and Key
Update the SSL certificate and key for a secure web server connection.
URI: /redfish/v1/UpdateService/Oem/Supermicro/SSLCert/Actions/SmcSSLCert.Upload
Payload:
-
Change the type to “form-data”.
-
Select cert_file and key_file as keys, browse and select the respective files to upload