Hi HPS,

> On 03/30/15 10:54, Hans Petter Selasky wrote:
>> 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
>>
> 
> Hi,
> 
> Looking at the USB 3.0 specification, I think there might be a typo there:
> 
> In table 10-13 - "U2 timeout value encoding", it says that 0xFE corresponds to
> 65024 ms, but I think it should be 65024 _us_ !
> 
> Try programming values 0xFF for both U1 and U2. Does the device enumerate
> then?
> 
> Maybe it only doesn't support sleep modes during enumeration and that after
> set configuration it works?
> 
> --HPS

I will try programming values 0xFF.
By the way, why should we set these timeout value?
I think, we don't have to change from default values (U1 Timeout = 0,
U2 Timeout= 0).

Regards,
 Kohji Okuno
_______________________________________________
freebsd-usb@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"

Reply via email to