In mass flashing, how to distinguish which USB port is successfully programmed the jetson and which jetson of USB port is unsuccessful?

Hi All,

I have try to mass flashing 10 Orin NX devices at same time. From the logs, some devices were programmed ok, and some were not.

My question is, how to distinguish which jetson is unsuccessfully programmed?

I need to sort out the devices that have not been successfully programmed.But we can’t find any difference between them from the outside.


I’m afraid you cannot do that.
I’d suggest setting up a serial console and do a boot test to see if those devices can get into the system.

By the way, I see you file many topics recently, and can you please confirm if they have been solved or not?

Hi @DaveYYY

Mass Flashing jetson with New system:

  1. sudo ./tools/kernel_flash/ --external-device nvme0n1p1 -c tools/kernel_flash/flash_l4t_external.xml -p “-c bootloader/t186ref/cfg/flash_t234_qspi.xml” --massflash 10 --no-flash --showlogs --network usb0 jetson-orin-nano-devkit external

  2. sudo ./tools/kernel_flash/ --flash-only --showlogs --network usb0 --massflash 10

This works, but 5 in 10 always faced issue:

Error: Could not stat device /dev/nvme0n1 - No such file or directory.

flash_3- (7.8 KB)

Can you swap the NVMe drives on those modules failing to be flashed onto those successful ones?
I think that’s because the storage device is not being detected.

Or boot the device into initrd, and run ls /dev/ to see if they are being detected.

sudo ./tools/kernel_flash/ --initrd <board-name> <rootdev>

Hi @DaveYYY

This problem is a problem that troubles us very much. Why doesn’t the script recognize some NVME SSDs?

I found a way to solve it. that is take out the SSD, reformat it, and then put it back, and then I can mass flash normally.

But this efficiency is very low to deal with our hundreds of jetsons.

So have you checked this?
We’d always recommend formatting the external storage drive before flashing.

Hi @DaveYYY

So first do this command:

sudo ./tools/kernel_flash/ --initrd

Then do the mass command:

sudo ./tools/kernel_flash/ --flash-only --showlogs --network usb0 --massflash 10


I mean boot into initrd and see if you have stuff like /dev/nvme0n1.
If you don’t, then flashing is guaranteed to fail.

Hi @DaveYYY

How to ENTER boot into initrd? sorry I have no idea abou it.

I’ve said it here…

Ok, Jetson enter force-recovery mode.

then boot the device into initrd.

sudo ./tools/kernel_flash/ --initrd

Hi @DaveYYY

Does this command looks like this?

They got truncated.
You need

sudo ./tools/kernel_flash/ --initrd jetson-orin-nano-devkit nvme0n1p1

Hi @DaveYYY


sudo ./tools/kernel_flash/ --initrd jetson-orin-nano-devkit nvme0n1p1

terminal_logs.txt (92.8 KB)

flash_3- (7.0 KB)

Don’t give me log…

I need you to confirm this.
Is there anything you cannot understand?

Hi @DaveYYY

From the screenshot, the command sudo ./tools/kernel_flash/ --initrd jetson-orin-nano-devkit nvme0n1p1 just return a log.

So do I need to check the log, to find the stuff like /dev/nvme0n1 ?

Sorry, I don’t understand how to find the /dev/nvme0n1.

OK, let’s assume it’s really that difficult for you…

I mean:

You have to setup serial console before flashing, and after the device boots into initrd with your flashing command, you’ll have access to bash in the serial console just like you do with a normal Linux system, then inside this bash environment, run stuff like ls /dev/ | grep nvme to see if the SSD is being detected.

If it does not show up, then initrd flash is 100% guaranteed to fail, and the only thing you can do is to format the SSD before flashing.

Is everything clear now?

Also, I will receive notification each time you make a reply, so there is no need to tag me.
It’s kind of annoying…

In case you don’t know what is serial console.

Hi Dave,
Under the force recovery mode, can we format the NVME SSD which installed on carrier board?

I don’t think so.
You should do it by connecting the storage drive to your host PC.