[35.3.1] orin nano 4gb cannot be flashed. (might be timeout in USB write)

Hi,
I can flash the image to OrinNano 8GB, but it is fail to flash the image to OrinNano 4GB.
I used the following commands according the post: 35.3.1, how to massflash into Orin Nano - #29 by JackyChen

  1. sudo ./tools/backup_restore/l4t_backup_restore.sh -b -c jetson-orin-nano-devkit
  2. sudo BOARDID=3767 BOARDSKU=0004 ./tools/kernel_flash/l4t_initrd_flash.sh --no-flash --external-device nvme0n1p1 -p “-c bootloader/t186ref/cfg/flash_t234_qspi.xml --no-systemimg” -c ./tools/kernel_flash/flash_l4t_external.xml --massflash 5 --showlogs --network usb0 PE1100N-orin nvme0n1p1
  3. sudo mv mfi_PE1100N-orin.tar.gz ~/workspace/pe1000n/images/nano4g/
  4. cd ~/workspace/pe1000n/images/nano4g/
  5. sudo tar -xvf mfi_PE1100N-orin.tar.gz
  6. cd mfi_PE1100N-orin
  7. sudo ./tools/kernel_flash/l4t_initrd_flash.sh --erase-all --flash-only --massflash 2 --showlogs PE1100N-orin nvme0n1p1

The console log shows error:
fengying_chu@fengyingchu-TS700-E6-RS8:~/workspace/pe1000n/images/nano8g/mfi_PE1100N-orin$ !1012
sudo minicom -D /dev/ttyUSB0 -8 -b 115200
[sudo] password for fengying_chu:

Welcome to minicom 2.7

OPTIONS: I18n
Compiled on Nov 15 2018, 20:18:47.
Port /dev/ttyUSB0, 14:19:45

Press CTRL-A Z for help on special keys

▒▒
[0009.529] I> MB1 (version: 0.32.0.0-t234-54845784-57325615)
[0009.534] I> t234-A01-1-Silicon (0x12347) Prod
[0009.539] I> Boot-mode : Coldboot
[0009.542] I> Emulation:
[0009.544] I> Entry timestamp: 0x00000000
[0009.548] I> last_boot_error: 0x0
[0009.551] I> BR-BCT: preprod_dev_sign: 0
[0009.555] I> rst_source: 0x0, rst_level: 0x0
[0009.559] I> Task: Bootchain select WAR set (0x5000ba65)
[0009.564] I> Task: Enable SLCG (0x5000bab1)
[0009.568] I> Task: CRC check (0x5001ea19)
[0009.572] I> Task: Initialize MB2 params (0x5000cb51)
[0009.578] I> MB2-params @ 0x40060000
[0009.581] I> Task: Crypto init (0x5001d981)
[0009.585] I> Task: Secure debug controls (0x5000c0a9)
[0009.590] I> Task: strap war set (0x5000ba2d)
[0009.594] I> Task: Initialize SOC Therm (0x5001bd35)
[0009.599] I> Task: Program NV master stream id (0x5000c05d)
[0009.605] I> Task: Verify boot mode (0xd4820f1)
[0009.611] I> Task: Alias fuses (0x5001095d)
[0009.615] W> FUSE_ALIAS: Fuse alias on production fused part is not supported.
[0009.622] I> Task: Print SKU type (0x5000f5f1)
[0009.626] I> FUSE_OPT_CCPLEX_CLUSTER_DISABLE = 0x000001c8
[0009.631] I> FUSE_OPT_GPC_DISABLE = 0x00000002
[0009.635] I> FUSE_OPT_TPC_DISABLE = 0x000000fc
[0009.640] I> FUSE_OPT_DLA_DISABLE = 0x00000003
[0009.644] I> FUSE_OPT_PVA_DISABLE = 0x00000001
[0009.648] I> FUSE_OPT_NVENC_DISABLE = 0x00000001
[0009.653] I> FUSE_OPT_NVDEC_DISABLE = 0x00000000
[0009.657] I> FUSE_OPT_FSI_DISABLE = 0x00000001
[0009.661] I> FUSE_OPT_EMC_DISABLE = 0x0000000c
[0009.666] I> FUSE_BOOTROM_PATCH_VERSION = 0x7
[0009.670] I> FUSE_PSCROM_PATCH_VERSION = 0x7
[0009.674] I> FUSE_OPT_ADC_CAL_FUSE_REV = 0x2
[0009.678] I> FUSE_SKU_INFO_0 = 0xd6
[0009.681] I> FUSE_OPT_SAMPLE_TYPE_0 = 0x3 PS
[0009.686] I> FUSE_PACKAGE_INFO_0 = 0x2
[0009.689] I> SKU: Prod
[0009.691] I> Task: Boost clocks (0x500148a1)
[0009.695] I> Initializing PLLC2 for AXI_CBB.
[0009.700] I> AXI_CBB : src = 35, divisor = 0
[0009.704] I> Task: Voltage monitor (0x50014b49)
[0009.708] I> VMON: Vmon re-calibration and fine tuning done
[0009.714] I> Task: UPHY init (0x5000d065)
[0009.720] I> HSIO UPHY init done
[0009.723] E> Skipping GBE UPHY config
[0009.726] I> Task: Boot device init (0x50000be9)
[0009.731] I> Boot_device: RCM
[0009.734] I> USB configuration success
[0009.744] I> Task: TSC init (0x50020a4d)
[0009.748] I> Task: Load membct (0x50011fe9)
[0009.752] I> RAM_CODE 0x4000041
[0009.755] I> Loading MEMBCT
[0009.758] I> Slot: 0
[0009.760] I> Binary[1] block-0 (partition size: 0x40000)
[0009.765] I> get_binary_info: Binary name: MEM-BCT-1
[0009.770] I> Size of crypto header is 8192
[0009.774] I> BCH load address is : 0x40050000
[0009.778] I> Size of crypto header is 8192
[0009.782] I> BCH of MEM-BCT-1 read from storage
[0009.787] I> BCH address is : 0x40050000
[0009.790] I> MEM-BCT-1 header integrity check is success
[0009.796] E> MEM-BCT-1 binary magic_id not found
[0009.801] C> LOADER: Could not read binary 1.
[0009.805] C> MSS: Failed to load MEMBCT.
[0009.809] C> Task 0x0 failed (err: 0x4822970d)
[0009.813] E> Top caller module: MSS, error module: LOADER, reason: 0x0d, aux_info: 0x97
[0009.821] C> Boot Info Table status dump :
1

