Unable to update BMC firmware to SW-1.1 or SW-1.1.1

Issue:

  • We could only update BMC firmware to SW-1.0. All attempts to further update BMC firmware to SW-1.1 or SW-1.1.1 would fail. We’ve tried both the command line and the BMC Web UI firmware update. Neither works.
  • This is likely the same issue as Unable to update BMC firmware to SW-1.1 using cmd line.

Environment:

  • We use an IGX Orin 700 Board Kit, which was purchased from NVIDIA in March 2025. The serial number of the BMC module is “1613223620340”, i.e. manufactured in the 13th week of 2023.
  • Version of the BMC board is “QS1”.
    root@mgx-3809:~# i2cdump -f -y 10 0x50
    No size specified (using byte-data access)
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
    00: 01 00 00 01 0b 00 00 f3 01 0a 19 a3 f6 dd c6 4e    ?..??..????????N
    10: 56 49 44 49 41 c5 50 33 38 30 39 cd 31 36 31 33    VIDIA?P3809?1613
    20: 32 32 33 36 32 30 30 36 38 d2 36 39 39 2d 31 33    223620068?699-13
    30: 38 30 39 2d 30 31 30 30 2d 51 53 31 c0 01 01 d6    809-0100-QS1????
    40: 4d 41 43 3a 20 34 38 3a 42 30 3a 32 44 3a 45 46    MAC: 48:B0:2D:EF
    50: 3a 34 46 3a 45 32 c1 85 01 08 19 c6 4e 56 49 44    :4F:E2??????NVID
    60: 49 41 c5 50 33 39 34 30 d2 39 34 30 2d 32 33 39    IA?P3940?940-239
    70: 34 30 2d 30 30 30 30 2d 51 53 31 c3 47 2e 31 cd    40-0000-QS1?G.1?
    80: 31 36 31 33 32 32 33 36 32 30 30 36 38 c0 c4 76    1613223620068??v
    90: 30 2e 32 c1 00 00 00 d2 ff ff ff ff ff ff ff ff    0.2?...?........
    a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
    b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
    c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
    d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
    e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
    f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
    

Reproducing the issue from command line:

  1. Follow the steps in Update your IGX Orin Board Kit BMC (ERoT) Firmware.
  2. For SW-1.0, the command would succeed as expected.
  3. But for SW-1.1 or SW-1.1, the command would fail with the following log.
    jkjung@IEC1-060129-3:/mnt/d/Softs/NVIDIA/IGX.Orin/1.1.1/igx_fw_for_webui_update_R36.4.5$ curl -k \
                          -H "X-Auth-Token: $token" \
                          -H "Content-Type: application/octet-stream" \
                          -X POST https://$bmc/redfish/v1/UpdateService \
                          -T "igx-bmc-apfw-erot.fwpkg"
    {
      "@odata.id": "/redfish/v1/TaskService/Tasks/0",
      "@odata.type": "#Task.v1_4_3.Task",
      "Id": "0",
      "TaskState": "Running",
      "TaskStatus": "OK"
    }
    jkjung@IEC1-060129-3:/mnt/d/Softs/NVIDIA/IGX.Orin/1.1.1/igx_fw_for_webui_update_R36.4.5$ export task_id=0
    jkjung@IEC1-060129-3:/mnt/d/Softs/NVIDIA/IGX.Orin/1.1.1/igx_fw_for_webui_update_R36.4.5$ curl -k \
         -H "X-Auth-Token: $token" \
         -X GET https://$bmc/redfish/v1/TaskService/Tasks/$task_id
    {
      "@odata.id": "/redfish/v1/TaskService/Tasks/0",
      "@odata.type": "#Task.v1_4_3.Task",
      "EndTime": "1970-01-01T00:57:48+00:00",
      "Id": "0",
      "Messages": [
        {
          "@odata.type": "#Message.v1_0_0.Message",
          "Message": "The task with id 0 has started.",
          "MessageArgs": [
            "0"
          ],
          "MessageId": "TaskEvent.1.0.1.TaskStarted",
          "Resolution": "None.",
          "Severity": "OK"
        },
        {
          "@odata.type": "#Message.v1_0_0.Message",
          "Message": "The task with id 0 has changed to progress 100 percent complete.",
          "MessageArgs": [
            "0",
            "100"
          ],
          "MessageId": "TaskEvent.1.0.1.TaskProgressChanged",
          "Resolution": "None.",
          "Severity": "OK"
        },
        {
          "@odata.type": "#MessageRegistry.v1_4_1.MessageRegistry",
          "Message": "Transfer of image '0.0' to '' failed.",
          "MessageArgs": [
            "0.0",
            ""
          ],
          "MessageId": "Update.1.0.TransferFailed",
          "Resolution": "Debug Token Service is not ready, retry the firmware update operation after the management controller is ready. If the issue still persists reset the baseboard.",
          "Severity": "Critical"
        },
        {
          "@odata.type": "#MessageRegistry.v1_4_1.MessageRegistry",
          "Message": "The resource property 'Firmware Update Service' has detected errors of type 'No Matching Devices'.",
          "MessageArgs": [
            "Firmware Update Service",
            "No Matching Devices"
          ],
          "MessageId": "ResourceEvent.1.0.ResourceErrorsDetected",
          "Resolution": "Verify the FW package has devices that are listed in the Redfish FW Inventory",
          "Severity": "Critical"
        },
        {
          "@odata.type": "#Message.v1_0_0.Message",
          "Message": "The task with id 0 has Completed.",
          "MessageArgs": [
            "0"
          ],
          "MessageId": "TaskEvent.1.0.1.TaskCompletedOK",
          "Resolution": "None.",
          "Severity": "OK"
        }
      ],
      "Name": "Task 0",
      "Payload": {
        "HttpHeaders": [
          "Host: 192.168.1.110",
          "User-Agent: curl/8.5.0",
          "Accept: */*",
          "Content-Length: 67105992"
        ],
        "HttpOperation": "POST",
        "JsonBody": "null",
        "TargetUri": "/redfish/v1/UpdateService"
      },
      "PercentComplete": 100,
      "StartTime": "1970-01-01T00:57:48+00:00",
      "TaskMonitor": "/redfish/v1/TaskService/Tasks/0/Monitor",
      "TaskState": "Completed",
      "TaskStatus": "Critical"
    }
    
  • The culprit seems to be “the firmware update service finding no matching devices”.
        {
          "@odata.type": "#MessageRegistry.v1_4_1.MessageRegistry",
          "Message": "The resource property 'Firmware Update Service' has detected errors of type 'No Matching Devices'.",
          "MessageArgs": [
            "Firmware Update Service",
            "No Matching Devices"
          ],
          "MessageId": "ResourceEvent.1.0.ResourceErrorsDetected",
          "Resolution": "Verify the FW package has devices that are listed in the Redfish FW Inventory",
          "Severity": "Critical"
        },
    

