Hi, Am 23.02.2012 19:23, schrieb Alan Stern:
On Thu, 23 Feb 2012, Harald Judt wrote:Hi, I've been asked to contact this mailing list regarding https://bugzilla.kernel.org/show_bug.cgi?id=42784: Using the same configuration (kernel-3.3-rc4 and older versions), Canon CanoScan LiDE 20 USB scanner works on the USB-2.0 port, but not on USB-3.0. usb 5-1: usbfs: interface 0 claimed by usbfs while 'scanimage' sets config #1 This message is not printed when using USB-2.0.You can get more information in the dmesg log if you do: echo true>/sys/module/usbcore/parameters/usbfs_snoop before plugging in the scanner. Compare the results for the two different ports.scanimage -L: No scanners were identified. If you were expecting something different, check that the scanner is plugged in, turned on and detected by the sane-find-scanner tool (if appropriate). Please read the documentation which came with this software (README, FAQ, manpages). lsusb: Bus 001 Device 005: ID 04a9:220d Canon, Inc. CanoScan N670U/N676U/LiDE 20 The scanner can be reset using the reset code from https://bugzilla.redhat.com/show_bug.cgi?id=723696 after adapting the vendor_id and product_id to match those of the Canon scanner: usb 5-1: new full-speed USB device number 3 using xhci_hcd usb 5-1: usbfs: interface 0 claimed by usbfs while 'scanimage' sets config #1 usb 5-1: reset full-speed USB device number 3 using xhci_hcd xhci_hcd 0000:05:00.0: xHCI xhci_drop_endpoint called with disabled ep ffff880419ba0e40 The next scanimage -L successfully detects the scanner: scanimage -L device `plustek:libusb:005:003' is a Canon CanoScan N670U/N676U/LiDE20 flatbed scanner Unfortunately, it will stop working after a while; There will be messages like "usb 5-1: usbfs: process 12345 (scanbuttond) did not claim interface 0 before use" on repeated use.That's just a warning. It indicates the scanbuttond program is doing something wrong, but mostly you can ignore it.If I'm not mistaken, the USB3 chipset is an Etrontech EJ168A (AsRock P67 Extreme 4 Gen2). Why does usbfs claim the device on USB-3, but not on USB-2? What's wrong here, is there a way to solve it, what can I do about it?Probably usbfs does claim the interface on both ports, but in one case the claim is before the reset or before the use and, in the other case it is after. The usbfs_snoop information should show what's going on. As for fixing it, there's no way to know until we find out exactly what the problem is. Alan Stern
Thanks for your response. I performed the following steps:1) Deactivate the udev rules which start scanbuttond, so it won't get in the way, because it spawns its own scanimage process at initialization.
2) echo 1 > /sys/module/usbcore/parameters/usbfs_snoop3) Connect scanner to usb2 port and execute scanimage -L, disconnect scanner. 4) Connect scanner to usb3 port and execute scanimage -L, break out of the ever-looping scanimage using <C>-<c>, disconnect scanner.
I've attached the kernel logs for step 3 and step 4. As they're not so small, I bzipped them, I hope that's ok for you.
In step 4 scanimage hung until I interrupted it, producing lots of the following repeated lines in dmesg:
usb 5-1: usbdev_do_ioctl: REAPURBNDELAYTo save you from excessive scrolling, I've deleted most of these repeated lines, as you will recognize when looking at the timestamps.
Harald -- `Experience is the best teacher.'
Attachment:
scanimage-usb2.dmesg.bz2
Description: application/bzip
Attachment:
scanimage-usb3.dmesg.bz2
Description: application/bzip