OE4T / meta-tegra

BSP layer for NVIDIA Jetson platforms, based on L4T
MIT License
384 stars 215 forks source link

Capsule update fails on Orin Nano Devkit #1531

Closed cakre closed 2 months ago

cakre commented 2 months ago

Describe the bug Triggering a bootloader capsule update does not work on Orin Nano Devkit as its sku is not listed as compatible in the tegra-bl.cap.

To Reproduce Steps to reproduce the behavior:

  1. Build meta-tegra branch 'kirkstone' with jetson-orin-nano-devkit based on '010ab43'
  2. Deploy to hardware with method 'initrd-flash'
  3. Copy /opt/nvidia/UpdateCapsule/tegra-bl.cap to /opt/nvidia/esp/EFI/UpdateCapsule/
  4. Run oe4t-set-uefi-OSIndications
  5. Reboot
  6. Update does not trigger

Additional context

Part of th UART Log from the unsuccessful update:

BCGetVariable: Read BootChainFwNext=255: Not Found
BCGetVariable: Read BootChainFwStatus=255: Not Found
FwPackageGetImageIndex:  3767-300-0005-K.2-1-0-jetson-orin-nano-devkit- / 3767-000-0003--1-1-jetson-orin-nano-devkit-: Not Found
FwPackageGetImageIndex:  3767--0005--1--jetson-orin-nano-devkit- / 3767-000-0003--1-1-jetson-orin-nano-devkit-: Not Found
FwPackageGetImageIndex:  3767-300-0005-K.2-1-0-jetson-orin-nano-devkit- / 3767-000-0004--1-1-jetson-orin-nano-devkit-: Not Found
FwPackageGetImageIndex:  3767--0005--1--jetson-orin-nano-devkit- / 3767-000-0004--1-1-jetson-orin-nano-devkit-: Not Found
FmpDxe(NVIDIA System Firmware): SetTheImage() LastAttemptStatus: 6164.

Part of the UART Log from an older successful update:

BCGetVariable: Read BootChainFwNext=255: Not Found
BCGetVariable: Read BootChainFwStatus=255: Not Found
FwPackageGetImageIndex:  3767-300-0005-K.2-1-0-jetson-orin-nano-devkit- / 3767-000-0000--1-1-jetson-orin-nano-devkit-: Not Found
FwPackageGetImageIndex:  3767--0005--1--jetson-orin-nano-devkit- / 3767-000-0000--1-1-jetson-orin-nano-devkit-: Not Found
FwPackageGetImageIndex:  3767-300-0005-K.2-1-0-jetson-orin-nano-devkit- / 3767-000-0001--1-1-jetson-orin-nano-devkit-: Not Found
FwPackageGetImageIndex:  3767--0005--1--jetson-orin-nano-devkit- / 3767-000-0001--1-1-jetson-orin-nano-devkit-: Not Found
FwPackageGetImageIndex:  3767-300-0005-K.2-1-0-jetson-orin-nano-devkit- / 3767-000-0003--1-1-jetson-orin-nano-devkit-: Not Found
FwPackageGetImageIndex:  3767--0005--1--jetson-orin-nano-devkit- / 3767-000-0003--1-1-jetson-orin-nano-devkit-: Not Found
FwPackageGetImageIndex:  3767-300-0005-K.2-1-0-jetson-orin-nano-devkit- / 3767-000-0004--1-1-jetson-orin-nano-devkit-: Not Found
FwPackageGetImageIndex:  3767--0005--1--jetson-orin-nano-devkit- / 3767-000-0004--1-1-jetson-orin-nano-devkit-: Not Found
FwPackageGetImageIndex:  3767-300-0005-K.2-1-0-jetson-orin-nano-devkit- / 3767-000-0005--1-1-jetson-orin-nano-devkit-: Not Found
FwPackageGetImageIndex:  3767--0005--1--jetson-orin-nano-devkit- / 3767-000-0005--1-1-jetson-orin-nano-devkit-: Success
FwPartitionWriteToUpdateInactivePartitions: Starting update Offset=0, Bytes=16896, Buffer=0x26A110018

Logs were retrieved with EDK2_BUILD_MODE:pn-edk2-firmware-tegra = "DEBUG" and edk2-nvidia PcdDebugPrintErrorLevel set to DEBUG_INFO

madisongh commented 2 months ago

Yep, looks like I mixed up the board SKUs for the Nano 8GB vs 4GB when I trimmed down the TEGRA_BUPGEN_SPECS settings recently.

madisongh commented 2 months ago

I've back-ported the fix to the kirkstone branch also, commit 48a1cc3eba6ec1086a92eead45ba6bd802d8e685.