Skip to content

Broken firmware image is not verified before upgrading #10

@ash111111-blip

Description

@ash111111-blip

Issue:
Partially downloaded BMC image through TFTP is not verified before applying it on next reset.

Steps:
1.Check "ApplyTime" is "OnReset":
HTTP Get from https://<bmc_ip>/redfish/v1/UpdateService

Response:

"FirmwareInventory": {
    "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory"
},
"HttpPushUri": "/redfish/v1/UpdateService",
"HttpPushUriOptions": {
    "HttpPushUriApplyTime": {
        "ApplyTime": "OnReset"
    }
},
  1. Download Image
    curl -k -H "X-Auth-Token: $token" -X POST https://${bmc}/redfish/v1/UpdateService/Actions/UpdateService.SimpleUpdate -d '{"ImageURI":"tftp://<tftp_ip>/obmc-phosphor-image-transformers-20210330173445.static.mtd.all.tar"}'

  2. When first time download tar image from tftp server completes around 85%, then submit Redfish POST command to download same image again. Redfish POST shows "Base.1.8.1.ServiceTemporarilyUnavailable" error but it still downloads after this error message show up.
    I used windows tftp server, so I can check download progress bar on window; There are "2" download progress bars popping up.

  3. Do "ipmitool mc reset cold" when the second time download progress gets to 25% to 35%.

  4. The bmc reboot (mc reset cold) crashes.

Please see the video for steps followed :
https://www.youtube.com/watch?v=0UfPNmw0X70&list=PLjZxgm7U9UoxGIMPnH_-FOHxDjtWDTyzM&index=9

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions