Orin NX Fail to Boot; Corrupted OP-TEE partition

Recently, we ran into a persistent booting issue on the Orin NX in which it hangs on boot. I’ve attached UART debug logs below of what we observe, which seems like the QSPI/OP-TEE partition had been corrupted. The Orin NX is flashed with JP 5.1.3 and seated on a Forecr DSBOARD-ORNXLAN. The unit had been functional for many power cycles without this issue arising. After a reflash, the unit was functional again with no visible defects. What could possibly cause this issue to arise? We do not modify the device tree or kernel after flashing, so we are unsure what ultimately caused this issue.

I/TC: Reserved shared memory is disabled
I/TC: Dynamic shared memory is enabled
I/TC: Normal World virtualization support is disabled
I/TC: Asynchronous notifications are disabled
E/TC:?? 00
E/TC:?? 00 User mode data-abort at address 0x40 (translation fault)
E/TC:?? 00 esr 0x92000005 ttbr0 0x200047c1ba000 ttbr1 0x00000000 cidr 0x0
E/TC:?? 00 cpu #0 cpsr 0x60000000
E/TC:?? 00 x0 00000000405e0000 x1 0000000000000000
E/TC:?? 00 x2 0000000000000020 x3 00000000405f5c58
E/TC:?? 00 x4 00000000405f5c57 x5 00000000405d9410
E/TC:?? 00 x6 00000000000000fc x7 00000000000000fc
E/TC:?? 00 x8 00000000000000fc x9 0000000000000000
E/TC:?? 00 x10 0000a00000001000 x11 0000000000000040
E/TC:?? 00 x12 0000000000000000 x13 4200004000000000
E/TC:?? 00 x14 0000000000000000 x15 0000000000000000
E/TC:?? 00 x16 00000000400491f8 x17 00000000000000f8
E/TC:?? 00 x18 0000000000000000 x19 00000000405ef160
E/TC:?? 00 x20 00000000405f5c58 x21 00000000405e0000
E/TC:?? 00 x22 0000000000000020 x23 000000000000003f
E/TC:?? 00 x24 00000000405f5c57 x25 0000000000000000
E/TC:?? 00 x26 0000000000001000 x27 0000000000040000
E/TC:?? 00 x28 0000000040508000 x29 00000000405f5bb0
E/TC:?? 00 x30 0000000040500370 elr 00000000405d9494
E/TC:?? 00 sp_el0 00000000405f5bb0
E/TC:?? 00 region 0: va 0x0000000040000000 pa 0x000000047c042000 size 0x002000 flags ---R-X
E/TC:?? 00 region 1: va 0x0000000040002000 pa 0x000000047c190000 size 0x001000 flags ---RW-
E/TC:?? 00 region 2: va 0x0000000040004000 pa 0x000000047c240000 size 0x03f000 flags r-xR--
E/TC:?? 00 region 3: va 0x0000000040043000 pa 0x000000047c27f000 size 0x001000 flags rw----
E/TC:?? 00 region 4: va 0x0000000040044000 pa 0x000000047c280000 size 0x00b000 flags r-x---
E/TC:?? 00 region 5: va 0x000000004004f000 pa 0x000000047c28b000 size 0x001000 flags rw----
E/TC:?? 00 region 6: va 0x0000000040050000 pa 0x000000047c28c000 size 0x001000 flags r-x---
E/TC:?? 00 region 7: va 0x0000000040051000 pa 0x000000047c28d000 size 0x2b3000 flags r-xR--
E/TC:?? 00 region 8: va 0x0000000040304000 pa 0x000000047c540000 size 0x1fc000 flags rw-RW-
E/TC:?? 00 region 9: va 0x0000000040500000 pa 0x000000047c73c000 size 0x008000 flags r-x---
E/TC:?? 00 region 10: va 0x0000000040508000 pa 0x000000047c744000 size 0x001000 flags rw-RW-
E/TC:?? 00 region 11: va 0x0000000040509000 pa 0x000000047c745000 size 0x001000 flags r-x---
E/TC:?? 00 region 12: va 0x000000004050a000 pa 0x000000047c746000 size 0x002000 flags rw-RW-
E/TC:?? 00 region 13: va 0x000000004050c000 pa 0x000000047c748000 size 0x005000 flags r-x---
E/TC:?? 00 region 14: va 0x0000000040511000 pa 0x000000047c74d000 size 0x001000 flags rw-RW-
E/TC:?? 00 region 15: va 0x0000000040512000 pa 0x000000047c74e000 size 0x001000 flags r-x---
E/TC:?? 00 region 16: va 0x0000000040513000 pa 0x000000047c74f000 size 0x0c3000 flags rw-RW-
E/TC:?? 00 region 17: va 0x00000000405d6000 pa 0x000000047c812000 size 0x00a000 flags r-x---
E/TC:?? 00 region 18: va 0x00000000405e0000 pa 0x000000047c81c000 size 0x001000 flags rw-RW-
E/TC:?? 00 region 19: va 0x00000000405e1000 pa 0x000000047c81d000 size 0x001000 flags r-x---
E/TC:?? 00 region 20: va 0x00000000405e2000 pa 0x000000047c81e000 size 0x002000 flags rw-RW-
E/TC:?? 00 region 21: va 0x00000000405e4000 pa 0x000000047c820000 size 0x006000 flags r-x---
E/TC:?? 00 region 22: va 0x00000000405ea000 pa 0x000000047c826000 size 0x001000 flags rw-RW-
E/TC:?? 00 region 23: va 0x00000000405eb000 pa 0x000000047c827000 size 0x001000 flags r-x---
E/TC:?? 00 region 24: va 0x00000000405ec000 pa 0x000000047c828000 size 0x01f000 flags rw-RW-
E/TC:?? 00 region 25: va 0x000000004060b000 pa 0x000000047c847000 size 0x015000 flags rw-RW-
E/TC:?? 00 region 26: va 0x0000000040620000 pa 0x000000000c198000 size 0x001000 flags rw----
E/TC:?? 00 region 27: va 0x0000000040621000 pa 0x0000000003270000 size 0x010000 flags rw----
E/TC:?? 00 region 28: va 0x0000000040631000 pa 0x000000000c390000 size 0x002000 flags rw----
�� ��ERROR: Exception reason=0 syndrome=0xbe000011
ERROR: **************************************
ERROR: RAS Uncorrectable Error in IOB, base=0xe010000:
ERROR: Status = 0xec000612
ERROR: SERR = Error response from slave: 0x12
ERROR: IERR = CBB Interface Error: 0x6
ERROR: Overflow (there may be more errors) - Uncorrectable
ERROR: MISC0 = 0xc4460040
ERROR: MISC1 = 0x104c860000000000
ERROR: MISC2 = 0x0
ERROR: MISC3 = 0x0
ERROR: ADDR = 0x8000000003270000
ERROR: **************************************
ERROR: sdei_dispatch_event returned -1
Unhandled Exception in EL3.
x30 = 0x0000000050011384
x0 = 0x0000000000000000
x1 = 0x0000000000000000
x2 = 0x000000005000d1b8
x3 = 0x0000000000000047
x4 = 0x0000000000000000
x5 = 0x0000000000000043
x6 = 0x0000000000000001
x7 = 0x0000000000000000
x8 = 0x000000005000b7ec
x9 = 0x0000000000000000
x10 = 0x0000000003270000
x11 = 0x0000000000000003
x12 = 0x000000046e553000
x13 = 0x0000000000016bf0
x14 = 0x00000004694f00a8
x15 = 0x000000046e553000
x16 = 0x0000000468654cd4
x17 = 0x0000000001e80008
x18 = 0x0000000000000000
x19 = 0x0000000003270000
x20 = 0x000000000000001c
x21 = 0x00000004694f0000
x22 = 0x000000000000001d
x23 = 0x00000004694f00a8
x24 = 0x0000000003270000
x25 = 0x0000000000000001
x26 = 0x0000000000000001
x27 = 0x0000000000000000
x28 = 0x0000000000000001
x29 = 0x000000046e9fe520
scr_el3 = 0x000000000003073d
sctlr_el3 = 0x00000000b0cd183f
cptr_el3 = 0x0000000000000000
tcr_el3 = 0x0000000080823518
daif = 0x00000000000003c0
mair_el3 = 0x00000000004404ff
spsr_el3 = 0x00000000600003cd
elr_el3 = 0x0000000050011384
ttbr0_el3 = 0x0000000050026ac1
esr_el3 = 0x0000000002000000
far_el3 = 0x0000000000000000
spsr_el1 = 0x0000000000000000
elr_el1 = 0x0000000000000000
spsr_abt = 0x0000000000000000
spsr_und = 0x0000000000000000
spsr_irq = 0x0000000000000000
spsr_fiq = 0x0000000000000000
sctlr_el1 = 0x0000000030d00800
actlr_el1 = 0x0000000000000000
cpacr_el1 = 0x0000000000300000
csselr_el1 = 0x0000000000000000
sp_el1 = 0x0000000000000000
esr_el1 = 0x0000000000000000
ttbr0_el1 = 0x0000000000000000
ttbr1_el1 = 0x0000000000000000
mair_el1 = 0x0000000000000000
amair_el1 = 0x0000000000000000
tcr_el1 = 0x0000000000000000
tpidr_el1 = 0x0000000000000000
tpidr_el0 = 0x0000000080000000
tpidrro_el0 = 0x0000000000000000
par_el1 = 0x0000000000000800
mpidr_el1 = 0x0000000081000000
afsr0_el1 = 0x0000000000000000
afsr1_el1 = 0x0000000000000000
contextidr_el1 = 0x0000000000000000
vbar_el1 = 0x0000000000000000
cntp_ctl_el0 = 0x0000000000000005
cntp_cval_el0 = 0x000000000bf6606a
cntv_ctl_el0 = 0x0000000000000000
cntv_cval_el0 = 0x0000000000000000
cntkctl_el1 = 0x0000000000000000
sp_el0 = 0x00000004687db2f0
isr_el1 = 0x0000000000000040
cpuectlr_el1 = 0xa000000b40543000
gicd_ispendr regs (Offsets 0x200 - 0x278)
Offset: value
0000000000000200: 0x0000000000000000
0000000000000204: 0x0000000000000000
0000000000000208: 0x0000000000000000
000000000000020c: 0x0000000000000000
0000000000000210: 0x0000000000000000
0000000000000214: 0x0000000000000000
0000000000000218: 0x0000000000010000
000000000000021c: 0x0000000000020000
0000000000000220: 0x0000000000000000
0000000000000224: 0x0000000000000000
0000000000000228: 0x0000000000000000
000000000000022c: 0x0000000000000000
0000000000000230: 0x0000000000000000
0000000000000234: 0x0000000000000000
0000000000000238: 0x0000000000000000
000000000000023c: 0x0000000000000000
0000000000000240: 0x0000000000000000
0000000000000244: 0x0000000000000000
0000000000000248: 0x0000000000000000
000000000000024c: 0x0000000000000000
0000000000000250: 0x0000000000000000
0000000000000254: 0x0000000000000000
0000000000000258: 0x0000000000000000
000000000000025c: 0x0000000000000000
0000000000000260: 0x0000000000000000
0000000000000264: 0x0000000000000000
0000000000000268: 0x0000000000000000
000000000000026c: 0x0000000000000000
0000000000000270: 0x0000000000000000
0000000000000274: 0x0000000000000000
0000000000000278: 0x0000000000000000
000000000000027c: 0x0000000000000000

