Re: USB resume issue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Dec 1, 2015 at 12:12 PM, Alan Cooper <alcooperx@xxxxxxxxx> wrote:
> On Tue, Dec 1, 2015 at 11:07 AM, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote:
>> On Tue, 1 Dec 2015, Oliver Neukum wrote:
>>
>>> On Tue, 2015-12-01 at 10:41 -0500, Alan Stern wrote:
>>> > > A recent patch, 7fa40910e0bf5ef32eca49595d950cb24f6402bf, added a
>>> > > CONNECTED retry for a different reason and I could simply increase
>>> > > this retry time. Any thoughts?
>>> >
>>> > I don't know.  You've got a non-compliant host combined with an
>>> > excessively slow device.  It seems unwise to penalize everybody by
>>> > slowing down their resumes (by 500 ms!) just because of this one
>>> > bad combination.
>
> I'm now sure the host in "non-compliant". It looks like the USB-persist feature
> was created for the loss of "power session" on suspend/resume. Hibernate
> will usually remove power and it's just because the BIOS re-enables VBUS
> that PC's don't see this problem. Also there doesn't seem to be any spec for
> how long after VBUS a 2.0 (or 3.0) device should become CONNECTED.
> Most 2.0 or 3.0 hard drive based devices, either using a SATA to USB dongle
> or devices like the WD Passport take >500ms to set CONNECTED. I've tested
> many different 3.0 devices plugged into a 2.0 only port and all of them take
> longer than the 100ms currently needed to succeed.
>
>>> >
>>> > On the other hand, I don't have any better ideas.
>>>
>>> Yet another quirk. Assume this to be necessary only if the port
>>> was connected to a quirky device before loss of power.
>>
>> Yeah, okay.  Although we have no way to know that the non-compliant
>> host controller turned off the port power.
>>
>> Alan, can you provide the vendor and product IDs for your USB-3 flash
>> drive?  Or would you prefer to write a patch yourself?
>
> I think the best solution would be to use "wait_for_ss_port_enable()"
> (renamed) for 2.0 devices and not just 3.0 devices as discussed in:
> http://marc.info/?l=linux-usb&m=143768271119144&w=2

I forgot to say that I'll submit the patch if this seems reasonable.
I thought it might also be useful to add a sysfs entry that could extend the
timeout. I have a Lexar 3.0 device that takes 6 seconds to become connected
in either a 3.0 or 2.0 port.

Al
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux