Opened 5 years ago

Closed 5 years ago

#11146 closed enhancement (fixed)

Support EHCI keyboard in KDL.

Reported by: pulkomandy Owned by: axeld
Priority: normal Milestone: Unscheduled
Component: System/Kernel Version: R1/Development
Keywords: Cc: jessicah
Blocked By: Blocking:
Has a Patch: no Platform: All

Description (last modified by pulkomandy)

Until now USB2 (EHCI) used "companion controllers", either UHCI or OHCI, to manage USB1 devices. Not anymore.

Modern hardware uses a "rate matching hub" instead, which basically means the EHCI controller now handles USB1 devices directly. On such machines listusb shows no UHCI/OHCI hubs at all.

This works fine, except in the kernel debugger which currently peeks directly into the UHCI driver to get USB keyboards working. Now we also need to do this with EHCI. Until we do, some people can't use their keyboard in KDL, which is a problem for debugging other issues.

Change History (4)

comment:1 Changed 5 years ago by jessicah

Cc: jessicah added

comment:2 Changed 5 years ago by pulkomandy

Description: modified (diff)

comment:3 Changed 5 years ago by pulkomandy

Description of the rate matching hub: http://www.intel.com/Assets/PDF/datasheet/322169.pdf -- Section 5.19

comment:4 Changed 5 years ago by mmlr

Resolution: fixed
Status: newclosed

The "rate matching hub" is in no way special, it is just a normal USB2 hub with a transaction translator that happens to be built right into the controller. So this is really all about getting a minimal set of EHCI working from the kernel debugger and removing/extending some places to not rely on UHCI directly.

Support for that Implemented in hrev47784 alongside updates to the usb_keyboard module to pick it up. Tested with a USB keyboard on a laptop with aforementioned rate matching hub.

Note: See TracTickets for help on using tickets.