Re: USB3.0 xhci issuing SetDescriptor

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

 



On Fri, Mar 05, 2010 at 08:16:00PM -0800, Ramesh.R wrote:
> Hi Sarah,
> 
> We are testing our USB3.0 device against xHCI v.96 based USB3.0 Host board.
> During our test, we observed an erroneous behaviour from the xHCI stack.
> 
> Here is the sequence:
> 1. Device settles in SuperSpeed.
> 2. Device completed successful link training sequence.
> 3. Device completes successful SetAddress command. (New address 2 is
> assigned)
> 4. The stack initiates GetDescriptor, and the device does not respond to the
> GetDescriptor command.(intentional)

Why do you not respond to the GetDescriptor command?  This is a
perfectly valid sequence of events, it's just different than what
Windows does.

> 5. The software stack initiates the SetAddress command for address 0.
> 
> Since, the sequence #3 has forced the device to an address state, the
> sequence #5 is not completed.

The USB 3.0 spec says (in section 9.4.6) that when a device is in the
addressed state, and it receives a SetAddress and "If the address
specified is zero, then the device shall enter the Default state."  Why
would you not complete the fifth step?

> We believe a warm-reset or Hot-reset before the sequence #5 would solve the
> problem.

The Linux USB enumeration sequence has worked fine for many different
USB devices, including many USB 3.0 devices.  I would like to keep it
the same in order not to break devices that are already out on the
market.  Can you fix this in hardware?

> Can you please suggest how to fix this issue in software, or can you suggest
> an alternative solution.

Which kernel version are you running?  The support to reset devices
under xHCI was only merged into Linus' patchset for 2.6.33 recently.
Are you running a kernel compiled from my git tree?

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