Error flashing Jetson Nano bootloader

Hello, I’m trying to flash the Jetson Nano bootloader using the devkit. I’m following these instructions:

https://docs.nvidia.com/jetson/archives/l4t-archived/l4t-3261/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide/uboot_guide.html#wwpID0E0GJ0HA

I connect the Devkit to the computer via USB and I have a cable connecting the recovery pin to gnd.

Then I run the following command and I get the following errors:

$ sudo ./flash.sh -k LNX p3450 mmcblk0p1

###############################################################################

L4T BSP Information:

R32 , REVISION: 4.4

###############################################################################

Target Board Information:

Name: p3450, Board Family: t210ref, SoC: Tegra 210,

OpMode: production, Boot Authentication: ,

###############################################################################
./tegraflash.py --chip 0x21 --applet “/tmp/Linux_for_Tegra/bootloader/nvtboot_recovery.bin” --skipuid --cmd “dump eeprom boardinfo cvm.bin”
Welcome to Tegra Flash
version 1.0.0
Type ? or help for help and q or quit to exit
Use ! to execute system commands

[ 0.0015 ] Generating RCM messages
[ 0.0026 ] tegrarcm --listrcm rcm_list.xml --chip 0x21 0 --download rcm /tmp/Linux_for_Tegra/bootloader/nvtboot_recovery.bin 0 0
[ 0.0038 ] RCM 0 is saved as rcm_0.rcm
[ 0.0045 ] RCM 1 is saved as rcm_1.rcm
[ 0.0045 ] List of rcm files are saved in rcm_list.xml
[ 0.0045 ]
[ 0.0046 ] Signing RCM messages
[ 0.0067 ] tegrasign --key None --list rcm_list.xml --pubkeyhash pub_key.key
[ 0.0085 ] Assuming zero filled SBK key
[ 0.0178 ]
[ 0.0178 ] Copying signature to RCM mesages
[ 0.0198 ] tegrarcm --chip 0x21 0 --updatesig rcm_list_signed.xml
[ 0.0218 ]
[ 0.0219 ] Boot Rom communication
[ 0.0229 ] tegrarcm --chip 0x21 0 --rcm rcm_list_signed.xml --skipuid
[ 0.0239 ] RCM version 0X210001
[ 0.0700 ] Boot Rom communication completed
[ 1.0769 ]
[ 1.0770 ] dump EEPROM info
[ 1.0787 ] tegrarcm --oem platformdetails eeprom /tmp/Linux_for_Tegra/bootloader/cvm.bin
[ 1.0801 ] Applet version 00.01.0000
[ 1.0931 ] Saved platform info in /tmp/Linux_for_Tegra/bootloader/cvm.bin
[ 1.1751 ]
Board ID(3448) version(400)
copying bctfile(/tmp/Linux_for_Tegra/bootloader/t210ref/BCT/P3448_A00_lpddr4_204Mhz_P987.cfg)… done.
copying bootloader(/tmp/Linux_for_Tegra/bootloader/t210ref/cboot.bin)… done.
copying initrd(/tmp/Linux_for_Tegra/bootloader/l4t_initrd.img)… done.
populating kernel to rootfs… done.
populating initrd to rootfs… done.
populating /tmp/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0000-p3449-0000-b00.dtb to rootfs… done.
Making Boot image… done.
Existing sosfile(/tmp/Linux_for_Tegra/bootloader/nvtboot_recovery.bin) reused.
copying tegraboot(/tmp/Linux_for_Tegra/bootloader/t210ref/nvtboot.bin)… done.
copying cpu_bootloader(/tmp/Linux_for_Tegra/bootloader/t210ref/cboot.bin)… done.
copying bpffile(/tmp/Linux_for_Tegra/bootloader/t210ref/sc7entry-firmware.bin)… done.
Existing badpagefile(/tmp/Linux_for_Tegra/bootloader/badpage.bin) reused.
copying wb0boot(/tmp/Linux_for_Tegra/bootloader/t210ref/warmboot.bin)… done.
Existing tosfile(/tmp/Linux_for_Tegra/bootloader/tos-mon-only.img) reused.
Existing eksfile(/tmp/Linux_for_Tegra/bootloader/eks.img) reused.
copying dtbfile(/tmp/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0000-p3449-0000-b00.dtb)… done.
Copying nv_boot_control.conf to rootfs
sed: não foi possível ler /tmp/Linux_for_Tegra/rootfs/etc/nv_boot_control.conf: Não é um diretório
sed: não foi possível ler /tmp/Linux_for_Tegra/rootfs/etc/nv_boot_control.conf: Não é um diretório
sed: não foi possível ler /tmp/Linux_for_Tegra/rootfs/etc/nv_boot_control.conf: Não é um diretório
sed: não foi possível ler /tmp/Linux_for_Tegra/rootfs/etc/nv_boot_control.conf: Não é um diretório
sed: não foi possível ler /tmp/Linux_for_Tegra/rootfs/etc/nv_boot_control.conf: Não é um diretório
sed: não foi possível ler /tmp/Linux_for_Tegra/rootfs/etc/nv_boot_control.conf: Não é um diretório
sed: não foi possível ler /tmp/Linux_for_Tegra/rootfs/etc/nv_boot_control.conf: Não é um diretório
sed: não foi possível ler /tmp/Linux_for_Tegra/rootfs/etc/nv_boot_control.conf: Não é um diretório
Skip generating system.img
Existing tbcfile(/tmp/Linux_for_Tegra/bootloader/nvtboot_cpu.bin) reused.
copying tbcdtbfile(/tmp/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0000-p3449-0000-b00.dtb)… done.
copying cfgfile(/tmp/Linux_for_Tegra/bootloader/t210ref/cfg/flash_l4t_t210_spi_p3448.xml) to flash.xml… done.
copying flasher(/tmp/Linux_for_Tegra/bootloader/t210ref/cboot.bin)… done.
Existing flashapp(/tmp/Linux_for_Tegra/bootloader/tegraflash.py) reused.
*** Updating [LNX] with boot.img ***
./tegraflash.py --bl cboot.bin --bldtb tegra210-p3448-0000-p3449-0000-b00.dtb --chip 0x21 --applet nvtboot_recovery.bin --bct P3448_A00_lpddr4_204Mhz_P987.cfg --cfg flash.xml --odmdata 0x94000 --cmd “sign; write LNX ./signed/boot.img.encrypt; reboot”
Welcome to Tegra Flash
version 1.0.0
Type ? or help for help and q or quit to exit
Use ! to execute system commands

