This text is about USB adapters that offer serial connections on Linux, see also Wikipedia USB_adapter. Serial connections are also known as the frequently found RS232 interface or more generally as UARTs.
Some USB-serial RS232 adapters fail after some time. The user program gets a timeout while reading from the device and the syslog shows:
Jan 22 20:24:30 luna kernel: [107148.076443] usb 1-2: new full-speed USB device number 7 using uhci_hcd
Jan 22 20:24:30 luna kernel: [107148.254264] usb 1-2: New USB device found, idVendor=067b, idProduct=2303, bcdDevice= 4.00
Jan 22 20:24:30 luna kernel: [107148.254269] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Jan 22 20:24:30 luna kernel: [107148.254273] usb 1-2: Product: USB-Serial Controller
Jan 22 20:24:30 luna kernel: [107148.254277] usb 1-2: Manufacturer: Prolific Technology Inc.
Jan 22 20:24:30 luna kernel: [107148.269380] usb 1-2: pl2303 converter now attached to ttyUSB0
Jan 22 20:24:30 luna mtp-probe: checking bus 1, device 7: "/sys/devices/pci0000:00/0000:00:1d.0/usb1/1-2"
Jan 22 20:24:30 luna mtp-probe: checking bus 1, device 7: "/sys/devices/pci0000:00/0000:00:1d.0/usb1/1-2"
Jan 22 20:25:37 luna kernel: [107215.122292] pl2303 ttyUSB0: pl2303_get_line_request - failed: -32
Jan 22 20:25:37 luna kernel: [107215.126290] pl2303 ttyUSB0: pl2303_get_line_request - failed: -32
Jan 22 20:25:39 luna kernel: [107217.443295] pl2303 ttyUSB0: error sending break = -32
Jan 22 20:25:42 luna kernel: [107220.678293] pl2303 ttyUSB0: pl2303_get_line_request - failed: -32
Jan 22 20:25:45 luna kernel: [107222.979296] pl2303 ttyUSB0: error sending break = -32
Jan 22 20:34:44 luna kernel: [107761.930496] pl2303 ttyUSB0: pl2303_get_line_request - failed: -32
Jan 22 20:34:46 luna kernel: [107764.248489] pl2303 ttyUSB0: error sending break = -32
Jan 22 20:34:48 luna kernel: [107766.500487] pl2303 ttyUSB0: pl2303_get_line_request - failed: -32
Jan 22 20:34:51 luna kernel: [107768.824489] pl2303 ttyUSB0: error sending break = -32
Jan 22 20:35:59 luna kernel: [107837.478504] usb 1-2: USB disconnect, device number 7
Jan 22 20:35:59 luna kernel: [107837.478752] pl2303 ttyUSB0: pl2303 converter now disconnected from ttyUSB0
Other parameters: Debian 10, Linux kernel 4.19.0-13-686-pae
There are numerous pages on the web with similar problems. However, like so often , many comments are added by folks who mean well, but aren't very knowledgeable about Linux. For example, this problem is not related to access rights on the device file: The user program is able to open the device, it works at first, but fails after a while. The machine is otherwise completely idle, it is not running on a VM emulator, and nothing changed on the USB bus. It is not caused by a faulty or permuted wiring of the RS232 hardware-handshake signals (DTR-DSR, RTS-CTS, DCD).
By my experience, this is provable a problem with the firmware on some low-end adapters (see table below).
However, the main problem is the lack of identification of a specific USB-serial converter: The packaging doesn't show the
chip that is used and/or the firmware version in it. In most cases the only way is to buy an adapter and hope for the best.
Even lsusb -v shows only a subtle difference between an adapter that works and one of the same manufacturer that does not.
Apparently adapters for the consumer market don't bother about listing the firmware version or a serial number. - Which is essential for
debugging and reporting a bug. Hence some adapters have to be regarded as sub-optimal, over-priced hardware crap for consumer kiddies.
On the subject of counterfeit FTDI adapters, see FTDI Wikipedia entry.
There are manufacturers of adapters which do show a serial number or version info (e.g. the
FTDI product below).
A more robust and sound solution for industrial applications are PCI or PCIe cards with RS232 I/O chip-sets. Even better for professional work are industrial motherboards which still feature the legacy RS232 chip-sets on board: And, as of June 2023, surprisingly, the latter are still available (e.g. by manufacturer "ASrock"), even with the latest Intel CPUs (currently the "Raptor Lake" generation).
Peter Apian-Bennewitz, info[AT]pab-opto.de,
Text written, Images taken by me.
Copyright GNU_Free_Documentation_License.
Reference to this text is appreciated and mandatory, if content is used elsewhere.