*** Please note that this reply is generated by LLM automatically ***

Based on the provided information, it appears that the Jetson Orin NX is experiencing a booting issue where it hangs on boot, and the UART debug logs suggest that the QSPI bootloader may be corrupted. Here are some possible causes for this issue:

  1. Corrupted bootloader: The QSPI bootloader is responsible for loading the operating system and other firmware components. Corruption of the bootloader can prevent the system from booting properly. This could be caused by a faulty flash operation, power failure during flashing, or other factors.
  2. Flash wear-out: Flash memory has a limited number of write cycles before it starts to wear out. If the Orin NX has been flashed multiple times, it’s possible that the flash memory has worn out, leading to corruption of the bootloader.
  3. Power cycling issues: The Orin NX had been functional for many power cycles without issues, but it’s possible that a power cycling issue caused the corruption. This could be due to a faulty power supply, voltage fluctuations, or other power-related issues.
  4. Hardware issues: Although the unit was functional again after re-flashing, it’s possible that there are underlying hardware issues that caused the corruption. This could be due to a faulty component, soldering issues, or other hardware-related problems.
  5. Software issues: Although you mentioned that you don’t modify the device tree or kernel after flashing, it’s possible that there are software-related issues that caused the corruption. This could be due to a bug in the bootloader, kernel, or other software components.

