Jetson TX2 fails to boot up after OTA Jetpack update

Hi, I am working with Jetson TX2 on a custom carrier board. This has Jetpack 4.4 flashed on it and needs to be upgraded to Jetpack 4.6. We want to upgrade the Jetpack using the OTA method and have followed the instructions in order to generate the OTA package.

I extracted JP 4.6 Linux_for_Tegra and sample rootfs, applied binaries and generated recovery image. Command to generate recovery image:

BASE_BSP=<JP 4.4 Linux_for_Tegra directory>
TARGET_BSP=<JP 4.6 Linux_for_Tegra directory>
sudo ./tools/ota_tools/version_upgrade/build_base_recovery_image.sh jetson-tx2-devkit R32-4 ${BASE_BSP} ${BASE_BSP}/rootfs ${TARGET_BSP}

Then generated OTA package:

sudo ./tools/ota_tools/version_upgrade/l4t_generate_ota_package.sh jetson-tx2-devkit R32-4

After the package was done I downloaded the OTA payload to TX2 and ran the upgrade command:

cd  ~/Linux_for_Tegra/tools/ota_tools/version_upgrade
sudo ./nv_ota_start.sh /dev/mmcblk0 /ota/ota_payload_package.tar.gz

This command failed due to the following message:

Device TN Spec: 3310-B00-1000-E.0-1-0-jetson-tx2-mmcblk0p1
Device Compatible Spec: 3310-B00---1--jetson-tx2-devkit-
Can't find matching TN Spec in OTA Blob!
OTA Blob update failed. Status: 3
/usr/sbin/nv_bootloader_payload_updater --no-dependent-partition failed.
Slot 0 update failed
Error: installing bootloader updates failed: 768
Failed to run "/usr/sbin/nv_update_engine -i bl --payload /ota_work/bl_update_payload --no-reboot"
Failed to run "update_bootloader_with_UE /ota_work 0x18"
Failed to run "update_bootloader /ota_work 0 0x18"

I checked the /etc/nv_boot_control.conf on the TX2 and it seems it is different:

TNSPEC 3310-B00-1000-E.0-1-0-jetson-tx2-mmcblk0p1
COMPATIBLE_SPEC 3310-B00---1--jetson-tx2-devkit-
TEGRA_CHIPID 0x18
TEGRA_OTA_BOOT_DEVICE /dev/mmcblk0boot0
TEGRA_OTA_GPT_DEVICE /dev/mmcblk0boot1

I looked through the OTA tools files and found the ota_board_specs.conf file which seems to show only board revision for the Jetson TX2:

jetson_tx2_devkit_ota_emmc_r32_3_4_spec=(
'boardid=3310;fab=B01;boardsku=;boardrev=;fuselevel_s=1;chiprev=0;board=jetson-tx2-devkit;rootdev=mmcblk0p1;signed_img_dir=images-R32-ToT'
)

I tried adding a new line with fab=B00 and also modifying this line with this new fab to generate a compatible OTA payload:

jetson_tx2_devkit_ota_emmc_r32_3_4_spec=(
'boardid=3310;fab=B01;boardsku=;boardrev=;fuselevel_s=1;chiprev=0;board=jetson-tx2-devkit;rootdev=mmcblk0p1;signed_img_dir=images-R32-ToT'
'boardid=3310;fab=B00;boardsku=;boardrev=;fuselevel_s=1;chiprev=0;board=jetson-tx2-devkit;rootdev=mmcblk0p1;signed_img_dir=images-R32-ToT'
)

I was able to get the OTA payload to be applied with these changes but once I rebooted to apply the upgrade the TX2 is unable to load the recovery Image and now shows these logs:

[0001.998] C> MTS error (2) : dram alias check failure
[0002.003] C> cpu waypoint 0.5 failed
[0002.007] C> ERROR: Highest Layer Module = 0x32, Lowest Layer Module = 0x32,
Aux Info = 0x1, Reason = 0x6

I have able to recover the TX2 by using a devkit to flash the device again. The TNSPEC does present the FAB=B01 after this but on the custom board this will revert to B00 which leaves me where I started.

Is there a way to generate the OTA payload for Jetpack upgrade that matches the needed board revision?

Sorry for the late response, have you managed to get issue resolved or still need the support? Thanks

Yes, this is still an issue I am looking into

Do you have the full boot failure log to share?

I don’t, since the OTA update has failed when rebooting, I cannot access the log anymore. I will try and go through the process to get a log again.

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