Reproducing the issue from BMC Web UI:

  1. Follow the steps in Update your BMC firmware.
  2. For SW-1.1 or SW-1.1.1, the Web UI appears to be normal.
  3. We then power off and power on the IGX Orin system. But after power cycle, BMC firmware version stays the same: “IGXOrinBMC-24.04-11-v3.2” as of SW-1.0. For comparison, we expect “IGX-BMC-10.10-rc-4.1” for SW-1.1 or SW-1.1.1.
    root@mgx-3809:~# cat /etc/os-release
    ID=openbmc-phosphor
    NAME="NVIDIA MGX/IGX BMC (OpenBMC     Project Reference Distro)"
    VERSION="IGXOrinBMC-24.04-11-v3.2"
    VERSION_ID=igxorinbmc-24.04-11-v3.2-0-g1f7f8057b43.1713951293.3952162
    PRETTY_NAME="NVIDIA MGX/IGX BMC (OpenBMC     Project Reference Distro) IGXOrinBMC-24.04-11-v3.2"
    BUILD_ID="20240424093450"
    OPENBMC_TARGET_MACHINE="mgx-3809"
    BUILD_DESC="prod-platform-erot"
    root@mgx-3809:~#
    

Hi jkjung13,

Please run the following command in your BMC console first.

# journalctl -f

And perform BMC firmware update through WebUI:
Operations → Firmware → BMC → Add file → Select “igx-bmc-apfw-erot.fwpkg” → Start Update

Please share the log from BMC console for further check.

Here is the journalctl log. It was recorded from BMC Web UI login to SW-1.1.1 “igx-bmc-apfw-erot.fwpkg” firmware update until finish. (BMC firmware version is not changed after reboot.)

bmc-fail-journalctl.txt (266.9 KB)

We’ve updated the BMC firmware in download center last week.
Could you download the BMC firmware from BMC FW and Sources (to be used when updating using command line) and try again?

Please also share the MD5 checksum of the firmware you are using.

Thanks for the update. I don’t have access to the IGX Orin 700 Board Kit right now. I will test it when I have a chance (maybe in 1~2 weeks).

okay, please let us know if it works on your board.

Just tried it. I was able to update BMC firmware from command line (Redfish API) using this “rev2” firmware (“bmc/fw/apfw/igx-bmc-apfw-erot.fwpkg”). The Redfish API did not show this error anymore: “The resource property ‘Firmware Update Service’ has detected errors of type ‘No Matching Devices’.”

However, the BMC firmware version is still “IGXOrinBMC-24.04-11-v3.2” (SW-1.0) after the update.

So the problem has not been solved…

Do you mean the BMC firmware update is successful but version is unchanged?
If so, please also share the md5 of the BMC firmware you are using.

I used the ERoT BMC firmware file in BMC FW and Sources (to be used when updating using command line. The firmware update seems successful but version is not changed after update.

Md5sum of the firmware file is: b8501cc4b49764d341b88071c84ca2f4

b8501cc4b49764d341b88071c84ca2f4 bmc/fw/apfw/igx-bmc-apfw-erot.fwpkg

It seems you used the wrong FW for your board kit.
It should be the following one.

$ md5sum ./bmc/fw/apfw/igx-bmc-apfw-erot.fwpkg
6b2551d3d3d1027a6b47afe372e193dc  ./bmc/fw/apfw/igx-bmc-apfw-erot.fwpkg

My bad. I updated the BMC firmware with the correct file again. It worked. I’m able to update BMC firmware to the latest version (“IGX-BMC-rc-4.1.1”) now.

Thanks a lot for the support.

root@mgx-3809:~# cat /etc/os-release
ID=openbmc-phosphor
NAME="NVIDIA MGX/IGX BMC (OpenBMC     Project Reference Distro)"
VERSION="IGX-BMC-rc-4.1.1"
VERSION_ID=igx-bmc-rc-4.1.1-0-gff4f18dd9a7.1741071950.3541024
VERSION_CODENAME="scarthgap"
PRETTY_NAME="NVIDIA MGX/IGX BMC (OpenBMC     Project Reference Distro) IGX-BMC-rc-4.1.1"
CPE_NAME="cpe:/o:openembedded:openbmc-phosphor:IGX-BMC-rc-4.1.1-0-gff4f18dd9a7.1741071950.3541024"
BUILD_ID="20250304070545"
OPENBMC_TARGET_MACHINE="mgx-3809"
EXTENDED_VERSION="IGX-BMC-rc-4.1.1-0-gff4f18dd9a7"
BUILD_DESC="prod-platform-erot"
root@mgx-3809:~#

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.