Cannot flash Jetson Nano Orin devkit, eeprom error

Hello.
I have a Jetson Nano Orin Developer Kit 8GB Model P3766 (im not using a custom board)

I managed to flash my jetson nano orin using the SDK Manager with the JetPack 5.1.2, (was a pain because of the “ERROR: might be timeout in USB write”).
It worked fine for a while and then I wanted to update to the JetPack 6.0, and again, was a total pain (multiple errors, freezes in the flash process) and now the board fails to boot.
I already read a lot of threads in this forum and I tried a lot of stuff (changing the ubuntu version (18, 20, 22), disable usb autosuspend, etc).

The boards lists with lsusb

Bus 003 Device 012: ID 0955:7523 NVIDIA Corp. APX

The SDK Manager still detects the board, but in the flashing step fails and throws this error:

NV_L4T_FLASH_JETSON_LINUX_COMP@JETSON_ORIN_NANO_TARGETS: --- Error: Reading board information failed.
Event: NV_L4T_FLASH_JETSON_LINUX_COMP@JETSON_ORIN_NANO_TARGETS - error is: --- Error: Reading board information failed.
NV_L4T_FLASH_JETSON_LINUX_COMP@JETSON_ORIN_NANO_TARGETS: *** ERROR: Parsing boardid failed
Event: NV_L4T_FLASH_JETSON_LINUX_COMP@JETSON_ORIN_NANO_TARGETS - error is: *** ERROR: Parsing boardid failed

And the serial shows this:

I> Populate chip info
I> RAM_CODE 0x4000021
I> Populate eeprom info
I> Populate eeprom info for module cvm
E> I2C: Timeout while polling for transfer complete. Last value 0x00000002.
E> I2C: Could not write 0 bytes to slave: 0x00a0 with repeat start true.
E> I2C_DEV: Failed to send register address 0x00000000.
E> I2C_DEV: Could not read 256 registers of size 1 from slave 0xa0 at 0x00000000 via instance 0.
E> eeprom: Retry to read I2C slave device.
E> I2C: Timeout while polling for transfer complete. Last value 0x00000002.
E> I2C: Could not write 0 bytes to slave: 0x00a0 with repeat start true.
E> I2C_DEV: Failed to send register address 0x00000000.
E> I2C_DEV: Could not read 256 registers of size 1 from slave 0xa0 at 0x00000000 via instance 0.
E> eeprom: Failed to read I2C slave device
E> NV3P_SERVER: Failed to get eeprom handle for cvm from eeprom manager.
E> NV3P_SERVER: Could not read eeprom for module cvm.

Apparently, the eeprom is corrupted and the flasher cannot identify the board, so reading more I managed to make some progress trying to flash using the scripts instead of the SDK Manager, using this command:

sudo SKIP_EEPROM_CHECK=1 BOARDID=3767 FAB=300 BOARDSKU=0005 ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -c tools/kernel_flash/flash_l4t_external.xml -p "-c bootloader/generic/cfg/flash_t234_qspi.xml" --showlogs --network usb0 jetson-orin-nano-devkit internal

I tried multiple combinations (different values for FAB and BOARDSKU, different external-devices like SD, NVME and USB), nothing works.

The JetPack 5.1.2 always fails with error 8 in the flash process, but the JetPack 6.0 seems to work till the part when the flasher awaits for the board to restart, but it just times out.

Waiting for target to boot-up...
Waiting for target to boot-up...
Waiting for target to boot-up...
Waiting for target to boot-up...
Waiting for target to boot-up...
Timeout
Cleaning up...

Checking the serial log, seems like the board halts at random, because the last line is always different and the text cuts at different places. This is just an example of the serial log of my last attempt:

[0674.558] I> Task: Misc NV security settings
[0674.563] I> NVDEC sticky bits programming done
[0674.567] I> Successfully powergated NVDEC
[0674.571] I> Task: Disable/Reload WDT
[0674.574] I> Task: Program misc carveouts
[0674.578] I> Program IPC carveouts
[0674.582] I> Task: Disable SCPM/POD reset
[0674.586] I> SLCG Global override status := 0x0
[0674.590] I> MB1: MSS

Finally, it seems like the board is “stuck” in recovery mod, because the board shows up with lsusb, with or without the jumper in FC_REC and GND and restarting the board.

I don’t know what else to do and any help would be appreciated. Thanks.

I am attaching the logs created using the SDKmanager and the logs using the flash scripts (and the serial debug logs for both processes)

logs.zip (179.7 KB)

Hi,

  1. Jetpack6 is still a developer preview. We notice there are some flash problem and discussed in another thread.

  2. To identify if it is really a eeprom issue, could you move back to rel-35/jetpack5 and flash?
    If this issue is really a eeprom problem, then even rel-35 will hit it.
    Rel-36 may have other flash errors that make us not able to tell the real problem.

What I am talking about is I want you to provide the full host side flash log and UART log based only on rel-35.

Your previous comment sounds like you mixed them up in the discussion.

I will add that I see APX in the lsusb. If you are flashing from a VM there is a very high chance that USB is not connecting correctly, which in turn means it might tell you about a read failure which is the result of a USB failure, and that in turn would be a fault of VM configuration.

Hello, thanks for the responses.

