Updating Firmware for Individual Motherboard Tray Components#

This section provides instructions for updating the firmware of individual components on the motherboard tray.

Updating the BMC#

  1. Create a update_bmc.json file with the following contents:

    {
        "Targets" :["/redfish/v1/UpdateService/FirmwareInventory/HostBMC_0"]
    }
    
  2. Update the firmware:

    nvfwupd -t ip=<bmc-ip-address> user=<bmc-username> password=<bmc-password> update_fw \
      -p <mb-tray-package> -y -s update_bmc.json
    

    Example Output

    FW recipe: ['nvfw_DGX_251121.1.0.fwpkg']
    {"@odata.type": "#UpdateService.v1_6_0.UpdateService", "Messages": [{"@odata.type": "#Message.v1_0_8.Message", "Message": "A new task /redfish/v1/TaskService/Tasks/2 was created.", "MessageArgs": ["/redfish/v1/TaskService/Tasks/2"], "MessageId": "Task.1.0.New", "Resolution": "None", "Severity": "OK"}, {"@odata.type": "#Message.v1_0_8.Message", "Message": "The action UpdateService.MultipartPush was submitted to do firmware update.", "MessageArgs": ["UpdateService.MultipartPush"], "MessageId": "UpdateService.1.0.StartFirmwareUpdate", "Resolution": "None", "Severity": "OK"}]}
     FW update started, Task Id: 2
    Wait for FirmwareUpdateStarted in MessageId
    Wait for FirmwareUpdateStarted in MessageId
    Wait for FirmwareUpdateStarted in MessageId
    Wait for FirmwareUpdateStarted in MessageId
    Wait for FirmwareUpdateStarted in MessageId
    Wait for FirmwareUpdateStarted in MessageId
    Wait for FirmwareUpdateStarted in MessageId
    Wait for FirmwareUpdateStarted in MessageId
    Wait for FirmwareUpdateStarted in MessageId
    Wait for FirmwareUpdateStarted in MessageId
    PercentageComplete: 6
     TaskState: Running
     PercentComplete: 6
     TaskStatus: OK
     ...
    
     PercentageComplete: 100
     TaskState: Completed
     PercentComplete: 100
     TaskStatus: OK
    Firmware update successful!
     Overall Time Taken: 0:36:11
    Refer to 'DGX B300 Firmware Update Document' on activation steps for new firmware to take effect.
    
  3. Reset the BMC so the BMC boots the new firmware:

    $ ipmitool mc reset cold
    
    # Wait a couple of minutes and confirm the BMC is back online.
    $ ipmitool mc info
    
  4. Reboot the system.

Updating the BIOS#

  1. Create a updparameters.json file with the following contents:

    {
        "Targets" :["/redfish/v1/UpdateService/FirmwareInventory/HostBIOS_0"]
    }
    
  2. Update the firmware:

    nvfwupd -t ip=<bmc-ip-address> user=admin password=admin update_fw \
      -p nvfw_DGX_251121.1.0.fwpkg -y -s updparameters.json
    

    Example Output

    FW recipe: ['nvfw_DGX_251121.1.0.fwpkg']
    {"@odata.type": "#UpdateService.v1_6_0.UpdateService", "Messages": [{"@odata.type": "#Message.v1_0_8.Message", "Message": "A new task /redfish/v1/TaskService/Tasks/2 was created.", "MessageArgs": ["/redfish/v1/TaskService/Tasks/2"], "MessageId": "Task.1.0.New", "Resolution": "None", "Severity": "OK"}, {"@odata.type": "#Message.v1_0_8.Message", "Message": "The action UpdateService.MultipartPush was submitted to do firmware update.", "MessageArgs": ["UpdateService.MultipartPush"], "MessageId": "UpdateService.1.0.StartFirmwareUpdate", "Resolution": "None", "Severity": "OK"}]}
     FW update started, Task Id: 2
    Wait for FirmwareUpdateStarted in MessageId
    Wait for FirmwareUpdateStarted in MessageId
    Wait for FirmwareUpdateStarted in MessageId
    Wait for FirmwareUpdateStarted in MessageId
    Wait for FirmwareUpdateStarted in MessageId
    Wait for FirmwareUpdateStarted in MessageId
    Wait for FirmwareUpdateStarted in MessageId
    Wait for FirmwareUpdateStarted in MessageId
    Wait for FirmwareUpdateStarted in MessageId
    Wait for FirmwareUpdateStarted in MessageId
    PercentageComplete: 6
     TaskState: Running
     PercentComplete: 6
     TaskStatus: OK
     ...
    
    PercentageComplete: 100
     TaskState: Completed
     PercentComplete: 100
     TaskStatus: OK
    Firmware update successful!
     Overall Time Taken: 0:36:11
    Refer to 'DGX B300 Firmware Update Document' on activation steps for new firmware to take effect.
    

