Custom Carrier with Orin Nano Read Error EEPROM

Issue Overview

Users have reported issues booting the Nvidia Jetson Orin Nano when using a custom carrier board with an SSD installed in the M.2 slot. The problem manifests as a failure to boot, accompanied by specific error messages in the debug console. Key symptoms include:

  • Error Messages: The debug output indicates issues with I2C communication, specifically:
    • "I2C: slave not found in slaves."
    • "Failed to read I2C slave device."
  • Context: The issue arises during the boot process after flashing the device using a script from JetsonHacks. When the same SSD and Nano module are connected to an official development kit, they boot successfully.
  • Hardware/Software Specs: The user is utilizing a custom carrier board and has flashed the Orin Nano with JetPack 6.x. The relevant device tree blobs (DTBs) include kernel-tegra234-p3767-0003-p3768-0000-a0.dtb and kernel-tegra234-p3767-0004-p3768-0000-a0.dtb.
  • Frequency of Issue: This appears to be a consistent issue for users attempting to use custom carrier boards.
  • Impact on User Experience: The inability to boot significantly hampers development and testing efforts, leading to frustration among users.

Possible Causes

Several potential causes for this issue have been identified:

  1. Hardware Incompatibilities: The custom carrier board may not be properly configured for the Orin Nano, leading to communication failures.
  2. EEPROM Configuration Errors: Incorrect settings related to EEPROM read size or addresses could prevent proper initialization during boot.
  3. Driver Issues: Outdated or incompatible drivers may result in failure to recognize hardware components.
  4. Software Bugs: There may be unresolved bugs within the JetPack version being used.
  5. User Errors or Misconfigurations: Incorrect flashing procedures or device tree modifications could lead to boot failures.

Troubleshooting Steps, Solutions & Fixes

To address the boot issues with the Nvidia Jetson Orin Nano on custom carrier boards, follow these troubleshooting steps:

  1. Verify EEPROM Settings:

    • Check the EEPROM read size configuration in your device tree source (DTS) file.
    • Ensure that cvb_eeprom_read_size is set correctly:
      cvb_eeprom_read_size = <0x0>;  // Change from <0x100> if needed
      
    • Recompile and flash the updated DTS file.
  2. Boot from Official Dev Kit:

    • Confirm that the SSD and Orin Nano function correctly when connected to an official Nvidia development kit.
  3. Check I2C Connections:

    • Ensure that all I2C connections on your custom board are correctly wired and functioning.
  4. Use SDK Manager for Flashing:

    • Flash the board using the SDK Manager instead of manual methods or SD card images to ensure proper installation of bootloaders and drivers.
    • Make sure to place the board in recovery mode before flashing:
      sudo ./flash.sh jetson-orin-nano-devkit-qspi mmcblk1p1
      
  5. Consult Documentation:

  6. Test with Different Configurations:

    • If issues persist, try testing with different hardware configurations or revert to previous versions of JetPack (e.g., JetPack 5.x).
  7. Log Analysis:

    • Review debug logs for additional clues regarding failures during boot processes.
  8. Community Support:

    • Engage with community forums for shared experiences and solutions from other users facing similar issues.
  9. Best Practices for Future Prevention:

    • Always ensure that you are using compatible hardware components and follow recommended procedures for flashing and configuration.

By following these steps, users can systematically diagnose and potentially resolve boot issues related to their custom carrier boards with the Nvidia Jetson Orin Nano.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *