https://github.com/pyserial/pyserial/issues/805 https://github.com/pyserial/pyserial/pull/808 From 152f2639c630141b9d23f023178b619751e624a0 Mon Sep 17 00:00:00 2001 From: Alexander von Gluck IV Date: Sun, 24 Aug 2025 20:17:51 -0500 Subject: [PATCH] serial_posix: Fix custom baud rates for glibc >=2.42; solves #805 * https://sourceware.org/pipermail/libc-alpha/2025-July/168553.html * Based on changes recommended by JoaoBarioni in #805 * Reverts 0085e1e1d (#519) --- serial/serialposix.py | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/serial/serialposix.py b/serial/serialposix.py index 0464075b..6f843918 100644 --- a/serial/serialposix.py +++ b/serial/serialposix.py @@ -430,15 +430,8 @@ def _reconfigure_port(self, force_update=False): ispeed = ospeed = self.BAUDRATE_CONSTANTS[self._baudrate] except KeyError: #~ raise ValueError('Invalid baud rate: %r' % self._baudrate) - - # See if BOTHER is defined for this platform; if it is, use - # this for a speed not defined in the baudrate constants list. - try: - ispeed = ospeed = BOTHER - except NameError: - # may need custom baud rate, it isn't in our list. - ispeed = ospeed = getattr(termios, 'B38400') - + # Use safe placeholder for tcsetattr(), try to set special baudrate later + ispeed = ospeed = termios.B38400 try: custom_baud = int(self._baudrate) # store for later except ValueError: