From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alan Cox Subject: Re: serial: custom baud rate Date: Sun, 13 May 2018 20:57:26 +0100 Message-ID: <20180513205726.5029c88a@alans-desktop> References: Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org To: Grant Edwards Cc: linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org List-Id: linux-serial@vger.kernel.org On Thu, 3 May 2018 18:27:14 +0000 (UTC) Grant Edwards wrote: > On 2018-05-03, Muni Sekhar 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 > > 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