I am having a problem right now where I am unable to get 2 way communication on the UART device /dev/ttyTHS0. To give some context into the setup I am running and have experimented with, we are running a custom sensor board which uses UART to communicate to and from an Orin NX devkit. The devkit is built up of a 16GB Orin NX module and an official Nvidia carrier board (although we have experimented with a knockoff {Yahboom} carrier board with the same results). We do not use flow control and we use relatively normal settings for the UART communication (460800 BAUD, 8 bits, 1 stop bit, no parity).
The problem being experienced here is that while we are able to receive messages from our custom sensor board without issue, we do not seem to be able to send messages to it. We have tested the exact same setup with our Xavier AGX systems, and they are able to communicate bi-directional with the sensor board with no issues at all. We have used the same wires, sensor board, sensor board firmware, and basically everything. The only variable we have changed is the replacement from Xavier AGX to Orin NX.
I have confirmed that the messages are being sent from the Orin NX by instead connecting the UART TX to a “debugger” which allows me to read the UART messages on the wire in a console. I have confirmed that the Orin NX is sending messages and they can be read when plugged into the debugger.
I have also observed a phenomenon while examining the signal under an oscilloscope. I will include 2 photos below showing the problem I am observing. In one photo we can see the system with the Xavier AGX connected to the sensor board. We can see the UART connection is healthy and the voltages are regularly going between 0 and 3.3V as expected in the UART communication. When I then switch the connection to the Orin NX system, we can see that the TX signal (yellow) is constantly pulled high and seems to be struggling to send any meaningful signals to the sensor board.
In the following images the blue line is the Orin NX / Xavier AGX’s RX and yellow is TX. The zoom factors are exactly the same and the voltage levels for each line is the same.
Xavier AGX connected to sensor board (Orin NX is not connected):
Orin NX connected to same sensor board with same wires (Xavier AGX has been disconnected):
I am not sure how to proceed with debugging this any further. If anyone knows of any setting I can configure in the kernel or the device tree I would be happy to give it a try. It seems that something on the Orin NX is causing the TX line to be constantly be pulled high. To hopefully speed things up I have attached a copy of the boot log and the device tree on my device.
device_tree.txt (428.5 KB)
orin_nx_boot.txt (90.7 KB)
Thank you,
Noah

