Missing ttyTHS1 and ttyTHS2 on Jetson Orin Nano
Issue Overview
Users of the Nvidia Jetson Orin Nano are experiencing issues with missing serial device files, specifically ttyTHS1
and ttyTHS2
, when checking for available tty devices on their Ubuntu systems. The symptoms include:
- Only the devices
ttyTHS0
,ttyTHS3
, andttyTHS4
being visible. - Users expect
ttyTHS1
andttyTHS2
to be present, particularly for applications requiring multiple serial outputs.
This issue typically arises during the initial setup or when attempting to utilize multiple UARTs for data output. The problem has been reported consistently, indicating it may be a configuration or driver-related issue. The impact on user experience is significant, as it limits the functionality of applications that rely on serial communication.
Possible Causes
Several potential causes for this issue have been identified:
- Driver Issues: The Jetson Orin Nano can use either legacy drivers (
/dev/ttyS#
) or the "Tegra High Speed" (THS) driver (/dev/ttyTHS#
). If the wrong driver is loaded, certain tty devices may not appear. - Device Tree Configuration: The device tree determines which drivers bind to specific UARTs. If the configuration is incorrect or incomplete, it may lead to missing device files.
- Hardware Conflicts: If other hardware components (e.g., Wi-Fi/Bluetooth modules) are using the UARTs, they might prevent access to the expected tty devices.
- User Misconfiguration: Users may inadvertently misconfigure their system settings or connections, leading to issues in detecting available UARTs.
Troubleshooting Steps, Solutions & Fixes
To resolve the issue of missing ttyTHS1
and ttyTHS2
, follow these troubleshooting steps:
-
Check Driver Configuration:
- Verify which drivers are currently loaded using:
lsmod | grep tegra
- Ensure that only one driver (either legacy or THS) is active. If both are loaded, it may cause conflicts.
- Verify which drivers are currently loaded using:
-
Inspect Device Tree Settings:
- Check the device tree configuration for UART bindings. Look for entries like:
serial@<hex address>
- Ensure that the compatible line includes relevant drivers.
- Check the device tree configuration for UART bindings. Look for entries like:
-
Examine Boot Logs:
- Review boot logs for any messages related to UART initialization. Use:
dmesg | grep tty
- This can provide insights into whether the UARTs were detected during boot.
- Review boot logs for any messages related to UART initialization. Use:
-
Testing with Different Configurations:
- Disconnect any non-essential peripherals (e.g., Wi-Fi/Bluetooth) and check if the missing tty devices appear.
- Try re-flashing your Jetson Orin Nano with a clean installation of JetPack 5.x or 6.x, ensuring that you follow proper flashing procedures.
-
Update Drivers and Firmware:
- Ensure all drivers and firmware are up-to-date. Use the Nvidia SDK Manager to check for updates.
-
Consult Documentation:
- Refer to Nvidia’s official documentation regarding UART configurations on Jetson platforms for specific guidance on setting up device trees and drivers.
-
Use Alternative Serial Interfaces:
- If certain tty devices remain unavailable, consider utilizing USB-to-serial converters as a workaround for additional serial communication needs.
-
Community Support:
- Engage with community forums or Nvidia support for further assistance if issues persist after following these steps.
-
Best Practices:
- Regularly back up your configurations and document changes made to system settings to facilitate easier troubleshooting in the future.
By following these steps, users should be able to diagnose and potentially resolve issues related to missing serial devices on their Jetson Orin Nano systems.