Re: [PATCH] usb: hub: Per-port setting to use old enumeration scheme

From: Alan Stern
Date: Wed May 23 2018 - 09:10:35 EST


On Wed, 23 May 2018, Nicolas Boichat wrote:

> The "old" enumeration scheme is considerably faster (it takes
> ~294ms instead of ~439ms to get the descriptor).
>
> It is currently only possible to use the old scheme globally
> (/sys/module/usbcore/parameters/old_scheme_first), which is not
> desirable as the new scheme was introduced to increase compatibility
> with more devices.
>
> However, in our case, we care about time-to-active for a specific
> USB device (which we make the firmware for), on a specific port
> (that is pogo-pin based: not a standard USB port). This new
> sysfs option makes it possible to use the old scheme on a single
> port only.
>
> Signed-off-by: Nicolas Boichat <drinkcat@xxxxxxxxxxxx>
> ---
>
> There are other "quirks" that we could add to reduce further
> enumeration time (e.g. reduce USB debounce time, reduce TRSTRCY
> to 10ms instead of 50ms as used currently), but the logic is quite
> similar, so it'd be good to have this reviewed first.

I'm not opposed to the idea in principle, although I don't like your
implementation because it breaks the original old_scheme_first
parameter.

Let's see what some other people think.

Yours is a rather special case, because you know exactly what device
will be attached to a specific port. Still, I can see that sort of
thing happening in constrained and special-purpose settings.

How do you arrange to set the new quirk before the device is
discovered?

Alan Stern