On Mon, 4 Jul 2011, Alan Stern wrote: > On Mon, 4 Jul 2011, Graeme Gill wrote: > > > A user has reported similar problems with certain hardware/Linux > > combinations, and has provided some usbmon traces of the > > a not working and working systems. > > > > The high level and usbmon traces are here: <http://users.abo.fi/jskata/spyder2_argyllcms/> > > > > The not-working usbmon trace is this one, using the ASRock P67 Pro3 > > system: > > <http://users.abo.fi/jskata/spyder2_argyllcms/spyder2_asrock_p67_pro3.txt> > > > > and the working one is this one, using a thinkPad X40 system: > > <http://users.abo.fi/jskata/spyder2_argyllcms/spyder2_tpx40.txt> > > > > Are there any insights to be gleaned from these traces ? > > A little, not much. It looks like on the ASRock P67 system, the > low-speed device is attached through a hub, probably to a high-speed > controller, whereas on the ThinkPad X40 the device is attached > directly. The hub itself behaves a little oddly because it doesn't > report the connection as low-speed until the port has been enabled. > Is this the so-called "rate-matching" hub that Intel is using in their > more recent chipsets? > > The first interrupt transfer on the P67 succeeds, but all the following > transfers time out. The hub may well be to blame. > > > The user reports that none of the USB ports on the ASRock P67 Pro3 > > would work with this device, but that a PCI based USB card plugged > > into the system works. > > That's consistent with the P67's internal hub not working right. Can > the user check whether an ordinary USB keyboard (one without an > internal hub) works with that computer? > > Also, can the user get hold of a USB-2.0 hub and place it between the > P67 and the device? Then the Transaction Translator in the external > hub would be used instead of the TT in the internal hub. Going back through earlier messages in this thread, I see this has already been tried and it works. Also the device works on the P67 if the program resets the interrupt endpoint before each read after the first. This strongly suggests that the data toggle implementation in the internal hub's TT is broken. An earlier message said that resetting the endpoint fails when an external hub is interposed. Was that a USB-2.0 hub? Does the program work okay with that hub if the endpoint resets are omitted? The presence of a hub complicates matters, because now we have to worry about toggle settings in the device and in the hub as well as the host. The fact that the transfers work okay on the ThinkPad with no resets indicates that the device does handle its toggles correctly. Another earlier message said that Windows and OS X don't have any problems with this device. Were those tests done on the same ASRock P67 machine? (In the OS X case at least, I would expect not.) 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