OTA upgrade Error with TX2

Hi All,

I’m trying to build the ota_payload package for TX2, I would like to update the device from Jetpack4.3 to Jetpack4.5.1, when I used command "sudo ./tools/ota_tools/version_upgrade/l4t_generate_ota_package.sh jetson-tx2-devkit R32-3 ", I got some error like :

Creating update payloads for Jetson-3310-B01---1-0-jetson-tx2-devkit-mmcblk0p1 board ...
creating bl_and_kernel payload

PARTITION INFO   : signed/bpmp_sigheader.bin.encrypt bpmp-fw 2 0 common;                                signed/camera-rtcpu-sce_sigheader.img.encrypt sce-fw 2 0 common;                                signed/cboot_sigheader.bin.encrypt cpu-bootloader 2 0 common;                           signed/nvtboot_sigheader.bin.encrypt mb2 2 0 common;                            signed/spe_sigheader.bin.encrypt spe-fw 2 0 common;                             signed/adsp-fw_sigheader.bin.encrypt adsp-fw 2 0 common;                signed/badpage_sigheader.bin.encrypt badpage-fw 2 0 common;                             signed/tos-trusty_sigheader.img.encrypt secure-os 2 0 common;signed/mb1_prod.bin.encrypt mb1 2 2 common;                signed/mce_mts_d15_prod_cr_sigheader.bin.encrypt mts-bootpack 2 2 common;                               signed/preboot_d15_prod_cr_sigheader.bin.encrypt mts-preboot 2 2 common;                                signed/warmboot_wbheader.bin.encrypt sc7 2 2 common;multi_signed/3310-B01---1-0-jetson-tx2-devkit-mmcblk0p1/tegra186-a02-bpmp-quill-p3310-1000-c04-00-te770d-ucm2_sigheader.dtb.encrypt bpmp-fw-dtb 2 0 3310-B01---1-0-jetson-tx2-devkit-mmcblk0p1;multi_signed/3310-B01---1-0-jetson-tx2-devkit-mmcblk0p1/tegra186-quill-p3310-1000-c03-00-base_sigheader.dtb.encrypt bootloader-dtb 2 0 3310-B01---1-0-jetson-tx2-devkit-mmcblk0p1;multi_signed/3310-B01---1-0-jetson-tx2-devkit-mmcblk0p1/emmc_bootblob_ver.txt VER 2 0 3310-B01---1-0-jetson-tx2-devkit-mmcblk0p1;multi_signed/3310-B01---1-0-jetson-tx2-devkit-mmcblk0p1/br_bct_BR_prod.bct BCT 2 2 3310-B01---1-0-jetson-tx2-devkit-mmcblk0p1;multi_signed/3310-B01---1-0-jetson-tx2-devkit-mmcblk0p1/mb1_cold_boot_bct_MB1_sigheader.bct.encrypt MB1_BCT 2 0 3310-B01---1-0-jetson-tx2-devkit-mmcblk0p1;signed/boot_sigheader.img.encrypt kernel 2 0 common;multi_signed/3310-B01---1-0-jetson-tx2-devkit-mmcblk0p1/kernel_tegra186-quill-p3310-1000-c03-00-base_sigheader.dtb.encrypt kernel-dtb 2 0 3310-B01---1-0-jetson-tx2-devkit-mmcblk0p1
File /home/edward/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_TX2/Linux_for_Tegra/bootloader/signed/badpage_sigheader.bin.encrypt does not exist
Traceback (most recent call last):
  File "/home/edward/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_TX2/Linux_for_Tegra/bootloader/BUP_generator.py", line 649, in <module>
    main(param)
  File "/home/edward/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_TX2/Linux_for_Tegra/bootloader/BUP_generator.py", line 642, in main
    generate_BUP(arg)
  File "/home/edward/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_TX2/Linux_for_Tegra/bootloader/BUP_generator.py", line 163, in generate_BUP
    payload_obj.fill_image(blob)
  File "/home/edward/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_TX2/Linux_for_Tegra/bootloader/BUP_generator.py", line 271, in fill_image
    binary_handle = open(entry_info[0], 'rb')
TypeError: coercing to Unicode: need string or buffer, NoneType found

