Enable UART(0) on Orin NX


How do i go about enabling UART on the Orin NX?
Ive flashed the Orin NX using these steps:
${L4T_RELEASE_PACKAGE} = Jetson_Linux_R35.2.1_aarch64.tbz2
${SAMPLE_FS_PACKAGE} = Tegra_Linux_Sample-Root-Filesystem_R35.2.1_aarch64.tbz2
And these steps: Quick Start — Jetson Linux Developer Guide documentation
However when testing the UART I get a permission denied?
-bash: /dev/ttyTHS0: Permission denied
-bash: /dev/ttyTHS3: Permission denied
-bash: /dev/ttyTHS4: Permission denied
How do I fix this?
Ive seen this post Enabling the correct UARTs on the Orin NX
But I cant find the steps to “enable” the UART?
Ive checked the pinmux sheet and for my usecase I want to use UB3, to which THS does this translate?


Ive fixed the permission denied by adding my user to the dialout group. But when trying THS0, 3 and 4 these do not appear to be connected to UART0. How can I use UART0?

So I understand now that UART A D and E are enabled on the Orin.
How do I switch D or E to B?

I have found the file tegra234-p3767-0000-p3509-a02.dtb that contains the uart settings
However when I change to okay
serial@3110000 { status = "okay"; };
and turn UART D to disabled
serial@3130000 { status = "diabled"; };
Then I recompile the dts to dtb file. But when I check the file again after the flashing. this is reversed… Also the Orin still only has A D E enabled.
How do I fix this?

Hi r.vries,

What’s your carrier board for Orin NX?

Please refer to the following thread about the UART usage in Orin NX.
OrinNX : How to check UART is working? - Jetson & Embedded Systems / Jetson Orin NX - NVIDIA Developer Forums

May I know what’s your use case for UART?

Hi Kevin,
I am using a custom carrier board.
The link you provided does not really help, I have UART B exposed and I want to use it for communication to another device. I checked the pinmux sheet and I dont think I need to change anything there?
Ive tried enabling it in the dtb file but this gets reverted.
I have a feeling that something else is overwriting this during the flashing process.

This is currently the pinmux sheet, no changes from the original

how are you testing the uart? that error looks like you are trying to run /dev/ttyTHS0 which won’t work

can you post the output of sudo dmesg | grep tty

and how are you editing the dtb file, if its getting reverted you are possiblying using a different one than whats being flashed?

Hi, ive found the issue. I was changing the dtb file in /bootloader but I should have changed it in /kernel/dtb

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.