Failed to flash using initrd when adding the --flash-only option

hello
I’ll start by using this command to generate a flash image:

BOARDID=3767 FAB=300 BOARDSKU=0003 BOARDREV="" ./tools/kernel_flash/l4t_initrd_flash.sh --no-flash --network usb0 jetson-orin-nano-devkit nvme0n1p1

build.log (162.4 KB)

Then flash with this command will fail:

./tools/kernel_flash/l4t_initrd_flash.sh --flash-only --network usb0

flash.log (7.6 KB)

I see an error in the serial port log:

?RROR: camera-ip/isp5/isp5.c:1980 [isp5_pm_init] "ERROR: Failed to turn isp power on"
BUG: core/init/init.c:85 [init_all] "*** FIRMWARE INIT FAILED AT LEVEL 95 ***"

serial.log (25.0 KB)

But I use this command Flash is able to flash successfully:

BOARDID=3767 BOARDSKU=0003 ./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" --network usb0 jetson-orin-nano-devkit external
  • The hardware uses the Jetson orin nx module and custom carrier, and the SDK is Jetson Linux 35.6

Hi,

The error might be come from you don’t flash the qspi.
What is your reason for not using original flash command?

Thanks

Because I need to generate the burn environment to the factory
https://docs.nvidia.com/jetson/archives/r36.3/DeveloperGuide/SD/FlashingSupport.html#flashing-to-multiple-jetson-devices
I see that the documentation here does not have this parameter either:
-p “-c bootloader/t186ref/cfg/flash_t234_qspi.xml”
I compared the logs of success and failure. The file blob_bpmp_t234-TE980M-A1_prod_sigheader.bin.encrypt is used for failure and the file blob_bpmp_t234-TE950M-A1_prod_sigheader.bin.encrypt is used for success. This parameter is determined by CHIP_SKU, is it necessary to configure environment variable CHIP_SKU?

I still get the same error when using this command:
`BOARDID=3767 FAB=300 BOARDSKU=0003 BOARDREV=“” ./tools/kernel_flash/l4t_initrd_flash.sh --no-flash --external-device nvme0n1p1 --network usb0 -c tools/kernel_flash/flash_l4t_external.xml -p “-c bootloader/t186ref/cfg/flash_t234_qspi.xml” jetson-orin-nano-devkit nvme0n1p1

./tools/kernel_flash/l4t_initrd_flash.sh --flash-only --network usb0
`

Yes your chip sku is wrong that is causing this error.

?RROR: camera-ip/isp5/isp5.c:1980 [isp5_pm_init] “ERROR: Failed to turn isp power on”
BUG: core/init/init.c:85 [init_all] “*** FIRMWARE INIT FAILED AT LEVEL 95 ***”

This error is from BPMP, so anything related to BPMP /BPMP dtb might be the cause.

How do I configure the chip sku? I can’t find the relevant documentation

How do I view CHIP_SKU,RAMCODE_ID and BOARDREV from the successful flash log

Plug the board with recovery mode and usb cable to read out the module info first.

How to read out the module info?

The module info is in the EEPROM of the module. You cannot use lsusb command from host.

The flash tool will read it when the board is in RCM.

I see in the documentation that I don’t need to get module info in advance. If I don’t use rootfs A/B and disk encryption, can I create a flash image first and then just flash?
Can I use this command?

# Generate images for QSPI
$ sudo ROOTFS_AB=0 ./tools/kernel_flash/l4t_initrd_flash.sh --showlogs -p "-c bootloader/t186ref/cfg/flash_t234_qspi.xml" --no-flash --network usb0 jetson-orin-nano-devkit internal

# Generate images for external storage device
$ sudo ROOTFS_AB=0 ./tools/kernel_flash/l4t_initrd_flash.sh --showlogs --no-flash --external-device nvme0n1p1 -c ./tools/kernel_flash/flash_l4t_t234_nvme_rootfs_ab.xml --external-only --append --network usb0 jetson-orin-nano-devkit external

# Flash images into the both storage devices
$ sudo ./tools/kernel_flash/l4t_initrd_flash.sh --showlogs --network usb0 --flash-only

https://docs.nvidia.com/jetson/archives/r35.6.0/DeveloperGuide/SD/FlashingSupport.html?highlight=boardrev#using-initrd-flash-with-orin-nx-and-nano

If you are not sure about the module you are using, then you must not use offline method. You have to get the module directly.

I’m sure I used the orin nano module, if I need to flash in the factory, I can only use the offline method to improve the flash speed
I have followed this file:Flashing Support — NVIDIA Jetson Linux Developer Guide 1 documentation
Just set ROOTFS AB=1 and it still fails
Here is the full log:
builda.log (268.6 KB)
flasha.log (8.2 KB)
seriala.log (25.0 KB)
Can you help me see what I should do? thank you

Just to clarify the situation

  1. Are you using a physical module connected to your host with recovery mode in above log? Or you don’t have anything connected but using offline mode?

  2. What is the flash log on the same board if you don’t use --no-flash + --flash-only combo but directly use direct flash command? Will it succeed?

I did not connect the device when executing l4t_initrd_flash.sh --no-flash
I connected the device when executing l4t_initrd_flash.sh --flash-only and the device was in recovery mode

This command can be executed successfully:
BOARDID=3767 BOARDSKU=0003 ./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" --network usb0 jetson-orin-nano-devkit external
Here’s the success log:
flash_ok.log (276.5 KB)
serial_ok.log (202.5 KB)

Hi,

Will your flash pass if you use this command? What I am talking about here is if you don’t give the board ID in the flash command, will it pass or not? That is what I want to know since the beginning.

./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" --network usb0 jetson-orin-nano-devkit external

I just tested, without setting the board ID can flash successfully
Here’s the log:
flashok.log (282.9 KB)
serialok.log (196.3 KB)

Board ID(3767) version(300) sku(0003) revision(P.1)
Chip SKU(00:00:00:D5) ramcode(2) fuselevel(fuselevel_production) board_FAB(300)

It looks like the chip sku would become D3 if using offline method but it should be D5 and that causes the issue. We will review the log and see what is going on.

Hi,

Sorry for the late update.
Could you refer to this Flashing Support — NVIDIA Jetson Linux Developer Guide to get the module info.

And flash with offline mode again to check whether issue exists.

Thanks