Re: xHCI problem? [was Re: Erratic USB device behavior and device loss]

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

 



On Mon, 22 Aug 2016, Ritesh Raj Sarraf wrote:

> Hello Mathias,
> 
> I finally reproduced the bug. So the linked usbmon log should have it. But its a
> whopping 22 MiB. It seems it takes a couple of hours of the OS running to
> trigger the bug.
> 
> https://people.debian.org/~rrs/tmp/usb_1u-usbmon.txt.gz
> 
> https://people.debian.org/~rrs/tmp/dmesg-usbmon.txt

The usbmon trace shows two separate issues, one in software and one in 
hardware.  The two issues may or may not be related.

The software bug is in the driver for this device.  Every 3 seconds it 
does a runtime suspend followed immediately by a resume, for no 
apparent reason.  Even worse, it tries to communicate with the device 
during the time that it is suspended!

The hardware bug is a series of spontaneous disconnections.  Again, 
there's no obvious reason for this, although it's possible that the 
device doesn't like going into and out of suspend very often.  (But 
there are a lot more suspends than disconnects.)  It's also possible 
that the USB cable isn't making a firm connection.

The final blow came when the driver tried to communicate with the
device _as_ it was being suspended.  That seemed to mess up the
hardware so badly that it was unable to recover, and from that point it
stopped working entirely.

The timing may explain why it takes so long for the device to stop 
working.  That doesn't happen until, by chance, the driver tries to 
communicate with the device as it is being suspended.

Try doing this: Reboot.  Then before the problem occurs, mount a 
debugfs filesystem on /sys/kernel/debug and make a copy of 
/sys/kernel/debug/usb/devices.  Let's see what it says about the faulty 
card reader.

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



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

  Powered by Linux