On Tue, 19 Aug 2014, David Laight wrote: > I think I've discovered our underlying problem. > > I scoped the USB data lines (NFI why the hardware guys hadn't looked at them!). > As well as the SOF (every 125us) there is a rather nasty decaying transient > every 41us that is almost 400mV and lasts about as long as the SOF. > (These seem to be generated by some PWM fan controllers, possibly ground lift!) > > I suspect that when the transient lines up with the SOF the envelope detector > in the USB host detects the 800mV that would appear when the target is > unplugged - so actions an unplug event and drives a USB reset. Your device is plugged into Intel's "rate-matching" hub, not directly into the host controller. > This is all the USB monitor sees - normal data (with acks) and a sudden > host reset - no retries. > > This rather begs the question of why the driver trace shows repeated URB > submissions - since something should know that the 'unplug' has been signalled. > However I've not tried to align the USB monitor and scope traces, nor the > driver events (possible by using the UART signals one of the 5 COM ports). Since the device is plugged into a hub, the hub knows about the disconnection. But it can't inform the kernel until the host controller polls it, which occurs at 128-ms intervals. 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