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
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "[email protected]"