I have a recently released Thuraya GSM/satellite phone (Thuraya XT-Dual) which apparently is running a version of Windows CE (can't confirm that fully since the phone GUI does not provide that information). Am trying to talk to that satellite phone over USB using a router running Openwrt - linux kernel 3.2.5. The mfgr only supports Windows tethering for that phone and am trying to get it to work in Linux. An earlier version of the same phone worked fine with the CDC-ACM driver (had to set flag_time to 1 while loading the ppp_async module to get ppp working ) On plugging in, the phone does show up as a CDC-ACM device addressable by /dev/ttyACM0. But attempts to send AT commands to the phone using picocom or minicom or the existing 3G modem chat scripts all fail. The phone does not appear to respond at all. Same behavior on a Ubuntu 11.04 PC which has a stock 2.6.x (x could be 32 or higher) kernel. On Windows XP, the driver supplied with the phone installs fine and the phone appears as a COM port. A dial up networking connection works fine and connects to AT&T. Hyperterm also works for AT commands. So clearly the hardware is OK. Have tried an external powered hub - but no change. I don't think it is a usbmodeswitch type issue since the phone is not a smart phone and does not show us as an attached drive. Am wondering if Microsoft Active Sync is creating issues since I see the Microsoft Active Sync icon on the Windows XP tray when I plug in the phone and perhaps the phone is expecting to get something from the host before responding to AT commands. Have turned USB_DEBUG on in the kernel and attached the output of lsusb and logread (dmesg) below. Also output of a usbsnoop session using a utility provided by TP-LINK for determining usbswitch parameters. Apologies in advance for the length of this email. Any pointers on what I could do to further debug would be greatly appreciated. Ashok ------------------------------------- cat /proc/bus/usb/devices ----------------------------------------- T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 4 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=02(comm.) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=1a26 ProdID=9d91 Rev= 0.00 S: SerialNumber=001AB10001CF C:* #Ifs= 2 Cfg#= 1 Atr=c0 MxPwr= 64mA I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=01 Driver=cdc_acm E: Ad=86(I) Atr=03(Int.) MxPS= 64 Ivl=1ms I:* If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_acm E: Ad=84(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=05(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms ----------------------- lsusb -v ----------------------- root@OpenWrt:/etc/modules.d/backup# lsusb -v Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 Hub bDeviceSubClass 0 Unused bDeviceProtocol 1 Single TT bMaxPacketSize0 64 idVendor 0x1d6b Linux Foundation idProduct 0x0002 2.0 root hub bcdDevice 3.02 iManufacturer 3 Linux 3.2.5 ehci_hcd iProduct 2 Atheros built-in EHCI controller iSerial 1 ar933x-ehci bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xe0 Self Powered Remote Wakeup MaxPower 0mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 Hub bInterfaceSubClass 0 Unused bInterfaceProtocol 0 Full speed (or root) hub iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0004 1x 4 bytes bInterval 12 Hub Descriptor: bLength 9 bDescriptorType 41 nNbrPorts 1 wHubCharacteristic 0x0009 Per-port power switching Per-port overcurrent protection TT think time 8 FS bits bPwrOn2PwrGood 10 * 2 milli seconds bHubContrCurrent 0 milli Ampere DeviceRemovable 0x00 PortPwrCtrlMask 0xff Hub Port Status: Port 1: 0000.0103 power enable connect Device Status: 0x0001 Self Powered Bus 001 Device 005: ID 1a26:9d91 Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 2 Communications bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x1a26 idProduct 0x9d91 bcdDevice 0.00 iManufacturer 0 iProduct 0 iSerial 1 001AB10001CF bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 67 bNumInterfaces 2 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xc0 Self Powered MaxPower 64mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 2 Communications bInterfaceSubClass 2 Abstract (modem) bInterfaceProtocol 1 AT-commands (v.25ter) iInterface 0 CDC Header: bcdCDC 1.09 CDC Call Management: bmCapabilities 0x03 call management use DataInterface bDataInterface 1 CDC ACM: bmCapabilities 0x0f connection notifications sends break line coding and serial state get/set/clear comm features CDC Union: bMasterInterface 0 bSlaveInterface 1 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x86 EP 6 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 10 CDC Data bInterfaceSubClass 0 Unused bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x84 EP 4 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 0x05 EP 5 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Device Status: 0x0001 Self Powered ----------------------------------------------------------- This happens when the device is recognized ------------------------------------------------------------------ USB device number 2 using ath79-ehci Sep 8 16:40:57 OpenWrt kern.debug kernel: [ 188.600000] cdc_acm 1-1:1.0: interfaces are valid Sep 8 16:40:57 OpenWrt kern.info kernel: [ 188.610000] cdc_acm 1-1:1.0: ttyACM0: USB ACM device Sep 8 16:40:57 OpenWrt kern.debug kernel: [ 188.640000] cdc_acm 1-1:1.0: acm_ctrl_msg - rq 0x22, val 0x0, len 0x0, result 0 Sep 8 16:40:57 OpenWrt kern.debug kernel: [ 188.650000] cdc_acm 1-1:1.0: acm_ctrl_msg - rq 0x20, val 0x0, len 0x7, result 7 This goes one from urb 1 to 15 at the beginning when picocom is started acm_submit_read_urb - urb 1 acm_submit_read_urb - urb 15 May 21 02:24:03 OpenWrt kern.debug kernel: [ 1351.270000] cdc_acm 1-1:1.0: acm_ctrl_msg - rq 0x20, val 0x0, len 0x7, result 7 This is after AT command is given Sep 8 16:53:20 OpenWrt kern.debug kernel: [ 151.600000] cdc_acm 1-1:1.1: acm_tty_write - write 1 Sep 8 16:53:20 OpenWrt kern.debug kernel: [ 151.600000] cdc_acm 1-1:1.1: acm_write_start - susp_count 0 ----------------------------------------- USB SNOOP LOG OUTPUT ------------------------------------------- [7 ms] UsbSnoop - FilterAddDevice(a62bd748) : DriverObject 88a41d98, pdo 88c40de8 [7 ms] UsbSnoop - FilterDispatchPnp(a62bd45c) : IRP_MJ_PNP (IRP_MN_QUERY_LEGACY_BUS_INFORMATION) [7 ms] UsbSnoop - FdoHookDispatchPnp(a62bd45c) : IRP_MJ_PNP (IRP_MN_QUERY_LEGACY_BUS_INFORMATION) [7 ms] UsbSnoop - FilterDispatchPnp(a62bd45c) : IRP_MJ_PNP (IRP_MN_QUERY_RESOURCE_REQUIREMENTS) [7 ms] UsbSnoop - FdoHookDispatchPnp(a62bd45c) : IRP_MJ_PNP (IRP_MN_QUERY_RESOURCE_REQUIREMENTS) [7 ms] UsbSnoop - FilterDispatchPnp(a62bd45c) : IRP_MJ_PNP (IRP_MN_FILTER_RESOURCE_REQUIREMENTS) [7 ms] UsbSnoop - FdoHookDispatchPnp(a62bd45c) : IRP_MJ_PNP (IRP_MN_FILTER_RESOURCE_REQUIREMENTS) [7 ms] UsbSnoop - FilterDispatchPnp(a62bd45c) : IRP_MJ_PNP (IRP_MN_START_DEVICE) [7 ms] UsbSnoop - FdoHookDispatchPnp(a62bd45c) : IRP_MJ_PNP (IRP_MN_START_DEVICE) [8 ms] UsbSnoop - FilterDispatchAny(a62b8fd2) : IRP_MJ_SYSTEM_CONTROL [9 ms] UsbSnoop - FilterDispatchPnp(a62bd45c) : IRP_MJ_PNP (IRP_MN_QUERY_CAPABILITIES) [9 ms] UsbSnoop - FdoHookDispatchPnp(a62bd45c) : IRP_MJ_PNP (IRP_MN_QUERY_CAPABILITIES) [9 ms] UsbSnoop - FilterDispatchAny(a62b8fd2) : IRP_MJ_INTERNAL_DEVICE_CONTROL [9 ms] UsbSnoop - FdoHookDispatchInternalIoctl(a62b91ea) : fdo=88c83030, Irp=88a53d30, IRQL=0 [9 ms] >>> URB 1 going down >>> -- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE: TransferBufferLength = 00000012 TransferBuffer = 88b180a8 TransferBufferMDL = 00000000 Index = 00000000 DescriptorType = 00000001 (USB_DEVICE_DESCRIPTOR_TYPE) LanguageId = 00000000 [13 ms] UsbSnoop - MyInternalIOCTLCompletion(a62b9126) : fido=00000000, Irp=88a53d30, Context=88a65a28, IRQL=2 [13 ms] <<< URB 1 coming back <<< -- URB_FUNCTION_CONTROL_TRANSFER: PipeHandle = 89132348 TransferFlags = 0000003b (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK) TransferBufferLength = 00000012 TransferBuffer = 88b180a8 TransferBufferMDL = 88aed780 00000000: 12 01 10 01 02 00 00 40 26 1a 91 9d 00 00 00 00 00000010: 01 01 UrbLink = 00000000 SetupPacket = 00000000: 80 06 00 01 00 00 12 00 [13 ms] UsbSnoop - FilterDispatchAny(a62b8fd2) : IRP_MJ_INTERNAL_DEVICE_CONTROL [13 ms] UsbSnoop - FdoHookDispatchInternalIoctl(a62b91ea) : fdo=88c83030, Irp=88a53d30, IRQL=0 [13 ms] >>> URB 2 going down >>> -- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE: TransferBufferLength = 00000009 TransferBuffer = 88a589d0 TransferBufferMDL = 00000000 Index = 00000000 DescriptorType = 00000002 (USB_CONFIGURATION_DESCRIPTOR_TYPE) LanguageId = 00000000 [17 ms] UsbSnoop - MyInternalIOCTLCompletion(a62b9126) : fido=00000000, Irp=88a53d30, Context=88a65a28, IRQL=2 [17 ms] <<< URB 2 coming back <<< -- URB_FUNCTION_CONTROL_TRANSFER: PipeHandle = 89132348 TransferFlags = 0000000b (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK) TransferBufferLength = 00000009 TransferBuffer = 88a589d0 TransferBufferMDL = 8a9bb5f0 00000000: 09 02 43 00 02 01 00 c0 20 UrbLink = 00000000 SetupPacket = 00000000: 80 06 00 02 00 00 09 00 [17 ms] UsbSnoop - FilterDispatchAny(a62b8fd2) : IRP_MJ_INTERNAL_DEVICE_CONTROL [17 ms] UsbSnoop - FdoHookDispatchInternalIoctl(a62b91ea) : fdo=88c83030, Irp=88a53d30, IRQL=0 [17 ms] >>> URB 3 going down >>> -- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE: TransferBufferLength = 00000043 TransferBuffer = 890789f0 TransferBufferMDL = 00000000 Index = 00000000 DescriptorType = 00000002 (USB_CONFIGURATION_DESCRIPTOR_TYPE) LanguageId = 00000000 [22 ms] UsbSnoop - MyInternalIOCTLCompletion(a62b9126) : fido=00000000, Irp=88a53d30, Context=88a65a28, IRQL=2 [22 ms] <<< URB 3 coming back <<< -- URB_FUNCTION_CONTROL_TRANSFER: PipeHandle = 89132348 TransferFlags = 0000000b (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK) TransferBufferLength = 00000043 TransferBuffer = 890789f0 TransferBufferMDL = 8a9bb5f0 00000000: 09 02 43 00 02 01 00 c0 20 09 04 00 00 01 02 02 00000010: 01 00 05 24 00 09 01 05 24 01 03 01 04 24 02 0f 00000020: 05 24 06 00 01 07 05 86 03 40 00 01 09 04 01 00 00000030: 02 0a 00 00 00 07 05 84 02 40 00 00 07 05 05 02 00000040: 40 00 00 UrbLink = 00000000 SetupPacket = 00000000: 80 06 00 02 00 00 43 00 [22 ms] UsbSnoop - FilterDispatchAny(a62b8fd2) : IRP_MJ_INTERNAL_DEVICE_CONTROL [22 ms] UsbSnoop - FdoHookDispatchInternalIoctl(a62b91ea) : fdo=88c83030, Irp=88a53d30, IRQL=0 [22 ms] >>> URB 4 going down >>> -- URB_FUNCTION_SELECT_CONFIGURATION: ConfigurationDescriptor = 0x890789f0 (configure) ConfigurationDescriptor : bLength = 9 ConfigurationDescriptor : bDescriptorType = 0x00000002 ConfigurationDescriptor : wTotalLength = 0x00000043 ConfigurationDescriptor : bNumInterfaces = 0x00000002 ConfigurationDescriptor : bConfigurationValue = 0x00000001 ConfigurationDescriptor : iConfiguration = 0x00000000 ConfigurationDescriptor : bmAttributes = 0x000000c0 ConfigurationDescriptor : MaxPower = 0x00000020 ConfigurationHandle = 0x00000000 Interface[0]: Length = 36 Interface[0]: InterfaceNumber = 0 Interface[0]: AlternateSetting = 0 Interface[1]: Length = 56 Interface[1]: InterfaceNumber = 1 Interface[1]: AlternateSetting = 0 [77 ms] UsbSnoop - MyInternalIOCTLCompletion(a62b9126) : fido=00000000, Irp=88a53d30, Context=88a65a28, IRQL=0 [77 ms] <<< URB 4 coming back <<< -- URB_FUNCTION_SELECT_CONFIGURATION: ConfigurationDescriptor = 0x890789f0 (configure) ConfigurationDescriptor : bLength = 9 ConfigurationDescriptor : bDescriptorType = 0x00000002 ConfigurationDescriptor : wTotalLength = 0x00000043 ConfigurationDescriptor : bNumInterfaces = 0x00000002 ConfigurationDescriptor : bConfigurationValue = 0x00000001 ConfigurationDescriptor : iConfiguration = 0x00000000 ConfigurationDescriptor : bmAttributes = 0x000000c0 ConfigurationDescriptor : MaxPower = 0x00000020 ConfigurationHandle = 0x88a5a710 Interface[0]: Length = 36 Interface[0]: InterfaceNumber = 0 Interface[0]: AlternateSetting = 0 Interface[0]: Class = 0x00000002 Interface[0]: SubClass = 0x00000002 Interface[0]: Protocol = 0x00000001 Interface[0]: InterfaceHandle = 0x889aae88 Interface[0]: NumberOfPipes = 1 Interface[0]: Pipes[0] : MaximumPacketSize = 0x00000040 Interface[0]: Pipes[0] : EndpointAddress = 0x00000086 Interface[0]: Pipes[0] : Interval = 0x00000001 Interface[0]: Pipes[0] : PipeType = 0x00000003 (UsbdPipeTypeInterrupt) Interface[0]: Pipes[0] : PipeHandle = 0x889aaea4 Interface[0]: Pipes[0] : MaxTransferSize = 0x00001000 Interface[0]: Pipes[0] : PipeFlags = 0x00000000 Interface[1]: Length = 56 Interface[1]: InterfaceNumber = 1 Interface[1]: AlternateSetting = 0 Interface[1]: Class = 0x0000000a Interface[1]: SubClass = 0x00000000 Interface[1]: Protocol = 0x00000000 Interface[1]: InterfaceHandle = 0x8a996378 Interface[1]: NumberOfPipes = 2 Interface[1]: Pipes[0] : MaximumPacketSize = 0x00000040 Interface[1]: Pipes[0] : EndpointAddress = 0x00000084 Interface[1]: Pipes[0] : Interval = 0x00000000 Interface[1]: Pipes[0] : PipeType = 0x00000002 (UsbdPipeTypeBulk) Interface[1]: Pipes[0] : PipeHandle = 0x8a996394 Interface[1]: Pipes[0] : MaxTransferSize = 0x00001000 Interface[1]: Pipes[0] : PipeFlags = 0x00000000 Interface[1]: Pipes[1] : MaximumPacketSize = 0x00000040 Interface[1]: Pipes[1] : EndpointAddress = 0x00000005 Interface[1]: Pipes[1] : Interval = 0x00000000 Interface[1]: Pipes[1] : PipeType = 0x00000002 (UsbdPipeTypeBulk) Interface[1]: Pipes[1] : PipeHandle = 0x8a9963b4 Interface[1]: Pipes[1] : MaxTransferSize = 0x00001000 Interface[1]: Pipes[1] : PipeFlags = 0x00000000 [77 ms] UsbSnoop - FilterDispatchPnp(a62bd45c) : IRP_MJ_PNP (IRP_MN_QUERY_CAPABILITIES) [77 ms] UsbSnoop - FdoHookDispatchPnp(a62bd45c) : IRP_MJ_PNP (IRP_MN_QUERY_CAPABILITIES) [78 ms] UsbSnoop - FilterDispatchPnp(a62bd45c) : IRP_MJ_PNP (IRP_MN_QUERY_PNP_DEVICE_STATE) [78 ms] UsbSnoop - FdoHookDispatchPnp(a62bd45c) : IRP_MJ_PNP (IRP_MN_QUERY_PNP_DEVICE_STATE) [78 ms] UsbSnoop - FilterDispatchPnp(a62bd45c) : IRP_MJ_PNP (IRP_MN_QUERY_DEVICE_RELATIONS) [78 ms] UsbSnoop - FdoHookDispatchPnp(a62bd45c) : IRP_MJ_PNP (IRP_MN_QUERY_DEVICE_RELATIONS) [85 ms] UsbSnoop - FilterDispatchPnp(a62bd45c) : IRP_MJ_PNP (IRP_MN_QUERY_CAPABILITIES) [85 ms] UsbSnoop - FdoHookDispatchPnp(a62bd45c) : IRP_MJ_PNP (IRP_MN_QUERY_CAPABILITIES) [86 ms] UsbSnoop - FilterDispatchAny(a62b8fd2) : IRP_MJ_INTERNAL_DEVICE_CONTROL [86 ms] UsbSnoop - FdoHookDispatchInternalIoctl(a62b91ea) : fdo=88c83030, Irp=88ae1d28, IRQL=0 [86 ms] >>> URB 5 going down >>> -- URB_FUNCTION_CLASS_INTERFACE: TransferFlags = 00000000 (USBD_TRANSFER_DIRECTION_OUT, ~USBD_SHORT_TRANSFER_OK) TransferBufferLength = 00000000 TransferBuffer = 00000000 TransferBufferMDL = 00000000 no data supplied UrbLink = 00000000 RequestTypeReservedBits = 00000000 Request = 000000ca Value = 00000000 Index = 00000000 [2350 ms] UsbSnoop - FilterDispatchPnp(a62bd45c) : IRP_MJ_PNP (IRP_MN_QUERY_CAPABILITIES) [2350 ms] UsbSnoop - FdoHookDispatchPnp(a62bd45c) : IRP_MJ_PNP (IRP_MN_QUERY_CAPABILITIES) [10055 ms] UsbSnoop - MyInternalIOCTLCompletion(a62b9126) : fido=00000000, Irp=88ae1d28, Context=88a65a28, IRQL=2 [10056 ms] <<< URB 5 coming back <<< -- URB_FUNCTION_CONTROL_TRANSFER: PipeHandle = 89132348 TransferFlags = 0000000a (USBD_TRANSFER_DIRECTION_OUT, USBD_SHORT_TRANSFER_OK) TransferBufferLength = 00000000 TransferBuffer = 00000000 TransferBufferMDL = 00000000 UrbLink = 00000000 SetupPacket = 00000000: 21 ca 00 00 00 00 00 00 [10056 ms] UsbSnoop - FilterDispatchPnp(a62bd45c) : IRP_MJ_PNP (IRP_MN_QUERY_CAPABILITIES) [10056 ms] UsbSnoop - FdoHookDispatchPnp(a62bd45c) : IRP_MJ_PNP (IRP_MN_QUERY_CAPABILITIES) [10057 ms] UsbSnoop - FilterDispatchPnp(a62bd45c) : IRP_MJ_PNP (IRP_MN_QUERY_DEVICE_RELATIONS) [10057 ms] UsbSnoop - FdoHookDispatchPnp(a62bd45c) : IRP_MJ_PNP (IRP_MN_QUERY_DEVICE_RELATIONS) [12155 ms] UsbSnoop - FilterDispatchPnp(a62bd45c) : IRP_MJ_PNP (IRP_MN_QUERY_CAPABILITIES) [12155 ms] UsbSnoop - FdoHookDispatchPnp(a62bd45c) : IRP_MJ_PNP (IRP_MN_QUERY_CAPABILITIES) [99082 ms] UsbSnoop - FilterDispatchPnp(a62bd45c) : IRP_MJ_PNP (IRP_MN_QUERY_DEVICE_RELATIONS) [99082 ms] UsbSnoop - FdoHookDispatchPnp(a62bd45c) : IRP_MJ_PNP (IRP_MN_QUERY_DEVICE_RELATIONS) [99082 ms] UsbSnoop - FilterDispatchPnp(a62bd45c) : IRP_MJ_PNP (IRP_MN_QUERY_DEVICE_RELATIONS) [99082 ms] UsbSnoop - FdoHookDispatchPnp(a62bd45c) : IRP_MJ_PNP (IRP_MN_QUERY_DEVICE_RELATIONS) [99144 ms] UsbSnoop - FilterDispatchPnp(a62bd45c) : IRP_MJ_PNP (IRP_MN_SURPRISE_REMOVAL) [99144 ms] UsbSnoop - FdoHookDispatchPnp(a62bd45c) : IRP_MJ_PNP (IRP_MN_SURPRISE_REMOVAL) [99222 ms] UsbSnoop - FilterDispatchPnp(a62bd45c) : IRP_MJ_PNP (IRP_MN_REMOVE_DEVICE) -- 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