Enabling spidev on the jetson nano is hanging when flashing

Firstly, why aren’t the spi pins on the jetson nano GPIO board enabled by default?
And secondly, why is no documentation on how to enable spidev for the jetson nano?

I have been following the Jetson/TX2 SPI - eLinux.org tutorial to enable SPI, however, it is outdated so you need to search through all the other discussion boards to determine what to do.
Here is what I have done so far, I think I’m pretty close, but I’m stuck on the last couple steps.

  1. Do no use Getting Started With Jetson Nano Developer Kit | NVIDIA Developer tutorial, otherwise you will not have the necessary files for the tutorial (which is ridiculous). You have to instead download the Nvidia jetpack sdk manager on your main computer, not your jetson nano.

  2. Boot your jetson nano in recovery mode (this doesn’t mean the jetson will boot with the UI, it just allows your main computer to do its magic on the nano via USB). Also you will need a way to power your device from the J25 jack, as the usb line will now be used for data transfer. To start your jetson nano in recovery mode make sure your Jetson Nano Developer Kit is powered off. Enable “Force Recovery mode” by placing a jumper across pins the FRC pins (3 & 4) of the Button Header (J40) on the carrier board. Enable use of a DC power adapter by placing a jumper across J48. Connect a DC power adapter to J25. The developer kit will power on automatically and enter “Force Recovery Mode”. Remove jumper from FRC pins (3 & 4) of the Button Header (J40). Connect your main computer with the nano via the usb connection.

  3. Start the Nvidia sdk manager. Choose the nano as your target hardware. Start your downloads, you only need to install the Jetson OS, don’t worry about the SDK components for now, you can install them separately later. Then when it asks to flash your device, select “Manual Setup” and then install. Once everything is flashed and installed. You need to log onto your nano, login, and complete the setup wizard stuff.

  4. At this point the TX2_SPI tutorial would tell you to rebuild your kernel with the spidev module, but it seems that the the nano already has this module enabled. So all that is left to do now is edit and recompile your device tree. Which can be done by following the steps after the “Update The Device-Tree” section of the TX2_SPI tutorial.

  5. When you get to the step of flashing you need to be aware of a few things which aren’t specified anywhere in the tutorial. Firstly the “flash.sh” script won’t exist anywhere on your jetson nano machine, and secondly, this step needs to be done on your main computer where you have the sdk manager installed. To complete the flash step you need to restart your nano in recovery mode and attach it your main computer with the usb again. Then your flash.sh script should be in the ‘~/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra’ directory (This is the default location specified in the sdk manager). Next you want to run the the following command “sudo ./flash.sh -r -k kernel-dtb jetson-nano-qspi mmcblk0p1”

That is the final step I have been able to get up to unfortunately.

###############################################################################
# L4T BSP Information:
# R32 (release), REVISION: 1.0, GCID: 14531094, BOARD: t210ref, EABI: aarch64, 
# DATE: Wed Mar 13 07:46:13 UTC 2019
###############################################################################
# Target Board Information:
# Name: jetson-nano-qspi, Board Family: t210ref, SoC: Tegra 210, 
# OpMode: production, Boot Authentication: , 
###############################################################################
./tegraflash.py --chip 0x21 --applet "/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/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.0018 ] Generating RCM messages
[   0.0031 ] tegrarcm --listrcm rcm_list.xml --chip 0x21 0 --download rcm /home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/nvtboot_recovery.bin 0 0
[   0.0043 ] RCM 0 is saved as rcm_0.rcm
[   0.0051 ] RCM 1 is saved as rcm_1.rcm
[   0.0052 ] List of rcm files are saved in rcm_list.xml
[   0.0052 ] 
[   0.0052 ] Signing RCM messages
[   0.0064 ] tegrasign --key None --list rcm_list.xml --pubkeyhash pub_key.key
[   0.0077 ] Assuming zero filled SBK key
[   0.0221 ] 
[   0.0221 ] Copying signature to RCM mesages
[   0.0234 ] tegrarcm --chip 0x21 0 --updatesig rcm_list_signed.xml
[   0.0252 ] 
[   0.0253 ] Boot Rom communication
[   0.0264 ] tegrarcm --chip 0x21 0 --rcm rcm_list_signed.xml --skipuid
[   0.0273 ] RCM version 0X210001
[   0.0754 ] Boot Rom communication completed
[   1.0822 ] 
[   1.0823 ] dump EEPROM info
[   1.0840 ] tegrarcm --oem platformdetails eeprom /home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/cvm.bin
[   1.0857 ] Applet version 00.01.0000
[   1.1043 ] Saved platform info in /home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/cvm.bin
[   1.1804 ] 
Board ID(3448) version(200) 
copying bctfile(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/t210ref/BCT/P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.cfg)... done.
copying bootloader(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/t210ref/cboot.bin)... done.
	populating kernel to rootfs... done.
	populating initrd to rootfs... done.
	populating extlinux.conf.emmc to rootfs... done.
	populating /home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0000-p3449-0000-a02.dtb to rootfs... done.
