Custom Carrier Board Jetson Orin Nano, Cannot Access GPIO

Issue Overview

Users are experiencing difficulties accessing the GPIO (General Purpose Input/Output) pins on the SEEED-Studios custom Industrial Jetson Orin Nano (J3011) when using Jetpack 6. The issue manifests specifically when attempting to control digital input/output (DI/DO) functionality, which worked without problems under Jetpack 5.1.1.

Symptoms:

  • Users report that commands such as gpioset --mode=wait 0 51=1 do not execute successfully under Jetpack 6, whereas they functioned correctly with Jetpack 5.1.1.
  • The output of the gpiolist command appears different between the two versions, although this observation is not confirmed.

Context:

  • The problem occurs during the usage of Jetpack 6, specifically when trying to manipulate GPIO pins on a custom carrier board.
  • The issue has been noted to be consistent across attempts to access output pins only.

Hardware and Software Specifications:

  • Hardware: SEEED-Studios custom Industrial Jetson Orin Nano (J3011)
  • Software: Jetpack 6 (with previous success on Jetpack 5.1.1)

Impact:

The inability to access GPIO pins significantly hampers user experience and functionality, particularly for applications reliant on GPIO for control and signaling.

Possible Causes

  • Software Bugs or Conflicts: The transition from Jetpack 5.1.1 to Jetpack 6 may have introduced bugs affecting GPIO access.

  • Driver Issues: Changes in driver support or configurations between the two versions could lead to incompatibilities with the custom board.

  • Configuration Errors: If the pinmux settings or GPIO configurations were altered or not properly set up in Jetpack 6, this could prevent successful GPIO access.

  • Lack of Documentation: The absence of pinmux files from SEEED for the custom board may hinder proper configuration under the new software version.

Troubleshooting Steps, Solutions & Fixes

Step-by-Step Instructions:

  1. Verify Software Version:

    • Confirm you are running Jetpack 6 by executing:
      cat /etc/nv_tegra_release
      
  2. Check GPIO Access:

    • Use gpiod tools to check GPIO pin status:
      gpiodetect
      gpiolist
      
  3. Test with libgpiod:

    • As suggested in forum replies, switch to using libgpiod tools instead of traditional sysfs methods. Install it if not already present:
      sudo apt install gpiod
      
  4. Run Diagnostic Commands:

    • Execute the following command to test output on a specific pin:
      gpioset <chip> <line>=<value>
      
    • Replace <chip> and <line> with appropriate values from your gpiolist.
  5. Compare Outputs:

    • Compare outputs of gpiolist between Jetpack versions to identify discrepancies.
  6. Downgrade as Last Resort:

    • If issues persist and are critical, consider downgrading back to Jetpack 5.1.1 temporarily to restore functionality while further investigating.

Additional Recommendations:

  • Consult Documentation: Review any available documentation from SEEED regarding GPIO access on their custom board for any updates or notes specific to Jetpack 6.

  • Community Support: Engage with community forums or support channels for SEEED or Nvidia for additional insights or shared experiences regarding similar issues.

Best Practices:

  • Regularly check for updates from SEEED regarding their custom board and any associated software compatibility notes.

  • Maintain backups of working configurations when upgrading software versions to facilitate easier rollbacks if issues arise.

Unresolved Aspects:

Further investigation may be needed into whether there are underlying changes in the GPIO handling within Jetpack 6 that affect compatibility with custom hardware configurations like that of SEEED’s board.

Similar Posts

Leave a Reply

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