CTRL-A Z for help | 115200 8N1 | NOR | Minicom 2.7 | VT102 | Offline | ttyUSB0

Could you please check it for us? Thanks a lot.

buildlog.txt (26.0 MB)
console.txt (3.6 KB)

Hi,
I tried the following steps on Nano 4gb, and the same problem occurred.

  1. PC does not connect with Nano 4gb DUT.
  2. sudo rm -rf tools/kernel_flash/images/
  3. sudo BOARDID=3767 BOARDSKU=0004 ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -c tools/kernel_flash/flash_l4t_external.xml -p “-c bootloader/t186ref/cfg/flash_t234_qspi.xml” --showlogs --network usb0 PE1100N-orin internal
  4. Nano 4gb DUT connect to PC
  5. sudo ./tools/kernel_flash/l4t_initrd_flash.sh --erase-all --flash-only --massflash 2 --showlogs PE1100N-orin nvme0n1p1

The log is attached.
buildlog_01.txt (277.8 KB)
console_01.txt (3.5 KB)

Hi,
I tried to build by using jetson-orin-nano-devkit.conf, and the same issue occurred as well.

  1. PC does not connect with Nano 4gb DUT.
  2. sudo BOARDID=3767 BOARDSKU=0004 ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -c tools/kernel_flash/flash_l4t_external.xml -p “-c bootloader/t186ref/cfg/flash_t234_qspi.xml” --showlogs --network usb0 jetson-orin-nano-devkit internal
  3. Nano 4gb DUT connect to PC
  4. sudo ./tools/kernel_flash/l4t_initrd_flash.sh --erase-all --flash-only --massflash 2 --showlogs jetson-orin-nano-devkit nvme0n1p1

The log is attached.

buildlog_02.txt (278.4 KB)
console_02.txt (3.5 KB)

I found that if I use Orin Nano 4GB SOM DUT connected to the PC, it is good to build and flash the image to Orin Nano 4GB SOM, without the issue of “ERROR: might be timeout in USB write”.

似乎是檔案"mem_rcm_sigheader.bct.encrypt"的問題。
我現在有兩個Orin Nano 4GB 的image壓縮檔,其中一個會發生"usb write timeout"問題,另外一個不會發生"usb write timeout"問題。
不會發生"usb write timeout"問題的Orin Nano 4GB image壓縮檔的產生方式是在build code前將4GB SOM DUT連接在PC上。

