[lucid regression] FTDI based USB to serial adapter no longer works

Bug #655868 reported by Tom Wood
48
This bug affects 6 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
New
Undecided
Unassigned

Bug Description

FTDI based USB to serial adapter now generates errors in dmesg ("ftdi_sio ttyUSB0: Unable to write latency timer: -32") and fails to properly utilize data control lines. Previous kernel (2.6.32-24) worked properly.

ProblemType: Bug
DistroRelease: Ubuntu 10.04
Package: linux-image (not installed)
Regression: Yes
Reproducible: Yes
ProcVersionSignature: Ubuntu 2.6.32-25.44-generic 2.6.32.21+drm33.7
Uname: Linux 2.6.32-25-generic x86_64
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.21.
Architecture: amd64
ArecordDevices:
 **** List of CAPTURE Hardware Devices ****
 card 0: Intel [HDA Intel], device 0: AD198x Analog [AD198x Analog]
   Subdevices: 2/2
   Subdevice #0: subdevice #0
   Subdevice #1: subdevice #1
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: woodt 2581 F.... pulseaudio
CRDA: Error: [Errno 2] No such file or directory
Card0.Amixer.info:
 Card hw:0 'Intel'/'HDA Intel at 0xfe9dc000 irq 16'
   Mixer name : 'Analog Devices AD1984'
   Components : 'HDA:11d41984,10280211,00100400'
   Controls : 30
   Simple ctrls : 18
Date: Wed Oct 6 13:51:45 2010
HibernationDevice: RESUME=UUID=d587d6c2-d3c6-44c7-86f2-f8f9d4965ae3
MachineType: Dell Inc. OptiPlex 755
ProcCmdLine: root=UUID=419882ba-beaf-4370-8c51-f24aca1c7d60 ro quiet splash
ProcEnviron:
 LANG=en_US.UTF-8
 SHELL=/bin/bash
RelatedPackageVersions: linux-firmware 1.34.1
RfKill:

SourcePackage: linux
dmi.bios.date: 04/30/2008
dmi.bios.vendor: Dell Inc.
dmi.bios.version: A10
dmi.board.name: 0GM819
dmi.board.vendor: Dell Inc.
dmi.chassis.type: 6
dmi.chassis.vendor: Dell Inc.
dmi.modalias: dmi:bvnDellInc.:bvrA10:bd04/30/2008:svnDellInc.:pnOptiPlex755:pvr:rvnDellInc.:rn0GM819:rvr:cvnDellInc.:ct6:cvr:
dmi.product.name: OptiPlex 755
dmi.sys.vendor: Dell Inc.

Revision history for this message
Tom Wood (woodts) wrote :
Revision history for this message
Tom Wood (woodts) wrote :

Problem manifested itself working with a device that requires hardware flow control. Previous kernel worked fine with this device. This kernel, however, will not allow for communications with this device.

tags: added: kernel-candidate
Revision history for this message
Lars Heer (l-heer) wrote :

Hi,

I've this problem too but...

right now I'm using a self built 2.6.32.22 openvz kernel.
Is it possible to post the patch? I will rebuild the kernel and try if it fixes the problem.

Revision history for this message
Vince McIntyre (vmcintyr) wrote :
Download full text (3.2 KiB)

I have one of these devices too:
$ lsusb
Bus 005 Device 002: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 002: ID 046d:c03d Logitech, Inc. M-BT96a Pilot Optical Mouse
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 004: ID 03f0:3611 Hewlett-Packard PSC 2410 PhotoSmart
Bus 002 Device 003: ID 413c:2003 Dell Computer Corp. Keyboard
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

but I don't see this precise problem.
$ dmesg |grep latency
[ 0.540690] pci 0000:00:01.0: setting latency timer to 64
[ 0.540704] pci 0000:00:1c.0: setting latency timer to 64
[ 0.540723] pci 0000:00:1c.1: setting latency timer to 64
[ 0.540730] pci 0000:00:1e.0: setting latency timer to 64
[ 0.572644] pcieport 0000:00:01.0: setting latency timer to 64
[ 0.572778] pcieport 0000:00:1c.0: setting latency timer to 64
[ 0.572926] pcieport 0000:00:1c.1: setting latency timer to 64
[ 0.642441] ata_piix 0000:00:1f.1: setting latency timer to 64
[ 0.863461] ata_piix 0000:00:1f.2: setting latency timer to 64
[ 0.868809] ehci_hcd 0000:00:1d.7: setting latency timer to 64
[ 0.888362] uhci_hcd 0000:00:1d.0: setting latency timer to 64
[ 0.888640] uhci_hcd 0000:00:1d.1: setting latency timer to 64
[ 0.888915] uhci_hcd 0000:00:1d.2: setting latency timer to 64
[ 0.889195] uhci_hcd 0000:00:1d.3: setting latency timer to 64
[ 2.984776] tg3 0000:02:00.0: setting latency timer to 64
[ 15.215316] nouveau 0000:01:00.0: setting latency timer to 64
[ 18.011806] Intel ICH 0000:00:1e.2: setting latency timer to 64

This is with linux-image-2.6.32-25-generic version 2.6.32-25.44
$ uname -a
Linux ubuntu 2.6.32-25-generic #44-Ubuntu SMP Fri Sep 17 20:26:08 UTC 2010 i686 GNU/Linux

