Trying to use my scanner. Worked for a while, but now access fails. Get this in log: Nov 05 20:25:51 pacas.cora.nwra.com kernel: usb 1-3: new full-speed USB device number 3 using xhci_hcd Nov 05 20:25:52 pacas.cora.nwra.com kernel: usb 1-3: New USB device found, idVendor=04a9, idProduct=2206 Nov 05 20:25:52 pacas.cora.nwra.com kernel: usb 1-3: New USB device strings: Mfr=64, Product=77, SerialNumber=0 Nov 05 20:25:52 pacas.cora.nwra.com kernel: usb 1-3: Product: CanoScan Nov 05 20:25:52 pacas.cora.nwra.com kernel: usb 1-3: Manufacturer: Canon Nov 05 20:27:55 pacas.cora.nwra.com kernel: xhci_hcd 0000:00:14.0: URB transfer length is wrong, xHC issue? req. len = 0, act. len = 4294967288 How reproducible: First time so far. Additional info: 00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04) (prog-if 30 [XHCI]) Subsystem: Acer Incorporated [ALI] Device 0748 Flags: bus master, medium devsel, latency 0, IRQ 25 Memory at c0600000 (64-bit, non-prefetchable) [size=64K] Capabilities: [70] Power Management version 2 Capabilities: [80] MSI: Enable+ Count=1/8 Maskable- 64bit+ Kernel driver in use: xhci_hcd Possibly related: https://www.mail-archive.com/linux-usb@vger.kernel.org/msg50230.html
On Fri, Nov 06, 2015 at 03:34:34AM +0000, bugzilla-daemon@bugzilla.kernel.org wrote: > https://bugzilla.kernel.org/show_bug.cgi?id=107331 > > Bug ID: 107331 > Summary: USB scanner stops working with xhci_hcd URB transfer > length is wrong, xHC issue? req. len = 0, act. len = > 4294967288 Please send to the linux-usb@vger.kernel.org mailing list.
Kernel 4.2.5-201.fc22.x86_64
Created attachment 192331 [details] usbmon trace Output from cat /sys/kernel/debug/usb/usbmon/1u > usb-scanner.log Connected scanner and started xsane.
Same issue here, with a laptop that has only USB3 ports; while my scanner doesn't seem to work properly when using this protocol. [261996.852152] usb 1-3.4.1: new high-speed USB device number 25 using xhci_hcd [261996.941571] usb 1-3.4.1: New USB device found, idVendor=04e8, idProduct=3441 [261996.941579] usb 1-3.4.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [261996.941584] usb 1-3.4.1: Product: SCX-3200 Series [261996.941588] usb 1-3.4.1: Manufacturer: Samsung Electronics Co., Ltd. [261996.942010] usb 1-3.4.1: ep 0x4 - rounding interval to 8 microframes, ep desc says 10 microframes [261996.942026] usb 1-3.4.1: ep 0x83 - rounding interval to 8 microframes, ep desc says 10 microframes [261996.942037] usb 1-3.4.1: ep 0x2 - rounding interval to 8 microframes, ep desc says 10 microframes [261996.942046] usb 1-3.4.1: ep 0x81 - rounding interval to 8 microframes, ep desc says 10 microframes [261996.942937] usb 1-3.4.1: ep 0x2 - rounding interval to 8 microframes, ep desc says 10 microframes [261996.942949] usb 1-3.4.1: ep 0x81 - rounding interval to 8 microframes, ep desc says 10 microframes [261996.943735] usblp 1-3.4.1:1.1: usblp1: USB Bidirectional printer dev 25 if 1 alt 0 proto 2 vid 0x04E8 pid 0x3441 Together with: [259701.761056] usb 1-1: usbfs: interface 1 claimed by usblp while 'scan-thread' sets config #1 So no way to get this working in a such setup (wouldn't be possible to force the usage of ehci-pci?). A workaround I found, was setting up a virtual machine (both VirtualBox and VMWare [player] should be ok) with any *linux* distro you want, I configured it to be compatible with USB 2.0 protocol. Once I redirect my USB device to the VM I can scan from there. I'm wondering why it's not possible to simulate the same in the host. The VM in fact uses ehci-pci: [ 1145.397337] usb 1-1: new high-speed USB device number 2 using ehci-pci [ 1145.831386] usb 1-1: New USB device found, idVendor=04e8, idProduct=3441 [ 1145.831389] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 1145.831404] usb 1-1: Product: SCX-3200 Series [ 1145.831405] usb 1-1: Manufacturer: Samsung Electronics Co., Ltd. [ 1145.873241] usblp 1-1:1.1: usblp0: USB Bidirectional printer dev 2 if 1 alt 0 proto 2 vid 0x04E8 pid 0x3441 [ 1145.873301] usbcore: registered new interface driver usblp