Bug 107331 - USB scanner stops working with xhci_hcd URB transfer length is wrong, xHC issue? req. len = 0, act. len = 4294967288
Summary: USB scanner stops working with xhci_hcd URB transfer length is wrong, xHC iss...
Status: NEW
Alias: None
Product: Drivers
Classification: Unclassified
Component: USB (show other bugs)
Hardware: All Linux
: P1 high
Assignee: Greg Kroah-Hartman
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-11-06 03:34 UTC by Orion Poplawski
Modified: 2016-05-02 13:30 UTC (History)
2 users (show)

See Also:
Kernel Version: 4.2.5-201.fc22.x86_64
Subsystem:
Regression: No
Bisected commit-id:


Attachments
usbmon trace (36.26 KB, text/x-log)
2015-11-07 03:52 UTC, Orion Poplawski
Details

Description Orion Poplawski 2015-11-06 03:34:34 UTC
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
Comment 1 Greg Kroah-Hartman 2015-11-06 05:04:28 UTC
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.
Comment 2 Orion Poplawski 2015-11-07 03:38:34 UTC
Kernel 4.2.5-201.fc22.x86_64
Comment 3 Orion Poplawski 2015-11-07 03:52:28 UTC
Created attachment 192331 [details]
usbmon trace

Output from cat /sys/kernel/debug/usb/usbmon/1u > usb-scanner.log

Connected scanner and started xsane.
Comment 4 Marco Trevisan (Treviño) 2016-05-02 13:30:22 UTC
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

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