Re: serial: custom baud rate

From: Alan Cox
Date: Sun May 13 2018 - 15:57:33 EST


On Thu, 3 May 2018 18:27:14 +0000 (UTC)
Grant Edwards <grant.b.edwards@xxxxxxxxx> wrote:

> On 2018-05-03, Muni Sekhar <munisekharrms@xxxxxxxxx> wrote:
>
> > If I need to set a custom baud rates(e.g. 14400, 128000, 256000), does
> > Linux serial framework has any supporting method?
>
> Sure, use the termios2 structure instead of the termios structure:
>
> #include <linux/termios.h>
>
> struct termios2 t;
>
> ioctl(fd, TCGETS2, &t)
>
> t.c_cflag &= ~CBAUD;
> t.c_cflag |= BOTHER;
> t.c_ispeed = baud;
> t.c_ospeed = baud;
>
> ioctl(fd, TCSETS2, &t)
>
> [Not all devices/drivers support termios2]

That shouldn't be true - all devices get passed ispeed/ospeed and
everything in tree was using the correct fields as far as I could tell
last time I checked this

Alan