pl2303h and ftdi serial port bug
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Expired
|
Medium
|
Unassigned |
Bug Description
When developing an application using serial ports, behaviour between process restarts is undefined for particular usb serial port chipsets.
Tested chipsets to fail are:
* pl2303H
* ftdi
Tested chipsets to work are:
* 16550A
* pl2303ra
Attached is a minimal test program to recreate the issue. The program needs to run twice, the first to create the problem, the second instance that shows the problem. See the comments at the beginning of the test program to see expected output and observed output.
You'll need the device under question attached and running as the receiver in the test program and a NULL modem cable (3 wire). Easiest to show the problem if you have two of the same USB devices attached and execute the command with "./a.out /dev/ttyUSB0 /dev/ttyUSB1".
Note, flushing, and other workarounds haven't worked, only physically removing and reinserting the problematic devices between runs (in particular, the device that is receiving the data over the serial port).
As there appears to be data in a buffer between runs that can't be properly flushed, I can't say if this is a potential security issue or not.
ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: linux-image-
ProcVersionSign
Uname: Linux 3.19.0-49-generic i686
ApportVersion: 2.14.1-0ubuntu3.19
Architecture: i386
CurrentDesktop: Unity
Date: Sun Feb 7 15:28:42 2016
InstallationDate: Installed on 2016-02-04 (2 days ago)
InstallationMedia:
SourcePackage: linux-lts-vivid
UpgradeStatus: No upgrade log present (probably fresh install)
---
ApportVersion: 2.14.1-0ubuntu3.19
Architecture: i386
AudioDevicesInUse:
USER PID ACCESS COMMAND
/dev/snd/
CurrentDesktop: Unity
DistroRelease: Ubuntu 14.04
HibernationDevice: RESUME=
InstallationDate: Installed on 2016-02-04 (31 days ago)
InstallationMedia:
MachineType: LENOVO 64577WG
NonfreeKernelMo
Package: linux (not installed)
PccardctlIdent:
Socket 0:
no product info available
PccardctlStatus:
Socket 0:
3.3V
32-bit
PC Card
ProcFB:
ProcKernelCmdLine: BOOT_IMAGE=
ProcVersionSign
RelatedPackageV
linux-
linux-
linux-firmware 1.127.20
Tags: trusty
Uname: Linux 3.19.0-49-generic i686
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo
_MarkForUpload: True
dmi.bios.date: 04/08/2010
dmi.bios.vendor: LENOVO
dmi.bios.version: 7LETC7WW (2.27 )
dmi.board.name: 64577WG
dmi.board.vendor: LENOVO
dmi.board.version: Not Available
dmi.chassis.
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.
dmi.modalias: dmi:bvnLENOVO:
dmi.product.name: 64577WG
dmi.product.
dmi.sys.vendor: LENOVO
description: | updated |
tags: | added: bios-outdated-2.30 |
tags: | added: xenial |
Jason Curl, thank you for taking the time to report this bug and helping to make Ubuntu better. Please execute the following command only once, as it will automatically gather debugging information, in a terminal:
apport-collect 1542862