Can't set UART BAUD rate on Jetson TX2 with Jetpack 3.1

Hello,

I’m using a Jetson TX2 with Jetpack 3.1. The baud rate for /dev/ttyTHS1 appears to be stuck at 115200bps, as probed with an oscilloscope. I’ve tried using minicom, setserial, and my own program using boost::asio to set the baud rate with none of them working. They report that the baud rate has changed, but the scope still shows 115200bps. The same code works fine on the Jetson TX1.

Can you think of any reason my TX2 is unable to change the UART BAUD rate? Is anyone else having this problem or is anyone able to successfully change the baud rate with a test with another system or a scope (because setserial says the baud rate has changed when it hasn’t)?

Thanks

Here’s a clue: from syslog

Aug 17 17:39:21 tegra-ubuntu kernel: [ 4980.638543] serial-tegra 3110000.serial: configured rate out of supported range by -0.2 %

I’m getting this error for all the baud rates I’m trying {921600, 460800, 115200, 19200}

Which physical connector are you using? FYI, I’ve noticed ttyS0 won’t work with hardware flow control and hardware flow control settings are broken.

I’m using /dev/ttyTHS1, which is UART2 on the Auvidea J120 daughter card.

Unfortunately I know nothing about the J120 (don’t have one). There were definitely some device tree changes needed, and if running R28.1 there were some device tree changes which put this into the boot loader instead of a separate file. Since the same code worked on a TX1 it seems you must have the right device, but I will ask this: Was the L4T version on the TX1 which worked R28.1? Which L4T versions are you testing with for both TX1 and TX2?

Hi Visionear,

I’ve changed baud rate of ttyTHS1 successfully (we connect a xsens module @460800bps to this port), but encountered a weird problem: https://devtalk.nvidia.com/default/topic/1022605/jetson-tx2/can-dev-ttyths1-work-at-460800bps-/ . The module should be in 8N2 mode, however, we have to use 8N1 otherwise the data received is not correct.

Could you post your serial configuration here(sudo stty -F /dev/ttyTHS1 -a)? If the cstopb is set and you can change the baud rate when it’s not set, it can explain both our problems.

Hello,

I’m running Jetpack 3.0 and R28.1(I believe, I don’t have access to that system at the moment) on the TX1.

On the TX2 with Jetpack 3.1 and R28.1, after a reboot, the stty output is :

$ sudo stty -F /dev/ttyTHS1 -a
[sudo] password for ubuntu: 
speed 9600 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; discard = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke -flusho -extproc

I’m not using any flow control.

Thanks

Hi Visionear,

Have you tried with minicom or other tools instead of your own program? Even though I encountered a weird problem of the ttyTHS1, I can change the baud rate at least.

I tried 460800 8N2 setting on TX2 with a PC, and it seemed good. However, with the xsens module mentioned in the above post, only 460800 8N1 on TX2 works. Maybe the PC didn’t send fast enough as the xsens module, or the xsens module’s baud rate is not accurate enough. As we have a workaround,it’s not urgent for us.

The problem appears to have been a bad solder joint on my daughter card. The “configured rate out of supported range by” error seems to be unrelated.

Thanks for your help and confirming that the baud-rate does change properly.

Hello,

I am trying to set a baud rate higher than 115200 on /dev/ttyTHS2. To set different baud rate I use pyserial. When I try to set something higher than 115200 dmesg is:

tegra-ubuntu kernel: [ 5950.353453] serial-tegra 3110000.serial: configured rate out of supported range by -0.51 %

Visionear, how did you manage to set speed higher than 115200? I am using a Orbitty Carrier for NVIDIA® Jetson™ TX2/TX2i/TX1: http://connecttech.com/pdf/CTIM-ASG003_Manual.pdf

Regards, Jure