Problems booting a custom carrier for orin nx due to the I2c eeprom

I am working with a custom carrier design for the orin nx, based on the J4012 carrier from seedstudio and following their instructions to flash the iso reComputer J30 Series, J40 Series | J401 | Seeed Studio Wiki , The orin xn boots correctly on the seed studio carrier but when I move the som and the disk to the custom carrier it gets stuck looking for the eeprom chip 0xae:

the custom carrier does not contain eprom chip, therefore and trying to follow the “Jetson Module Adaptation and Bring-Up " Jetson Orin NX and Nano Series” I have modified the following file as follows (ot top of the seed studio instructions) :

EEPROM is an optional component for a custom motherboard. If the motherboard is designed without EEPROM, the following modifications to the MB2 BCT file will be necessary:


  • cvb_eeprom_read_size = <0x100>
  • cvb_eeprom_read_size = <0x0>

But the debug output by uart shows the same message :

I> Task: Prepare eeprom data (0x50018ac4)
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

Is it possible that the changes are not reflected in the kernel? is there any way to check that the changes have been reflected when flashing the iso?

Steps( follow the seed studio steps, modify CVB file to 0, booting the som in the seed studio carrier (works fine) move to custom carrier, gets stuck searching for eeprom chip 0xae)

uartdebug.txt (34.7 KB)

Thank you very much.

What is the content in Linux_for_Tegra/bootloader/tegra234-mb2-bct-misc-p3767-0000.dts?

The content in Linux_for_Tegra/bootloader/tegra234-mb2-bct-misc-p3767-0000.dts.


include “tegra234-mb2-bct-common.dtsi”

/ {
mb2-misc {
eeprom {
cvm_eeprom_i2c_instance = <0>;
cvm_eeprom_i2c_slave_address = <0xa0>;
cvm_eeprom_read_size = <0x100>;
cvb_eeprom_i2c_instance = <0x0>;
cvb_eeprom_i2c_slave_address = <0xae>;
cvb_eeprom_read_size = <0x0>;

Could you share the flash command you are using now and host side flash log?

flash command:

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

Attached is the log data:
flash_1-2_0_20240109-151500.log (40.5 KB)


Could you attach a log which includes the command you are using here?

Actually the format will be wrong if you directly copy it on forum.

Hello wayne, today we have repeated the process from scratch but without connecting the disk to the seedstudio carrier before connecting it to our custom carrier and it has worked. I don’t know if being the first boot the seed estudio carrier that has eeprom changed the configuration somehow. we have done the following steps( follow the seed studio steps, modify CVB file to 0, move directly to custom carrier).

Thanks for your attention and we hope it will help someone else.

pd: (after the first boot it can be moved between carriers and starts on both without problems)

1 Like

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