RE: Transient USB disconnects

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Alan Stern 
> On Fri, 15 Aug 2014, David Laight wrote:
> 
> > With all the usb dynamic-debug enabled the first errors I see are 'detected XactErr'
> > len 0/1522 and len 2048/18944 (all 32 retries).
> > Then some '3strikes' messages (75 in total split between the endpoints).
> >
> > I've not yet looked at what those errors actually mean.
> 
> "Detected XactErr" means a transaction error occurred (the Transaction
> Error (XactErr) bit was set in the qTD's status field).  The len values
> are the number of bytes transferred and the number of bytes requested.
> Usually this occurs because the host doesn't receive a handshake or
> data packet from the device.
> 
> The "3strikes" messages mean an URB was aborted because there were too
> many errors.

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.

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).

	David




--
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




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux