Xavier NX cannot boot into ubuntu. fixable but happening repeatedly

Hi,

I have several Xavier NX developer kits, and some of them suddenly could not boot into ubuntu. The phenomenon is that: connected screens always remain black, when the Xaviers were powered up.
The problem seems not to be caused by SD cards, because these cards were tested working properly on other Xaviers.

I can fix them by entering force recovery mode, connecting to a host PC, and flashing them by Nvidia SDK manager.
But I cannot fix them by flashing a new SD card and insert it to Xaviers.
Also, after flashing it, I can use the old SD card to boot again.

I’m wondering

  • What is the cause to the problem.
  • Is it possible to fix it without flashing a new system image (cause I do not really need a new system and flashing is slow).

Here is one error log when flashing using Nvidia SDK manager:

09:47:55.287 - error: NV_L4T_FLASH_XAVIER_NX_WITH_OS_IMAGE_COMP@JETSON_XAVIER_NX_TARGETS: 30412 blocks
09:47:55.288 - info: Event: NV_L4T_FLASH_XAVIER_NX_WITH_OS_IMAGE_COMP@JETSON_XAVIER_NX_TARGETS - error is: 30412 blocks
09:47:55.528 - info: NV_L4T_FLASH_XAVIER_NX_WITH_OS_IMAGE_COMP@JETSON_XAVIER_NX_TARGETS: _BASE_KERNEL_VERSION=4.9.253-tegra
09:47:56.218 - info: NV_L4T_FLASH_XAVIER_NX_WITH_OS_IMAGE_COMP@JETSON_XAVIER_NX_TARGETS: ~/nvidia/nvidia_sdk/JetPack_4.6_Linux_JETSON_XAVIER_NX_TARGETS/Linux_for_Tegra/bootloader/ramdisk_tmp/lib ~/nvidia/nvidia_sdk/JetPack_4.6_Linux_JETSON_XAVIER_NX_TARGETS/Linux_for_Tegra/bootloader/ramdisk_tmp ~/nvidia/nvidia_sdk/JetPack_4.6_Linux_JETSON_XAVIER_NX_TARGETS/Linux_for_Tegra/bootloader ~/nvidia/nvidia_sdk/JetPack_4.6_Linux_JETSON_XAVIER_NX_TARGETS/Linux_for_Tegra
09:48:00.394 - error: NV_L4T_FLASH_XAVIER_NX_WITH_OS_IMAGE_COMP@JETSON_XAVIER_NX_TARGETS: 66117 blocks
09:48:00.394 - info: Event: NV_L4T_FLASH_XAVIER_NX_WITH_OS_IMAGE_COMP@JETSON_XAVIER_NX_TARGETS - error is: 66117 blocks
09:48:00.441 - info: NV_L4T_FLASH_XAVIER_NX_WITH_OS_IMAGE_COMP@JETSON_XAVIER_NX_TARGETS: Making Recovery image...
09:48:00.839 - info: NV_L4T_FLASH_XAVIER_NX_WITH_OS_IMAGE_COMP@JETSON_XAVIER_NX_TARGETS: copying recdtbfile(/home/correct-ai/nvidia/nvidia_sdk/JetPack_4.6_Linux_JETSON_XAVIER_NX_TARGETS/Linux_for_Tegra/kernel/dtb/tegra194-p3668-all-p3509-0000.dtb.rec)... done.
09:48:00.845 - error: NV_L4T_FLASH_XAVIER_NX_WITH_OS_IMAGE_COMP@JETSON_XAVIER_NX_TARGETS: 20+0 records in
09:48:00.845 - info: Event: NV_L4T_FLASH_XAVIER_NX_WITH_OS_IMAGE_COMP@JETSON_XAVIER_NX_TARGETS - error is: 20+0 records in
09:48:00.846 - info: NV_L4T_FLASH_XAVIER_NX_WITH_OS_IMAGE_COMP@JETSON_XAVIER_NX_TARGETS: 20+0 records out
09:48:00.846 - info: NV_L4T_FLASH_XAVIER_NX_WITH_OS_IMAGE_COMP@JETSON_XAVIER_NX_TARGETS: 20 bytes copied, 0.00025587 s, 78.2 kB/s
09:48:00.856 - info: NV_L4T_FLASH_XAVIER_NX_WITH_OS_IMAGE_COMP@JETSON_XAVIER_NX_TARGETS: Existing sosfile(/home/correct-ai/nvidia/nvidia_sdk/JetPack_4.6_Linux_JETSON_XAVIER_NX_TARGETS/Linux_for_Tegra/bootloader/mb1_t194_prod.bin) reused.

And the full flashing log is here.
sdkm-2021-08-26-09-47-00.log (542.5 KB)

Just let you know that you filed a topic on Jetson TX2 forum. And it is wrong forum.

I have moved it to Jetson NX board. Please be aware of this next time.

The explanation for why only sdkm can work is as below.

There is no other solution to fix it.

Hi Wayne,

Thanks for your reply! Sorry for the trouble, It seems the formu was auto filled and I forgot to change.

So is it probably the QSPI-NOR bootloader sw is broken? I checked this post: Is it possible flash only QSPI-NOR? and it looks like that I can flash the QSPI-NOR seperatly by this command with L4T pack:

sudo ./flash.sh jetson-xavier-nx-devkit-qspi mmcblk0p1

I will try it if I have another broken one.

Also, do you have an idea of the common reason that causes QSPI-NOR to go wrong?