Re: Is 115200 still the maximum baudrate?

From: Alan Cox
Date: Thu Nov 02 2017 - 14:44:27 EST


On Thu, 2 Nov 2017 13:13:55 -0400
"Theodore Ts'o" <tytso@xxxxxxx> wrote:

> On Thu, Nov 02, 2017 at 04:42:56PM +0100, Paul Menzel wrote:
> >
> > The Linux serial console documentation [1] says that 115200 is the maximum
> > supported baudrate.
> >
> > > The maximum baudrate is 115200.
> >
> > Is that still accurate? If yes, where should I look to support higher
> > values?
>
> See the setserial man page and the spd_* options:

Those have been obsolete for over a decade and doesn't work on all
devices.

The core Linux code supports arbitrary baud rate setting. Although it was
designed with the glibc maintainers at the time it seems they never
adopted it so you have do the following Linux specific:


struct termios t;

iotl(tty, TCGETS2, &t);
t.c_flag &= ~CBAUD;
t.c_flag |= BOTHER;
t.c_ispeed = input baud;
t.c_ospeed = output baud;
ioctl(tty, TCSETS2, &t);


and it'll let you ask for any speed you want including things like midi
baud rates. 76Kbit for ESP8266 devices and so on.

After the calls check the c_ispeed/c_ospeed to see what you got.

Alan