Jetson nano reflashing fails

Hi There,

I have been trying to reflash my Jetson Nano B01 for a few days, after it didn’t boot, anymore.
I tried both using SDK manager and directly using the instructions of the l4t_quick_start guide.
The output log of the latter is posted below.
I already followed other posts by including the board id and FAB in the p3448-0000.conf.common path , which allowed the flashing procedure to start but still fail as shown below.


watermeleon@watermeleon-HP-ZBook-Studio-G5:~/Music/spotreset/testie/Linux_for_Tegra$ sudo ./flash.sh jetson-nano-devkit mmcblk0p1
###############################################################################
# L4T BSP Information:
# R32 , REVISION: 6.1
###############################################################################
````Preformatted text`
# Target Board Information:
# Name: jetson-nano-devkit, Board Family: t210ref, SoC: Tegra 210, 
# OpMode: production, Boot Authentication: , 
# Disk encryption: disabled ,
###############################################################################
Board ID(“3448”) version(“000”) 
copying bctfile(/home/watermeleon/Music/spotreset/testie/Linux_for_Tegra/bootloader/t210ref/BCT/P3448_A00_lpddr4_204Mhz_P987.cfg)... done.
copying bootloader(/home/watermeleon/Music/spotreset/testie/Linux_for_Tegra/bootloader/t210ref/cboot.bin)... done.
copying initrd(/home/watermeleon/Music/spotreset/testie/Linux_for_Tegra/bootloader/l4t_initrd.img)... done.
Making Boot image... done.
Existing sosfile(/home/watermeleon/Music/spotreset/testie/Linux_for_Tegra/bootloader/nvtboot_recovery.bin) reused.
copying tegraboot(/home/watermeleon/Music/spotreset/testie/Linux_for_Tegra/bootloader/t210ref/nvtboot.bin)... done.
copying cpu_bootloader(/home/watermeleon/Music/spotreset/testie/Linux_for_Tegra/bootloader/t210ref/cboot.bin)... done.
copying bpffile(/home/watermeleon/Music/spotreset/testie/Linux_for_Tegra/bootloader/t210ref/sc7entry-firmware.bin)... done.
copying wb0boot(/home/watermeleon/Music/spotreset/testie/Linux_for_Tegra/bootloader/t210ref/warmboot.bin)... done.
Existing tosfile(/home/watermeleon/Music/spotreset/testie/Linux_for_Tegra/bootloader/tos-mon-only.img) reused.
Existing eksfile(/home/watermeleon/Music/spotreset/testie/Linux_for_Tegra/bootloader/eks.img) reused.
copying dtbfile(/home/watermeleon/Music/spotreset/testie/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0000-p3449-0000-b00.dtb)... done.
Copying nv_boot_control.conf to rootfs
	populating kernel to rootfs... done.
	populating initrd to rootfs... done.
	populating kernel_tegra210-p3448-0000-p3449-0000-b00.dtb to rootfs... done.
Making system.img... 
	populating rootfs from /home/watermeleon/Music/spotreset/testie/Linux_for_Tegra/rootfs ... 	populating /boot/extlinux/extlinux.conf ... done.
	Sync'ing system.img ... done.
	Converting RAW image to Sparse image... done.
system.img built successfully. 
Existing tbcfile(/home/watermeleon/Music/spotreset/testie/Linux_for_Tegra/bootloader/nvtboot_cpu.bin) reused.
copying tbcdtbfile(/home/watermeleon/Music/spotreset/testie/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0000-p3449-0000-b00.dtb)... done.
copying cfgfile(/home/watermeleon/Music/spotreset/testie/Linux_for_Tegra/bootloader/t210ref/cfg/flash_l4t_t210_max-spi_sd_p3448.xml) to flash.xml... done.
copying flasher(/home/watermeleon/Music/spotreset/testie/Linux_for_Tegra/bootloader/t210ref/cboot.bin)... done.
Existing flashapp(/home/watermeleon/Music/spotreset/testie/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   --skipuid --bins "EBT cboot.bin; DTB tegra210-p3448-0000-p3449-0000-b00.dtb" 
saving flash command in /home/watermeleon/Music/spotreset/testie/Linux_for_Tegra/bootloader/flashcmd.txt
saving Windows flash command to /home/watermeleon/Music/spotreset/testie/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, 3.0452e-05 s, 32.8 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, 2.1791e-05 s, 45.9 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, 2.7378e-05 s, 146 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.0011 ] tegrasign --getmode mode.txt --key None
[   0.0018 ] Assuming zero filled SBK key
[   0.0032 ] 
[   0.0034 ] Generating RCM messages
[   0.0046 ] tegrarcm --listrcm rcm_list.xml --chip 0x21 0 --download rcm nvtboot_recovery.bin 0 0
[   0.0053 ] RCM 0 is saved as rcm_0.rcm
[   0.0068 ] RCM 1 is saved as rcm_1.rcm
[   0.0069 ] List of rcm files are saved in rcm_list.xml
[   0.0069 ] 
[   0.0069 ] Signing RCM messages
[   0.0088 ] tegrasign --key None --list rcm_list.xml --pubkeyhash pub_key.key
[   0.0096 ] Assuming zero filled SBK key
[   0.0139 ] 
[   0.0139 ] Copying signature to RCM mesages
[   0.0159 ] tegrarcm --chip 0x21 0 --updatesig rcm_list_signed.xml
[   0.0168 ] 
[   0.0168 ] Parsing partition layout
[   0.0188 ] tegraparser --pt flash.xml.tmp
[   0.0202 ] 
[   0.0203 ] Using default ramcode: 0
[   0.0203 ] Disable BPMP dtb trim, using default dtb
[   0.0203 ] 
[   0.0204 ] Creating list of images to be signed
[   0.0222 ] tegrahost --chip 0x21 0 --partitionlayout flash.xml.bin --list images_list.xml
[   0.0256 ] 
[   0.0256 ] Generating signatures
[   0.0275 ] tegrasign --key None --list images_list.xml --pubkeyhash pub_key.key
[   0.0281 ] Assuming zero filled SBK key
[   0.0725 ] 
[   0.0725 ] Generating br-bct
[   0.0737 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.cfg --chip 0x21 0
[   0.0785 ] 
[   0.0785 ] Updating boot device parameters
[   0.0804 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatedevparam flash.xml.bin
[   0.0811 ] Warning: No sdram params
[   0.0812 ] 
[   0.0813 ] Updating bl info
[   0.0833 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updateblinfo flash.xml.bin --updatesig images_list_signed.xml
[   0.0846 ] 
[   0.0846 ] Updating secondary storage information into bct
[   0.0865 ] tegraparser --pt flash.xml.bin --chip 0x21 0 --updatecustinfo P3448_A00_lpddr4_204Mhz_P987.bct
[   0.0873 ] 
[   0.0874 ] Updating Odmdata
[   0.0894 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatefields Odmdata =0xa4000
[   0.0900 ] Warning: No sdram params
[   0.0901 ] 
[   0.0901 ] Get Signed section of bct
[   0.0921 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --listbct bct_list.xml
[   0.0928 ] 
[   0.0928 ] Signing BCT
[   0.0968 ] tegrasign --key None --list bct_list.xml --pubkeyhash pub_key.key
[   0.0975 ] Assuming zero filled SBK key
[   0.0980 ] 
[   0.0980 ] Updating BCT with signature
[   0.0999 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatesig bct_list_signed.xml
[   0.1007 ] 
[   0.1007 ] Copying signatures
[   0.1026 ] tegrahost --chip 0x21 0 --partitionlayout flash.xml.bin --updatesig images_list_signed.xml
[   0.1061 ] 
[   0.1061 ] Updating BFS information on BCT
[   0.1080 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatebfsinfo flash.xml.bin
[   0.1089 ] 
[   0.1089 ] Boot Rom communication
[   0.1109 ] tegrarcm --chip 0x21 0 --rcm rcm_list_signed.xml --skipuid
[   0.1117 ] RCM version 0X210001
[   0.1568 ] Boot Rom communication completed
[   1.1676 ] 
[   1.1677 ] Sending BCTs
[   1.1719 ] tegrarcm --download bct P3448_A00_lpddr4_204Mhz_P987.bct
[   1.1743 ] Applet version 00.01.0000
[   1.1911 ] Sending bct
[   1.1912 ] [................................................] 100%
[   1.2776 ] 
[   1.2820 ] tegrahost --chip 0x21 --align cboot.bin
[   1.2847 ] 
[   1.2889 ] tegrahost --magicid EBT --appendsigheader cboot.bin cboot.bin_blheader
[   1.2956 ] 
[   1.3004 ] tegrasign --key None --list cboot.bin_list.xml
[   1.3029 ] Assuming zero filled SBK key
[   1.3168 ] 
[   1.3190 ] tegrahost --updatesigheader cboot.bin_blheader.encrypt cboot.bin_blheader.hash zerosbk
[   1.3206 ] 
[   1.3234 ] tegrahost --chip 0x21 --align tegra210-p3448-0000-p3449-0000-b00.dtb
[   1.3241 ] 
[   1.3261 ] tegrahost --magicid DTB --appendsigheader tegra210-p3448-0000-p3449-0000-b00.dtb tegra210-p3448-0000-p3449-0000-b00.dtb_blheader
[   1.3275 ] 
[   1.3297 ] tegrasign --key None --list tegra210-p3448-0000-p3449-0000-b00.dtb_list.xml
[   1.3303 ] Assuming zero filled SBK key
[   1.3374 ] 
[   1.3396 ] tegrahost --updatesigheader tegra210-p3448-0000-p3449-0000-b00.dtb_blheader.encrypt tegra210-p3448-0000-p3449-0000-b00.dtb_blheader.hash zerosbk
[   1.3405 ] 
[   1.3409 ] Sending bootloader and pre-requisite binaries
[   1.3428 ] tegrarcm --download ebt cboot.bin.encrypt 0 0 --download rp1 tegra210-p3448-0000-p3449-0000-b00.dtb.encrypt 0
[   1.3436 ] Applet version 00.01.0000
[   1.3617 ] Sending ebt
[   1.4311 ] 
Error: Return value 1
Command tegrarcm --download ebt cboot.bin.encrypt 0 0 --download rp1 tegra210-p3448-0000-p3449-0000-b00.dtb.encrypt 0
Failed flashing t210ref.

Lastly the Error from the SDK manager was as follows:

15:31:17 ERROR: Flash Jetson Nano - flash: --- Parsing board ID (ERROR: calculated CRC8 0x5b != stored CRC8 0x5) succeeded.

Hope anyone can help me out

Did you add the board ID into the xml and include the xml to your board config?

I did, I also tried setting FAB to both 000 and 400, but both didn’t work

Hi,

Could you provide more detail about current status instead of “didn’t work”? You can try to provide current log so that it might give hint.

Also, share all the things you have changed so far.

This will be better than only saying “this cannot work”.

If eeprom is already corrupted, you don’t need to try sdkm anymore. It won’t bring it back. Only flash.sh has chance.

Hi Wayne,
I’m sorry if I was not clear.
Since I already added the board ID into the xml file and the xml file into the board config in my first post, the log remains the same.
To the p3448-0000.conf.common file I added these lines:

BOARDID=“3448”;
FAB=“000”;
BCFFILE=“bootloader/${target_board}/cfg/board_config_p3448.xml”;

To the board_config_p3448.xml file I tried changing the Fab from 0 to, 000, and 400, but the output log remained the same as my first post. :
<board type="proc" id="3448" sku="0000" fab="000" />

HI,

Does your Linux_for_Tegra have a binary called cvm.bin? If so, could you use chkbdinfo tool (also inside Linux_for_Tegra) to read out this cvm.bin?

Running the following command inside the bootloader folder:

./chkbdinfo cvm.bin

Outputted this:

ERROR: calculated CRC8 0x5b != stored CRC8 0x5

This looks like the same error that I got from SDK manager which I posted at the end of my first post.

Just want to know, is your board still able to boot up?

No it isn’t that is why I wanted to reflash it

Could you also dump the uart log when the flash process is running?

If the flash.sh does not complain your CRC is incoreect, I feel the cause might be something else. For example, the board ID/sku/FAB provided is not correct.

I just ordered the cable for that and it will arrive in the mail in a few days, I will respond the uart log as soon as I have it.

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