Re: serial: custom baud rate

From: Grant Edwards
Date: Mon May 14 2018 - 11:39:28 EST


On 2018-05-13, Alan Cox <gnomes@xxxxxxxxxxxxxxxxxxx> wrote:
> 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

Yep, my mistake. It looks like the driver where I last ran into this
was an old out-of-tree driver.

--
Grant Edwards grant.b.edwards Yow! Mary Tyler Moore's
at SEVENTH HUSBAND is wearing
gmail.com my DACRON TANK TOP in a
cheap hotel in HONOLULU!