UART1 Output Issue on Nvidia Jetson Orin Nano Dev Board
Issue Overview
Users are experiencing a lack of output from UART1 (/dev/ttyTHS0) on the Nvidia Jetson Orin Nano Developer board. The issue arises when attempting to send data through UART1 using a 3-wire UART connection (TX, RX, and Ground) connected to a USB cable linked to a PC. Despite configuring the baud rate to 115200 and modifying permissions for /dev/ttyTHS0, users report no visible output in the PuTTY terminal. This problem occurs consistently during testing, while outputs from Debug UART (/dev/ttyTCU0) are functioning correctly. The hardware setup includes a 256GB SSD and Ubuntu 22.04, with JetPack 6.0 flashed on the device.
Possible Causes
- Hardware Incompatibilities or Defects: Faulty wiring or incorrect pin connections may prevent proper communication.
- Software Bugs or Conflicts: Issues within the JetPack version or conflicts with other services may hinder UART functionality.
- Configuration Errors: Incorrect settings in the terminal application (e.g., PuTTY) or system configurations could lead to miscommunication.
- Driver Issues: Outdated or incompatible drivers for the UART interface might not support the expected functionality.
- Environmental Factors: Power supply inconsistencies or thermal issues could affect performance.
- User Errors or Misconfigurations: Incorrectly set up connections or parameters could result in no output being received.
Troubleshooting Steps, Solutions & Fixes
-
Check Hardware Connections:
- Ensure that TX is connected to pin 8, RX to pin 10, and GND to pin 9 on the Expansion Header (J12).
- Verify that the USB cable is functioning properly by testing it with another device.
-
Disable Hardware Flow Control:
- Confirm that hardware flow control is disabled in PuTTY settings.
-
Stop Getty Service:
- Execute the following commands to stop and disable the getty service:
sudo systemctl stop nvgetty.service sudo systemctl disable nvgetty.service
- Execute the following commands to stop and disable the getty service:
-
Test Loopback Functionality:
- To verify UART loopback functionality, short TXD/RXD pins on the expansion header and run:
sudo su stty -F /dev/ttyTHS0 115200 raw -echo cat /dev/ttyTHS0 & echo "test" > /dev/ttyTHS0
- If loopback works but external communication does not, it indicates a configuration issue.
- To verify UART loopback functionality, short TXD/RXD pins on the expansion header and run:
-
Adjust Baud Rate Settings:
- Experiment with different baud rates in both PuTTY and terminal commands until successful output is achieved.
-
Check dmesg Logs:
- Review system logs for any relevant messages regarding UART configuration:
dmesg | grep ttyTHS0
- Review system logs for any relevant messages regarding UART configuration:
-
Update Firmware and Drivers:
- Ensure that all firmware and drivers are up-to-date. Refer to NVIDIA’s documentation for updates related to JetPack.
-
Create Custom Boot Script:
- To set a default baud rate during boot, add commands in a startup script or create a custom service that configures UART settings at startup.
-
Documentation and Resources:
- Consult NVIDIA’s Jetson Orin Nano Developer Kit User Guide for additional setup instructions and troubleshooting tips.
-
Further Investigation:
- If issues persist, consider reaching out to NVIDIA support with detailed logs and configurations for personalized assistance.
By following these steps, users should be able to diagnose and potentially resolve issues related to UART1 output on their Nvidia Jetson Orin Nano Developer board.