AGX L4T 32.7.1 Unable to flash 1TB nvme

Dear nvidia support –

What is the proper method to flash a 1TB NVME attached to an AGX SOM using flash.sh?
This is a follow-on to:

We have a custom carrier board with a Xavier AGX SOM. Running the L4T flash.sh script to attempt to flash the nvme drive fails in tegrabct_v2. tegrabct_v2 is an ELF executable, so I cannot debug further. The tail end of the script output:

[  10.3735 ] Generating coldboot mb1-bct
[  10.3871 ] tegrabct_v2 --chip 0x19 0 --mb1bct mb1_cold_boot_bct.cfg --sdram /media/vproc/FLIR/rcarter/flash-tools-xavier/build_output/sdk_32.7.1/Linux_for_Tegra/bootloader/189200/tmp5a2atdnt1.cfg --misc tegra194-mb1-bct-misc-l4t.cfg --scr tegra194-mb1-bct-scr-cbb-mini.cfg --pinmux tegra19x-mb1-pinmux-p2888-0000-a04-p2822-0000-b01.cfg --pmc tegra19x-mb1-padvoltage-p2888-0000-a00-p2822-0000-a00.cfg --pmic tegra194-mb1-bct-pmic-p2888-0001-a04-E-0-p2822-0000.cfg --brcommand tegra194-mb1-bct-reset-p2888-0000-p2822-0000.cfg --prod tegra19x-mb1-prod-p2888-0000-p2822-0000.cfg --gpioint tegra194-mb1-bct-gpioint-p2888-0000-p2822-0000.cfg --uphy tegra194-mb1-uphy-lane-p2888-0000-p2822-0000.cfg --device tegra19x-mb1-bct-device-sdmmc.cfg
[  10.3887 ] MB1-BCT version: 0x1

[  10.3902 ] Parsing config file :tegra19x-mb1-pinmux-p2888-0000-a04-p2822-0000-b01.cfg 
[  10.3905 ] Added Platform Config 0 data with size :- 3168

[  10.4129 ] Parsing config file :tegra194-mb1-bct-scr-cbb-mini.cfg 
[  10.4134 ] File read failed
[  10.4216 ] File read failed
[  10.4322 ] Added Platform Config 1 data with size :- 19640

[  10.4326 ] Parsing config file :tegra19x-mb1-padvoltage-p2888-0000-a00-p2822-0000-a00.cfg 
[  10.4332 ] Added Platform Config 2 data with size :- 24

[  10.4336 ] Parsing config file :tegra194-mb1-bct-pmic-p2888-0001-a04-E-0-p2822-0000.cfg 
[  10.4342 ] Added Platform Config 4 data with size :- 348

[  10.4518 ] Parsing config file :tegra194-mb1-bct-reset-p2888-0000-p2822-0000.cfg 
[  10.4524 ] Added Platform Config 3 data with size :- 92

[  10.4660 ] Parsing config file :tegra19x-mb1-prod-p2888-0000-p2822-0000.cfg 
[  10.4665 ] Added Platform Config 5 data with size :- 68

[  10.4669 ] Parsing config file :tegra194-mb1-bct-gpioint-p2888-0000-p2822-0000.cfg 
[  10.4675 ] Added Platform Config 7 data with size :- 392

[  10.4700 ] Parsing config file :tegra194-mb1-uphy-lane-p2888-0000-p2822-0000.cfg 
[  10.4706 ] Added Platform Config 8 data with size :- 12

[  10.4709 ] Parsing config file :tegra19x-mb1-bct-device-sdmmc.cfg 
[  10.4713 ] Added Platform Config 9 data with size :- 32
[  10.4713 ] 
[  10.4714 ] Updating mb1-bct with firmware information
[  10.4735 ] tegrabct_v2 --chip 0x19 --mb1bct mb1_cold_boot_bct_MB1.bct --updatefwinfo flash.xml.bin
[  10.4753 ] MB1-BCT version: 0x1
[  10.4767 ] 
[  10.4767 ] Updating mb1-bct with storage information
[  10.4799 ] tegrabct_v2 --chip 0x19 --mb1bct mb1_cold_boot_bct_MB1.bct --updatestorageinfo flash.xml.bin
[  10.4816 ] MB1-BCT version: 0x1
[  10.4819 ] There is no MB1-BCT device type corresponding to pt type: 9
[  10.4819 ] 
Error: Return value 2
Command tegrabct_v2 --chip 0x19 --mb1bct mb1_cold_boot_bct_MB1.bct --updatestorageinfo flash.xml.bin

Entire flash.sh output:
agx_flash.sh_failure.txt (41.0 KB)

Well, I may answer my own question here.

This post says initrd is the only means to directly flash nvme, and that requires a fully working USB-C 3.0 port on the target:

This provides some manual steps to provision a rootfs partition on an nvme drive – but the drive has to be removed from the SOM and connected to the host. The same steps could likely be done on the target, if the target can from emmc and it’s rootfs has parted/gparted and rsync – the rsync could be done over TCP/IP. Pretty painful.
https://docs.nvidia.com/jetson/archives/l4t-archived/l4t-3261/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide/flashing.html#wwpID0E0QN0HA

You already filed similar posts. So let’s close this as duplicated and use that one to track.

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