Recently I've tried to connect an USB to RS232 adapter. In Ubuntu Edgy 6.10 and in Windows XP the cable worked flawlessly. However, in Ubuntu Feisty 7.04 and in Ubuntu Gutsy 7.10 the system was automatically removing the device, rendering /dev/ttyUSB0 inaccessible. In the end I narrowed it down to brltty package, and specifically one line in /etc/udev/rules.d/85-brltty.rules - details follow.
A quick look in the system log: $ sudo tail -f /var/log/messages Sep 14 18:16:51 fine-2 kernel: [ 1409.164000] usb 2-1: new full speed USB device using ohci_hcd and address 3 Sep 14 18:16:51 fine-2 kernel: [ 1409.392000] usb 2-1: configuration #1 chosen from 1 choice Sep 14 18:16:51 fine-2 kernel: [ 1409.396000] ftdi_sio 2-1:1.0: FTDI USB Serial Device converter detected Sep 14 18:16:51 fine-2 kernel: [ 1409.396000] drivers/usb/serial/ftdi_sio.c: Detected FT232BM Sep 14 18:16:51 fine-2 kernel: [ 1409.396000] usb 2-1: FTDI USB Serial Device converter now attached to ttyUSB0 Sep 14 18:16:51 fine-2 kernel: [ 1409.600000] usb 2-1: usbfs: interface 0 claimed by ftdi_sio while 'brltty' sets config #1 Sep 14 18:16:51 fine-2 kernel: [ 1409.604000] ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0 Sep 14 18:16:51 fine-2 kernel: [ 1409.604000] ftdi_sio 2-1:1.0: device disconnected Sep 14 18:18:52 fine-2 kernel: [ 1529.388000] usb 2-1: USB disconnect, address 3 $ lsusb Bus 003 Device 001: ID 0000:0000 Bus 004 Device 001: ID 0000:0000 Bus 002 Device 006: ID 0403:6001 Future Technology Devices International, Ltd 8-bit FIFO Bus 002 Device 001: ID 0000:0000 Bus 001 Device 001: ID 0000:0000 The line mentioning 'brltty' looked suspicious, so I did a little search with the exact error message: Google: "usbfs: interface 0 claimed by ftdi_sio while 'brltty' sets config #1" * http://www.google.pl/search?hl=pl&q=usbfs%3A+interface+0+claimed+by+ftdi_sio+while+%27brltty%27+sets+config+%231 Interesting results - from what I could tell, all the answers suggested the removal of brltty package. However, I started noticing something interesting with regard to USB VendorID+ProductId combinations, namely 0403:6001. Device that I posess had exactly the same characteristics. Here are the places describing the same problem: * http://www.mail-archive.com/linux-usb- [EMAIL PROTECTED]/msg56580.html FTDI UM245R Vendor Id: 0403 Product Id: 6001 * http://dub.net.nz/hal FT232BM /org/freedesktop/Hal/devices/usb_device_403_6001_FTCXA3R6 * https://answers.launchpad.net/ubuntu/+source/gnome- panel/+question/7438 Google: "linux usbserial" * http://www.google.pl/search?hl=pl&q=linux+usbserial * http://ftdi-usb-sio.sourceforge.net/ FTDI_SIO Vendor=0403 ProdID=8372 (ok, this is different) FT8U232AM Vendor=0403 ProdID=6001 245 USB <-> Serial Vendor=0403 ProdID=6001 Finally I checked the brltty package itself, and looked for its udev rules: $ dpkg -L brltty | grep udev /etc/udev /etc/udev/rules.d /etc/udev/rules.d/85-brltty.rules Now for the interesting part: $ grep 6001 /etc/udev/rules.d/85-brltty.rules SYSFS{idVendor}=="0403", SYSFS{idProduct}=="6001", RUN+="/lib/brltty/brltty.sh -b ht -d usb:" And to give it more context: $ grep -B3 -A3 6001 /etc/udev/rules.d/85-brltty.rules # HandyTech SYSFS{idVendor}=="0921", SYSFS{idProduct}=="1200", RUN+="/lib/brltty/brltty.sh -b ht -d usb:" SYSFS{idVendor}=="0403", SYSFS{idProduct}=="6001", RUN+="/lib/brltty/brltty.sh -b ht -d usb:" # Papenmeier SYSFS{idVendor}=="0403", SYSFS{idProduct}=="f208", RUN+="/lib/brltty/brltty.sh -b pm -d usb:" After I placed a # comment at the beginning of line containing 0403:6001 combination and killed the running brltty daemon, my USB <-> RS232 converter started to work! $ grep 6001 /etc/udev/rules.d/85-brltty.rules # SYSFS{idVendor}=="0403", SYSFS{idProduct}=="6001", RUN+="/lib/brltty/brltty.sh -b ht -d usb:" $ ps axfu | grep brltty root 12403 0.0 0.1 2892 764 pts/1 S+ 18:54 0:00 \_ grep brltty root 5720 0.0 0.1 1960 800 ? S<s 17:56 0:02 /sbin/brltty -P /var/run/brltty -b ht -d usb: $ sudo killall brltty Now after inserting the converter I got a working /dev/ttyUSB0 device: $ sudo tail -f /var/log/messages Sep 14 18:55:36 fine-2 kernel: [ 3727.712000] usb 2-1: new full speed USB device using ohci_hcd and address 9 Sep 14 18:55:37 fine-2 kernel: [ 3727.940000] usb 2-1: configuration #1 chosen from 1 choice Sep 14 18:55:37 fine-2 kernel: [ 3727.944000] ftdi_sio 2-1:1.0: FTDI USB Serial Device converter detected Sep 14 18:55:37 fine-2 kernel: [ 3727.944000] drivers/usb/serial/ftdi_sio.c: Detected FT232BM Sep 14 18:55:37 fine-2 kernel: [ 3727.944000] usb 2-1: FTDI USB Serial Device converter now attached to ttyUSB0 $ ls -l /dev/ttyU* crw-rw---- 1 root dialout 188, 0 2007-09-14 18:55 /dev/ttyUSB0 Now for conclusion. It seems like brltty's udev rules contain a line which obviously interferes with normal mode of operation of USB <-> Serial converters. However, it appears only for USB devices with idVendor:idProduct combination of 0403:6001. From what I suspect, the HandyTech Braille reader must simply have a chip with the same converter used for regular USB <-> Serial adapters. I'm not sure what to suggest, but it seems that since more and more laptops doesn't have RS232 connectors, USB to RS232 cables will be used more often. The 0403:6001 combination is reserved for a generic chip operating in such adapters. This chip is handled by ftdi_sio kernel module which is present in most 2.6.x kernels. Since such an adapter worked up to Ubuntu 6.10 and suddenly stopped working since Ubuntu 7.04 I consider this a bad regression. The 0403:6001 id is not used only for this device, but is more generic than that. I admit that this is a special corner case, however HandyTech Braille reader seems to incorporate such a generic USB <-> Serial converter. It's not fair to both sides, impaired users and users of USB/RS232 adapters, but in the end it's the HandyTech that is responsible for not taking care of obtaining unique USB id for its product. Please, update the brltty's udev rules and remove the conflicting HandyTech device. -- FTDI USB Serial Device converter disconnects https://bugs.launchpad.net/bugs/122834 You received this bug notification because you are a member of Ubuntu Bugs, which is the bug contact for Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs