Connecting ttyTSH1 and ttyTSH2

Hello everyone,

for debugging and testing I would like to setup a connection between the UART ports of the J41 and J50 Pin header of the Jetson Nano developer board. The idea is to test a UART message system on one Jetson Nano which will later be used to let a Jetson Nano communicate with an other microcontroller or Raspberry Pi.

On the J41 header I head already success with the communication between the Jetson Nano and the Microcontroller. Nevertheless now I’m not able to communicate with the UART port on the J50 header. Therefore I have some questions:

  1. Is it basically possible to do this?
  2. Is /dev/ttyTHS2 the correct device for UART on the J50 header?
  3. I already tried to connect to /dev/ttyTHS2 with gtkterm using the following command: gtkterm --port /dev/ttyTHS2 --speed 115200 -b 8 -t
    But I just see borken signs. Are the parameters for gtkterm correct?

Thanks a lot in advance


I’m not sure which ports on the Nano are available, but generally speaking, what you’d want to do is test loopback of a port to itself. Once on the first port, then once on the second port. If both loopbacks work to echo text, then you can connect the two ports. The TX of one goes to the RX of the other; if flow control is used, then the CTS of one connects to the RTS of the other.

I can confirm that this line is valid, although it is set for software flow control and if one size uses hardware flow control, then you might lose half of the conversation:
gtkterm --port /dev/ttyTHS2 --speed 115200 -b 8 -t

If you see corruption of data, then sometimes it is due to a different number of stop bits on each side. If cables are long or low quality (I recommend twisted pair with shielding), then this too can cause the issue.

Does each port, when its own CTS is jumpered to DTS, and its own RX is jumpered to its own TX, echo typed in text correctly (ignore CTS to DTS if you are not using flow control)?

Hi linuxdev,

thanks a lot for your fast answer.

I’m not using flow control. So I connected RX with TX on each port and tried to sent data by passing chars to /dev/ttyTHS* (e.g. echo \"abc\" > /dev/ttyTHS2). For /dev/ttyTHS1 I received the correct data with gtkterm for /dev/ttyTHS2 I did not. For now I have no approach how to debug /dev/ttyTHS2. What could I test next?

My cables are 20cm long and made out of two shorter 10cm cables. I have no experience if this is too long. But I will try to prepare an old network twisted pair cable.

The problem is when I’m googleing the /dev/ttyTHS2 port on Jeston Nano I do not find to much useful results.

Thanks a lot

I use ethernet cable a lot for this purpose and it works well (good quality twisting plus shield). If you have 20cm of random split wires, and not twisted pair, then this could be an issue, where there is less of an issue at slower speeds and more problems as speed increases.

Instead of echo I recommend using gtkterm and typing in to the terminal, but technically echo should work.

I do not know specifically which pins are related to /dev/ttyTHS2 so I could not tell you if the jumpered loopback should or should not work with a particular set of pins and ttyTHS2 combination.

You might want to post what you see from “dmesg | egrep 'ttyTHS2'”. Also, what permissions do you see from “ls -l /dev/ttyTHS2”?