Comparison with other issues:

  • The issue is similar to the one described in the topic “Boot fails after restoring a Jetson orin NX” (June 4, 2025), where the Orin NX fails to boot after restoring. However, in that case, the issue was related to security features, whereas in this case, the issue seems to be related to a corrupted bootloader.
  • The issue is also similar to the one described in the topic “Xavier doesn’t boot after Secure Boot flash (JetPack 5.1.2 / L4T R35.4.1)” (June 4, 2025), where the Xavier fails to boot after secure boot flashing. However, in that case, the issue was related to secure boot, whereas in this case, the issue seems to be related to a corrupted bootloader.

Recommendations:

  • Try re-flashing the Orin NX with a known good image to see if the issue persists.
  • Check the power supply and voltage levels to ensure they are within the recommended range.
  • Verify that the flash memory is not worn out by checking the flash wear-out indicators.
  • Run a diagnostic test on the Orin NX to identify any hardware issues.
  • If the issue persists, try to reproduce the issue on a different Orin NX module to rule out any hardware-specific issues.

*** Please give the thumbs up if you get answers you like. Or provide feedback to help us improve the answer. ***

I am also having this issue. What is the maximum cycle count for flashing the Orin NX module?

Hi,

Please refer to the similar topics

Thank you for the response. Is this issue fixed in JP 5.1.4 or 5.1.5? Or do we need upgrade to JP 6?

