https://bugzilla.kernel.org/show_bug.cgi?id=218544 Alan Stern (stern@xxxxxxxxxxxxxxxxxxx) changed: What |Removed |Added ---------------------------------------------------------------------------- CC|stern@xxxxxxxxxxxxxxxxxxx | --- Comment #7 from Alan Stern (stern@xxxxxxxxxxxxxxxxxxx) --- There's also the usbhid interface on the audio device, probably used for a volume control or something like that. Maybe unbinding it too will help. You can try it, anyway, just to see what happens: echo 1-1.1:1.3 >/sys/bus/usb/drivers/usbhid/unbind (or with the device plugged into the rear port, use 2-1.1:1.3). Without going into any deeper testing, I can summarize the problem for you. Basically, the ehci-hcd driver in Linux has trouble utilizing the entire available bandwidth when low- or full-speed (1.5 or 12 Mb/s) devices are connected via a USB-2 hub. That's your situation; the hub is the 1-1 (or 2-1) device, number 002 on both buses. At one time Intel's chipsets would attach a single onboard hub directly to the EHCI controller and then connect all the downstream USB ports through that hub. This is what your laptop has. Even earlier Intel chipsets worked differently; they connected each downstream USB port through a switch which would send high-speed signals to the EHCI controller and low/full-speed signals to a companion UHCI controller. Motherboards using that scheme didn't suffer from this bandwidth problem unless the user connected a full/low-speed device via an external USB-2 hub. The reason for the problem is that the design of USB 2.0 and the EHCI controller hardware make it quite complicated to handle the packet scheduling when translating between two different speeds on the same bus. The driver uses an incomplete and imperfect algorithm which can handle the simplest cases okay but is not adequate for situations requiring a higher percentage of the total bandwidth, especially when different transfer types (bulk, interrupt, and isochronous) are mixed. Improving the driver to make it more capable would require a tremendous amount of work, and for very little return since nowadays computers use xHCI USB controllers rather than EHCI. Only legacy systems dating from the time of your T420 laptop or earlier would derive any benefit, and then only in situations involving multiple devices with high bandwidth requirements. I hope this explanation makes sense to you. -- You may reply to this email to add a comment. You are receiving this mail because: You are watching the assignee of the bug.