ttyHSL0 = UART1 is a DCE - CTS is an OP - how to set it


I’ve just notices that ttyHSL0 is a DCE device - odd for a Linux machine

Anyway - as CTS is a DCE OP - how do we set it using standard Linux C code?

Thanks in advance


PS The port is transceiving data ok and I’ve tried the following

ioctl(fd, TIOCMGET, &flags);
if (on) {
flags |= TIOCM_RTS;
} else {
flags &= ~TIOCM_RTS;
ioctl(fd, TIOCMSET, &flags);


ioctl(fd, TIOCMGET, &flags);
if (on) {
flags |= TIOCM_CTS;
} else {
flags &= ~TIOCM_CTS;
ioctl(fd, TIOCMSET, &flags);


Hi John,

Make sure you have latest firmware , we have enabled UART HS and not HSL.
Then run the following command:
root@swi-mdm9x15: stty -F /dev/ttyHS0 -a (it will show you the status of UART whether two wire or 4 wire)

The enable 4 wire UART
root@swi-mdm9x15: stty -F /dev/ttyHS0 crtscts

then check again:
root@swi-mdm9x15: stty -F /dev/ttyHS0 -a

What you are looking for is crtscts, when it is disabled it -crtscts and when enabled it is crtscts.



Hi Ashish
Many thanks I’ll try this out

Just checking though (and for when I look at this post in a few weeks time having forgotten the answers)

I currently have installed FW
And the latest version on the source is

The FW release notes for 16.01.2 states (5.3 Known Issues)

An HS 4-wire UART driver is not yet included in this release.

I guess I need a beta FW (16.04.xx ?) or does 16.01.2 provide ttyHS0 and CTS control?