So, as described on IRC #ubuntu-kernel by mjg59, the issue is USB host controllers sharing physical ports.
In this test-case the PC has 4x USB 1.1 host controllers and 1x USB2 host controller. The three physical external USB ports are connected such that the USB2 host controller and one of the USB1.1 controllers can access and claim them. The test-case used port 1 (the rear-most port). If ehci_hcd (USB2) starts first it claims the port via: /sys/devices/pci0000:00/0000:00:1d.7/usb1/1-3/1-3:1.0/host8/target8:0:0 If uhci_hcd (USB1.1) starts first it claims the port via: /sys/devices/pci0000:00/0000:00:1d.1/usb2/2-1/2-1:1.0/host7/target7:0:0 So, as we know, the solution is to force ehci_hcd to load and initialise a host controller and, most importantly, *claim the shared ports* before uhci_hcd. The previous gap in our understanding of this issue is the nature of the physical ports being *shared* by the host controllers on a first come, first served basis. If the USB drivers remain as modules then this requires the modules listed in required load-order in /etc/initramfs-tools/modules: ehci_hcd uhci_hcd ohci_hcd Alternatively, if the modules are built-in to the kernel image we need to ensure the link order is the same (fastest protocol driver first), and that support for USB3 (SuperSpeed - 5Gbps) via a xhci_hcd module doesn't get tripped up by this issue in the future. -- warning: ehci_hcd loaded AFTER uhci_hcd and ohci_hcd https://bugs.launchpad.net/bugs/296710 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs