Side effects when eeprom read size is changed

I have a custom carrier board that allows me to use Xavier NX and Nano

I tried to flash the Orin NX 16gb module using this board. (Jetpack 5.1.1)

With SDK Manager (Failure)

Failed as a result. If you check the log, it seems that the Timeout occurs while waiting for the board after Flash.

This is log result of SDK Manager.

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...
Waiting for target to boot-up...
Waiting for target to boot-up...
Cleaning up...
15:25:31.717 - Info: [ Component Install Finished with Error ]
15:25:31.718 - Info: [host] [ 3.02 MB released. Disk Avail: 127.65 GB ]
15:25:31.718 - Info: [ NV_L4T_FLASH_JETSON_LINUX_COMP Install took 4m49s ]

This is log while board booting

I> Binary ape loaded successfully at 0x469400000
I> xusb: Authentication Finalize Done
I> Binary xusb loaded successfully at 0x468d00000
I> Task: Carveout setup (0x5001f55c)
I> Program remaining OEM carveouts
I> Task: Enable FSITHERM (0x50016950)
I> Task: Enable FSI VMON (0x500164d8)
I> Task: Validate FSI Therm readings (0x50016530)
I> Task: Restore XUSB sec (0x50001d44)
I> Task: Enable FSI SE clock (0x50016ed8)
I> Task: Initialize SBSA UART CAR (0x50001f48)
I> Task: Ratchet update (0x50027d08)
W> OPTIN fuse not set, skip ratchet update
I> Task: Initialize CPUBL Params (0x50017e0c)
I> CPUBL-params @ 0x46e000000
I> Task: Prepare eeprom data (0x50017bd8)
E> I2C: slave not found in slaves.
E> I2C: Could not write 0 bytes to slave: 0x00ae 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 0xae at 0x00000000 via instance 0.
E> eeprom: Failed to read I2C slave device
C> Task 0x0 failed (err: 0x1f1e050d)
E> Top caller module: I2C_DEV, error module: I2C, reason: 0x0d, aux_info: 0x05
I> Busy Spin

With flash script (Success)

Before flash, I adjusted the eeprom read size according to this document.

I changed the cvm_eprom_read_size and cvb_eprom_read_size from all *.dtsi, *.dts, and *.cfg extension files under the bootloader folder to 0 or 0x00.
(in ~/nvidia/nvidia_sdk/JetPack_5.1.1_Linux_JETSON_ORIN_NX_TARGETS/Linux_for_Tegra path)

Finally, below command worked for me, and I succeeded in flash.

sudo ./tools/kernel_flash/ --external-device nvme0n1p1 -c tools/kernel_flash/flash_l4t_external.xml -p “-c bootloader/t186ref/cfg/flash_t234_qspi.xml” --showlogs --network usb0 p3509-a02+p3767-0000 internal


What is the meaning of cvm, cvbeeprom size,

and what are the possible side effects of modifying it from 256 to 0?

Our document does not ask you to disable cvm_eprom_read_size. It only asked you to disable the cvb one.

CVM means the module. You cannot disable this. Disabling this will cause functionality issue.
CVB means the carrier board. And you can disable this.

Thank you.

Set CVM = 1 and CVB = 0 to verify normal flash and boot.
What is the full name of CVB?
I want to know the role of this.

It is actually a old name that existed since jetson TX1 era. The name does not really matter… Please just take it as “carrier board”

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