Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 02 Dec 2017 07:14:29 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-usb@FreeBSD.org
Subject:   [Bug 224031] [usb][ukbd]: The USB keyboard driver does not force the boot protocol
Message-ID:  <bug-224031-17@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D224031

            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: freebsd@gergo.csillger.hu

FreeBSD does not set the protocol to boot for USB keyboards, like it does s=
et
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 hos=
t should
not make any assumptions about the device=E2=80=99s state and should set th=
e 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 =3D
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 guarant=
ees.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-224031-17>