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


#1

Hi
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

John

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);

and

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


#2

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.

cheers,
Ashish


#3

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
16.01.0
And the latest version on the source is
16.01.2

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

4173
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?

Thanks
John


#4