Hi,
I have a USB controlled digital radio device that uses the FT232RL. I
have it working fine under 2.6.34 with some custom software that I
wrote, but under 2.6.36 and 2.6.38 it is unresponsive. I've tried it on
two different computers with the same result.
To test this further, I wrote a small app that reads from /dev/ttyUSB0
and prints out anything it receives. The source code for this app is at
http://www.harshbutfair.org/software/RadioRead.c
Under 2.6.34, it prints:
[0xff][0x1][0x10][0x2] Welcome to
[0xff][0x1][0x10][0x2] Welcome to Digital Radio
[0xff][0x1][0x10][0x2] Digital Radio
[0xff][0x1][0x10][0x2] Time is not set
[0xff][0x1][0x10][0x2] 00:00:00 Time is not set
[0xff][0x1][0x10][0x2] 00:00:00 Time is not set (etc)
Under 2.6.36 and 2.6.38:
[0x0][0x0]
If I run the app again without reconnecting the device, it works fine on
2.6.34 but doesn't print anything on the newer kernels.
I've tried enabling debug for the ftdi_sio module but it doesn't mean
much to me. Below is the output for 2.6.34 and 2.6.38. As you can see,
the ftdi_read_bulk_callback debug messages are no longer printed in the
newer kernel, but that function seems to have been removed from the
driver so I don't know what I should be expecting to see. I have also
included the output from lsusb -v for this device.
If someone could point me in the right direction it would be much
appreciated.
Cheers,
Steve
-------------------
2.6.34 output:
-------------------
Mar 19 18:19:58 stomp kernel: drivers/usb/serial/ftdi_sio.c: ftdi_init
Mar 19 18:19:58 stomp kernel: USB Serial support registered for FTDI USB
Serial Device
Mar 19 18:19:58 stomp kernel: usbcore: registered new interface driver
ftdi_sio
Mar 19 18:19:58 stomp kernel: ftdi_sio: v1.5.0:USB FTDI Serial
Converters Driver
Mar 19 18:20:15 stomp kernel: ftdi_sio 2-3:1.0: FTDI USB Serial Device
converter detected
Mar 19 18:20:15 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_sio_port_probe
Mar 19 18:20:15 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_determine_type: bcdDevice = 0x600, bNumInterfaces = 1
Mar 19 18:20:15 stomp kernel: drivers/usb/serial/ftdi_sio.c:
read_latency_timer
Mar 19 18:20:15 stomp kernel: drivers/usb/serial/ftdi_sio.c:
create_sysfs_attrs
Mar 19 18:20:15 stomp kernel: drivers/usb/serial/ftdi_sio.c: sysfs
attributes for FT232RL
Mar 19 18:20:15 stomp kernel: usb 2-3: FTDI USB Serial Device converter
now attached to ttyUSB0
Mar 19 18:20:30 stomp kernel: drivers/usb/serial/ftdi_sio.c: ftdi_open
Mar 19 18:20:30 stomp kernel: drivers/usb/serial/ftdi_sio.c:
write_latency_timer: setting latency timer = 1
Mar 19 18:20:30 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_set_termios
Mar 19 18:20:30 stomp kernel: drivers/usb/serial/ftdi_sio.c: Setting CS8
Mar 19 18:20:30 stomp kernel: drivers/usb/serial/ftdi_sio.c:
get_ftdi_divisor - tty_get_baud_rate reports speed 9600
Mar 19 18:20:30 stomp kernel: drivers/usb/serial/ftdi_sio.c:
get_ftdi_divisor - Baud rate set to 9600 (divisor 0x4138) on chip FT232RL
Mar 19 18:20:30 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_set_termios Turning off hardware flow control
Mar 19 18:20:30 stomp kernel: drivers/usb/serial/ftdi_sio.c:
update_mctrl - DTR LOW, RTS LOW
Mar 19 18:20:30 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_read_bulk_callback - port 0
Mar 19 18:20:30 stomp kernel: ftdi_sio ttyUSB0: ftdi_read_bulk_callback
- length = 3, data = 01 62 00
Mar 19 18:20:30 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_process_packet - port 0
Mar 19 18:20:30 stomp kernel: drivers/usb/serial/ftdi_sio.c: OVERRRUN error
Mar 19 18:20:30 stomp kernel: drivers/usb/serial/ftdi_sio.c:
update_mctrl - DTR HIGH, RTS HIGH
Mar 19 18:20:30 stomp kernel: drivers/usb/serial/ftdi_sio.c: ftdi_ioctl
cmd 0x5402
Mar 19 18:20:30 stomp kernel: drivers/usb/serial/ftdi_sio.c: ftdi_ioctl
arg not supported - it was 0x5402 - check /usr/include/asm/ioctls.h
Mar 19 18:20:30 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_set_termios
Mar 19 18:20:30 stomp kernel: drivers/usb/serial/ftdi_sio.c: Setting CS8
Mar 19 18:20:30 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_read_bulk_callback - port 0
Mar 19 18:20:30 stomp kernel: ftdi_sio ttyUSB0: ftdi_read_bulk_callback
- length = 2, data = 01 62
Mar 19 18:20:30 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_process_packet - port 0
Mar 19 18:20:30 stomp kernel: drivers/usb/serial/ftdi_sio.c: OVERRRUN error
Mar 19 18:20:30 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_read_bulk_callback - port 0
Mar 19 18:20:30 stomp kernel: ftdi_sio ttyUSB0: ftdi_read_bulk_callback
- length = 2, data = 01 62
Mar 19 18:20:30 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_process_packet - port 0
Mar 19 18:20:30 stomp kernel: drivers/usb/serial/ftdi_sio.c: OVERRRUN error
Mar 19 18:20:30 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_read_bulk_callback - port 0
Mar 19 18:20:30 stomp kernel: ftdi_sio ttyUSB0: ftdi_read_bulk_callback
- length = 2, data = 01 62
Mar 19 18:20:30 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_process_packet - port 0
Mar 19 18:20:30 stomp kernel: drivers/usb/serial/ftdi_sio.c: OVERRRUN error
Mar 19 18:20:30 stomp kernel: drivers/usb/serial/ftdi_sio.c:
get_ftdi_divisor - tty_get_baud_rate reports speed 115200
Mar 19 18:20:30 stomp kernel: drivers/usb/serial/ftdi_sio.c:
get_ftdi_divisor - Baud rate set to 115200 (divisor 0x1A) on chip FT232RL
Mar 19 18:20:30 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_read_bulk_callback - port 0
Mar 19 18:20:30 stomp kernel: ftdi_sio ttyUSB0: ftdi_read_bulk_callback
- length = 2, data = 01 62
Mar 19 18:20:30 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_process_packet - port 0
Mar 19 18:20:30 stomp kernel: drivers/usb/serial/ftdi_sio.c: OVERRRUN error
(... presumably the "OVERRRUN" continues until my app is started ... )
Mar 19 18:20:31 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_read_bulk_callback - port 0
Mar 19 18:20:31 stomp kernel: ftdi_sio ttyUSB0: ftdi_read_bulk_callback
- length = 2, data = 01 60
Mar 19 18:20:31 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_process_packet - port 0
Mar 19 18:20:31 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_read_bulk_callback - port 0
Mar 19 18:20:31 stomp kernel: ftdi_sio ttyUSB0: ftdi_read_bulk_callback
- length = 2, data = 01 60
Mar 19 18:20:31 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_process_packet - port 0
Mar 19 18:20:31 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_read_bulk_callback - port 0
Mar 19 18:20:31 stomp kernel: ftdi_sio ttyUSB0: ftdi_read_bulk_callback
- length = 2, data = 01 60
Mar 19 18:20:31 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_process_packet - port 0
Mar 19 18:20:31 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_read_bulk_callback - port 0
Mar 19 18:20:31 stomp kernel: ftdi_sio ttyUSB0: ftdi_read_bulk_callback
- length = 2, data = 01 60
Mar 19 18:20:31 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_process_packet - port 0
Mar 19 18:20:31 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_read_bulk_callback - port 0
Mar 19 18:20:31 stomp kernel: ftdi_sio ttyUSB0: ftdi_read_bulk_callback
- length = 2, data = 01 60
Mar 19 18:20:31 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_process_packet - port 0
Mar 19 18:20:31 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_read_bulk_callback - port 0
Mar 19 18:20:31 stomp kernel: ftdi_sio ttyUSB0: ftdi_read_bulk_callback
- length = 2, data = 01 60
(similar messages repeated until device is disconnected)
Mar 19 18:20:35 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_process_packet - port 0
Mar 19 18:20:35 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_read_bulk_callback - port 0
Mar 19 18:20:35 stomp kernel: ftdi_sio ttyUSB0: ftdi_read_bulk_callback
- length = 2, data = 01 60
Mar 19 18:20:35 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_process_packet - port 0
Mar 19 18:20:35 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_chars_in_buffer - port 0
Mar 19 18:20:35 stomp kernel: drivers/usb/serial/ftdi_sio.c: ftdi_close
Mar 19 18:20:35 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_read_bulk_callback - port 0
Mar 19 18:20:35 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_read_bulk_callback - nonzero read bulk status received: -2
Mar 19 18:20:38 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_sio_port_remove
Mar 19 18:20:38 stomp kernel: drivers/usb/serial/ftdi_sio.c:
remove_sysfs_attrs
Mar 19 18:20:38 stomp kernel: ftdi_sio ttyUSB0: FTDI USB Serial Device
converter now disconnected from ttyUSB0
Mar 19 18:20:38 stomp kernel: ftdi_sio 2-3:1.0: device disconnected
Mar 19 18:20:45 stomp kernel: drivers/usb/serial/ftdi_sio.c: ftdi_exit
Mar 19 18:20:45 stomp kernel: usbcore: deregistering interface driver
ftdi_sio
Mar 19 18:20:45 stomp kernel: USB Serial deregistering driver FTDI USB
Serial Device
-------------------
2.6.38 output:
-------------------
Mar 20 15:38:10 stomp kernel: drivers/usb/serial/ftdi_sio.c: ftdi_init
Mar 20 15:38:10 stomp kernel: USB Serial support registered for FTDI USB
Serial Device
Mar 20 15:38:10 stomp kernel: usbcore: registered new interface driver
ftdi_sio
Mar 20 15:38:10 stomp kernel: ftdi_sio: v1.6.0:USB FTDI Serial
Converters Driver
Mar 20 15:38:20 stomp kernel: ftdi_sio 2-3:1.0: FTDI USB Serial Device
converter detected
Mar 20 15:38:20 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_sio_port_probe
Mar 20 15:38:20 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_determine_type: bcdDevice = 0x600, bNumInterfaces = 1
Mar 20 15:38:20 stomp kernel: drivers/usb/serial/ftdi_sio.c:
read_latency_timer
Mar 20 15:38:20 stomp kernel: drivers/usb/serial/ftdi_sio.c:
write_latency_timer: setting latency timer = 1
Mar 20 15:38:20 stomp kernel: drivers/usb/serial/ftdi_sio.c:
create_sysfs_attrs
Mar 20 15:38:20 stomp kernel: drivers/usb/serial/ftdi_sio.c: sysfs
attributes for FT232RL
Mar 20 15:38:20 stomp kernel: usb 2-3: FTDI USB Serial Device converter
now attached to ttyUSB0
Mar 20 15:38:33 stomp kernel: drivers/usb/serial/ftdi_sio.c: ftdi_open
Mar 20 15:38:33 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_set_termios
Mar 20 15:38:33 stomp kernel: drivers/usb/serial/ftdi_sio.c: Setting CS8
Mar 20 15:38:33 stomp kernel: drivers/usb/serial/ftdi_sio.c:
get_ftdi_divisor - tty_get_baud_rate reports speed 9600
Mar 20 15:38:33 stomp kernel: drivers/usb/serial/ftdi_sio.c:
get_ftdi_divisor - Baud rate set to 9600 (divisor 0x4138) on chip FT232RL
Mar 20 15:38:33 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_set_termios Turning off hardware flow control
Mar 20 15:38:33 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_process_packet - port 0
Mar 20 15:38:33 stomp kernel: drivers/usb/serial/ftdi_sio.c:
update_mctrl - DTR HIGH, RTS HIGH
Mar 20 15:38:33 stomp kernel: drivers/usb/serial/ftdi_sio.c: ftdi_ioctl
cmd 0x5402
Mar 20 15:38:33 stomp kernel: drivers/usb/serial/ftdi_sio.c: ftdi_ioctl
arg not supported - it was 0x5402 - check /usr/include/asm/ioctls.h
Mar 20 15:38:33 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_set_termios
Mar 20 15:38:33 stomp kernel: drivers/usb/serial/ftdi_sio.c: Setting CS8
Mar 20 15:38:33 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_process_packet - port 0
Mar 20 15:38:33 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_process_packet - port 0
Mar 20 15:38:33 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_process_packet - port 0
Mar 20 15:38:33 stomp kernel: drivers/usb/serial/ftdi_sio.c:
get_ftdi_divisor - tty_get_baud_rate reports speed 115200
Mar 20 15:38:33 stomp kernel: drivers/usb/serial/ftdi_sio.c:
get_ftdi_divisor - Baud rate set to 115200 (divisor 0x1A) on chip FT232RL
Mar 20 15:38:33 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_process_packet - port 0
Mar 20 15:38:33 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_process_packet - port 0
Mar 20 15:38:33 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_process_packet - port 0
Mar 20 15:38:33 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_set_termios Turning off hardware flow control
Mar 20 15:38:33 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_process_packet - port 0
Mar 20 15:38:33 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_process_packet - port 0
Mar 20 15:38:33 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_process_packet - port 0
Mar 20 15:38:33 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_process_packet - port 0
(this message repeated until device disconnects)
Mar 20 15:38:37 stomp kernel: drivers/usb/serial/ftdi_sio.c: ftdi_close
Mar 20 15:38:40 stomp kernel: drivers/usb/serial/ftdi_sio.c:
ftdi_sio_port_remove
Mar 20 15:38:40 stomp kernel: drivers/usb/serial/ftdi_sio.c:
remove_sysfs_attrs
Mar 20 15:38:40 stomp kernel: ftdi_sio ttyUSB0: FTDI USB Serial Device
converter now disconnected from ttyUSB0
Mar 20 15:38:40 stomp kernel: ftdi_sio 2-3:1.0: device disconnected
-------------------
lsusb -v
-------------------
Bus 002 Device 004: ID 0403:6001 Future Technology Devices
International, Ltd FT232 USB-Serial (UART) IC
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x0403 Future Technology Devices International, Ltd
idProduct 0x6001 FT232 USB-Serial (UART) IC
bcdDevice 6.00
iManufacturer 1 FTDI
iProduct 2 FT232R USB UART
iSerial 3 A9U7H3K2
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 300mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 2 FT232R USB UART
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Device Status: 0x0000
(Bus Powered)
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html