Re: device attached to USB 3.0 hub port doesn't respond address device command after resume

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

 



On Wed, Feb 15, 2012 at 10:48:05AM -0500, Alan Stern wrote:
> On Wed, 15 Feb 2012, Elric Fu wrote:
> 
> > Hi all,
> > 
> > I found a usb 3.0 hub issue. Now I use a NEC xHCI host card and a VIA VL810 3.0
> > hub to test suspend/resume function. I found the device attached to a usb 3.0
> > hub port didn't respond the address device command in the procedure of
> > re-enumeration after resume. I tested linux kernel from 2.6.39 to 3.1.0+. All
> > of them have the issue.
> 
> > Then I found the root cause by USB CATC. USB core sends a set hub
> > depth request to
> > usb 3.0 hub in hub_configure() in superspeed hub initialization. And
> > If we do a s3/s4,
> > after resume usb core should reset the device and send the set hub
> > depth request
> > again. But before re-enumeration the usb core doesn't do it. So I
> > added a set hub depth
> > request after setting configuration in usb_reset_and_verify_device().
> > Now it seems like
> > the issue is gone.
> 
> Assuming this is the right thing to do, the place to do it is in 
> hub_activate(), not usb_reset_and_verify_device().

It might be the right thing to do for this particular hub, but it means
the hub is very broken.  Any USB device is supposed to respond to the
Set Address command once it's link trained.  It shouldn't matter when we
send the set hub depth request, as long as we do so before we start
using it as a hub.

Elric, btw, there are no USB-IF certified USB 3.0 hubs on the market
right now, so you've gotten a prototype that hasn't made it through
electrical and behavioral testing.  You might want to get a new one
later. :)

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