I do have a problem with the device, however. It is not responding properly when queried by /usr/bin/digitemp_DS9097U. Let me know if you want me to file a separate bug, but for now here's the problem:

What I used to get was
$ digitemp_DS9097U -s /dev/ttyUSB0 -a -q
Sep 28 20:01:25 Sensor 0 C: 21.56 F: 70.81
Sep 28 20:01:26 Sensor 1 C: 23.06 F: 73.51
ie there are two one-wire temperature sensors plugged into the usb serial device.

Now what I get is:
$ digitemp_DS9097U -s /dev/ttyUSB0 -a -q
Error 5: DS2480B Adapter Not Detected
Error 10: Read COM Failed
Error 10: Read COM Failed
Error 10: Read COM Failed
Error 10: Read COM Failed
Error 10: Read COM Failed
Error 10: Read COM Failed
Error 10: Read COM Failed
Error 10: Read COM Failed
Error 10: Read COM Failed

This works ok on:
Linux ubuntu 2.6.32-22-generic #36-Ubuntu SMP Thu Jun 3 22:02:19 UTC 2010 i686 GNU/Linux

It also worked ok on:
Linux ubuntu 2.6.32-24-generic #43-Ubuntu SMP Thu Sep 16 14:17:33 UTC 2010 i686 GNU/Linux

It does not work on either of these mainline builds:
 2.6.32-0206322109-generic
 2.6.36-999.201009261124
The same error seems to be occurring.

Shortly I'll attach two straces - one where the digitemp program works ...

Read more...

Revision history for this message
Vince McIntyre (vmcintyr) wrote :
Revision history for this message
Vince McIntyre (vmcintyr) wrote :
Revision history for this message
Vince McIntyre (vmcintyr) wrote :
Revision history for this message
Vince McIntyre (vmcintyr) wrote :

Further checking. Below is the output of
cat /proc/version_signature' and whether the device works:

Ubuntu 2.6.32-23.37-generic 2.6.32.15+drm33.5 OK

Ubuntu 2.6.32-24.43-generic 2.6.32.15+drm33.5 OK

Ubuntu 2.6.32-25.45-generic 2.6.32.21+drm33.7 BAD

These are all i386 kernels.

Revision history for this message
Vince McIntyre (vmcintyr) wrote :

I've bisected this, down to this commit. What now?

git bisect bad b81cce9f4a8ebd3332063d4cda1b87384d5e33fd
Bisecting: 0 revisions left to test after this (roughly 0 steps)
[55b5b5448771f964776a716227afd3ddef2c860e] USB: ftdi_sio: fix DTR/RTS line modes

tags: added: i386
removed: needs-upstream-testing
Revision history for this message
Vince McIntyre (vmcintyr) wrote :

See also LP#650731

Revision history for this message
Jason Hobbs (jason-hobbs) wrote :

I'm using openocd with a Luminary Micro LM3S6965 board. I hadn't used it in a while - did a bunch of upgrades since the last time I used it. Now, when I use minicom to open /dev/ttyUSB0, I see nothing unless openocd is running. When I run openocd, i see a steady stream of some unprintable character - comes out as a <?> in my terminal.

I'm running Maverick - Linux black 2.6.35-22-generic #35-Ubuntu SMP Sat Oct 16 20:45:36 UTC 2010 x86_64 GNU/Linux

Revision history for this message
Vince McIntyre (vmcintyr) wrote :

The change I bisected to (55b5b5448771f964776a716227afd3ddef2c860e)
is 6a1a82df91fa0eb1cc76069a9efe5714d087eccd from upstream.

That commit was reverted recently: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=677aeafe19e88c282af74564048243ccabb1c590;hp=1f8dd0154e09220be346819b85d195c791bb0f0b

Please could you also revert it in the next release of 2.6.32.

I've added patch-accepted-upstream because of this, is that the correct thing to do?

tags: added: patch-accepted-upstream
Revision history for this message
Jason Hobbs (jason-hobbs) wrote :

I tested with 55b5b5448771f964776a716227afd3ddef2c860e reverted on 2.6.35-22 - the behavior where I was only seeing output (gibberish) when openocd was running went away, but output is now only a few characters each time i reset the device. I'm going to go back further to get to a working state. This may be a separate issue if all is well for other users.

Revision history for this message
Vince McIntyre (vmcintyr) wrote :

I rebuilt tag Ubuntu-2.6.32-25.43 (3db80d04abba8cf8ab670ddd6435de1ad8287c39) with
55b5b5448771f964776a716227afd3ddef2c860e reverted.

My device now works correctly. Yay.

tags: added: patch
summary: - FTDI based USB to serial adapter no longer works
+ [lucid regression] FTDI based USB to serial adapter no longer works
Revision history for this message
Jason Hobbs (jason-hobbs) wrote :

My device also works with the commit removed - I had something else wrong that was broken re comment 13. hooooray

Revision history for this message
Aleksandr Koltsoff (czr) wrote :

Hi all, we run a Linux-only shop for electronics/hw development. We have a number of different devices that have FTDI embedded in them. This is the last thing that keeps us in Hardy. Running custom kernels just because of this for the next couple of years seems counter-productive so hopefully this will be fixed up eventually.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.