Bug 783714 - /lib/udev/mtp-probe prevents VirtualBox from accessing an USB scanner
Summary: /lib/udev/mtp-probe prevents VirtualBox from accessing an USB scanner
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: libmtp
Version: 16
Hardware: i686
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: Linus Walleij
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-01-21 23:18 UTC by Vesa Halttunen
Modified: 2012-02-07 07:52 UTC (History)
1 user (show)

Fixed In Version: libmtp-1.1.2-2.fc16
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-02-07 07:52:37 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Vesa Halttunen 2012-01-21 23:18:25 UTC
Description of problem:
Trying to use a CanoScan D1250U2 USB scanner in VirtualBox results in the error message

Failed to create a proxy device for the USB device. (Error: VERR_READ_ERROR)
Error Code: NS_ERROR_FAILURE (0x80004005)

if /lib/udev/mtp-probe exists.

Version-Release number of selected component (if applicable):
libmtp.i686 1.1.1-2.fc16

How reproducible:
always

Steps to Reproduce:
1. Install VirtualBox (VirtualBox-4.1-4.1.8_75467_fedora16-1.i686)
2. Install the VirtualBox USB 2.0 support package
3. Configure a virtual machine running Windows (7)
4. Boot up the virtual machine
5. Attach the CanoScan D1250U2 USB scanner
6. Select Devices->USB Devices->Canon CanoScan
  
Actual results:
Failed to create a proxy device for the USB device. (Error: VERR_READ_ERROR)
Error Code: NS_ERROR_FAILURE (0x80004005)

Expected results:
The scanner is usable from inside VirtualBox.

Additional info:
Seems that this has been reported elsewhere as well: http://osdir.com/ml/general/2011-06/msg20017.html

Comment 1 Vesa Halttunen 2012-01-21 23:19:44 UTC
Workaround is to mv /lib/udev/mtp-probe to /lib/udev/mtp-probe.bak but then udevd will naturally say

Jan 22 01:09:01 vesuri udevd[2455]: failed to execute '/lib/udev/mtp-probe' 'mtp-probe /sys/devices/pci0000:00/0000:00:1a.7/usb1/1-4 1 2': No such file or directory

Comment 2 Linus Walleij 2012-01-25 16:16:23 UTC
Can you provide lsusb -v for this scanner, so I can try to avoid
poking it...

Comment 3 Vesa Halttunen 2012-01-25 17:49:07 UTC
(In reply to comment #2)
> Can you provide lsusb -v for this scanner, so I can try to avoid
> poking it...

Bus 001 Device 002: ID 04a9:220c Canon, Inc. CanoScan D1250U2
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass          255 Vendor Specific Class
  bDeviceSubClass       255 Vendor Specific Subclass
  bDeviceProtocol       255 Vendor Specific Protocol
  bMaxPacketSize0        64
  idVendor           0x04a9 Canon, Inc.
  idProduct          0x220c CanoScan D1250U2
  bcdDevice            2.00
  iManufacturer           3 Canon
  iProduct                4 CanoScan
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           39
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xc0
      Self Powered
    MaxPower               10mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 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     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0001  1x 1 bytes
        bInterval               8
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass          255 Vendor Specific Class
  bDeviceSubClass       255 Vendor Specific Subclass
  bDeviceProtocol       255 Vendor Specific Protocol
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0001
  Self Powered

Comment 4 Linus Walleij 2012-01-28 08:54:04 UTC
Hm yeah that's a *very* strange device, it is a scanner, yet it provides a vendor-specific device descriptor, which has two bulk EP and one interrupt EP, just like an MTP device :-(

I will think of something, probably I'll just explicitly blacklist Canon devices since they don't make MTP equipment for a quick fix.

Comment 5 Fedora Update System 2012-01-28 10:15:52 UTC
libmtp-1.1.2-2.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/libmtp-1.1.2-2.fc16

Comment 6 Vesa Halttunen 2012-01-28 13:39:19 UTC
(In reply to comment #5)
> libmtp-1.1.2-2.fc16 has been submitted as an update for Fedora 16.
> https://admin.fedoraproject.org/updates/libmtp-1.1.2-2.fc16

I can confirm that this update fixes the problem.

Comment 7 Fedora Update System 2012-01-28 20:57:37 UTC
Package libmtp-1.1.2-2.fc16:
* should fix your issue,
* was pushed to the Fedora 16 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing libmtp-1.1.2-2.fc16'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2012-1016/libmtp-1.1.2-2.fc16
then log in and leave karma (feedback).

Comment 8 Linus Walleij 2012-01-29 01:54:42 UTC
Yay! :-)

Comment 9 Fedora Update System 2012-02-07 07:52:37 UTC
libmtp-1.1.2-2.fc16 has been pushed to the Fedora 16 stable repository.  If problems still persist, please make note of it in this bug report.


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