I’m trying to use the UART pins on the J41 header, pins 8 and 10. I’m starting with the demo at https://jetsonhacks.com/2019/10/10/jetson-nano-uart/. But the problem I’m running into is that the device node, /dev/ttyTHS1 doesn’t exist.
I did try disabling nvgetty and rebooting. I’ve also connected a loopback wire and tried testing all of the other ttyTHS# nodes, but none of them seems to correspond to UART 2.
I did find one thread in the nvndia forums where someone else had this device node missing, but the problem seemed to be related to an unsupported carrier board, while I’m using the standard developer carrier.
There also isn’t a corresponding entry under /sys/class/tty for this.
Also, I checked jetson-io.py, but there only seems to be a config for RTS/CTS, nothing for enabling/disabling the UART entirely. However, I tried enabling that option, but it didn’t have any effect.
How can the UART be missing entirely? What am I missing?
I’m using the Jetson Orin Nano. In any case, it’s the same header. The problem is that the /dev node for the serial port is missing.
As far as I can tell, the dbt file is kernel_tegra234-p3767-0003-p3768-0000-a0-user-custom.dtb. IRC, that’s what jetson-io said it was writing, and it’s the most recently written dbt file under /boot.
I decompiled it, but I don’t know what to look for. I searched for tty, and this was the only entry I found:
Also, there is another dtb file, kernel_tegra234-p3767-0003-p3768-0000-a0.dtb, which has a date stamp form the same day as when I first flashed the boot image. So this appears to be the original. I decompiled it too, but the only tty entry I see is the same.
There are also several others that have time stamps that are the oldest of any files on the drive. I tried decompiling one of those, but it didn’t have an entry for ttyTHS1 either.
It seems like support for ttyTHS1 is missing from the stock image entirely. How do I fix that? Even if there’s a newer image I can get, I’d really rather not have to rebuild everything from scratch right now.
I’ve uploaded the dmesg file. There are two closely matching dtb files, and I’ve attached both.
I flashed this microSD from my Mac months ago, using balenaEtcher. Where might it have put a log? The image file was called JP511-orin-nano-sd-card-image.zip.
The serial port I’d like to enable is the one corresponding to pins 8 and 10 on the 40-pin header. Although I have a /dev/ttyTHS0, I have found multiple resources that say that the one for the 40-pin header should be /dev/ttyTHS1. Moreover, I have tried connecting pins 8 and 10 together and running a loopback test on /dev/ttyTHS0, and I get no data echoing back.
I just wanted to let you know that I solved the problem. /dev/ttyTHS0 is indeed the correct device. I connected a loopback wire, and I used the “cu” program to test this and found it to work properly.
The problem was caused by my own C program I’d been using to test this originally. Evidently, there are a number of terminal settings that do not default to values appropriate for my application.