On Wed, 16 Jun 2010, Stephen Warren wrote: > >> Sorry for the slow response. Adding the msleep() works! > >> > >> In Ubuntu Lucid kernel 2.6.32-21.32, I plugged in the remote 22 times, > >> and 2 times it was detected properly. > >> > >> I rebuilt the same Ubuntu kernel package with that change, and plugged > >> in the remote 22 times, and all 22 times it was detected properly. > >> > >> How should this fix be added to the quirk list? > > > > You should first find out how long the delay needs to be. 1000 ms is > > probably an overestimate. Try some smaller values. > > It looks like 200ms is the magic value; 150ms is obviously still broken, > 175ms was bad 1 in 45 times (funnily enough the very first), and 200ms > was good for 200 plug cycles across 2 different USB ports on my main laptop. > > This is all judging by whether the kernel plug messages indicate 1 or 0 > configurations found. I should probably test the modified kernel on a > couple other laptops, and also not just for plugins, but also > post-configuration-download reboot cycles. (Application level > configuration.) All right. We could add a quirk indicating that the device needs a delay before the Get-Device-Qualifier call. I don't like the idea of adding an unconditional delay; enumeration already takes too long. Or more simply, we could add a quirk indicating that the kernel shouldn't issue the Get-Device-Qualifier call at all. The only reason it's there is for printing a message in the log when a high-speed-capable device isn't plugged into a high-speed port. 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