I migrated my project from xavier nx to orin nx, and from jetpack 4.6.4 to jetpack 6.1.
The only change that mentioned in the network related to this is that devices names changed from ttyTHS0 and ttyTHS1 in xavier, to ttyTHS1 and ttyTHS2 in orin.
But even though i see in dmesg that uarts enable and ok, i dont see nothing with cat command on the device names ( the device that connected on the uart send messages for sure, and if i replace orin with xavier, it works and i see data. I’m using both ttyTHS uarts)
I tried to compare uart special definitions that worked for me on xavier (as using 2 stop bits etc.) But it didnt help.
I also worked with claude that suggested changes in the device tree (add serial segments and delete dma from dts and build it), but its also didnt help.
Please assist if you can point on something or you know about some change in uarts on the orin that need to be treat..
UART0 => UART2(PX04, PX05, PX06, PX07): uartb@3110000 (NA) - Unused => To M.2 Key E
UART1 => UART1(PR02, PR03, PR04, PR05): uarta@3100000 (serial1) - /dev/ttyTHS1 => General UART
UART2 => UART3(PCC05, PCC06): NA - /dev/ttyTCU0 => Debug
NA => NA: uarte@3140000 (serial2) - /dev/ttyTHS2 => Virtual
does it means /dev/ttyTHS2 will never work on orin???
if yes, is there other available uart except /dev/ttyTHS2?
i must have it for my product and my migration from xavier to orin. i must get answer for this question ASAP please.
and need to know if there ia any software/hardware solution that
(1 uart works great- ttyTHS1. but ttyTHS2 doesn’t work even after i update the equivalent uart in the device tree)
Hi there, to expand on that, try decompiling the current dtb in your board and modifying the node serial@3110000to set status = "okay". Also ensure that it has the compatible = "nvidia,tegra194-hsuart"property set. Add an entry in the aliases section, for example serial2 = "/bus@0/serial@3110000";so the kernel assigns a /dev/ttyTHS*device. Recompile this modified dts into a dtb and replace it for the one in your board. Then verify with both the dmesg | grep 3110000and ls /dev/ttyTHS*commands. After that, you cant test direct transmission. Hopefully this should enable the second UART interface. Let me know if this works.
Regards,
Fabian Munoz Embedded SW Engineer at RidgeRun