Issues with custom carrier

Hi. Using a custom carrier and an Orin NX, I’m having many issues

So, I flash the image with sudo ./initrd-flash at Orin NX Devkit with a SSD. I move the Orin NX and SSD to the custom carrier.

First boot, I get tons of errors regarding to PCIE stuff?

After reboot, everything ok, booted sucessfully. Im accessing the system via DEBUG UART.
After some seconds, system reboots out of no where (many logs about “link up” and down)

After it reboots, it doesnt boot anymore. Gets stuck at UEFI, and I get network connection error (its trying to boot via network now???) and I get stuck at UEFI shell.
Similar to this: Long Boot Time Issue with Ethernet Cable Inserted - #5 by robert969696

image

Jetson Linux release: R35.5.0 JetPack release: 5.1.3

Any idea what could cause this?

Hi robyawyx,

Is the custom carrier board designed by you?
What’s your Jetpack version in use?

It seems you are using custom carrier board rather than the devkit so that please use custom BSP package to flash your board.

Is this your custom tool? I’m not aware of this so far. Or you mean l4t_initrd_flash.sh?

Do you mean that you flash the image to the devkit board with Orin NX module+NVMe SSD first and move them to your custom carrier board?

Hi. Thanks for answering.

Is the custom carrier board designed by you?

Yes, however, its very similar to the A603 (similar to Devkit)

Is this your custom tool? I’m not aware of this so far.

I’m using a Yocto layer (meta-tegra: GitHub - OE4T/meta-tegra: BSP layer for NVIDIA Jetson platforms, based on L4T) to build my image for m. initrd-flash is a tool that comes from it (initrd flashing support · OE4T/meta-tegra · Discussion #1115 · GitHub).

Do you mean that you flash the image to the devkit board with Orin NX module+NVMe SSD first and move them to your custom carrier board?

Exactly.

After I got stuck at UEFI, I also tried to check what boot options I have and the NVME SSD was not there, could this be the issue?

The branch I’m using uses: Jetson Linux release: R35.5.0 JetPack release: 5.1.3

A603 seems a custom carrier board from SeeedStudio.
I think there may still be some custom design on your board and you(Or your vendor) have to customize them in BSP package before flash.

It may be caused from that NVMe SSD is not recognized on PCIe bus on your custom carrier board.

Sorry that we don’t support for yocto project. You may also ask for the 3rd-party vendor.

@KevinFFF Hi. I think the issue is resolved now, we might thing it was some sort of short circuit while we were moving things around, since the problem does not happen anymore. We have a different problem now which is, when booting with the ethernet cable in, we get the following errors:

I> CPUBL-params @ 0x472000000
I> Task: Ratchet update (0x5002a194)
W> Skip ratchet update - OPTIN fuse not set
I> Task: Prepare eeprom data (0x50019a78)
E> I2C: Timeout while polling for bus clear. Last value 0x00000000.
E> I2C: Failed to clear bus for instance 0.
E> I2C: Failed to clear bus for instance 0.
E> I2C_DEV: Failed to initialize instance 0.
E> eeprom: Can't get handle to eeprom device @160
C> Task 0x0 failed (err: 0x1414032a)
E> Top caller module: EEPROM, error module: EEPROM, reason: 0x2a, aux_info: 0x03
I> Busy Spin

I already changed cvb_eeprom_read_size to 0. I think this is a different issue.

However, if we boot without ethernet cable, it boots OK (but we are unable to use DEBUG ART for some reason, the input is not getting to the system, only output works in picocom)

Any ideas?

The error messages point to EEPROM but you said there’s no issue if you don’t connect ethernet.

Could you share the full serial console log in both cases?

  1. boot up successful w/o ethernet cable connected
  2. boot failed with ethernet cable connected

Looks like it was a connection problem on the ETH port. I have the last question for now: Do I need an EEPROM on the custom carrier?

EEPROM is optional on the custom carrier board.
If you don’t have it on your board, please refer to the following instruction to modify device tree.
EEPROM Modifications