Date: Mon, 30 Mar 2015 10:54:20 +0200 From: Hans Petter Selasky <hps@selasky.org> To: Kohji Okuno <okuno.kohji@jp.panasonic.com>, freebsd-usb@freebsd.org Subject: Re: Why do we try to enter U1 mode in SuperSpeed? Message-ID: <55190F3C.4070901@selasky.org> In-Reply-To: <20150330.135402.19625324788487516.okuno.kohji@jp.panasonic.com> References: <20150330.135402.19625324788487516.okuno.kohji@jp.panasonic.com>
index | next in thread | previous in thread | raw e-mail
On 03/30/15 06:54, Kohji Okuno wrote:
> Hi HPS
>
> I have a question.
> Why do we try to enter U1 mode in SuperSpeed?
> This is the following codes(***)
>
> In our proprietary environmen(This has a xHCI controller), when a
> device accept U1, the device may be strange status. Acutually, when I
> tried to connect "Western Digital My Passport Essential 320GB
> (P/N:WDBACY3200ABK-00)", this HDD was not recognized correctly.
> But, in PC environment, this HDD was recognized correctly.
>
> Regards,
> Kohji Okuno
>
> (***)
> usb_hub.c:
> 793 if (speed == USB_SPEED_SUPER) {
> 794 err = usbd_req_set_hub_u1_timeout(udev, NULL,
> 795 portno, 128 - (2 * udev->depth));
> 796 if (err) {
> 797 DPRINTFN(0, "port %d U1 timeout "
> 798 "failed, error=%s\n",
> 799 portno, usbd_errstr(err));
> 800 }
> 801 err = usbd_req_set_hub_u2_timeout(udev, NULL,
> 802 portno, 128 - (2 * udev->depth));
> 803 if (err) {
> 804 DPRINTFN(0, "port %d U2 timeout "
> 805 "failed, error=%s\n",
> 806 portno, usbd_errstr(err));
> 807 }
> 808 }
Hi,
We are not trying to enter U1 mode, we only setup the U1 and U2
timeouts. Is there a flag in the USB descriptors that say this is not
supported and that we need to set some other value? I thought all
superspeed devices had to support these features and that switching in
and out of the sleep modes was done by the XHCI hardware.
--HPS
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?55190F3C.4070901>
