Behavior of serial usb driver when unplugged
From: Byron Stanoszek
Date: Tue Jun 08 2004 - 10:52:10 EST
Hi all,
I'm currently using Linux (2.6.7-rc3) in an embedded system with a 8-port
Sealevel SeaLink 2802 USB device. This is a 8-port RS-232/422 device that
allocates /dev/ttyUSB0 through /dev/ttyUSB7 when plugged in.
If I have a process talking to one of the ports, e.g. 'cat < /dev/ttyUSB0', and
I unplug the USB hub, all ports except ttyUSB0 unregister properly.
Without killing the 'cat' process, plugging the hub back in will make it
allocate /dev/ttyUSB1 through /dev/ttyUSB8, thereby offsetting each USB port#
by 1.
When killing the 'cat' process at this point, the kernel reports:
drivers/usb/serial/ftdi_sio.c: error from flowcontrol urb
drivers/usb/serial/ftdi_sio.c: Error from DTR LOW urb
drivers/usb/serial/ftdi_sio.c: Error from RTS LOW urb
and then unregisters /dev/ttyUSB0.
Is there a way to allow "hotplug" of a USB device to reuse /dev/ttyUSB0
regardless if an application still has that particular tty open?
If not, is there a way I could make the serial subsystem can send an EIO errno
or some other notification when the serial device is disconnected?
Thanks for your help,
-Byron
--
Byron Stanoszek Ph: (330) 644-3059
Systems Programmer Fax: (330) 644-8110
Commercial Timesharing Inc. Email: byron@xxxxxxxxxxx
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/