Causes: Since beginning of Apple UEFI, Linux UEFI has booted with usb3 in bad mode during the UEFI boot sequence. This was the case whenever the previous shutdown was not a graceful Linux shutdown, ie. a crash, abrupt shutdown by long press on power key or a macOS session. Because the wait between a key presses and it being effective, boot is cumbersome. Additionally, in the bad mode, timers are 12x slower so every grub second is 12 s, and the UEFI boot additionally takes 1 to 2 minutes.
The bad mode entailed that mouse and keyboard only works for 2 s every 10-20 s with a type-ahead buffer of about 10 characters. The bad mode was active during the UEFI phase until the kernel loaded from the boot directory. Linux always had usb3 problems, which can be shown by any computer with usb3 hardware, and thus the xhci_hcd kernel module, over time shutting down various usb devices or the entire usb subsystem. This is what causes the console keyboard to be dead on a computer with a month or more of up-time, forcing a power off should networked ssh become unavailable. Before kernel 4.8, the usb3 troubles only affected Linux. macOS and the UEFI Startup Manager (option-boot) were not affected. With kernel 4.8, the presence of a Linux installation affects the boot manager and regular macOS boot making the only boot option Apple rescue mode (option+R.) All booting not preceded by a graceful Linux shutdown is also extremely slow, about 2 minutes. - The way to boot macOS is to boot Apple rescue mode that resets usb, then boot macOS - The way to boot Linux is the get-around above Additionally in 4.8, the xhci_kcd module, that is built-in and cannot be removed, decides to halt the usb host controller making password input impossible. This is what prevents booting without get-around tricks. usb3 has been a problem in Linux since its introduction. It's time to fix that. -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1668105 Title: xhci_kcd module turns off usb host controller on boot Status in linux package in Ubuntu: Confirmed Bug description: So we know this xhci_kcd was always shit in that it turns off the console usb keyboard for long running computers and that it on abrupt termination of Linux puts usb in a 12x slower mode. It is buggy, it was always buggy, and its getting worse. With Linux 4.8.0-37, this crappy software decides to halt the host controller on boot, ie. turn off the console keyboard preventing any boot. I cannot think of any situation where anyone would want their host controller halted. This is MacBook Pro 2015. So, it's already broken in UEFI-grub as it always was, ie. every key press takes 8 seconds, but you only need two, so you can boot in 16 s. I tried to disable the xhci_kcd crap by using kernel parameter noxhci_port_switch or modprobe.blacklist=xhci_hcd neither which works. Because it has crap in UEFI, the computer will not boot any external hard drive or usb fob. The only thing that works is Apple rescue that gets rid of the xhci garbage, and the boot os x immediately after that. So the log output xhci_hcd 0000:00:14.0: Timeout while waiting for setup device command xhci_hcd 0000:00:14.0: xHCI host not responding to stop endpoint command. - and a bit later: xhci_hcd 0000:00:14.0: Assuming host is dying, halting host. xhci_hcd 0000:00:14.0: HC died; cleaning up This clown programming of Linux has to stop. Why would anyone ever want their host controller halted? To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1668105/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp