Bug 670546 - some devices respond poorly to mtp-probe
some devices respond poorly to mtp-probe
Product: Fedora
Classification: Fedora
Component: libmtp (Show other bugs)
x86_64 Unspecified
medium Severity high
: ---
: ---
Assigned To: Linus Walleij
Fedora Extras Quality Assurance
Depends On:
  Show dependency treegraph
Reported: 2011-01-18 11:15 EST by Nalin Dahyabhai
Modified: 2011-03-31 18:01 EDT (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2011-03-31 18:01:03 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Nalin Dahyabhai 2011-01-18 11:15:54 EST
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):

How reproducible:

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
Comment 1 Linus Walleij 2011-01-19 12:50:03 EST
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!
Comment 2 Linus Walleij 2011-01-19 13:46:46 EST
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?
Comment 3 Nalin Dahyabhai 2011-01-19 13:58:12 EST
With libmtp-1.0.4-2.fc15 from koji, I'm no longer seeing this problem on my system.  Thanks!

Note You need to log in before you can comment on or make changes to this bug.