I tried to post as much information as possible, but there is always something I missed.

First of all, all the experiments and logs that I posted were produced using the scrips in the JP 6.0.
Second, I am using the same laptop with the same software that I used the first time when I managed to flash the Jetson orin the first time. No VM (I have already saw posts in this forum recommending not using a virtual machine):

The board always list as APX with lsusb:

capture2

I have another different machine and the board lists the same (APX).

Anyways, I came back to the old version in the JP 5.1.2 (the one that worked for me the first time), and tried the flash process again, but the scripts fail in the same fashion.

First if i run the command this way (with board ID vars):

sudo BOARDID=3767 FAB=300 BOARDSKU=0005 ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -c tools/kernel_flash/flash_l4t_external.xml -p "-c bootloader/t186ref/cfg/flash_t234_qspi.xml"  --showlogs --network usb0 jetson-orin-nano-devkit-nvme internal

The script gets to the part when restarts the board and awaits for a response, but the board never boots:

Waiting for target to boot-up...
Waiting for target to boot-up...
Waiting for target to boot-up...
Waiting for target to boot-up...
Timeout
Cleaning up...

Looking at the serial debug during this process, the log always looks different each time, but one thing that looks constant is that the text cuts suddenly at random places (I don’t think there is a problem with my usb-uart adapter, it works fine with other SBCs):

Task: Enable SLCG
[0391.659] I>91.666] I> MB2-params @ 0x40060000
[0391.669] I> Task: Crypto init
[0391.672] I> Task: Perform0] I> NVRNG: Health check succeslients
[0391.690] I> Task: Enabequest to configure MBWT settingias on production fused part is not supported.
[0391.733] I> Task: Print SKU type
[0391.736] I> FUSE_OPT_CCPLEX_CLUSTER_DISABLE = 0x000001c8
[0391.741] I> FUSE_OPT_GPC_DISABLE = 0x00000002
[0391.745] I> FUSE_OPT_TPC_DISABLE = 0x000000f0
[0391.749] I> FUSE_OPT_DLA_DISABLE = 0x00000003
[0391.754] I> FUSE_OPT_PVA_DInit
[0392.349] I> Task: Prod indevice prod.
[0392.372] I> DONE PMIC_CONFIG: Rail: MEMIO rail config not found in MB1 BCT.
[03ail: GPU rail info not found in MB1 BCT.
[0392.393] I> DONE: GPound in MB1 BCT.
[0392.403] I> : 1
[0392.436] I> MSS CAR: Init PLLM
[0392.439] I> MSS CAR: In[0392.455] I> SDRAM initialized![0392.475] I> Task: Program NSDRit
[0392.508] I> Task: SC7 ContPLEX IST init
[0392.516] I> Task: CPU WP0
[0392.519] I> Loadinded successfully at 0x40000000 (] I> Sending WP0 mailbox command[0394.915] I> Task: XUSB Powergate
[0394.918] I> Skipping power[0394.950] I> Task: Load bpmp-fw[0395.139] I> BPMP_FW_DTB binary72 (partition size: 0xc0000)
[0uccess
[0395.339] I> Binary NVD

Now, if I run the command without the board ID vars:

sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -c tools/kernel_flash/flash_l4t_external.xml -p "-c bootloader/t186ref/cfg/flash_t234_qspi.xml"  --showlogs --network usb0 jetson-orin-nano-devkit-nvme internal

The flasher sometimes fails with error 8, and sometimes fails complaining that cannot parse the boardid
and the serial debug prints this:

I> Populate chip info
I> RAM_CODE 0x4000021
I> Populate eeprom info
I> Populate eeprom info for module cvm
E> I2C: Timeout while polling for transfer complete. Last value 0x00000002.
E> I2C: Could not write 0 bytes to slave: 0x00a0 with repeat start true.
E> I2C_DEV: Failed to send register address 0x00000000.
E> I2C_DEV: Could not read 256 registers of size 1 from slave 0xa0 at 0x00000000 via instance 0.
E> eeprom: Retry to read I2C slave device.
E> I2C: Timeout while polling for transfer complete. Last value 0x00000002.
E> I2C: Could not write 0 bytes to slave: 0x00a0 with repeat start true.
E> I2C_DEV: Failed to send register address 0x00000000.
E> I2C_DEV: Could not read 256 registers of size 1 from slave 0xa0 at 0x00000000 via instance 0.
E> eeprom: Failed to read I2C slave device
E> NV3P_SERVER: Failed to get eeprom handle for cvm from eeprom manager.
E> NV3P_SERVER: Could not read eeprom for module cvm.

I attach the logs of this new try (JP 5.1.2), the errors seems the same as with the JP 6.0.
I didn’t bother using the SDKmanager this time, always fails with ERROR: Parsing boardid failed

logs2.zip (50.8 KB)

please try similar commands as below with flash.sh. This is for Orin AGX. Please replace info to match your module first.

sudo BOARDID=“3701” FAB=“300” BOARDSKU=“0004” BOARDREV=“C.2” CHIP_SKU=00:00:00:D2 ./flash.sh jetson-agx-orin-devkit internal

Want to check if this could at least flash QSPI on the module.

Thanks for the advice, but I decided to return the board because it was still under warranty.

Ok. Please RMA the module.

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