[ 0.0039 ] tegrasign --key None --getmode mode.txt
[ 0.0051 ] Assuming zero filled SBK key
[ 0.0053 ]
[ 0.0058 ] Generating RCM messages
[ 0.0068 ] tegrarcm --listrcm rcm_list.xml --chip 0x21 0 --download rcm nvtboot_recovery.bin 0 0
[ 0.0090 ] RCM 0 is saved as rcm_0.rcm
[ 0.0098 ] RCM 1 is saved as rcm_1.rcm
[ 0.0098 ] List of rcm files are saved in rcm_list.xml
[ 0.0098 ]
[ 0.0099 ] Signing RCM messages
[ 0.0110 ] tegrasign --key None --list rcm_list.xml --pubkeyhash pub_key.key
[ 0.0121 ] Assuming zero filled SBK key
[ 0.0234 ]
[ 0.0235 ] Copying signature to RCM mesages
[ 0.0251 ] tegrarcm --chip 0x21 0 --updatesig rcm_list_signed.xml
[ 0.0265 ]
[ 0.0265 ] Parsing partition layout
[ 0.0285 ] tegraparser --pt flash.xml.tmp
[ 0.0312 ]
[ 0.0313 ] Creating list of images to be signed
[ 0.0331 ] tegrahost --chip 0x21 0 --partitionlayout flash.xml.bin --list images_list.xml
[ 0.0351 ]
[ 0.0352 ] Generating signatures
[ 0.0365 ] tegrasign --key None --list images_list.xml --pubkeyhash pub_key.key
[ 0.0377 ] Assuming zero filled SBK key
[ 0.0523 ]
[ 0.0524 ] Generating br-bct
[ 0.0543 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.cfg --chip 0x21 0
[ 0.0555 ] Copying Sdram info from 2 to 3 set
[ 0.0608 ]
[ 0.0609 ] Updating boot device parameters
[ 0.0646 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatedevparam flash.xml.bin
[ 0.0659 ] Warning: No sdram params
[ 0.0662 ]
[ 0.0663 ] Updating bl info
[ 0.0679 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updateblinfo flash.xml.bin --updatesig images_list_signed.xml
[ 0.0697 ]
[ 0.0698 ] Updating secondary storage information into bct
[ 0.0708 ] tegraparser --pt flash.xml.bin --chip 0x21 0 --updatecustinfo P3448_A00_lpddr4_204Mhz_P987.bct
[ 0.0719 ]
[ 0.0720 ] Updating Odmdata
[ 0.0729 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatefields Odmdata =0x94000
[ 0.0739 ] Warning: No sdram params
[ 0.0741 ]
[ 0.0743 ] Get Signed section of bct
[ 0.0754 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --listbct bct_list.xml
[ 0.0766 ]
[ 0.0766 ] Signing BCT
[ 0.0793 ] tegrasign --key None --list bct_list.xml --pubkeyhash pub_key.key
[ 0.0804 ] Assuming zero filled SBK key
[ 0.0810 ]
[ 0.0810 ] Updating BCT with signature
[ 0.0820 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatesig bct_list_signed.xml
[ 0.0831 ]
[ 0.0831 ] Copying signatures
[ 0.0841 ] tegrahost --chip 0x21 0 --partitionlayout flash.xml.bin --updatesig images_list_signed.xml
[ 0.0857 ]
[ 0.0858 ] Updating BFS information on BCT
[ 0.0867 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatebfsinfo flash.xml.bin
[ 0.0880 ]
[ 0.0881 ] Copying signed file in /tmp/Linux_for_Tegra/bootloader/signed
[ 0.0905 ] Generating RCM messages
[ 0.0923 ] tegrarcm --listrcm rcm_list.xml --chip 0x21 0 --download rcm nvtboot_recovery.bin 0 0
[ 0.0961 ] RCM 0 is saved as rcm_0.rcm
[ 0.0962 ] RCM 1 is saved as rcm_1.rcm
[ 0.0962 ] List of rcm files are saved in rcm_list.xml
[ 0.0962 ]
[ 0.0963 ] Signing RCM messages
[ 0.0982 ] tegrasign --key None --list rcm_list.xml --pubkeyhash pub_key.key
[ 0.0994 ] Assuming zero filled SBK key
[ 0.1072 ]
[ 0.1072 ] Copying signature to RCM mesages
[ 0.1087 ] tegrarcm --chip 0x21 0 --updatesig rcm_list_signed.xml
[ 0.1102 ]
[ 0.1102 ] Boot Rom communication
[ 0.1118 ] tegrarcm --chip 0x21 0 --rcm rcm_list_signed.xml
[ 0.1127 ] BootRom is not running
[ 0.1539 ]
[ 0.1541 ] Parsing partition layout
[ 0.1593 ] tegraparser --pt flash.xml.tmp
[ 0.1630 ]
[ 0.1632 ] Creating list of images to be signed
[ 0.1648 ] tegrahost --chip 0x21 0 --partitionlayout flash.xml.bin --list images_list.xml
[ 0.1667 ]
[ 0.1669 ] Generating signatures
[ 0.1691 ] tegrasign --key None --list images_list.xml --pubkeyhash pub_key.key
[ 0.1702 ] Assuming zero filled SBK key
[ 0.1837 ]
[ 0.1838 ] Send BCT from Host
[ 0.1838 ] Generating br-bct
[ 0.1849 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.cfg --chip 0x21 0
[ 0.1859 ] Copying Sdram info from 2 to 3 set
[ 0.1903 ]
[ 0.1903 ] Updating boot device parameters
[ 0.1917 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatedevparam flash.xml.bin
[ 0.1942 ] Warning: No sdram params
[ 0.1946 ]
[ 0.1946 ] Updating bl info
[ 0.1979 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updateblinfo flash.xml.bin --updatesig images_list_signed.xml
[ 0.2063 ]
[ 0.2063 ] Updating secondary storage information into bct
[ 0.2079 ] tegraparser --pt flash.xml.bin --chip 0x21 0 --updatecustinfo P3448_A00_lpddr4_204Mhz_P987.bct
[ 0.2095 ]
[ 0.2095 ] Updating Odmdata
[ 0.2105 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatefields Odmdata =0x94000
[ 0.2115 ] Warning: No sdram params
[ 0.2117 ]
[ 0.2117 ] Get Signed section of bct
[ 0.2126 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --listbct bct_list.xml
[ 0.2138 ]
[ 0.2138 ] Signing BCT
[ 0.2156 ] tegrasign --key None --list bct_list.xml --pubkeyhash pub_key.key
[ 0.2166 ] Assuming zero filled SBK key
[ 0.2172 ]
[ 0.2172 ] Updating BCT with signature
[ 0.2182 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatesig bct_list_signed.xml
[ 0.2195 ]
[ 0.2195 ] Updating BFS information on BCT
[ 0.2205 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatebfsinfo flash.xml.bin
[ 0.2246 ]
[ 0.2247 ] Sending BCTs
[ 0.2314 ] tegrarcm --download bct P3448_A00_lpddr4_204Mhz_P987.bct
[ 0.2332 ] Applet version 00.01.0000
[ 0.2444 ] Sending bct
[ 0.2445 ] […] 100%
[ 0.4223 ]
[ 0.4228 ] Sending bootloader and pre-requisite binaries
[ 0.4290 ] tegrarcm --download ebt cboot.bin 0 0 --download rp1 tegra210-p3448-0000-p3449-0000-b00.dtb 0
[ 0.4317 ] Applet version 00.01.0000
[ 0.4437 ] Sending ebt
[ 0.4439 ] […] 100%
[ 0.5536 ] 00000004: Verification failed
[ 0.5537 ]
[ 0.5537 ]
Error: Return value 4
Command tegrarcm --download ebt cboot.bin 0 0 --download rp1 tegra210-p3448-0000-p3449-0000-b00.dtb 0
Failed to flash/read t210ref.

Hi @bchristo,

This topic will be better served in the Jetson Nano forum. I will go ahead and move it there for you.

Tom K

I’ve tried a different USB cable and also powering the Nano via the barrel connector. Same error.

hello bchristo,

you’re having incorrect device name here, please assign correct board naming.
for example, $ sudo ./flash.sh -r -k LNX jetson-nano-devkit mmcblk0p1

BTW,
are you going to update u-boot binary? otherwise, you’re not flash the correct partition.