https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=224031

            Bug ID: 224031
           Summary: [usb][ukbd]: The USB keyboard driver does not force
                    the boot protocol
           Product: Base System
           Version: CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Many People
          Priority: ---
         Component: usb
          Assignee: freebsd-usb@FreeBSD.org
          Reporter: free...@gergo.csillger.hu

FreeBSD does not set the protocol to boot for USB keyboards, like it does set
it to report for mice. This manifests such that when plugging in a keyboard
that supports both, the keyboard stays in report mode, which is the default.

As section 7.2.6 of the Device Class Definition
for Human Interface
Devices (HID) spec (http://www.usb.org/developers/hidpage/HID1_11.pdf) says:

> When initialized, all devices default to report protocol. However the host 
> should
not make any assumptions about the device’s state and should set the desired
protocol whenever initializing a device.

Any keyboard that supports both, and conforms to the spec, will be unusable
under FreeBSD's ukbd driver.

I think - but this is as of yet untested - adding "err =
usbd_req_set_protocol(uaa->device, NULL, uaa->info.bIfaceIndex, 0);" right
after the "usb_test_quirk" call in "ukbd_probe" would do the right thing.

If I have time, I'll prepare a patch in the next day or two, but no guarantees.

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
freebsd-usb@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"

Reply via email to