Jetson Xavier Nx block in OTA

Hello,

I’m using a Jetson Xavier NX board under L4T R32.7.4 with a custom board. We keep having problems with the boot sequence. Some of our clients have boards that get stuck in OTA and are waiting for network connectivity. Even after a hard reset, we can’t get the board working again. The only way to have the OS boot again is to reflash the card. Is there a way to deactivate this OTA mode to avoid being blocked?

I am sending the last logs I was able to extract from the device.

LOG_SUB-C_1.txt (61.3 KB)
.

Thanks

Hi y.rodriguez,

Do you mean that the board get bricked after OTA update?

[0007.487] W> Failed to open NVME-5, err = 80800612
[0007.492] W> Failed to initialize device 10-5
[0007.496] E> NVME (5) boot failed, err: 0x80800612

It seems your board boot failed in NVMe.
Are you using NVMe and boot from it before OTA update?

How did you perform the OTA update?

If the board gets bricked, I think the only way to recover it is to reflash the board.

Hello,

No the board get bricked after a normal startup. Or after a bad power séquence.

We don’t use any nvme we are on the emmc of the Xavier nx module.
It’s a bit complicated to reflash an embeded module send to the client.

Is there a way to disable properly tis OTA ?

Yannick

For the custom carrier board, please confirm the power on sequence is correct.

Have you tried to perform image-based OTA on your board?

If the board can’t boot up successfully, I think it’s no way to access the board remotely and perform any OTA workflow.

Yes the power on boot séquence is ok but sometimes the client maybe use a bad power supply.

We use sw-update for OTA .
Is there a way to desactivate NVIDIA OTA mechanism on L4T image ?

Yannick

Do you mean the image-based OTA from OTA package or debian-based OTA from apt?

Both i don’t need them . I use sw-update so i don’t think i need them

I don’t have a keyboard and a mouse and i don’t have access to the recovery usb port . What can i do to go out this OTA mode ?

Do you mean the the recovery boot state?
It is from recovery image.

[    5.807629] Root device found: initrd
[    5.809059] Mount initrd as rootfs and enter recovery mode

Your board is boot from initrd, it may be caused from your original boot-device mounted failed.

I mean can i desactivate the fact i’m bricked in OTA mode waiting for DHCP ?
The boot device is the emmc the initrd is basicaly an overlayfs .

Can you interact in recovery boot? (i.e. can you run any command when it boot from initrd)

No the device go on ota and just wait for DHCP i can’t do nothing. But in my image Can i change something to not go to this state ?

We don’t suggest to do this. Image-based OTA and also initrd flash would need to enter the recovery boot state.
I think you should find the cause of block issue rather than removing the recovery image.

Ok, so can I have the conditions to enter this boot state? Or maybe the link to the documentation that explains the conditions for entering OTA mode.

You could refer to Recovery Image Customization

You can also configure in UEFI menu to decide if you want to Set the System to Normal Boot from the Recovery Kernel Boot.

Ok thanks i’ll have a look on your documentation. For information on jetpack 32.7.4 we have cboot and not UEFI.

Sorry, I didn’t notice for your release.
Please refer to Recovery Image Customization for R32.7.4.

Hello,
I suspect that when the client put power low the board cut the voltage before that the cpu-bootloader has time to mak the slot as valid , please refer to this schema.

Is there a way to tell the bootloader to always mark slot as valid , is only for test purpose just to make sure that’s the problem.
Yannick

It’s a usb camera that make the power dump down, it’s way to desactivate usb on boot an reactivate it in userland ?

There is no update from you for a period, assuming this is not an issue any more.
Hence we are closing this topic. If need further support, please open a new one.
Thanks

Do you mean that you want to disable USB in bootloader but using it after kernel boot up?