Opened 11 days ago

Last modified 3 days ago

#15000 new bug

XHCI: Can't boot off USB3 drives (but USB2 drives and/or ports work OK)

Reported by: waddlesplash Owned by: nobody
Priority: normal Milestone: Unscheduled
Component: Drivers/USB/XHCI Version: R1/Development
Keywords: Cc:
Blocked By: Blocking: #14999, #15014
Has a Patch: no Platform: All


This seems to occur only on *some* hardware. At least my (rather common) Lynx Point controller is affected, as are the controllers on various Ryzen motherboards, and MacBooks also.

Oddly, said USB devices usually work when they are plugged in after boot, just not when they are booted from.

Change History (5)

comment:1 Changed 11 days ago by waddlesplash

It's possible there's some sort of rate issue here where we fire too many transactions to the device too soon after we did a power reset on all ports, perhaps? That's complete speculation though.

comment:2 Changed 11 days ago by waddlesplash

Blocking: 14999 added

comment:3 Changed 11 days ago by waddlesplash

As mentioned in the title, it is possible to boot via a USB2 flash drive on a USB3 port, or a USB3 flash drive on a USB2 port (even if said port is attached to the XHCI controller.) Something about USB3 mode is the issue here.

comment:4 Changed 11 days ago by waddlesplash

Debounce and wakeup times do not appear to be any different for USB3 than they were previously; at least I don't see any special handling in the Linux kernel here for this.

I do note that there are a variety of TODOs in XHCI::ConfigureEndpoint about USB2 vs. USB3 at present, most of which center around fetching the companion descriptor and then applying it to various settings. Probably that is relevant here.

comment:5 Changed 3 days ago by waddlesplash

Blocking: 15014 added
Note: See TracTickets for help on using tickets.