done.
Making Boot image... done.
Existing sosfile(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/nvtboot_recovery.bin) reused.
copying tegraboot(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/t210ref/nvtboot.bin)... done.
copying cpu_bootloader(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/t210ref/cboot.bin)... done.
copying bpffile(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/t210ref/sc7entry-firmware.bin)... done.
Existing badpagefile(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/badpage.bin) reused.
copying wb0boot(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/t210ref/warmboot.bin)... done.
Existing tosfile(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/tos-mon-only.img) reused.
Existing eksfile(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/eks.img) reused.
copying dtbfile(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0000-p3449-0000-a02.dtb)... done.
Reusing existing system.img... 
done.
Existing tbcfile(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/nvtboot_cpu.bin) reused.
copying tbcdtbfile(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0000-p3449-0000-a02.dtb)... done.
copying cfgfile(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/t210ref/cfg/flash_l4t_t210_spi_p3448.xml) to flash.xml... done.
copying flasher(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/t210ref/cboot.bin)... done.
Existing flashapp(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/tegraflash.py) reused.
*** Updating [kernel-dtb] with tegra210-p3448-0000-p3449-0000-a02.dtb ***
./tegraflash.py --bl cboot.bin --bldtb tegra210-p3448-0000-p3449-0000-a02.dtb  --chip 0x21 --applet nvtboot_recovery.bin --bct  P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.cfg  --cfg  flash.xml   --cmd "sign; write kernel-dtb ./signed/tegra210-p3448-0000-p3449-0000-a02.dtb.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.0028 ] Generating RCM messages
[   0.0041 ] tegrarcm --listrcm rcm_list.xml --chip 0x21 0 --download rcm nvtboot_recovery.bin 0 0
[   0.0054 ] RCM 0 is saved as rcm_0.rcm
[   0.0060 ] RCM 1 is saved as rcm_1.rcm
[   0.0061 ] List of rcm files are saved in rcm_list.xml
[   0.0061 ] 
[   0.0061 ] Signing RCM messages
[   0.0074 ] tegrasign --key None --list rcm_list.xml --pubkeyhash pub_key.key
[   0.0081 ] Assuming zero filled SBK key
[   0.0146 ] 
[   0.0146 ] Copying signature to RCM mesages
[   0.0158 ] tegrarcm --chip 0x21 0 --updatesig rcm_list_signed.xml
[   0.0180 ] 
[   0.0180 ] Parsing partition layout
[   0.0190 ] tegraparser --pt flash.xml.tmp
[   0.0205 ] 
[   0.0205 ] Creating list of images to be signed
[   0.0220 ] tegrahost --chip 0x21 0 --partitionlayout flash.xml.bin --list images_list.xml
[   0.0234 ] 
[   0.0234 ] Generating signatures
[   0.0246 ] tegrasign --key None --list images_list.xml --pubkeyhash pub_key.key
[   0.0261 ] Assuming zero filled SBK key
[   0.0352 ] 
[   0.0352 ] Generating br-bct
[   0.0367 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.cfg --chip 0x21 0
[   0.0378 ] Copying Sdram info from 0 to 1 set
[   0.0394 ] Copying Sdram info from 1 to 2 set
[   0.0394 ] Copying Sdram info from 2 to 3 set
[   0.0394 ] 
[   0.0394 ] Updating boot device parameters
[   0.0408 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatedevparam flash.xml.bin
[   0.0419 ] Warning: No sdram params
[   0.0420 ] 
[   0.0421 ] Updating bl info
[   0.0434 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updateblinfo flash.xml.bin --updatesig images_list_signed.xml
[   0.0448 ] 
[   0.0449 ] Updating secondary storage information into bct
[   0.0458 ] tegraparser --pt flash.xml.bin --chip 0x21 0 --updatecustinfo P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct
[   0.0471 ] 
[   0.0471 ] Get Signed section of bct
[   0.0481 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct --chip 0x21 0 --listbct bct_list.xml
[   0.0490 ] 
[   0.0490 ] Signing BCT
[   0.0506 ] tegrasign --key None --list bct_list.xml --pubkeyhash pub_key.key
[   0.0514 ] Assuming zero filled SBK key
[   0.0518 ] 
[   0.0518 ] Updating BCT with signature
[   0.0524 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatesig bct_list_signed.xml
[   0.0531 ] 
[   0.0532 ] Copying signatures
[   0.0538 ] tegrahost --chip 0x21 0 --partitionlayout flash.xml.bin --updatesig images_list_signed.xml
[   0.0547 ] 
[   0.0547 ] Copying signed file in /home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/signed
[   0.0572 ] Generating RCM messages
[   0.0579 ] tegrarcm --listrcm rcm_list.xml --chip 0x21 0 --download rcm nvtboot_recovery.bin 0 0
[   0.0586 ] RCM 0 is saved as rcm_0.rcm
[   0.0590 ] RCM 1 is saved as rcm_1.rcm
[   0.0590 ] List of rcm files are saved in rcm_list.xml
[   0.0590 ] 
[   0.0590 ] Signing RCM messages
[   0.0603 ] tegrasign --key None --list rcm_list.xml --pubkeyhash pub_key.key
[   0.0613 ] Assuming zero filled SBK key
[   0.0705 ] 
[   0.0705 ] Copying signature to RCM mesages
[   0.0712 ] tegrarcm --chip 0x21 0 --updatesig rcm_list_signed.xml
[   0.0724 ] 
[   0.0725 ] Boot Rom communication
[   0.0733 ] tegrarcm --chip 0x21 0 --rcm rcm_list_signed.xml
[   0.0741 ] BootRom is not running
[   0.1187 ] 
[   0.1188 ] Parsing partition layout
[   0.1203 ] tegraparser --pt flash.xml.tmp
[   0.1219 ] 
[   0.1220 ] Creating list of images to be signed
[   0.1235 ] tegrahost --chip 0x21 0 --partitionlayout flash.xml.bin --list images_list.xml
[   0.1253 ] 
[   0.1254 ] Generating signatures
[   0.1267 ] tegrasign --key None --list images_list.xml --pubkeyhash pub_key.key
[   0.1280 ] Assuming zero filled SBK key
[   0.1393 ] 
[   0.1393 ] Send BCT from Host
[   0.1393 ] Generating br-bct
[   0.1400 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.cfg --chip 0x21 0
[   0.1413 ] Copying Sdram info from 0 to 1 set
[   0.1438 ] Copying Sdram info from 1 to 2 set
[   0.1438 ] Copying Sdram info from 2 to 3 set
[   0.1438 ] 
[   0.1439 ] Updating boot device parameters
[   0.1448 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatedevparam flash.xml.bin
[   0.1455 ] Warning: No sdram params
[   0.1456 ] 
[   0.1456 ] Updating bl info
[   0.1463 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updateblinfo flash.xml.bin --updatesig images_list_signed.xml
[   0.1473 ] 
[   0.1474 ] Updating secondary storage information into bct
[   0.1486 ] tegraparser --pt flash.xml.bin --chip 0x21 0 --updatecustinfo P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct
[   0.1501 ] 
[   0.1501 ] Get Signed section of bct
[   0.1513 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct --chip 0x21 0 --listbct bct_list.xml
[   0.1527 ] 
[   0.1527 ] Signing BCT
[   0.1553 ] tegrasign --key None --list bct_list.xml --pubkeyhash pub_key.key
[   0.1563 ] Assuming zero filled SBK key
[   0.1569 ] 
[   0.1569 ] Updating BCT with signature
[   0.1578 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatesig bct_list_signed.xml
[   0.1589 ] 
[   0.1589 ] Sending BCTs
[   0.1598 ] tegrarcm --download bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct
[   0.1606 ] Applet version 00.01.0000
[   0.1765 ] Sending bct
[   0.1767 ] [................................................] 100%
[   0.2433 ] 
[   0.2434 ] Sending bootloader and pre-requisite binaries
[   0.2449 ] tegrarcm --download ebt cboot.bin 0 0 --download rp1 tegra210-p3448-0000-p3449-0000-a02.dtb 0
[   0.2463 ] Applet version 00.01.0000
[   0.2645 ] Sending ebt
[   0.2648 ] [................................................] 100%
[   0.3692 ] Sending rp1
[   0.3695 ] [................................................] 100%
[   0.4128 ] 
[   0.4142 ] tegrarcm --boot recovery
[   0.4150 ] Applet version 00.01.0000
[   0.4372 ] 
[   0.4372 ] Writing partition
[   0.4380 ] tegradevflash --write kernel-dtb /home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/signed/tegra210-p3448-0000-p3449-0000-a02.dtb.encrypt

My flash script executes but gets stuck at the final line. I leave it for ages, but nothing happens.
How can I get past this next step? Is the flash script broken? Why is it so difficult to enable SPI? Why is SPI dev not enabled by default when there are dedicated SPI pins in GPIO of the jetson nano carrier board.

Nano should be update the dtb file by below command, Please have a try.

sudo ./flash.sh -r -k DTB xxxx mmcblk0p1 # and LNX for updating the kernel Image

Thank you for the response. I managed to get the flash command working with:

sudo ./flash.sh -r -k DTB jetson-nano-qspi-sd mmcblk0p1

However, when I updated the /boot/etxlinux/extlinux.conf to include FDT /boot/dtb/xxxx, and rebooted the system, my Nano wouldn’t boot anymore. It would get stuck on the Nvidia start-up screen.

I saw on a related tutorial (Jetson/TX2 DTB - eLinux.org) that you could just update the default DTB in the jetback folder to enable the SPI. However, then when I attempted to flash, it would get stuck again. How do you recommend updating the DTB to enable SPI and flashing with the Jetson Nano? There is no clearly defined way for this to be done on the Nano. I’m sure a lot of people would find this information useful.

Just update your modification DTB by ./flash.sh don’t modify the extlinux.conf anymore.

If I run the aforementioned flash command then reboot, the spi device is still not enabled. How does the flash script know to automatically use the /boot/dtb/xxxx.dtb file? Do I not need to tell it what dtb file I want to use?

Replace the …/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0000-p3449-a01.dtb then do the flash.

Just got round to trying this out.
By default my dtb file is /boot/dtb/tegra210-p3448-0000-p3449-a02.dtb. I have done all the previous steps again, and recompiled that dtb file with the spi enabled. I then replaced the ../Linux_for_Tegra/kernel/dtb/tegra210-p3448-0000-p3449-a02.dtb and ran the spi command. The following happened:

linuxmr@motion:~/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra$ sudo ./flash.sh -r -k DTB jetson-nano-qspi-sd mmcblk0p1
[sudo] password for linuxmr: 
###############################################################################
# L4T BSP Information:
# R32 (release), REVISION: 1.0, GCID: 14531094, BOARD: t210ref, EABI: aarch64, 
# DATE: Wed Mar 13 07:46:13 UTC 2019
###############################################################################
# Target Board Information:
# Name: jetson-nano-qspi-sd, Board Family: t210ref, SoC: Tegra 210, 
# OpMode: production, Boot Authentication: , 
###############################################################################
./tegraflash.py --chip 0x21 --applet "/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/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.0019 ] Generating RCM messages
[   0.0033 ] tegrarcm --listrcm rcm_list.xml --chip 0x21 0 --download rcm /home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/nvtboot_recovery.bin 0 0
[   0.0045 ] RCM 0 is saved as rcm_0.rcm
[   0.0053 ] RCM 1 is saved as rcm_1.rcm
[   0.0053 ] List of rcm files are saved in rcm_list.xml
[   0.0053 ] 
[   0.0054 ] Signing RCM messages
[   0.0067 ] tegrasign --key None --list rcm_list.xml --pubkeyhash pub_key.key
[   0.0080 ] Assuming zero filled SBK key
[   0.0172 ] 
[   0.0173 ] Copying signature to RCM mesages
[   0.0184 ] tegrarcm --chip 0x21 0 --updatesig rcm_list_signed.xml
[   0.0196 ] 
[   0.0196 ] Boot Rom communication
[   0.0204 ] tegrarcm --chip 0x21 0 --rcm rcm_list_signed.xml --skipuid
[   0.0212 ] RCM version 0X210001
[   0.0667 ] Boot Rom communication completed
[   1.0736 ] 
[   1.0737 ] dump EEPROM info
[   1.0753 ] tegrarcm --oem platformdetails eeprom /home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/cvm.bin
[   1.0765 ] Applet version 00.01.0000
[   1.0959 ] Saved platform info in /home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/cvm.bin
[   1.1721 ] 
Board ID(3448) version(200) 
copying bctfile(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/t210ref/BCT/P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.cfg)... done.
copying bootloader(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/t210ref/cboot.bin)... done.
	populating kernel to rootfs... done.
	populating initrd to rootfs... done.
	populating extlinux.conf.emmc to rootfs... done.
	populating /home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0000-p3449-0000-a02.dtb to rootfs... done.
done.
Making Boot image... done.
Existing sosfile(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/nvtboot_recovery.bin) reused.
copying tegraboot(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/t210ref/nvtboot.bin)... done.
copying cpu_bootloader(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/t210ref/cboot.bin)... done.
copying bpffile(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/t210ref/sc7entry-firmware.bin)... done.
Existing badpagefile(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/badpage.bin) reused.
copying wb0boot(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/t210ref/warmboot.bin)... done.
Existing tosfile(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/tos-mon-only.img) reused.
Existing eksfile(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/eks.img) reused.
copying dtbfile(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0000-p3449-0000-a02.dtb)... done.
Reusing existing system.img... 
done.
Existing tbcfile(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/nvtboot_cpu.bin) reused.
copying tbcdtbfile(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0000-p3449-0000-a02.dtb)... done.
copying cfgfile(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/t210ref/cfg/flash_l4t_t210_spi_sd_p3448.xml) to flash.xml... done.
copying flasher(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/t210ref/cboot.bin)... done.
Existing flashapp(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/tegraflash.py) reused.
*** Updating [DTB] with tegra210-p3448-0000-p3449-0000-a02.dtb ***
./tegraflash.py --bl cboot.bin --bldtb tegra210-p3448-0000-p3449-0000-a02.dtb  --chip 0x21 --applet nvtboot_recovery.bin --bct  P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.cfg  --cfg  flash.xml   --cmd "sign; write DTB ./signed/tegra210-p3448-0000-p3449-0000-a02.dtb.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.0061 ] Generating RCM messages
[   0.0073 ] tegrarcm --listrcm rcm_list.xml --chip 0x21 0 --download rcm nvtboot_recovery.bin 0 0
[   0.0086 ] RCM 0 is saved as rcm_0.rcm
[   0.0093 ] RCM 1 is saved as rcm_1.rcm
[   0.0094 ] List of rcm files are saved in rcm_list.xml
[   0.0094 ] 
[   0.0094 ] Signing RCM messages
[   0.0105 ] tegrasign --key None --list rcm_list.xml --pubkeyhash pub_key.key
[   0.0115 ] Assuming zero filled SBK key
[   0.0202 ] 
[   0.0203 ] Copying signature to RCM mesages
[   0.0216 ] tegrarcm --chip 0x21 0 --updatesig rcm_list_signed.xml
[   0.0235 ] 
[   0.0236 ] Parsing partition layout
[   0.0246 ] tegraparser --pt flash.xml.tmp
[   0.0263 ] 
[   0.0263 ] Creating list of images to be signed
[   0.0273 ] tegrahost --chip 0x21 0 --partitionlayout flash.xml.bin --list images_list.xml
[   0.0327 ] 
[   0.0328 ] Generating signatures
[   0.0341 ] tegrasign --key None --list images_list.xml --pubkeyhash pub_key.key
[   0.0350 ] Assuming zero filled SBK key
[   0.0749 ] 
[   0.0749 ] Generating br-bct
[   0.0757 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.cfg --chip 0x21 0
[   0.0764 ] Copying Sdram info from 0 to 1 set
[   0.0771 ] Copying Sdram info from 1 to 2 set
[   0.0771 ] Copying Sdram info from 2 to 3 set
[   0.0772 ] 
[   0.0772 ] Updating boot device parameters
[   0.0778 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatedevparam flash.xml.bin
[   0.0784 ] Warning: No sdram params
[   0.0785 ] 
[   0.0785 ] Updating bl info
[   0.0792 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updateblinfo flash.xml.bin --updatesig images_list_signed.xml
[   0.0800 ] 
[   0.0801 ] Updating secondary storage information into bct
[   0.0807 ] tegraparser --pt flash.xml.bin --chip 0x21 0 --updatecustinfo P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct
[   0.0814 ] 
[   0.0814 ] Get Signed section of bct
[   0.0820 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct --chip 0x21 0 --listbct bct_list.xml
[   0.0827 ] 
[   0.0828 ] Signing BCT
[   0.0841 ] tegrasign --key None --list bct_list.xml --pubkeyhash pub_key.key
[   0.0849 ] Assuming zero filled SBK key
[   0.0857 ] 
[   0.0858 ] Updating BCT with signature
[   0.0867 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatesig bct_list_signed.xml
[   0.0878 ] 
[   0.0878 ] Copying signatures
[   0.0889 ] tegrahost --chip 0x21 0 --partitionlayout flash.xml.bin --updatesig images_list_signed.xml
[   0.0922 ] 
[   0.0922 ] Copying signed file in /home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/signed
[   0.0996 ] Generating RCM messages
[   0.1005 ] tegrarcm --listrcm rcm_list.xml --chip 0x21 0 --download rcm nvtboot_recovery.bin 0 0
[   0.1019 ] RCM 0 is saved as rcm_0.rcm
[   0.1025 ] RCM 1 is saved as rcm_1.rcm
[   0.1029 ] List of rcm files are saved in rcm_list.xml
[   0.1029 ] 
[   0.1029 ] Signing RCM messages
[   0.1039 ] tegrasign --key None --list rcm_list.xml --pubkeyhash pub_key.key
[   0.1047 ] Assuming zero filled SBK key
[   0.1113 ] 
[   0.1114 ] Copying signature to RCM mesages
[   0.1123 ] tegrarcm --chip 0x21 0 --updatesig rcm_list_signed.xml
[   0.1133 ] 
[   0.1134 ] Boot Rom communication
[   0.1141 ] tegrarcm --chip 0x21 0 --rcm rcm_list_signed.xml
[   0.1149 ] BootRom is not running
[   0.1637 ] 
[   0.1637 ] Parsing partition layout
[   0.1652 ] tegraparser --pt flash.xml.tmp
[   0.1669 ] 
[   0.1669 ] Creating list of images to be signed
[   0.1680 ] tegrahost --chip 0x21 0 --partitionlayout flash.xml.bin --list images_list.xml
[   0.1735 ] 
[   0.1735 ] Generating signatures
[   0.1747 ] tegrasign --key None --list images_list.xml --pubkeyhash pub_key.key
[   0.1755 ] Assuming zero filled SBK key
[   0.2161 ] 
[   0.2162 ] Send BCT from Host
[   0.2162 ] Generating br-bct
[   0.2170 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.cfg --chip 0x21 0
[   0.2177 ] Copying Sdram info from 0 to 1 set
[   0.2185 ] Copying Sdram info from 1 to 2 set
[   0.2185 ] Copying Sdram info from 2 to 3 set
[   0.2185 ] 
[   0.2185 ] Updating boot device parameters
[   0.2192 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatedevparam flash.xml.bin
[   0.2198 ] Warning: No sdram params
[   0.2200 ] 
[   0.2200 ] Updating bl info
[   0.2206 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updateblinfo flash.xml.bin --updatesig images_list_signed.xml
[   0.2215 ] 
[   0.2215 ] Updating secondary storage information into bct
[   0.2222 ] tegraparser --pt flash.xml.bin --chip 0x21 0 --updatecustinfo P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct
[   0.2229 ] 
[   0.2230 ] Get Signed section of bct
[   0.2236 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct --chip 0x21 0 --listbct bct_list.xml
[   0.2243 ] 
[   0.2244 ] Signing BCT
[   0.2260 ] tegrasign --key None --list bct_list.xml --pubkeyhash pub_key.key
[   0.2269 ] Assuming zero filled SBK key
[   0.2274 ] 
[   0.2275 ] Updating BCT with signature
[   0.2283 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatesig bct_list_signed.xml
[   0.2291 ] 
[   0.2292 ] Sending BCTs
[   0.2297 ] tegrarcm --download bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct
[   0.2304 ] Applet version 00.01.0000
[   0.2456 ] Sending bct
[   0.2458 ] [................................................] 100%
[   0.3123 ] 
[   0.3123 ] Sending bootloader and pre-requisite binaries
[   0.3136 ] tegrarcm --download ebt cboot.bin 0 0 --download rp1 tegra210-p3448-0000-p3449-0000-a02.dtb 0
[   0.3148 ] Applet version 00.01.0000
[   0.3334 ] Sending ebt
[   0.3337 ] [................................................] 100%
[   0.4381 ] Sending rp1
[   0.4384 ] [................................................] 100%
[   0.4822 ] 
[   0.4837 ] tegrarcm --boot recovery
[   0.4847 ] Applet version 00.01.0000
[   0.5023 ] 
[   0.5024 ] Writing partition
[   0.5041 ] tegradevflash --write DTB /home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/signed/tegra210-p3448-0000-p3449-0000-a02.dtb.encrypt

A similar issue to earlier occurred. It seems to just hang when it begins writing the partition. What do I need to do to fix this?

Hello there,

I’m encountering the same issue here. I repeated the the process 2 times today:
First, I replaced tegra210-p3448-0000-p3449-0000-a01.dtb with the one a compiled with a modified dts. However, the tegradevflash fails because “Cboot is not running on the device”…

[   0.5222 ] tegradevflash --write DTB /home/kamel/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/signed/tegra210-p3448-0000-p3449-0000-a02.dtb.encrypt
[   0.5246 ] Cboot is not running on device.

I also tried to replace the tegra210-p3448-0000-p3449-0000-a02.dtb file which I believe is the default dtb the Jetson nano uses. This time, I ended up with a similar issue to Micheals’, getting stuck at:

tegradevflash --write DTB /home/kamel/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/signed/tegra210-p3448-0000-p3449-0000-a02.dtb.encrypt

Does normal flash command working for you?

sudo ./flash jetson-nano-qspi-sd mmcblk0p1

Just performed the normal flash with the modified 'tegra210-p3448-0000-p3449-a02.dtb’in ../Linux_for_Tegra/kernel/dtb/tegra210-p3448-0000-p3449-a02.dtb. And it stalled again.
Here is the output:

linuxmr@motion:~/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra$ sudo ./flash.sh jetson-nano-qspi-sd mmcblk0p1
###############################################################################
# L4T BSP Information:
# R32 (release), REVISION: 1.0, GCID: 14531094, BOARD: t210ref, EABI: aarch64, 
# DATE: Wed Mar 13 07:46:13 UTC 2019
###############################################################################
# Target Board Information:
# Name: jetson-nano-qspi-sd, Board Family: t210ref, SoC: Tegra 210, 
# OpMode: production, Boot Authentication: , 
###############################################################################
./tegraflash.py --chip 0x21 --applet "/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/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.0017 ] Generating RCM messages
[   0.0029 ] tegrarcm --listrcm rcm_list.xml --chip 0x21 0 --download rcm /home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/nvtboot_recovery.bin 0 0
[   0.0040 ] RCM 0 is saved as rcm_0.rcm
[   0.0046 ] RCM 1 is saved as rcm_1.rcm
[   0.0046 ] List of rcm files are saved in rcm_list.xml
[   0.0047 ] 
[   0.0047 ] Signing RCM messages
[   0.0058 ] tegrasign --key None --list rcm_list.xml --pubkeyhash pub_key.key
[   0.0072 ] Assuming zero filled SBK key
[   0.0156 ] 
[   0.0156 ] Copying signature to RCM mesages
[   0.0170 ] tegrarcm --chip 0x21 0 --updatesig rcm_list_signed.xml
[   0.0190 ] 
[   0.0190 ] Boot Rom communication
[   0.0202 ] tegrarcm --chip 0x21 0 --rcm rcm_list_signed.xml --skipuid
[   0.0213 ] RCM version 0X210001
[   0.0649 ] Boot Rom communication completed
[   1.0718 ] 
[   1.0719 ] dump EEPROM info
[   1.0736 ] tegrarcm --oem platformdetails eeprom /home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/cvm.bin
[   1.0751 ] Applet version 00.01.0000
[   1.0941 ] Saved platform info in /home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/cvm.bin
[   1.1703 ] 
Board ID(3448) version(200) 
copying bctfile(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/t210ref/BCT/P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.cfg)... done.
copying bootloader(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/t210ref/cboot.bin)... done.
	populating kernel to rootfs... done.
	populating initrd to rootfs... done.
	populating extlinux.conf.emmc to rootfs... done.
	populating /home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0000-p3449-0000-a02.dtb to rootfs... done.
done.
Making Boot image... done.
Existing sosfile(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/nvtboot_recovery.bin) reused.
copying tegraboot(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/t210ref/nvtboot.bin)... done.
copying cpu_bootloader(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/t210ref/cboot.bin)... done.
copying bpffile(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/t210ref/sc7entry-firmware.bin)... done.
Existing badpagefile(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/badpage.bin) reused.
copying wb0boot(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/t210ref/warmboot.bin)... done.
Existing tosfile(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/tos-mon-only.img) reused.
Existing eksfile(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/eks.img) reused.
copying dtbfile(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0000-p3449-0000-a02.dtb)... done.
Making system.img... 
	populating rootfs from /home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/rootfs ... done.
	Sync'ing system.img ... done.
	Converting RAW image to Sparse image... 

---- Raw to Sparse Image Converter v1.0 ----------------------------
  0: RAW:     7340032(      7 blks) ==>          28:7340044
  1: SKP:    30408704(     29 blks) ==>     7340072:12
  2: RAW:     9437184(      9 blks) ==>     7340084:9437196
  3: SKP:    87031808(     83 blks) ==>    16777280:12
  4: RAW:     1048576(      1 blks) ==>    16777292:1048588
  5: SKP:     3145728(      3 blks) ==>    17825880:12
  6: RAW:    27262976(     26 blks) ==>    17825892:27262988
  7: SKP:     1048576(      1 blks) ==>    45088880:12
  8: RAW:    44040192(     42 blks) ==>    45088892:44040204
  9: SKP:    15728640(     15 blks) ==>    89129096:12
 10: RAW:   177209344(    169 blks) ==>    89129108:177209356
 11: SKP:     3145728(      3 blks) ==>   266338464:12
 12: RAW:   265289728(    253 blks) ==>   266338476:265289740
 13: SKP:     3145728(      3 blks) ==>   531628216:12
 14: RAW:   265289728(    253 blks) ==>   531628228:265289740
 15: SKP:     3145728(      3 blks) ==>   796917968:12
 16: RAW:   100663296(     96 blks) ==>   796917980:100663308
 17: SKP:     1048576(      1 blks) ==>   897581288:12
 18: RAW:    10485760(     10 blks) ==>   897581300:10485772
 19: SKP:     1048576(      1 blks) ==>   908067072:12
 20: RAW:    29360128(     28 blks) ==>   908067084:29360140
 21: SKP:     4194304(      4 blks) ==>   937427224:12
 22: RAW:    24117248(     23 blks) ==>   937427236:24117260
 23: SKP:     1048576(      1 blks) ==>   961544496:12
 24: RAW:    93323264(     89 blks) ==>   961544508:93323276
 25: SKP:     3145728(      3 blks) ==>  1054867784:12
 26: RAW:   110100480(    105 blks) ==>  1054867796:110100492
 27: SKP:    19922944(     19 blks) ==>  1164968288:12
 28: RAW:    39845888(     38 blks) ==>  1164968300:39845900
 29: SKP:     2097152(      2 blks) ==>  1204814200:12
 30: RAW:    12582912(     12 blks) ==>  1204814212:12582924
 31: SKP:     4194304(      4 blks) ==>  1217397136:12
 32: RAW:    40894464(     39 blks) ==>  1217397148:40894476
 33: SKP:     2097152(      2 blks) ==>  1258291624:12
 34: RAW:    98566144(     94 blks) ==>  1258291636:98566156
 35: SKP:     1048576(      1 blks) ==>  1356857792:12
 36: RAW:    15728640(     15 blks) ==>  1356857804:15728652
 37: SKP:     1048576(      1 blks) ==>  1372586456:12
 38: RAW:     8388608(      8 blks) ==>  1372586468:8388620
 39: SKP:   578813952(    552 blks) ==>  1380975088:12
 40: RAW:     7340032(      7 blks) ==>  1380975100:7340044
 41: SKP:    26214400(     25 blks) ==>  1388315144:12
 42: RAW:    19922944(     19 blks) ==>  1388315156:19922956
 43: SKP:    80740352(     77 blks) ==>  1408238112:12
 44: RAW:   191889408(    183 blks) ==>  1408238124:191889420
 45: SKP:     2097152(      2 blks) ==>  1600127544:12
 46: RAW:   343932928(    328 blks) ==>  1600127556:343932940
 47: SKP:   535822336(    511 blks) ==>  1944060496:12
 48: RAW:     1048576(      1 blks) ==>  1944060508:1048588
 49: SKP:   267386880(    255 blks) ==>  1945109096:12
 50: RAW:     1048576(      1 blks) ==>  1945109108:1048588
 51: SKP:   670040064(    639 blks) ==>  1946157696:12
 52: RAW:     6291456(      6 blks) ==>  1946157708:6291468
 53: SKP:    27262976(     26 blks) ==>  1952449176:12
 54: RAW:    14680064(     14 blks) ==>  1952449188:14680076
 55: SKP:    85983232(     82 blks) ==>  1967129264:12
 56: RAW:   243269632(    232 blks) ==>  1967129276:243269644
 57: SKP:  1769996288(   1688 blks) ==>  2210398920:12
 58: RAW:     3145728(      3 blks) ==>  2210398932:3145740
 59: SKP:    30408704(     29 blks) ==>  2213544672:12
 60: RAW:    11534336(     11 blks) ==>  2213544684:11534348
 61: SKP:    89128960(     85 blks) ==>  2225079032:12
 62: RAW:     1048576(      1 blks) ==>  2225079044:1048588
 63: SKP:     3145728(      3 blks) ==>  2226127632:12
 64: RAW:    74448896(     71 blks) ==>  2226127644:74448908
 65: SKP:     1048576(      1 blks) ==>  2300576552:12
 66: RAW:    49283072(     47 blks) ==>  2300576564:49283084
 67: SKP:  1884291072(   1797 blks) ==>  2349859648:12
 68: RAW:     5242880(      5 blks) ==>  2349859660:5242892
 69: SKP:    28311552(     27 blks) ==>  2355102552:12
 70: RAW:     7340032(      7 blks) ==>  2355102564:7340044
 71: SKP:    93323264(     89 blks) ==>  2362442608:12
 72: RAW:   148897792(    142 blks) ==>  2362442620:148897804
 73: SKP:  1864368128(   1778 blks) ==>  2511340424:12
 74: RAW:    10485760(     10 blks) ==>  2511340436:10485772
 75: SKP:    23068672(     22 blks) ==>  2521826208:12
 76: RAW:    13631488(     13 blks) ==>  2521826220:13631500
 77: SKP:    87031808(     83 blks) ==>  2535457720:12
 78: RAW:     1048576(      1 blks) ==>  2535457732:1048588
 79: SKP:     3145728(      3 blks) ==>  2536506320:12
 80: RAW:   743440384(    709 blks) ==>  2536506332:743440396
 81: SKP:  1265631232(   1207 blks) ==>  3279946728:12
 82: RAW:     9437184(      9 blks) ==>  3279946740:9437196
 83: SKP:    24117248(     23 blks) ==>  3289383936:12
 84: RAW:    17825792(     17 blks) ==>  3289383948:17825804
 85: SKP:    82837504(     79 blks) ==>  3307209752:12
 86: RAW:   185597952(    177 blks) ==>  3307209764:185597964
 87: SKP:     1048576(      1 blks) ==>  3492807728:12
 88: RAW:   483393536(    461 blks) ==>  3492807740:483393548
 89: SKP:     1048576(      1 blks) ==>  3976201288:12
 90: RAW:   116391936(    111 blks) ==>  3976201300:116391948
 91: SKP:     1048576(      1 blks) ==>  4092593248:12
 92: RAW:   148897792(    142 blks) ==>  4092593260:148897804
 93: SKP:  1075838976(   1026 blks) ==>  4241491064:12
-- Total: ---------------------------------------------------
 94 CHUNK 15032385536(  14336 blks) ==>  4241491076(4045 blks)

done.
system.img built successfully. 
Existing tbcfile(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/nvtboot_cpu.bin) reused.
copying tbcdtbfile(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0000-p3449-0000-a02.dtb)... done.
copying cfgfile(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/t210ref/cfg/flash_l4t_t210_spi_sd_p3448.xml) to flash.xml... done.
copying flasher(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/t210ref/cboot.bin)... done.
Existing flashapp(/home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/tegraflash.py) reused.
./tegraflash.py --bl cboot.bin --bct  P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.cfg --odmdata 0x94000 --bldtb tegra210-p3448-0000-p3449-0000-a02.dtb --applet nvtboot_recovery.bin --cmd "flash; reboot"  --cfg flash.xml --chip 0x21    
saving flash command in /home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/flashcmd.txt
./tegraflash.py --bl cboot.bin --bct  P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.cfg --odmdata 0x94000 --bldtb tegra210-p3448-0000-p3449-0000-a02.dtb --applet nvtboot_recovery.bin --cmd "flash; reboot"  --cfg flash.xml --chip 0x21    
copying boot image (boot.img.sb)... done.
copying partition layout (flash.xml.sb)... done.
copying kernel dtb (tegra210-p3448-0000-p3449-0000-a02.dtb.sb)... done.
saving flash parameters in /home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/flash_parameters.txt
--bl cboot.bin --bct  P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.cfg --odmdata 0x94000 --bldtb tegra210-p3448-0000-p3449-0000-a02.dtb --applet nvtboot_recovery.bin --cmd "flash; reboot"  --cfg flash.xml --chip 0x21    
saving Windows flash command to /home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/flash_win.bat
*** 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.0000 ] Generating RCM messages
[   0.0018 ] tegrarcm --listrcm rcm_list.xml --chip 0x21 0 --download rcm nvtboot_recovery.bin 0 0
[   0.0030 ] RCM 0 is saved as rcm_0.rcm
[   0.0044 ] RCM 1 is saved as rcm_1.rcm
[   0.0046 ] List of rcm files are saved in rcm_list.xml
[   0.0046 ] 
[   0.0046 ] Signing RCM messages
[   0.0066 ] tegrasign --key None --list rcm_list.xml --pubkeyhash pub_key.key
[   0.0079 ] Assuming zero filled SBK key
[   0.0201 ] 
[   0.0201 ] Copying signature to RCM mesages
[   0.0208 ] tegrarcm --chip 0x21 0 --updatesig rcm_list_signed.xml
[   0.0217 ] 
[   0.0217 ] Parsing partition layout
[   0.0229 ] tegraparser --pt flash.xml.tmp
[   0.0248 ] 
[   0.0249 ] Creating list of images to be signed
[   0.0260 ] tegrahost --chip 0x21 0 --partitionlayout flash.xml.bin --list images_list.xml
[   0.0317 ] 
[   0.0318 ] Generating signatures
[   0.0330 ] tegrasign --key None --list images_list.xml --pubkeyhash pub_key.key
[   0.0342 ] Assuming zero filled SBK key
[   0.0781 ] 
[   0.0781 ] Generating br-bct
[   0.0793 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.cfg --chip 0x21 0
[   0.0802 ] Copying Sdram info from 0 to 1 set
[   0.0822 ] Copying Sdram info from 1 to 2 set
[   0.0822 ] Copying Sdram info from 2 to 3 set
[   0.0823 ] 
[   0.0823 ] Updating boot device parameters
[   0.0831 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatedevparam flash.xml.bin
[   0.0837 ] Warning: No sdram params
[   0.0838 ] 
[   0.0838 ] Updating bl info
[   0.0844 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updateblinfo flash.xml.bin --updatesig images_list_signed.xml
[   0.0854 ] 
[   0.0854 ] Updating secondary storage information into bct
[   0.0862 ] tegraparser --pt flash.xml.bin --chip 0x21 0 --updatecustinfo P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct
[   0.0871 ] 
[   0.0872 ] Updating Odmdata
[   0.0879 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatefields Odmdata =0x94000
[   0.0888 ] Warning: No sdram params
[   0.0889 ] 
[   0.0889 ] Get Signed section of bct
[   0.0897 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct --chip 0x21 0 --listbct bct_list.xml
[   0.0907 ] 
[   0.0907 ] Signing BCT
[   0.0930 ] tegrasign --key None --list bct_list.xml --pubkeyhash pub_key.key
[   0.0942 ] Assuming zero filled SBK key
[   0.0952 ] 
[   0.0952 ] Updating BCT with signature
[   0.0963 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatesig bct_list_signed.xml
[   0.0973 ] 
[   0.0974 ] Copying signatures
[   0.0982 ] tegrahost --chip 0x21 0 --partitionlayout flash.xml.bin --updatesig images_list_signed.xml
[   0.1029 ] 
[   0.1030 ] Updating BFS information on BCT
[   0.1042 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatebfsinfo flash.xml.bin
[   0.1053 ]    BFS:
[   0.1071 ]      0: [PT ] flash.xml.bin (size=2138/65536)
[   0.1076 ]      2: [VER] qspi_bootblob_ver.txt (size=153/65536)
[   0.1081 ] BFS0: 65536 @ 224 SUM 5d7eed79 over 3735552 bytes
[   0.1088 ] 
[   0.1088 ] Boot Rom communication
[   0.1097 ] tegrarcm --chip 0x21 0 --rcm rcm_list_signed.xml
[   0.1105 ] BootRom is not running
[   0.2680 ] 
[   0.2681 ] Sending BCTs
[   0.2693 ] tegrarcm --download bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct
[   0.2704 ] Applet version 00.01.0000
[   0.2899 ] Sending bct
[   0.2900 ] [................................................] 100%
[   0.4577 ] 
[   0.4577 ] Sending bootloader and pre-requisite binaries
[   0.4589 ] tegrarcm --download ebt cboot.bin 0 0 --download rp1 tegra210-p3448-0000-p3449-0000-a02.dtb 0
[   0.4601 ] Applet version 00.01.0000
[   0.4775 ] Sending ebt
[   0.4776 ] [................................................] 100%
[   0.5817 ] Sending rp1
[   0.5861 ] [................................................] 100%
[   0.6334 ] 
[   0.6346 ] tegrarcm --boot recovery
[   0.6358 ] Applet version 00.01.0000
[   0.6546 ] 
[   0.6547 ] Retrieving storage infomation
[   0.6561 ] tegrarcm --oem platformdetails storage storage_info.bin

I tried the normal flash command with the original dtb files and it doesn’t work.

###############################################################################
# L4T BSP Information:
# R32 (release), REVISION: 1.0, GCID: 14531094, BOARD: t210ref, EABI: aarch64, 
# DATE: Wed Mar 13 07:46:13 UTC 2019
###############################################################################
# Target Board Information:
# Name: jetson-nano-qspi-sd, Board Family: t210ref, SoC: Tegra 210, 
# OpMode: production, Boot Authentication: , 
###############################################################################
./tegraflash.py --chip 0x21 --applet "/home/kamel/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/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.0023 ] Generating RCM messages
[   0.0042 ] tegrarcm --listrcm rcm_list.xml --chip 0x21 0 --download rcm /home/kamel/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/nvtboot_recovery.bin 0 0
[   0.0049 ] RCM 0 is saved as rcm_0.rcm
[   0.0063 ] RCM 1 is saved as rcm_1.rcm
[   0.0063 ] List of rcm files are saved in rcm_list.xml
[   0.0063 ] 
[   0.0063 ] Signing RCM messages
[   0.0081 ] tegrasign --key None --list rcm_list.xml --pubkeyhash pub_key.key
[   0.0088 ] Assuming zero filled SBK key
[   0.0158 ] 
[   0.0159 ] Copying signature to RCM mesages
[   0.0169 ] tegrarcm --chip 0x21 0 --updatesig rcm_list_signed.xml
[   0.0194 ] 
[   0.0194 ] Boot Rom communication
[   0.0203 ] tegrarcm --chip 0x21 0 --rcm rcm_list_signed.xml --skipuid
[   0.0210 ] RCM version 0X210001
[   0.0655 ] Boot Rom communication completed
[   1.0731 ] 
[   1.0732 ] dump EEPROM info
[   1.0792 ] tegrarcm --oem platformdetails eeprom /home/kamel/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/cvm.bin
[   1.0815 ] Applet version 00.01.0000
[   1.1029 ] Saved platform info in /home/kamel/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/cvm.bin
[   1.1795 ] 
Board ID(3448) version(200) 
copying bctfile(/home/kamel/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/t210ref/BCT/P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.cfg)... done.
copying bootloader(/home/kamel/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/t210ref/cboot.bin)... done.
	populating kernel to rootfs... done.
	populating initrd to rootfs... done.
	populating extlinux.conf.emmc to rootfs... done.
	populating /home/kamel/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0000-p3449-0000-a02.dtb to rootfs... done.
done.
Making Boot image... done.
Existing sosfile(/home/kamel/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/nvtboot_recovery.bin) reused.
copying tegraboot(/home/kamel/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/t210ref/nvtboot.bin)... done.
copying cpu_bootloader(/home/kamel/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/t210ref/cboot.bin)... done.
copying bpffile(/home/kamel/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/t210ref/sc7entry-firmware.bin)... done.
Existing badpagefile(/home/kamel/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/badpage.bin) reused.
copying wb0boot(/home/kamel/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/t210ref/warmboot.bin)... done.
Existing tosfile(/home/kamel/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/tos-mon-only.img) reused.
Existing eksfile(/home/kamel/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/eks.img) reused.
copying dtbfile(/home/kamel/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0000-p3449-0000-a02.dtb)... done.
Making system.img... 
	populating rootfs from /home/kamel/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/rootfs ... done.
	Sync'ing system.img ... done.
	Converting RAW image to Sparse image... 

---- Raw to Sparse Image Converter v1.0 ----------------------------
  0: RAW:     8388608(      8 blks) ==>          28:8388620
  1: SKP:    29360128(     28 blks) ==>     8388648:12
  2: RAW:     6291456(      6 blks) ==>     8388660:6291468
  3: SKP:    90177536(     86 blks) ==>    14680128:12
  4: RAW:     1048576(      1 blks) ==>    14680140:1048588
  5: SKP:     3145728(      3 blks) ==>    15728728:12
  6: RAW:    27262976(     26 blks) ==>    15728740:27262988
  7: SKP:     1048576(      1 blks) ==>    42991728:12
  8: RAW:    44040192(     42 blks) ==>    42991740:44040204
  9: SKP:    15728640(     15 blks) ==>    87031944:12
 10: RAW:    66060288(     63 blks) ==>    87031956:66060300
 11: SKP:     2097152(      2 blks) ==>   153092256:12
 12: RAW:   109051904(    104 blks) ==>   153092268:109051916
 13: SKP:     3145728(      3 blks) ==>   262144184:12
 14: RAW:   196083712(    187 blks) ==>   262144196:196083724
 15: SKP:     1048576(      1 blks) ==>   458227920:12
 16: RAW:    56623104(     54 blks) ==>   458227932:56623116
 17: SKP:     2097152(      2 blks) ==>   514851048:12
 18: RAW:     9437184(      9 blks) ==>   514851060:9437196
 19: SKP:     3145728(      3 blks) ==>   524288256:12
 20: RAW:   253755392(    242 blks) ==>   524288268:253755404
 21: SKP:     2097152(      2 blks) ==>   778043672:12
 22: RAW:     9437184(      9 blks) ==>   778043684:9437196
 23: SKP:     3145728(      3 blks) ==>   787480880:12
 24: RAW:   122683392(    117 blks) ==>   787480892:122683404
 25: SKP:     7340032(      7 blks) ==>   910164296:12
 26: RAW:    57671680(     55 blks) ==>   910164308:57671692
 27: SKP:     1048576(      1 blks) ==>   967836000:12
 28: RAW:    60817408(     58 blks) ==>   967836012:60817420
 29: SKP:     6291456(      6 blks) ==>  1028653432:12
 30: RAW:     9437184(      9 blks) ==>  1028653444:9437196
 31: SKP:     3145728(      3 blks) ==>  1038090640:12
 32: RAW:     2097152(      2 blks) ==>  1038090652:2097164
 33: SKP:     2097152(      2 blks) ==>  1040187816:12
 34: RAW:    30408704(     29 blks) ==>  1040187828:30408716
 35: SKP:     3145728(      3 blks) ==>  1070596544:12
 36: RAW:    22020096(     21 blks) ==>  1070596556:22020108
 37: SKP:     3145728(      3 blks) ==>  1092616664:12
 38: RAW:    22020096(     21 blks) ==>  1092616676:22020108
 39: SKP:     3145728(      3 blks) ==>  1114636784:12
 40: RAW:   119537664(    114 blks) ==>  1114636796:119537676
 41: SKP:     1048576(      1 blks) ==>  1234174472:12
 42: RAW:    23068672(     22 blks) ==>  1234174484:23068684
 43: SKP:    32505856(     31 blks) ==>  1257243168:12
 44: RAW:     4194304(      4 blks) ==>  1257243180:4194316
 45: SKP:     4194304(      4 blks) ==>  1261437496:12
 46: RAW:    49283072(     47 blks) ==>  1261437508:49283084
 47: SKP:     1048576(      1 blks) ==>  1310720592:12
 48: RAW:    24117248(     23 blks) ==>  1310720604:24117260
 49: SKP:     1048576(      1 blks) ==>  1334837864:12
 50: RAW:    65011712(     62 blks) ==>  1334837876:65011724
 51: SKP:     2097152(      2 blks) ==>  1399849600:12
 52: RAW:    13631488(     13 blks) ==>  1399849612:13631500
 53: SKP:   506462208(    483 blks) ==>  1413481112:12
 54: RAW:     3145728(      3 blks) ==>  1413481124:3145740
 55: SKP:    30408704(     29 blks) ==>  1416626864:12
 56: RAW:    13631488(     13 blks) ==>  1416626876:13631500
 57: SKP:    87031808(     83 blks) ==>  1430258376:12
 58: RAW:    63963136(     61 blks) ==>  1430258388:63963148
 59: SKP:  1009778688(    963 blks) ==>  1494221536:12
 60: RAW:     1048576(      1 blks) ==>  1494221548:1048588
 61: SKP:   267386880(    255 blks) ==>  1495270136:12
 62: RAW:     1048576(      1 blks) ==>  1495270148:1048588
 63: SKP:   670040064(    639 blks) ==>  1496318736:12
 64: RAW:     8388608(      8 blks) ==>  1496318748:8388620
 65: SKP:    25165824(     24 blks) ==>  1504707368:12
 66: RAW:    23068672(     22 blks) ==>  1504707380:23068684
 67: SKP:    77594624(     74 blks) ==>  1527776064:12
 68: RAW:   104857600(    100 blks) ==>  1527776076:104857612
 69: SKP:  1908408320(   1820 blks) ==>  1632633688:12
 70: RAW:     4194304(      4 blks) ==>  1632633700:4194316
 71: SKP:    29360128(     28 blks) ==>  1636828016:12
 72: RAW:    14680064(     14 blks) ==>  1636828028:14680076
 73: SKP:    85983232(     82 blks) ==>  1651508104:12
 74: RAW:     1048576(      1 blks) ==>  1651508116:1048588
 75: SKP:     3145728(      3 blks) ==>  1652556704:12
 76: RAW:   167772160(    160 blks) ==>  1652556716:167772172
 77: SKP:    29360128(     28 blks) ==>  1820328888:12
 78: RAW:    33554432(     32 blks) ==>  1820328900:33554444
 79: SKP:  1778384896(   1696 blks) ==>  1853883344:12
 80: RAW:     7340032(      7 blks) ==>  1853883356:7340044
 81: SKP:    26214400(     25 blks) ==>  1861223400:12
 82: RAW:     8388608(      8 blks) ==>  1861223412:8388620
 83: SKP:    92274688(     88 blks) ==>  1869612032:12
 84: RAW:    93323264(     89 blks) ==>  1869612044:93323276
 85: SKP:     1048576(      1 blks) ==>  1962935320:12
 86: RAW:     3145728(      3 blks) ==>  1962935332:3145740
 87: SKP:     1048576(      1 blks) ==>  1966081072:12
 88: RAW:  1087373312(   1037 blks) ==>  1966081084:1087373324
 89: SKP:     1048576(      1 blks) ==>  3053454408:12
 90: RAW:    16777216(     16 blks) ==>  3053454420:16777228
 91: SKP:     4194304(      4 blks) ==>  3070231648:12
 92: RAW:    19922944(     19 blks) ==>  3070231660:19922956
 93: SKP:   785383424(    749 blks) ==>  3090154616:12
 94: RAW:     9437184(      9 blks) ==>  3090154628:9437196
 95: SKP:    24117248(     23 blks) ==>  3099591824:12
 96: RAW:    14680064(     14 blks) ==>  3099591836:14680076
 97: SKP:    85983232(     82 blks) ==>  3114271912:12
 98: RAW:     1048576(      1 blks) ==>  3114271924:1048588
 99: SKP:     3145728(      3 blks) ==>  3115320512:12
100: RAW:   133169152(    127 blks) ==>  3115320524:133169164
101: SKP:     1048576(      1 blks) ==>  3248489688:12
102: RAW:     9437184(      9 blks) ==>  3248489700:9437196
103: SKP:     1048576(      1 blks) ==>  3257926896:12
104: RAW:     5242880(      5 blks) ==>  3257926908:5242892
105: SKP:     1048576(      1 blks) ==>  3263169800:12
106: RAW:   392167424(    374 blks) ==>  3263169812:392167436
107: SKP:  1465909248(   1398 blks) ==>  3655337248:12
108: RAW:     7340032(      7 blks) ==>  3655337260:7340044
109: SKP:    26214400(     25 blks) ==>  3662677304:12
110: RAW:    13631488(     13 blks) ==>  3662677316:13631500
111: SKP:    87031808(     83 blks) ==>  3676308816:12
112: RAW:   271581184(    259 blks) ==>  3676308828:271581196
113: SKP:     2097152(      2 blks) ==>  3947890024:12
114: RAW:   299892736(    286 blks) ==>  3947890036:299892748
115: SKP:  1439694848(   1373 blks) ==>  4247782784:12
-- Total: ---------------------------------------------------
116 CHUNK 15032385536(  14336 blks) ==>  4247782796(4051 blks)

done.
system.img built successfully. 
Existing tbcfile(/home/kamel/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/nvtboot_cpu.bin) reused.
copying tbcdtbfile(/home/kamel/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0000-p3449-0000-a02.dtb)... done.
copying cfgfile(/home/kamel/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/t210ref/cfg/flash_l4t_t210_spi_sd_p3448.xml) to flash.xml... done.
copying flasher(/home/kamel/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/t210ref/cboot.bin)... done.
Existing flashapp(/home/kamel/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/tegraflash.py) reused.
./tegraflash.py --bl cboot.bin --bct  P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.cfg --odmdata 0x94000 --bldtb tegra210-p3448-0000-p3449-0000-a02.dtb --applet nvtboot_recovery.bin --cmd "flash; reboot"  --cfg flash.xml --chip 0x21    
saving flash command in /home/kamel/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/flashcmd.txt
./tegraflash.py --bl cboot.bin --bct  P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.cfg --odmdata 0x94000 --bldtb tegra210-p3448-0000-p3449-0000-a02.dtb --applet nvtboot_recovery.bin --cmd "flash; reboot"  --cfg flash.xml --chip 0x21    
copying boot image (boot.img.sb)... done.
copying partition layout (flash.xml.sb)... done.
copying kernel dtb (tegra210-p3448-0000-p3449-0000-a02.dtb.sb)... done.
saving flash parameters in /home/kamel/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/flash_parameters.txt
--bl cboot.bin --bct  P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.cfg --odmdata 0x94000 --bldtb tegra210-p3448-0000-p3449-0000-a02.dtb --applet nvtboot_recovery.bin --cmd "flash; reboot"  --cfg flash.xml --chip 0x21    
saving Windows flash command to /home/kamel/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/flash_win.bat
*** 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.0000 ] Generating RCM messages
[   0.0017 ] tegrarcm --listrcm rcm_list.xml --chip 0x21 0 --download rcm nvtboot_recovery.bin 0 0
[   0.0029 ] RCM 0 is saved as rcm_0.rcm
[   0.0047 ] RCM 1 is saved as rcm_1.rcm
[   0.0047 ] List of rcm files are saved in rcm_list.xml
[   0.0047 ] 
[   0.0047 ] Signing RCM messages
[   0.0062 ] tegrasign --key None --list rcm_list.xml --pubkeyhash pub_key.key
[   0.0069 ] Assuming zero filled SBK key
[   0.0140 ] 
[   0.0140 ] Copying signature to RCM mesages
[   0.0150 ] tegrarcm --chip 0x21 0 --updatesig rcm_list_signed.xml
[   0.0161 ] 
[   0.0161 ] Parsing partition layout
[   0.0177 ] tegraparser --pt flash.xml.tmp
[   0.0207 ] 
[   0.0208 ] Creating list of images to be signed
[   0.0245 ] tegrahost --chip 0x21 0 --partitionlayout flash.xml.bin --list images_list.xml
[   0.0318 ] 
[   0.0319 ] Generating signatures
[   0.0328 ] tegrasign --key None --list images_list.xml --pubkeyhash pub_key.key
[   0.0335 ] Assuming zero filled SBK key
[   0.0757 ] 
[   0.0757 ] Generating br-bct
[   0.0775 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.cfg --chip 0x21 0
[   0.0781 ] Copying Sdram info from 0 to 1 set
[   0.0810 ] Copying Sdram info from 1 to 2 set
[   0.0810 ] Copying Sdram info from 2 to 3 set
[   0.0810 ] 
[   0.0810 ] Updating boot device parameters
[   0.0818 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatedevparam flash.xml.bin
[   0.0825 ] Warning: No sdram params
[   0.0826 ] 
[   0.0827 ] Updating bl info
[   0.0833 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updateblinfo flash.xml.bin --updatesig images_list_signed.xml
[   0.0845 ] 
[   0.0845 ] Updating secondary storage information into bct
[   0.0853 ] tegraparser --pt flash.xml.bin --chip 0x21 0 --updatecustinfo P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct
[   0.0869 ] 
[   0.0870 ] Updating Odmdata
[   0.0907 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatefields Odmdata =0x94000
[   0.0921 ] Warning: No sdram params
[   0.0923 ] 
[   0.0923 ] Get Signed section of bct
[   0.0931 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct --chip 0x21 0 --listbct bct_list.xml
[   0.0940 ] 
[   0.0940 ] Signing BCT
[   0.0966 ] tegrasign --key None --list bct_list.xml --pubkeyhash pub_key.key
[   0.0976 ] Assuming zero filled SBK key
[   0.0981 ] 
[   0.0981 ] Updating BCT with signature
[   0.0989 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatesig bct_list_signed.xml
[   0.0997 ] 
[   0.0998 ] Copying signatures
[   0.1005 ] tegrahost --chip 0x21 0 --partitionlayout flash.xml.bin --updatesig images_list_signed.xml
[   0.1056 ] 
[   0.1058 ] Updating BFS information on BCT
[   0.1077 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatebfsinfo flash.xml.bin
[   0.1085 ]    BFS:
[   0.1099 ]      0: [PT ] flash.xml.bin (size=2138/65536)
[   0.1101 ]      2: [VER] qspi_bootblob_ver.txt (size=153/65536)
[   0.1112 ] BFS0: 65536 @ 224 SUM 6cdf3f5e over 3735552 bytes
[   0.1118 ] 
[   0.1118 ] Boot Rom communication
[   0.1125 ] tegrarcm --chip 0x21 0 --rcm rcm_list_signed.xml
[   0.1133 ] BootRom is not running
[   0.1583 ] 
[   0.1584 ] Sending BCTs
[   0.1607 ] tegrarcm --download bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct
[   0.1631 ] Applet version 00.01.0000
[   0.1807 ] Sending bct
[   0.1809 ] [................................................] 100%
[   0.3491 ] 
[   0.3492 ] Sending bootloader and pre-requisite binaries
[   0.3502 ] tegrarcm --download ebt cboot.bin 0 0 --download rp1 tegra210-p3448-0000-p3449-0000-a02.dtb 0
[   0.3510 ] Applet version 00.01.0000
[   0.3683 ] Sending ebt
[   0.3685 ] [................................................] 100%
[   0.4757 ] Sending rp1
[   0.4804 ] [................................................] 100%
[   0.5286 ] 
[   0.5303 ] tegrarcm --boot recovery
[   0.5317 ] Applet version 00.01.0000
[   0.5495 ] 
[   0.5496 ] Retrieving storage infomation
[   0.5507 ] tegrarcm --oem platformdetails storage storage_info.bin
[   0.5515 ] Applet is not running on device. Continue with Bootloader
[   1.3136 ] 
[   1.3183 ] tegradevflash --oem platformdetails storage storage_info.bin
[   1.3207 ] Cannot Open USB
[   1.4625 ] 
Error: Return value 8
Command tegradevflash --oem platformdetails storage storage_info.bin
Failed flashing t210ref.

Maybe the USB cable or hub is causing the problem.
Did you have adapter for power supply to try?

The first thing I tried was changing the usb cable and power supply. KmL_ seems to be having a usb issue.

I am only seeing the flashing problem after changing the Linux_for_Tegra/kernel/dtb/tegra210-p3448-0000-p3449-a02.dtb binary. When I ran the sudo ./flash.sh -r -k DTB jetson-nano-qspi-sd mmcblk0p1 command, it gets stuck on the following output: [ 0.5041 ] tegradevflash --write DTB /home/linuxmr/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3448/Linux_for_Tegra/bootloader/signed/tegra210-p3448-0000-p3449-0000-a02.dtb.encrypt. Which points to a xxxx.dtb.encrypt version of just the .dtb file. Where is it getting this from?

It’s gen from the …/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0000-p3449-0000-a02.dtb

Thanks. It came from one of the USB ports of my laptop. “Normal” flash passes now.

However, flashing with the modified dtb still fails. It might be a naive question, but is it possible to get a “working” version of the “dtb.encrypt” file for Jetson nano ?

@Kml
What do you mean still fails? It’s flash complete normally but not update the dtb or others?

Then why is the flash script only failing once the Linux_for_Tegra/kernel/dtb/tegra210-p3448-0000-p3449-a02.dtb has been changed?

I’m saying that flashing the device with the modified dtb doesn’t work. It gets stuck similarly to Micheal_Murray.

I also tried to flash the device using the sdk manager with a modified dtb, yet it still fails when writing the partition …

Could you attached your dtb file to try.

You can find the dtb here:
[url]https://drive.google.com/open?id=1TDpdmnqSTQKHC-9oOB3ATyvigsNy9FoG[/url]

I modified it to enable the SPI, as described here [url]Jetson/TX1 SPI - eLinux.org