On Tue, 14 Apr 2015, Graeme Gill wrote: > Hi, > > I have a user reporting a problem with a particular USB HID device > on Linux that I suspect is a Linux driver issue, or possibly > a failure in my (user mode driver) to handle an unexpected > Linux USB response. > > The device is an X-Rite ColorMunki Display colorimeter (== i1d3). I've not > seen any issues with this device in my testing on (older version of) Linux, > and can't reproduce the problem: > > Peter Wiesboeck wrote: > > On my new computer dispcal dosn't work. > > OS is Ubutu 14.10 (64 Bit), ArgyllCMS version is 1.6.3 (64Bit-Version). > > Colorimeter is Colormunki Display. This device works well on my old machine > > Ubuntu 14.4 (32 Bit) as well as on Win7. > > I tested different USB-Ports but without any success. > > Dispcal is started with command `dispcal -v -yl -ql -d1 -D6 -o viewsonic`. > > Some times it fails on cmd 'GetLockedStatus', some times at cmd 'ReadInternalEEPROM' > > Attached is the debug output of the ArgyllCMS instrument driver, plus > a usbmon trace. One of a couple of transactions returns an error from > the Linux USB driver after initially communicating successfully. > My (user mode) driver returns an "ICOM err 0x100" if the urb.status > has a value < 0 and it's not -ECONNRESET > > The Colormunki is on Bus 3 Device 6. > > The interrupt data read that fails seems to return error -71, EPROTO > > Does anyone have any insights into the nature and cause of this error ? -71 is a low-level communication error. It generally means that the computer did not receive a reply packet that it was expecting, or the packet it received was corrupted. Two possibilities seem most likely. First, the device itself might be a little flakey. The usbmon trace shows several places where communication errors occurred. The first two were during enumeration, and the system recovered simply by retrying the failed transfers. The third was while the user-mode driver was running (the -71 error you encountered). The driver did not attempt to retry the failed transfer; it just gave up. Second, it's possible that the device isn't interacting well with the xHCI host controller on the computer. People have reported similar behavior in the past: Devices that are a little bit on the edge will work okay with EHCI or OHCI but occasionally fail with xHCI. Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html