Re: xhci: non-superspeed enumeration failure

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

 



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.
>
> Thanks,
> Johan

Howdy Johan,

This sounds interesting.
If you prepare a branch, I'll certainly give it a try, thank you.

I'll look for a way to test this on other hardware/different host controller.
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.

Thanks,
-bewest
--
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