Boot hang on upgrade from L4T 32.2 to 32.5.2

The problem is very similar to this post Jetson TX2 Ethernet module doesn't work after update to L4T 32.6.1 Unfortunately there is no resolution posted there.

We have been upgrading from L4T 32.2 to 32.4.4 by writing images to the APP and kernel-dtb partitions. When upgraded to 32.5.2 from either 32.2 or 32.4.4 the result is the same.

If we only write the APP partition, the device boots up, but the network card is not present. If we then write kernel-dtb with the signed dtb file, the device hangs at boot. Everything works fine when the board is flashed.

If we leave the old L4T (32.2 or 34.4.4) on the APP partition but load the new dtb, the device boots.

Any help would be appreciated.

Use uart console to dump log.

And just in case you don’t know the cause of that post.

If you see any dmesg say “eqos 2490000.ether_qos: invalid settings : rx-frames must be enabled along with use_riwt in DT”, it means your dtb and your kernel are not compatible. From the beginning, dtb is designed for kernel to read. Thus, if kernel changes, then dtb needs to change too. These two + kernel modules are a set.

As for your issue that “cannot boot”, it is something else and need log to check.

32.2to32.5.2_APPandDTB.txt (39.8 KB)
Here is the log after upgrading both APP and kernel-dtb. In this case we are getting these errors and a watchdog triggered tracedump:
[ 3.141431] CPU3: SError detected, daif=1c0, spsr=0x400000c5, mpidr=80000101, esr=bf40c000 [ 3.141439] CPU5: SError detected, daif=1c0, spsr=0x400000c5, mpidr=80000103, esr=bf40c000 [ 3.141443] CPU0: SError detected, daif=1c0, spsr=0x400000c5, mpidr=80000100, esr=bf40c000 [ 3.141454] CPU4: SError detected, daif=1c0, spsr=0x80000045, mpidr=80000102, esr=bf40c000

Just want to clarify first. Is this a devkit or custom board?

A custom board (Jetson TX2).

Have you tried to directly use full flash 32.5.2 BSP instead of running “upgrade”? Would you hit this issue in such case?

A full flash works fine. And just to make sure, I have written the signed DTB to kernel-dtb after flashing and the device boots up and functions. This problem only occurs when updating the APP and dtb to L4T 32.5.2 on a board that was originally flashed with an older version of L4T.

I would like to know if its possible to get around this problem without needing to do a full flash. Also, any help in understanding the mechanism behind this failure would be greatly appreciated.

Any ideas?

Issue closed as it has been resolved. Thanks

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.