#8954: USB3 support ---------------------------+---------------------------- Reporter: dsjonny | Owner: korli Type: enhancement | Status: assigned Priority: high | Milestone: Unscheduled Component: Drivers/USB | Version: R1/Development Resolution: | Keywords: usb3 Blocked By: | Blocking: 7665, 10750 Has a Patch: 1 | Platform: All ---------------------------+---------------------------- Comment (by akshay1994): Replying to [comment:25 korli]: > I checked without and with the patch on the Intel Lynx Point. Both cases work (no lock on init), but the ports are still routed to the EHCI controller. I'll try to enable routing Yes. But earlier it was checking the wrong extended capability register. For jessicah's case, the USB Legacy Support capability register was located at 0x8460, but it was looking at 0x8480 and wrongly believing that the controller is BIOS owned. > It doesn't work on the Nec controller but doesn't crash either. > > I wonder why hub support is needed. Hubs are discovered by explore thread in USB manager, and HubDevice are allocated there. Could you explain a bit? The explore thread calls GetBusManager()->AllocateDevice(), which in turn checks whether the newly connected device is a hub or a function. AllocateDevice() was made virtual in https://github.com/haiku/haiku/commit/319a3798bc05579e8be813c2524bc89864bae489, and we (re)implement it for XHCI. As a result, Hubs were getting allocated as devices. Also, we need to initialise the slot context accordingly for hubs. P.S. -> Yes, routing needs to be enabled for both, Panther Point and Lynx Point. I can look into this, if you are busy! -- Ticket URL: <https://dev.haiku-os.org/ticket/8954#comment:26> Haiku <https://dev.haiku-os.org> Haiku - the operating system.