Updating BMC ERoT#

  1. Create a updparameters.json file with the following contents:

    {
        "Targets" :["/redfish/v1/UpdateService/FirmwareInventory/EROT_BMC_0"]
    }
    
  2. Update the firmware:

    nvfwupd -t ip=<bmc-ip-address> user=admin password=admin update_fw \
      -p nvfw_DGX_251121.1.0.fwpkg -y -s updparameters.json
    

    Example Output

    FW recipe: ['nvfw_DGX_251121.1.0.fwpkg]
    {"@odata.type": "#UpdateService.v1_6_0.UpdateService", "Messages": [{"@odata.type": "#Message.v1_0_8.Message", "Message": "A new task /redfish/v1/TaskService/Tasks/1 was created.", "MessageArgs": ["/redfish/v1/TaskService/Tasks/1"], "MessageId": "Task.1.0.New", "Resolution": "None", "Severity": "OK"}, {"@odata.type": "#Message.v1_0_8.Message", "Message": "The action UpdateService.MultipartPush was submitted to do firmware update.", "MessageArgs": ["UpdateService.MultipartPush"], "MessageId": "UpdateService.1.0.StartFirmwareUpdate", "Resolution": "None", "Severity": "OK"}]}
     FW update started, Task Id: 1
    Wait for Firmware Update to Start...
    Wait for Firmware Update to Start...
     TaskState: Completed
     PercentComplete: 100
     TaskStatus: OK
    Firmware update successful!
     Overall Time Taken: 0:00:09
    Refer to 'DGX B300 Firmware Update Document' on activation steps for new firmware to take effect.
    

Updating SBIOS ERoT#

  1. Create a updparameters.json file with the following contents:

    {
        "Targets" :["/redfish/v1/UpdateService/FirmwareInventory/EROT_BIOS_0"]
    }
    
  2. Update the firmware:

    nvfwupd -t ip=<bmc-ip-address> user=admin password=admin update_fw \
      -p nvfw_DGX_251121.1.0.fwpkg -y -s updparameters.json
    

    Example Output

    FW recipe: ['nvfw_DGX_251121.1.0.fwpkg.fwpkg]
    {"@odata.type": "#UpdateService.v1_6_0.UpdateService", "Messages": [{"@odata.type": "#Message.v1_0_8.Message", "Message": "A new task /redfish/v1/TaskService/Tasks/2 was created.", "MessageArgs": ["/redfish/v1/TaskService/Tasks/2"], "MessageId": "Task.1.0.New", "Resolution": "None", "Severity": "OK"}, {"@odata.type": "#Message.v1_0_8.Message", "Message": "The action UpdateService.MultipartPush was submitted to do firmware update.", "MessageArgs": ["UpdateService.MultipartPush"], "MessageId": "UpdateService.1.0.StartFirmwareUpdate", "Resolution": "None", "Severity": "OK"}]}
     FW update started, Task Id: 2
    Wait for Firmware Update to Start...
    Wait for Firmware Update to Start...
     TaskState: Completed
     PercentComplete: 100
     TaskStatus: OK
    Firmware update successful!
     Overall Time Taken: 0:00:10
    Refer to 'DGX B300 Firmware Update Document' on activation steps for new firmware to take effect.
    

Updating the CPLDs#

  1. Create a updparameters.json file with the following contents:

    {
        "Targets" :["/redfish/v1/UpdateService/FirmwareInventory/CPLDMB_0"]
    }
    
  2. Update the firmware:

    nvfwupd -t ip=<bmc-ip-address> user=admin password=admin update_fw \
      -p nvfw_DGX_251121.1.0.fwpkg -y -s updparameters.json
    

    Example Output

    FW recipe: ['nvfw_DGX_251121.1.0.fwpkg]
    {"@odata.type": "#UpdateService.v1_6_0.UpdateService", "Messages": [{"@odata.type": "#Message.v1_0_8.Message", "Message": "A new task /redfish/v1/TaskService/Tasks/4 was created.", "MessageArgs": ["/redfish/v1/TaskService/Tasks/4"], "MessageId": "Task.1.0.New", "Resolution": "None", "Severity": "OK"}, {"@odata.type": "#Message.v1_0_8.Message", "Message": "The action UpdateService.MultipartPush was submitted to do firmware update.", "MessageArgs": ["UpdateService.MultipartPush"], "MessageId": "UpdateService.1.0.StartFirmwareUpdate", "Resolution": "None", "Severity": "OK"}]}
     FW update started, Task Id: 4
    Wait for Firmware Update to Start...
    Wait for Firmware Update to Start...
     TaskState: Completed
     PercentComplete: 100
     TaskStatus: OK
    Firmware update successful!
     Overall Time Taken: 0:00:08
    Refer to 'DGX B300 Firmware Update Document' on activation steps for new firmware to take effect.
    

Updating the Midplane CPLDs#

  1. Create a updparameters.json file with the following contents:

    {
        "Targets" :["/redfish/v1/UpdateService/FirmwareInventory/CPLDMID_0"]
    }
    
  2. Update the firmware:

    nvfwupd -t ip=<bmc-ip-address> user=admin password=admin update_fw \
      -p nvfw_DGX_251121.1.0.fwpkg -y -s updparameters.json
    

    Example Output

    FW recipe: ['nvfw_DGX_251121.1.0.fwpkg']
    {"@odata.type": "#UpdateService.v1_6_0.UpdateService", "Messages": [{"@odata.type": "#Message.v1_0_8.Message", "Message": "A new task /redfish/v1/TaskService/Tasks/5 was created.", "MessageArgs": ["/redfish/v1/TaskService/Tasks/5"], "MessageId": "Task.1.0.New", "Resolution": "None", "Severity": "OK"}, {"@odata.type": "#Message.v1_0_8.Message", "Message": "The action UpdateService.MultipartPush was submitted to do firmware update.", "MessageArgs": ["UpdateService.MultipartPush"], "MessageId": "UpdateService.1.0.StartFirmwareUpdate", "Resolution": "None", "Severity": "OK"}]}
     FW update started, Task Id: 5
    Wait for Firmware Update to Start...
    Wait for Firmware Update to Start...
      TaskState: Completed
     PercentComplete: 100
     TaskStatus: OK
    Firmware update successful!
     Overall Time Taken: 0:00:09
    Refer to 'DGX B300 Firmware Update Document' on activation steps for new firmware to take effect.
    

Updating the PCIe Switches#

  1. Create a updparameters.json file with the following contents:

    {
        "Targets" :["/redfish/v1/UpdateService/FirmwareInventory/PCIeSwitch_0"]
    }
    

    Important

    Repeat this procedure for PCIeSwitch_1.

  2. Update the firmware:

    nvfwupd -t ip=<bmc-ip-address> user=admin password=admin update_fw \
      -p nvfw_DGX_251121.1.0.fwpkg -y -s updparameters.json
    

    Example Output

    FW recipe: ['nvfw_DGX_251121.1.0.fwpkg]
    {"@odata.type": "#UpdateService.v1_6_0.UpdateService", "Messages": [{"@odata.type": "#Message.v1_0_8.Message", "Message": "A new task /redfish/v1/TaskService/Tasks/7 was created.", "MessageArgs": ["/redfish/v1/TaskService/Tasks/7"], "MessageId": "Task.1.0.New", "Resolution": "None", "Severity": "OK"}, {"@odata.type": "#Message.v1_0_8.Message", "Message": "The action UpdateService.MultipartPush was submitted to do firmware update.", "MessageArgs": ["UpdateService.MultipartPush"], "MessageId": "UpdateService.1.0.StartFirmwareUpdate", "Resolution": "None", "Severity": "OK"}]}
     FW update started, Task Id: 7
    Wait for Firmware Update to Start...
    Wait for Firmware Update to Start...
     TaskState: Completed
     PercentComplete: 100
     TaskStatus: OK
    Firmware update successful!
     Overall Time Taken: 0:00:09
    Refer to 'DGX B300 Firmware Update Document' on activation steps for new firmware to take effect.
    

Updating the Power Supply Units#

  1. Create a updparameters.json file with the following contents:

    {
        "Targets" :["/redfish/v1/UpdateService/FirmwareInventory/PSU_0"]
    }
    

    Important

    Repeat this procedure for PSU_1 through PSU_11.

  2. Update the firmware:

    nvfwupd -t ip=<bmc-ip-address> user=admin password=admin update_fw \
      -p nvfw_DGX_251121.1.0.fwpkg -y -s updparameters.json
    

    Example Output

    FW recipe: ['nvfw_DGX_251121.1.0.fwpkg']
    {"@odata.type": "#UpdateService.v1_6_0.UpdateService", "Messages": [{"@odata.type": "#Message.v1_0_8.Message", "Message": "A new task /redfish/v1/TaskService/Tasks/6 was created.", "MessageArgs": ["/redfish/v1/TaskService/Tasks/6"], "MessageId": "Task.1.0.New", "Resolution": "None", "Severity": "OK"}, {"@odata.type": "#Message.v1_0_8.Message", "Message": "The action UpdateService.MultipartPush was submitted to do firmware update.", "MessageArgs": ["UpdateService.MultipartPush"], "MessageId": "UpdateService.1.0.StartFirmwareUpdate", "Resolution": "None", "Severity": "OK"}]}
     FW update started, Task Id: 6
    Wait for Firmware Update to Start...
    Wait for Firmware Update to Start...
     TaskState: Completed
     PercentComplete: 100
     TaskStatus: OK
    Firmware update successful!
     Overall Time Taken: 0:00:08
    Refer to 'DGX B300 Firmware Update Document' on activation steps for new firmware to take effect.