我將"不會發生usb write timeout的image包"裏頭的bootloader/mem_rcm_sigheader.bct.encrypt檔案,複製且覆蓋到"會發生usb write timeout的image包"裏頭的bootloader/mem_rcm_sigheader.bct.encrypt檔案。
然後再使用此image包,則發現到竟然不會發生"usb write timeout"問題,且能正常的燒到DUT上。

Hi fengying_chu,
mass flash command to flash NVMe still need some update in future, so PLEASE use command followed which has been verified by other customer.

pipeline op : 1.1 pre-process => 1.2 - 1.6 flash =>2.1-2.6 mass flash process.

this test based on Orin nano devkit,so you need modify cfg file and some parameters according to your side

1.1 Before flash to target, disable resize feature.
cd $Linux_for_Tegra/rootfs/usr/lib/nvidia
sudo tar zcvf resizefs.tgz resizefs
sudo rm -rf resizefs
cd $Linux_for_Tegra/rootfs/usr/lib/ubiquity/plugins
sudo tar zcvf nvresizefs.tgz nvresizefs.py
sudo rm -rf nvresizefs.py
1.2 Then flash target Orin Nano. Example:
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1 -S 8GiB -c ./tools/kernel_flash/flash_l4t_external.xml -p “-c bootloader/t186ref/cfg/flash_t234_qspi.xml” --network usb0 jetson-orin-nano-devkit nvme0n1p1
1.3 Install customized apps in target device.
1.4 Reboot target Orin Nano
1.5 After reboot complete, do backup actions
nvidia@onano:~$ sudo su
root@onano:/home/nvidia# echo u > /proc/sysrq-trigger
root@onano:/home/nvidia# echo u > /proc/sysrq-trigger
[ 413.405848] sysrq: Emergency Remount R/O
root@onano:/home/nvidia# dd if=/dev/nvme0n1p1 | ssh user@hostpc dd of=/data/goldenimage.raw
1.6 Convert raw data to sparse format
$Linux_for_Tegra/bootloader/mksparse -v --fillpattern=0 goldenimage.raw golden_rootfs.img
Now, ‘golden_rootfs.img’ is the golden image.
Create Factory Package
2.1 Set target Orin Nano to RCM mode.
2.2 Generate a draft mass flash package.
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --no-flash --external-device nvme0n1 -S 8GiB -c ./tools/kernel_flash/flash_l4t_external.xml -p “-c bootloader/t186ref/cfg/flash_t234_qspi.xml” --massflash 2 --network usb0 jetson-orin-nano-devkit nvme0n1p1
Note: "-S 8GiB’ value should align with step 1.2.
2.3 Unpack ‘mfi_jetson-orin-nano-devkit.tar.gz’ and replace system.img
cp golden_rootfs.img $mfi_jetson-orin-nano-devkit/tools/kernel_flash/images/external/system.img
Update ‘$mfi_jetson-orin-nano-devkit/tools/kernel_flash/images/external/system.img.sha1sum’ based on “golden_rootfs.img”
2.4 Repack ‘mfi_jetson-orin-nano-devkit.tar.gz’.
2.5 Release ‘mfi_jetson-orin-nano-devkit.tar.gz’ to factory.
2.6 Massflash via ‘sudo ./tools/kernel_flash/l4t_initrd_flash.sh --flash-only --massflash 2’ cmd.

Hi @Jeffli ,
the steps are really complicated…

If I donot change any code or setting on bootloader, can I just copy the “golden” mem_rcm_sigheader.bct.encrypt to my mfi_jetson-orin-nano-devkit.tar.gz to avoid the problem of usb write timeout?

您好,如果我不修改bootloader的情況下,我能直接將可用的mem_rcm_sigheader.bct.encrypt檔案,複製覆蓋到給予工廠的mfi_jetson-orin-nano-devkit.tar.gz檔案裏頭嗎,以迴避usb write timeout的問題。

也就是說,如果我不修改bootloader的情況下,但是修改kernel以及rootfs,我能使用同一份mem_rcm_sigheader.bct.encrypt檔案嗎?

您的步驟是將mfi_jetson-orin-nano-devkit.tar.gz的system.img整個換掉,我一定得這樣做嗎?
我能不能只是使用 " golden " mem_rcm_sigheader.bct.encrypt檔案來換掉mfi_jetson-orin-nano-devkit.tar.gz的mem_rcm_sigheader.bct.encrypt檔案呢?

感謝。

Hi fengying_chu,
如果你的目标是NVMe刷系统,并且希望基于此进行批量刷机,那么上面的步骤就不能简化,虽然看着有点复杂,但有客户已经验证过了,是worked。对于简化步骤我司没有进行过验证。

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