Flash to jetpack 4.6 fails

Started having my jetson nano B01 fail after a few days running with a problem reading mmcblk0p1 error. Tried different sd cards and same result. Found documents telling me I needed to flash the QSPI with the SDK manager. when I attempted to do that, it fails telling me the device is in a bad state. Tried to flash directly with sudo ./flash.sh jetson-nano-qspi-sd mmcblk0p1 and i get the following results:
###############################################################################

L4T BSP Information:

R32 , REVISION: 6.1

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

Target Board Information:

Name: jetson-nano-qspi, Board Family: t210ref, SoC: Tegra 210,

OpMode: production, Boot Authentication: ,

Disk encryption: disabled ,

###############################################################################
./tegraflash.py --chip 0x21 --applet “/home/oracle/nvidia/nvidia_sdk/JetPack_4.6_Linux_JETSON_NANO_TARGETS/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.0025 ] Generating RCM messages
[ 0.0048 ] tegrarcm --listrcm rcm_list.xml --chip 0x21 0 --download rcm /home/oracle/nvidia/nvidia_sdk/JetPack_4.6_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/nvtboot_recovery.bin 0 0
[ 0.0058 ] RCM 0 is saved as rcm_0.rcm
[ 0.0069 ] RCM 1 is saved as rcm_1.rcm
[ 0.0078 ] List of rcm files are saved in rcm_list.xml
[ 0.0146 ]
[ 0.0147 ] Signing RCM messages
[ 0.0175 ] tegrasign --key None --list rcm_list.xml --pubkeyhash pub_key.key
[ 0.0185 ] Assuming zero filled SBK key
[ 0.0327 ]
[ 0.0329 ] Copying signature to RCM mesages
[ 0.0352 ] tegrarcm --chip 0x21 0 --updatesig rcm_list_signed.xml
[ 0.0456 ]
[ 0.0460 ] Boot Rom communication
[ 0.0487 ] tegrarcm --chip 0x21 0 --rcm rcm_list_signed.xml --skipuid
[ 0.0523 ] RCM version 0X210001
[ 0.1057 ] Boot Rom communication completed
[ 1.1871 ]
[ 1.1872 ] dump EEPROM info
[ 1.1896 ] tegrarcm --oem platformdetails eeprom /home/oracle/nvidia/nvidia_sdk/JetPack_4.6_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/cvm.bin
[ 1.1905 ] Applet version 00.01.0000
[ 1.3775 ] Saved platform info in /home/oracle/nvidia/nvidia_sdk/JetPack_4.6_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/cvm.bin
[ 1.6351 ]
[ 1.6376 ] tegrarcm --reboot recovery
[ 1.6385 ] Applet version 00.01.0000
[ 1.9028 ]
Board ID(3448) version(400)
copying bctfile(/home/oracle/nvidia/nvidia_sdk/JetPack_4.6_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/t210ref/BCT/P3448_A00_lpddr4_204Mhz_P987.cfg)… done.
copying bootloader(/home/oracle/nvidia/nvidia_sdk/JetPack_4.6_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/t210ref/cboot.bin)… done.
copying initrd(/home/oracle/nvidia/nvidia_sdk/JetPack_4.6_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/l4t_initrd.img)… done.
Making Boot image… done.
Existing sosfile(/home/oracle/nvidia/nvidia_sdk/JetPack_4.6_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/nvtboot_recovery.bin) reused.
copying tegraboot(/home/oracle/nvidia/nvidia_sdk/JetPack_4.6_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/t210ref/nvtboot.bin)… done.
copying cpu_bootloader(/home/oracle/nvidia/nvidia_sdk/JetPack_4.6_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/t210ref/cboot.bin)… done.
copying bpffile(/home/oracle/nvidia/nvidia_sdk/JetPack_4.6_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/t210ref/sc7entry-firmware.bin)… done.
copying wb0boot(/home/oracle/nvidia/nvidia_sdk/JetPack_4.6_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/t210ref/warmboot.bin)… done.
Existing tosfile(/home/oracle/nvidia/nvidia_sdk/JetPack_4.6_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/tos-mon-only.img) reused.
Existing eksfile(/home/oracle/nvidia/nvidia_sdk/JetPack_4.6_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/eks.img) reused.
copying dtbfile(/home/oracle/nvidia/nvidia_sdk/JetPack_4.6_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0000-p3449-0000-b00.dtb)… done.
Copying nv_boot_control.conf to rootfs
Skip generating system.img
Existing tbcfile(/home/oracle/nvidia/nvidia_sdk/JetPack_4.6_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/nvtboot_cpu.bin) reused.
copying tbcdtbfile(/home/oracle/nvidia/nvidia_sdk/JetPack_4.6_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0000-p3449-0000-b00.dtb)… done.
copying cfgfile(/home/oracle/nvidia/nvidia_sdk/JetPack_4.6_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/t210ref/cfg/flash_l4t_t210_max-spi_p3448.xml) to flash.xml… done.
copying flasher(/home/oracle/nvidia/nvidia_sdk/JetPack_4.6_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/t210ref/cboot.bin)… done.
Existing flashapp(/home/oracle/nvidia/nvidia_sdk/JetPack_4.6_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/tegraflash.py) reused.
./tegraflash.py --bl cboot.bin --bct P3448_A00_lpddr4_204Mhz_P987.cfg --odmdata 0xa4000 --bldtb kernel_tegra210-p3448-0000-p3449-0000-b00.dtb --applet nvtboot_recovery.bin --cmd “flash; reboot” --cfg flash.xml --chip 0x21 --bins “EBT cboot.bin; DTB tegra210-p3448-0000-p3449-0000-b00.dtb”
saving flash command in /home/oracle/nvidia/nvidia_sdk/JetPack_4.6_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/flashcmd.txt
saving Windows flash command to /home/oracle/nvidia/nvidia_sdk/JetPack_4.6_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/flash_win.bat
assign_value: crc-flash.xml.bin 1 65520 1
printf ‘\x1’ | dd of=crc-flash.xml.bin bs=1 seek=65520 count=1 conv=notrunc
1+0 records in
1+0 records out
1 byte copied, 0.000285154 s, 3.5 kB/s
assign_value: crc-flash.xml.bin 0 65521 1
printf ‘\x0’ | dd of=crc-flash.xml.bin bs=1 seek=65521 count=1 conv=notrunc
1+0 records in
1+0 records out
1 byte copied, 0.000289813 s, 3.5 kB/s
assign_string: crc-flash.xml.bin PTHD 65528 4
echo PTHD | dd of=crc-flash.xml.bin bs=1 seek=65528 count=4 conv=notrunc
4+0 records in
4+0 records out
4 bytes copied, 0.00027711 s, 14.4 kB/s
*** Flashing target device started. ***
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.0022 ] tegrasign --getmode mode.txt --key None
[ 0.0034 ] Assuming zero filled SBK key
[ 0.0091 ]
[ 0.0093 ] Generating RCM messages
[ 0.0115 ] tegrarcm --listrcm rcm_list.xml --chip 0x21 0 --download rcm nvtboot_recovery.bin 0 0
[ 0.0126 ] RCM 0 is saved as rcm_0.rcm
[ 0.0137 ] RCM 1 is saved as rcm_1.rcm
[ 0.0145 ] List of rcm files are saved in rcm_list.xml
[ 0.0209 ]
[ 0.0210 ] Signing RCM messages
[ 0.0251 ] tegrasign --key None --list rcm_list.xml --pubkeyhash pub_key.key
[ 0.0260 ] Assuming zero filled SBK key
[ 0.0419 ]
[ 0.0421 ] Copying signature to RCM mesages
[ 0.0448 ] tegrarcm --chip 0x21 0 --updatesig rcm_list_signed.xml
[ 0.0532 ]
[ 0.0534 ] Parsing partition layout
[ 0.0556 ] tegraparser --pt flash.xml.tmp
[ 0.0650 ]
[ 0.0652 ] Using default ramcode: 0
[ 0.0653 ] Disable BPMP dtb trim, using default dtb
[ 0.0653 ]
[ 0.0654 ] Creating list of images to be signed
[ 0.0677 ] tegrahost --chip 0x21 0 --partitionlayout flash.xml.bin --list images_list.xml
[ 0.0806 ]
[ 0.0808 ] Generating signatures
[ 0.0832 ] tegrasign --key None --list images_list.xml --pubkeyhash pub_key.key
[ 0.0847 ] Assuming zero filled SBK key
[ 0.1492 ]
[ 0.1493 ] Generating br-bct
[ 0.1515 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.cfg --chip 0x21 0
[ 0.1610 ]
[ 0.1611 ] Updating boot device parameters
[ 0.1633 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatedevparam flash.xml.bin
[ 0.1643 ] Warning: No sdram params
[ 0.1688 ]
[ 0.1689 ] Updating bl info
[ 0.1744 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updateblinfo flash.xml.bin --updatesig images_list_signed.xml
[ 0.1855 ]
[ 0.1857 ] Updating secondary storage information into bct
[ 0.1879 ] tegraparser --pt flash.xml.bin --chip 0x21 0 --updatecustinfo P3448_A00_lpddr4_204Mhz_P987.bct
[ 0.1972 ]
[ 0.1974 ] Updating Odmdata
[ 0.1996 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatefields Odmdata =0xa4000
[ 0.2009 ] Warning: No sdram params
[ 0.2083 ]
[ 0.2083 ] Get Signed section of bct
[ 0.2129 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --listbct bct_list.xml
[ 0.2207 ]
[ 0.2208 ] Signing BCT
[ 0.2289 ] tegrasign --key None --list bct_list.xml --pubkeyhash pub_key.key
[ 0.2304 ] Assuming zero filled SBK key
[ 0.2374 ]
[ 0.2376 ] Updating BCT with signature
[ 0.2436 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatesig bct_list_signed.xml
[ 0.2492 ]
[ 0.2494 ] Copying signatures
[ 0.2551 ] tegrahost --chip 0x21 0 --partitionlayout flash.xml.bin --updatesig images_list_signed.xml
[ 0.2689 ]
[ 0.2691 ] Updating BFS information on BCT
[ 0.2747 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatebfsinfo flash.xml.bin
[ 0.2815 ]
[ 0.2817 ] Boot Rom communication
[ 0.2871 ] tegrarcm --chip 0x21 0 --rcm rcm_list_signed.xml
[ 0.2882 ] BootRom is not running
[ 0.3015 ]
[ 0.3016 ] Sending BCTs
[ 0.3070 ] tegrarcm --download bct P3448_A00_lpddr4_204Mhz_P987.bct
[ 0.3080 ] Applet is not running on device. Continue with Bootloader
[ 0.3207 ]
[ 0.3230 ] tegrahost --chip 0x21 --align cboot.bin
[ 0.3294 ]
[ 0.3315 ] tegrahost --magicid EBT --appendsigheader cboot.bin cboot.bin_blheader
[ 0.3412 ]
[ 0.3438 ] tegrasign --key None --list cboot.bin_list.xml
[ 0.3447 ] Assuming zero filled SBK key
[ 0.3641 ]
[ 0.3690 ] tegrahost --updatesigheader cboot.bin_blheader.encrypt cboot.bin_blheader.hash zerosbk
[ 0.3797 ]
[ 0.3838 ] tegrahost --chip 0x21 --align tegra210-p3448-0000-p3449-0000-b00.dtb
[ 0.3892 ]
[ 0.3913 ] tegrahost --magicid DTB --appendsigheader tegra210-p3448-0000-p3449-0000-b00.dtb tegra210-p3448-0000-p3449-0000-b00.dtb_blheader
[ 0.4010 ]
[ 0.4035 ] tegrasign --key None --list tegra210-p3448-0000-p3449-0000-b00.dtb_list.xml
[ 0.4044 ] Assuming zero filled SBK key
[ 0.4166 ]
[ 0.4196 ] tegrahost --updatesigheader tegra210-p3448-0000-p3449-0000-b00.dtb_blheader.encrypt tegra210-p3448-0000-p3449-0000-b00.dtb_blheader.hash zerosbk
[ 0.4254 ]
[ 0.4263 ] Sending bootloader and pre-requisite binaries
[ 0.4309 ] tegrarcm --download ebt cboot.bin.encrypt 0 0 --download rp1 tegra210-p3448-0000-p3449-0000-b00.dtb.encrypt 0
[ 0.4319 ] Applet is not running on device. Continue with Bootloader
[ 0.4533 ]
[ 0.4559 ] tegrarcm --boot recovery
[ 0.4599 ] Applet is not running on device. Continue with Bootloader
[ 0.4722 ]
[ 0.4725 ] Retrieving storage infomation
[ 0.4755 ] tegrarcm --oem platformdetails storage storage_info.bin
[ 0.4768 ] Applet is not running on device. Continue with Bootloader
[ 0.4879 ]
[ 0.4928 ] tegradevflash --oem platformdetails storage storage_info.bin
[ 0.4938 ] Cboot is not running on device.
[ 0.5091 ]
Error: Return value 4
Command tegradevflash --oem platformdetails storage storage_info.bin
Failed flashing t210ref.

any ideas?

Make sure that:

  • It is actually in recovery mode (hold the recovery on like a shift key, then apply power or reset power);
  • Do not use a VM unless you know you’ve set USB pass-through to maintain pass-through;
  • Use the micro-B USB cable provided with the dev kit (charger cables are suspect and probably 2/3 of them will fail).

If the above are valid, then something more is going on.

So i have been doing that, is there a way to confirm it is in recovery mode?

When a micro-OTG port is in device mode (which is what a recovery mode Jetson is), then the host PC connecting to that connector will see the device with “lsusb”. If the unit is fully booted and the virtual ethernet is running the result would also be the same, so you cannot distinguish fully booted from recovery mode, but if you add power to the Nano while recovery pins are shorted (which is actually a ground pin and one recovery pin), then it should only ever reach recovery mode. Connect the micro-B USB cable, and on the host, after you think the Nano is in recovery mode, type this (lsusb limited to NVIDIA devices):
lsusb -d '0955:'

Any NVIDIA USB device would show up.

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