Last active
August 29, 2015 13:59
-
-
Save bewest/10603989 to your computer and use it in GitHub Desktop.
reply to linux msg
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
I thought I had enabled debugging. | |
My boot config has | |
* CONFIG_USB_DEBUG=y | |
* CONFIG_USB_SERIAL_DEBUG=m | |
and several other relevant looking items set to y, perhaps I simply | |
need to dynamically enable debug by setting something in sysfs? | |
I've been playing with this this (v3.14-rc7) extensively over the past | |
few weeks. | |
* The first insert of the device rarely works, but occasionally it | |
does appear on boot | |
* usually lsusb blocks for a long time (10's of seconds) if the | |
enumeration is not working | |
What I've found is that removing the usb stick while lsusb is hanging, | |
and re-inserting, on the third try the device enumerates. After this, | |
plugging in/removing enumerates as expected. Once the device | |
enumerates successfully, it seems to consistently enumerate | |
afterwards. | |
Each port seems to experience this problem independently of the | |
others. Eg, plugging in the device 3 times on a port seems to make it | |
enumerate, but the first few times lsusb tends to hang for a long | |
time. | |
To test this, I just tried waiting the full length between timeouts. | |
There is a log of the result here: | |
https://gist.githubusercontent.com/bewest/6488955/raw/77a431e50ebadd27641e2685dc1184aa96da05c6/annotated-runs-3.14.0-rc7-bewest-test-3.14-rc7-carelink-01.log | |
The procedure was to insert/remove the stick only after waiting for | |
the full timeout, eg, waiting for lsusb to return, and never | |
interrupting the process. | |
After several attempts, something happened, and the usb stack as a | |
whole seems to have reset or something, I lost access to my internal | |
bluetooth, and the usualy Atheros entry from lsusb output was missing. | |
On reboot, I continued and kept the entire syslog from reboot | grep | |
kernel, here: | |
https://gist.githubusercontent.com/bewest/6488955/raw/c436764d806426d373c36b25d4eb96276a16c1ae/theory-grep-kernel-3.14.0-rc7-bewest-test-3.14-rc7-carelink-01.log | |
In this one, I did not wait for lsusb to timeout; the number of | |
attempts doesn't seem to matter, but the timing does. This time I | |
seem to be able to moderate what happens by removing the usb stick | |
just after I see: | |
Apr 13 15:51:16 patient kernel: [ 431.837705] xhci_hcd 0000:00:14.0: Timeout while waiting for setup address command | |
I'm doing "watch lsusb" in another terminal, and removing the device | |
as soon as I see this message, then inserting it again. I stop doing | |
the lsusb/syslog output indicates that the device has enumerated. | |
> Benjamin, have you tried the device on a different host controller? | |
> | |
> Thanks, | |
> Johan | |
No, I haven't, my access to different machines is limited right now. | |
I have spares of this device, I'd be willing to mail one to someone | |
if it'd be helpful. | |
Thanks for following up on this, | |
-bewest |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment