[Bug 265742] [PATCH] Sayobot keypad fails to attach: error reading report description

From: <bugzilla-noreply_at_freebsd.org>
Date: Tue, 09 Aug 2022 16:44:00 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=265742

            Bug ID: 265742
           Summary: [PATCH] Sayobot keypad fails to attach: error reading
                    report description
           Product: Base System
           Version: 13.1-RELEASE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: kern
          Assignee: bugs@FreeBSD.org
          Reporter: crahman@gmail.com

Created attachment 235807
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=235807&action=edit
Add UQ_MS_NO_SETPROTO USB quirk

The Sayobot keypads are popular and well made sets of one or more cherry red
keys used for playing the osu! rhythm game, but very useful for other
applications because the keys can be programmed to perform arbitrary mouse or
key actions.

On FreeBSD 13.1, the keypads fail to attach with the error:
  ums1: error reading report description
  device_attach: ums1 attach returned 12

This is caused when the ums mouse driver attempts to use SetProtocol to set the
report (non-boot) protocol.  The keypad does not handle this correctly.

The attached patch adds a UQ_MS_NO_SETPROTO quirk to avoid using SetProtocol.

The patch also includes the patch from Bug 234469, which allows a USB endpoint
which provides both mouse and keyboard services (the combination of which is
not supported by FreeBSD) to act as a keyboard when UQ_UMS_IGNORE is set.

To use the keypad to generate mouse events, add

hw.usb.quirk.0="0x8089 0x0003 0x0000 0xffff UQ_MS_NO_SETPROTO"

to /boot/loader.conf.

To use the keyboard to generate keyboard events, add

hw.usb.quirk.0="0x8089 0x0003 0x0000 0xffff UQ_UMS_IGNORE"

to /boot/loader.conf.

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