Skip generating system.img
Existing tbcfile(/home/edward/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_TX2/Linux_for_Tegra/bootloader/cboot.bin) reused.
copying tbcdtbfile(/home/edward/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_TX2/Linux_for_Tegra/kernel/dtb/tegra186-quill-p3310-1000-c03-00-base.dtb)... done.
copying cfgfile(/home/edward/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_TX2/Linux_for_Tegra/bootloader/t186ref/cfg/flash_l4t_t186.xml) to flash.xml... done.
Existing flasher(/home/edward/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_TX2/Linux_for_Tegra/bootloader/nvtboot_recovery_cpu.bin) reused.
Existing flashapp(/home/edward/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_TX2/Linux_for_Tegra/bootloader/tegraflash.py) reused.
./tegraflash.py --bl nvtboot_recovery_cpu.bin --sdram_config P3310_A00_8GB_lpddr4_A02_l4t.cfg --odmdata 0x1090000 --applet mb1_recovery_prod.bin --cmd "sign"  --cfg flash.xml --chip 0x18 --misc_config tegra186-mb1-bct-misc-si-l4t.cfg --pinmux_config tegra186-mb1-bct-pinmux-quill-p3310-1000-c03.cfg --pmic_config tegra186-mb1-bct-pmic-quill-p3310-1000-c04.cfg --pmc_config tegra186-mb1-bct-pad-quill-p3310-1000-c03.cfg --prod_config tegra186-mb1-bct-prod-quill-p3310-1000-c03.cfg --scr_config minimal_scr.cfg --scr_cold_boot_config mobile_scr.cfg --br_cmd_config tegra186-mb1-bct-bootrom-quill-p3310-1000-c03.cfg --dev_params emmc.cfg  --bins "mb2_bootloader nvtboot_recovery.bin; mts_preboot preboot_d15_prod_cr.bin; mts_bootpack mce_mts_d15_prod_cr.bin; bpmp_fw bpmp.bin; bpmp_fw_dtb tegra186-a02-bpmp-quill-p3310-1000-c04-00-te770d-ucm2.dtb; tlk tos-trusty.img; eks eks.img; bootloader_dtb tegra186-quill-p3310-1000-c03-00-base.dtb" --skipuid
saving flash command in /home/edward/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_TX2/Linux_for_Tegra/bootloader/flashcmd.txt
saving Windows flash command to /home/edward/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_TX2/Linux_for_Tegra/bootloader/flash_win.bat
*** Sign and generate BUP... ***
t18x payload generation complete with 1 failure(s)

SUCCESS: cleaned up BUP tmp files prior to payload creation
FAILURE: no payload made for config "boardid=3310;fab=B01;boardsku=;boardrev=;fuselevel_s=1;chiprev=0;board=jetson-tx2-devkit;rootdev=mmcblk0p1;signed_img_dir=images-R32-ToT"
SUCCESS: cleaned up BUP tmp files after payload creation
Failed to run "/home/edward/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_TX2/Linux_for_Tegra/l4t_generate_soc_bup.sh -f /home/edward/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_TX2/Linux_for_Tegra/tools/ota_tools/version_upgrade/ota_board_specs.conf -e jetson_tx2_devkit_ota_emmc_r32_3_4_spec -b jetson-tx2-devkit t18x"

Could any one help me to solve the problem

Hi edward1_lin,

You can use update new minor release steps to OTA upgrade from r32.3.1 to r32.5.1.
Steps:

  1. Edit and change to below commands:
    $ sudo vim /etc/apt/sources.list.d/nvidia-l4t-apt-source.list
    deb https://repo.download.nvidia.com/jetson/common r32.5 main
    deb https://repo.download.nvidia.com/jetson/t194 r32.5 main
  2. Enter the commands:
    $ sudo apt update
    $ sudo apt dist-upgrade
    $ sudo reboot

Please reference detail from Jetson Linux Developer Guide.

Hi carolyuu,

I know this way to update, I just want to test the OTA update.

Couldn’t I use OTA upgrade to upgrade my device from r32.1 to 32.5??

Hi edward1_lin,

Yes, you can.
Please reference Preparing for an Image-Based OTA Update steps from Developer Guide.
Or this topic steps.

Please make sure “TARGET_BSP”, “ToT_BSP” and “BASE_BSP” are set correct, it’s important.

Hi carolyuu,

The error message on my first post, why did I get those message?? Did I miss anything or I did somting wrong??

Hi edward1_lin

List steps for you reference:

[Run on Host]

