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>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?55190F3C.4070901>