Re: How to set USB_PORT_QUIRK_OLD_SCHEME on an usb-port ?

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

 



On Sat, Sep 05, 2020 at 01:37:38PM +0200, Hans de Goede wrote:
> Hi All,
> 
> I have been debugging an issue with a 2-in-1 which
> consists of a tablet + a kbd-dock, where the device
> turns into a clamshell when docked into the kbd-dock.
> 
> The kbd dock is connected via pogo-pins. This works
> fine when docked at boot. But there is an enumeration
> issue when hot-docked (and the keyboard looses power
> when the lid is closedm so this also triggers after
> a suspend/resume):
> 
> [ 3498.924190] usb 1-3: new full-speed USB device number 5 using xhci_hcd
> [ 3499.041725] usb 1-3: device descriptor read/64, error -71
> [ 3515.215890] usb 1-3: device descriptor read/64, error -110
> [ 3515.440369] usb 1-3: new full-speed USB device number 6 using xhci_hcd
> [ 3515.603544] usb 1-3: New USB device found, idVendor=06cb, idProduct=73f5, bcdDevice= 0.02
> [ 3515.603574] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
> [ 3515.603596] usb 1-3: Product: ITE Device(8910)
> [ 3515.603614] usb 1-3: Manufacturer: ITE Tech. Inc.
> 
> Note there is about 6 seconds before the keyboard becomes
> usable, which is quite long when trying to unlock the
> laptop after opening the lid.
> 
> If I set the USB_PORT_QUIRK_OLD_SCHEME on the port used by the kbd-dock:
> 
> echo 1 >  /sys/devices/pci0000\:00/0000\:00\:14.0/usb1/1-0\:1.0/usb1-port3/quirks
> 
> Then this changes to:
> 
> [ 4467.875008] usb 1-3: new full-speed USB device number 7 using xhci_hcd
> [ 4467.878483] usb 1-3: Device not responding to setup address.
> [ 4468.082476] usb 1-3: Device not responding to setup address.
> [ 4468.289990] usb 1-3: device not accepting address 7, error -71
> [ 4468.614928] usb 1-3: new full-speed USB device number 8 using xhci_hcd
> [ 4468.662392] usb 1-3: New USB device found, idVendor=06cb, idProduct=73f5, bcdDevice= 0.02
> [ 4468.662423] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
> [ 4468.662444] usb 1-3: Product: ITE Device(8910)
> [ 4468.662461] usb 1-3: Manufacturer: ITE Tech. Inc.
> 
> Which is a lot better wrt making the keyboard available for
> use in a timely manner.
> 
> So now I'm looking into a way to automatically do this. I would
> prefer to keep the handling of this out of the kernel, so I looked into
> udev, but it seems that the usb_port_device_type device-s registered by
> usb_hub_create_port_device() are not visible to udev?
> 
> At least I'm not seeing them, in the output of "udevadm info -e"

My impression is that fixing this would be the simplest approach.

Alan Stern

> Note another option would be to set the global old_scheme_first kernel
> cmdline parameter on this 2-in-1. That can be done with a simple
> dmi_system_id table on which to do this, but adding such a table
> seems undesirable.
> 
> 
> A third option I guess would be to try and improve the probe time
> of the kbd-dock under the new scheme.

Have you tried decreasing the initial_descriptor_timeout module 
parameter for usbcore?  That would probably help, but it's kind of a 
sledgehammer.

Alan Stern

> Any input on this would be much appreciated.
> 
> Regards,
> 
> Hans



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

  Powered by Linux