$TARGET_BSP=/home/nvidia/Desktop/test/JetPack/JetPack-4.6/Linux_for_Tegra/
$ToT_BSP=/home/nvidia/Desktop/test/JetPack/JetPack-4.6/Linux_for_Tegra/
$BASE_BSP=/home/nvidia/Desktop/test/JetPack/JetPack-4.5.1/Linux_for_Tegra
$cd ${TARGET_BSP}/../
$tar xpf ${ToT_BSP}/../ota_tools_R32.6.1_aarch64.tbz2 -C ./
$cd ${TARGET_BSP}
$cp ${ToT_BSP}/tools/ota_tools/version_upgrade/* ./tools/ota_tools/version_upgrade
$sudo ./tools/ota_tools/version_upgrade/build_base_recovery_image.sh jetson-agx-xavier-devkit R32-5 ${BASE_BSP} ${BASE_BSP}/rootfs ${TARGET_BSP}
$sudo ./tools/ota_tools/version_upgrade/l4t_generate_ota_package.sh jetson-agx-xavier-devkit R32-5
$scp bootloader/jetson-agx-xavier-devkit/ota_payload_package.tar.gz nvidia@10.10.100.10:/home/nvidia/.

You can download ota_tools_R32.6.1_aarch64.tbz2 from: Jetson Linux R32.6.1 Release Page | NVIDIA Developer
Please set correct environment variable and suggest upgrade to the latest r32.6.1.

Hi Carolyuu,

I tried the steps but I still got th error like:

Creating update payloads for Jetson-3310-B01---1-0-jetson-tx2-devkit-mmcblk0p1 board ...
creating bl_and_kernel payload

PARTITION INFO   : signed/bpmp_sigheader.bin.encrypt bpmp-fw 2 0 common; 				signed/camera-rtcpu-sce_sigheader.img.encrypt sce-fw 2 0 common; 				signed/cboot_sigheader.bin.encrypt cpu-bootloader 2 0 common; 				signed/nvtboot_sigheader.bin.encrypt mb2 2 0 common; 				signed/spe_sigheader.bin.encrypt spe-fw 2 0 common; 				signed/adsp-fw_sigheader.bin.encrypt adsp-fw 2 0 common; 				signed/badpage_sigheader.bin.encrypt badpage-fw 2 0 common; 				signed/tos-trusty_sigheader.img.encrypt secure-os 2 0 common;signed/mb1_prod.bin.encrypt mb1 2 2 common; 				signed/mce_mts_d15_prod_cr_sigheader.bin.encrypt mts-bootpack 2 2 common; 		signed/preboot_d15_prod_cr_sigheader.bin.encrypt mts-preboot 2 2 common; 				signed/warmboot_wbheader.bin.encrypt sc7 2 2 common;multi_signed/3310-B01---1-0-jetson-tx2-devkit-mmcblk0p1/tegra186-a02-bpmp-quill-p3310-1000-c04-00-te770d-ucm2_sigheader.dtb.encrypt bpmp-fw-dtb 2 0 3310-B01---1-0-jetson-tx2-devkit-mmcblk0p1;multi_signed/3310-B01---1-0-jetson-tx2-devkit-mmcblk0p1/tegra186-quill-p3310-1000-c03-00-base_sigheader.dtb.encrypt bootloader-dtb 2 0 3310-B01---1-0-jetson-tx2-devkit-mmcblk0p1;multi_signed/3310-B01---1-0-jetson-tx2-devkit-mmcblk0p1/emmc_bootblob_ver.txt VER 2 0 3310-B01---1-0-jetson-tx2-devkit-mmcblk0p1;multi_signed/3310-B01---1-0-jetson-tx2-devkit-mmcblk0p1/br_bct_BR_prod.bct BCT 2 2 3310-B01---1-0-jetson-tx2-devkit-mmcblk0p1;multi_signed/3310-B01---1-0-jetson-tx2-devkit-mmcblk0p1/mb1_cold_boot_bct_MB1_sigheader.bct.encrypt MB1_BCT 2 0 3310-B01---1-0-jetson-tx2-devkit-mmcblk0p1;signed/boot_sigheader.img.encrypt kernel 2 0 common;multi_signed/3310-B01---1-0-jetson-tx2-devkit-mmcblk0p1/kernel_tegra186-quill-p3310-1000-c03-00-base_sigheader.dtb.encrypt kernel-dtb 2 0 3310-B01---1-0-jetson-tx2-devkit-mmcblk0p1
File /home/edward/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_TX2/Linux_for_Tegra/bootloader/signed/badpage_sigheader.bin.encrypt does not exist
Traceback (most recent call last):
  File "/home/edward/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_TX2/Linux_for_Tegra/bootloader/BUP_generator.py", line 649, in <module>
    main(param)
  File "/home/edward/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_TX2/Linux_for_Tegra/bootloader/BUP_generator.py", line 642, in main
    generate_BUP(arg)
  File "/home/edward/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_TX2/Linux_for_Tegra/bootloader/BUP_generator.py", line 163, in generate_BUP
    payload_obj.fill_image(blob)
  File "/home/edward/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_TX2/Linux_for_Tegra/bootloader/BUP_generator.py", line 271, in fill_image
    binary_handle = open(entry_info[0], 'rb')
TypeError: coercing to Unicode: need string or buffer, NoneType found

SUCCESS: cleaned up BUP tmp files prior to payload creation
FAILURE: no payload made for config "boardid=3310;fab=B01;boardsku=;boardrev=;fuselevel_s=1;chiprev=0;board=jetson-tx2-devkit;rootdev=mmcblk0p1;signed_img_dir=images-R32-ToT"
SUCCESS: cleaned up BUP tmp files after payload creation
Failed to run "/home/edward/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_TX2/Linux_for_Tegra/l4t_generate_soc_bup.sh -f /home/edward/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_TX2/Linux_for_Tegra/tools/ota_tools/version_upgrade/ota_board_specs.conf -e jetson_tx2_devkit_ota_emmc_r32_3_4_spec -b jetson-tx2-devkit t18x"

I want to update jetpack 4.3 to jetpacke 4.5.1, this is me setting

$TARGET_BSP=/home/edward/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_TX2/Linux_for_Tegra
$ToT_BSP=/home/edward/nvidia/nvidia_sdk/JetPack_4.6_Linux_JETSON_TX2_TARGETS/Linux_for_Tegra
$BASE_BSP=/home/edward/nvidia/nvidia_sdk/JetPack_4.3_Linux_JETSON_TX2/Linux_for_Tegra
$cd ${TARGET_BSP}/../
$tar xpf ${ToT_BSP}/../ota_tools_R32.6.1_aarch64.tbz2 -C ./
$cd ${TARGET_BSP}
$cp ${ToT_BSP}/tools/ota_tools/version_upgrade/* ./tools/ota_tools/version_upgrade

------------Not update to jetpack 4.6 need to add this two step-------
$Generate slot metadata files for ${TARGET_BSP}
$Copy the files from ${ToT_BSP} and modify p2771-0000.conf.common, p2972-0000.conf.common, and p3668.conf.common:
------------Not update to jetpack 4.6 need to add this two step-------

$sudo ./tools/ota_tools/version_upgrade/build_base_recovery_image.sh jetson-tx2-devkit R32-3 ${BASE_BSP} ${BASE_BSP}/rootfs ${TARGET_BSP}
$sudo ./tools/ota_tools/version_upgrade/l4t_generate_ota_package.sh jetson-tx2-devkit R32-3
$scp bootloader/jetson-agx-xavier-devkit/ota_payload_package.tar.gz nvidia@10.10.100.10:/home/nvidia/.

Could you help me to fix the error??

  1. Which python version are you using?

  2. Did you ever flash your board with flash.sh before?

Hi WayneWWW,

  1. Which python version are you using?
    A:My python version is Python 2.7.17
  2. Did you ever flash your board with flash.sh before?
    A:I did not use this Image to flash my device yet

Please attach the full log instead of only the error lines.

Hi WayneWWW,

This is my full log :
4.4-4.5.1_update_error_jetson_tx2.txt (74.1 KB)

Hi WayneWWW,

I tried l4t_generate_soc_bup.sh to fix the problem, but I got error, this is my error message.

l4t_generate_soc_bup_fail.txt (230.1 KB)

Hi WayneWWW and carolyuu,

Do you have any update for my issue??

Sorry for late reply. We notice there is a bug from your usecase and we are working on the fix.

Hi edward1_lin,

Follow document steps and after finish the step 11 of “Steps Performed on the Host Machine”, run below two commands:

$ echo "DRAMECCFILE=\"bootloader/dram-ecc.bin\";" >>p2771-0000.conf.common
$ echo "BADPAGEFILE=\"bootloader/badpage.bin\";" >>p2771-0000.conf.common

Then generate OTA payload package and run ota update on target again. Thanks!

Hi Carolyuu,

Thanks for your reply, it worked by this two command.

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