Hi,
I have an USB3 device which I'm using through libusb (so usbfs) pulling
relatively large amounts of isochronous data (uncompressed 720p60 video,
so a bit under a gigabit per second) down to my X240 laptop. I submit four
isochronous requests of about ~2MB each, which seems to be enough to keep
up with the data rate at about 20% CPU used. (I would love zerocopy to get
this down; I see these things come up every now and then, but that they have
stalled so far, unfortnuately.)
However, every now and then I get some errors (on both the audio and video
endpoint); libusb reports that the isochronous packet has failed with
LIBUSB_TRANSFER_ERROR (very nondescriptive, I know...); usually these are
in bursts of maybe ten packets, while the others in the same transfer are
fine.
However, at the same time I get these in dmesg:
[ 221.350440] xhci_hcd 0000:00:14.0: ERROR Unknown event condition 20, HC
probably busted
[ 221.350559] xhci_hcd 0000:00:14.0: ERROR Unknown event condition 20, HC
probably busted
[ 221.350682] xhci_hcd 0000:00:14.0: ERROR Unknown event condition 20, HC
probably busted
[ 221.351402] xhci_hcd 0000:00:14.0: ERROR Unknown event condition 20, HC
probably busted
They seem to come at the same time as my transfer errors, and I can't find
any documentation on them. Is this some sort of bug?
I'm running 4.2-rc8, just to make sure there's no newer version (I've seen
this on 4.1.x too, never tried anything older). If I give the xHCI device to
Windows 10 through VT-d, it works fine, so I don't think the hardware is
broken (although of course the device driver is different) :-)
lspci -v for the device:
00:14.0 USB controller: Intel Corporation 8 Series USB xHCI HC (rev 04)
(prog-if 30 [XHCI])
Subsystem: Lenovo ThinkPad X240
Flags: bus master, medium devsel, latency 0, IRQ 44
Memory at e0620000 (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
/* Steinar */
--
Homepage: http://www.sesse.net/
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html