On Sun, Apr 13, 2014 at 05:53:10PM -0700, Benjamin West wrote: > On Tue, Apr 8, 2014 at 12:52 AM, Johan Hovold <johan@xxxxxxxxxx> wrote: > > On Mon, Apr 07, 2014 at 07:26:01PM +0300, Mathias Nyman wrote: > >> On 04/03/2014 07:32 PM, Johan Hovold wrote: > >> > Hi Mathias and Benjamin, > >> > > >> > Mathias, I understand you've got quite a lot on your plate with xhci at > >> > the moment, but have you had a change to look at this issue yet? It's an > >> > xhci-issue (possibly due to buggy hw) which seems related to the > >> > non-superspeed enumeration work that was made by Sarah and Dan during > >> > the fall. > >> > > >> > In summary, the device works fine with ehci, but fails to enumerate > >> > with xhci. Prior to 3.14 this resulted in babble errors, but since 3.14 > >> > it appears that enumeration times out instead: > >> > > >> > xhci_hcd 0000:00:14.0: Timeout while waiting for setup address command > >> > > >> > Sometimes it enumerates successfully with 3.14, though. > >> > > >> > Not sure if it's related, but Benjamin was also able to trigger: > >> > > >> > xhci_hcd 0000:00:14.0: HC died; cleaning up > >> > > >> > The full thread is available here: > >> > > >> > http://marc.info/?l=linux-usb&m=139464536212863&w=2 > >> > > >> > (The usb-serial related bits are really just about recognising the > >> > VID/PID and is unrelated to the xhci-enumeration problem.) > >> > > >> > Do you need any further information from Benjamin? > >> > >> It might be related to Dan's enumeration scheme change, but > >> looking at the xhci parts of the logs there seems to be both Address > >> command timeout and halting/stalling endpoint clearing issues. > >> > >> There is currently an issue with clearing halted endpoints and toggle > >> bit getting out of sync on xhci which I'm about to take on, this could > >> be related. > >> > >> http://marc.info/?l=libusb-devel&m=134930472420570&w=2 > >> > >> Hopefully, fixing that will solve some of the issues you are seeing as well. > >> > >> There's also a rfc patchset which completely changes how xhci handles > >> command timeouts. You could also test if it has any impact on the > >> address command timeout. > >> > >> http://marc.info/?l=linux-usb&m=139653559120996&w=2 > > > > Alright, thanks for taking a look. > > > > Benjamin, were you able to reproduce this on a different host > > controller? If you're interested in debugging this further you could try > > Mathias timeout RFC. I could prepare a branch for you to pull if that'd > > simplify things. > > This sounds interesting. > If you prepare a branch, I'll certainly give it a try, thank you. There's a completely untested xhci-cmdqueue branch in my tree now that you could try: https://git.kernel.org/cgit/linux/kernel/git/johan/usb-serial.git/log/?h=xhci-cmdqueue I've simply applied Mathias series from here: http://marc.info/?l=linux-usb&m=139653559120996&w=2 to v3.15-rc1. > I'll look for a way to test this on other hardware/different host > controller. I'd definitely recommend that. > It may or may not be relevant, but the vendor admits that there are > issues in Windows and Mac that also prevents their software from > working with USB 3.0 ports. When I asked them on the phone, they told > me the reason was because "the ports are the wrong size and it's not a > universal system." So I know the issue is a generic one involving 3.0 > handling across different operating systems/hardware, not just mine. > I'll look for an opportunity to test on other hardware. "Wrong size"? :) Well, if the device doesn't enumerate under those other OSes either, this may be a long shot. But best of luck! Johan -- 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