Description of problem: On an HP tx1320 laptop, mtp-probe causes the touchscreen device to disconnect from the bus and reappear. When it reappears, mtp-probe is run against it and it disconnects again, repeating indefinitely. Desktop applications which try to keep up with the input device insertions and removals tend to crash when they notice that there's a new device, but it disappears before they can finish reconfiguring to use it. Version-Release number of selected component (if applicable): libmtp-1.0.4-1.fc15.x86_64 How reproducible: Always Steps to Reproduce: 1. Boot the system with an older libmtp (1.0.3, for example). 2. Use lsusb to find the touchscreen device (in my case, bus 1 device 8). 3. As root, run mtp-probe /sys/devices 1 8 Actual results: The kernel logs these messages: [ 2454.816548] usb 1-2.3: USB disconnect, address 8 [ 2455.065298] usb 1-2.3: new full speed USB device using ehci_hcd and address 9 [ 2455.153950] usb 1-2.3: New USB device found, idVendor=0eef, idProduct=0001 [ 2455.153960] usb 1-2.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 2455.153969] usb 1-2.3: Product: USB TouchController [ 2455.153976] usb 1-2.3: Manufacturer: eGalax INC. [ 2455.175918] input: eGalax INC. USB TouchController as /devices/pci0000:00/0000:00:0b.1/usb1/1-2/1-2.3/1-2.3:1.0/input/input13 [ 2455.177270] input: eGalax INC. USB TouchController as /devices/pci0000:00/0000:00:0b.1/usb1/1-2/1-2.3/1-2.3:1.0/input/input14 [ 2455.178320] generic-usb 0003:0EEF:0001.0003: input,hidraw0: USB HID v2.10 Pointer [eGalax INC. USB TouchController] on usb-0000:00:0b.1-2.3/input0 Expected results: Not to have this happen. Additional info: lsusb -v output for this device, in case it proves useful: Bus 001 Device 009: ID 0eef:0001 D-WAV Scientific Co., Ltd eGalax TouchScreen Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x0eef D-WAV Scientific Co., Ltd idProduct 0x0001 eGalax TouchScreen bcdDevice 1.00 iManufacturer 1 eGalax INC. iProduct 2 USB TouchController iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 34 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 1 eGalax INC. bmAttributes 0xa0 (Bus Powered) Remote Wakeup MaxPower 100mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 1 Boot Interface Subclass bInterfaceProtocol 2 Mouse iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 2.10 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 141 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 3 Device Status: 0x0002 (Bus Powered) Remote Wakeup Enabled
Hm, I think I need to add a quirk so that mtp-probe does not touch devices which are class 0x00 (interface defined) and where none of the interfaces are custom. Lemme check if I can fix!
I've pushed a patch against libmtp, and spun libmtp-1.0.4-2 on Koji, can you test this once it appears and see if it's any better?
With libmtp-1.0.4-2.fc15 from koji, I'm no longer seeing this problem on my system. Thanks!