I also would like to know how this issue manifests. Why is the Jetson Orin NX able to boot/function for many cycles before this issue appears? Is there some sort of electrical state like brownout that causes this?

Hi,

We strongly recommend updating to the latest JP version, such as JP5.1.5 or JP6.2.1.
Several fixes have been included in these versions.

Thanks

HI David,

Is there any way to update the OP-TEE or QSPI on the Orin NX only (no rootfs/nvme reflash)? We would like to apply the patch but not wipe the rootfs.

On another note, is it possible to update the OP-TEE after flash, through an ethernet SSH interface?

Thanks,
Joseph

We also have another question about this issue.

Is this accumulative over boot cycles, or does it have a constant chance of occurring on every boot? We are asking since we have a unit that we are unable to update at this time, and want to know if the chance of the issue occurring increases the more boot cycles that the unit accumulates.

Thanks,
Joseph

Hi,

After build new tos image, please flash the qspi only

For example

sudo ./flash.sh -c bootloader/t186ref/cfg/flash_t234_qspi.xml jetson-orin-nano-devkit internal

Thanks

Hi, is it possible to get an answer to this question? We suspect that this memory leak issue is cumulative across multiple boot cycles since our testing had similar results for when the failure occured ~750 boots.

Thanks,
Joseph

Hi, we had some more followup questions to ask:

  1. Is there a way to mount & read the contents of the QSPI on the Orin NX within the Linux rootfs?
  2. Does the patch raise the floor of the issue occurring, or does it comepletely solve it? Would we still expect the issue to happen after X amount of boots?

Hi,

Please refer to the doc Flashing Support — NVIDIA Jetson Linux Developer Guide 1 documentation about flash only QSPI.

After applying this patch, the reboot test failure will be resolved.

Thanks