Date: Mon, 30 Mar 2015 18:13:06 +0900 (JST) From: Kohji Okuno <okuno.kohji@jp.panasonic.com> To: hps@selasky.org Cc: freebsd-usb@freebsd.org Subject: Re: Why do we try to enter U1 mode in SuperSpeed? Message-ID: <20150330.181306.839194614732046381.okuno.kohji@jp.panasonic.com> In-Reply-To: <55190F3C.4070901@selasky.org> References: <20150330.135402.19625324788487516.okuno.kohji@jp.panasonic.com> <55190F3C.4070901@selasky.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi HPS, > 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 Thank you for your prompt response. I understood your comment. And, I missunderstood about this. But, in our xHCI, when we set these timeout values, its xHCI controller sends LGO_U1 and the specified HDD accepts LGO_U1. In this result, its HDD is not recognized correctly. I think that our xHCI is wrong... -- Regards, Kohji Okuno
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20150330.181306.839194614732046381.okuno.kohji>