[Bug 282144] usb mouse incorrectly attaches to keyboard driver

From: <bugzilla-noreply_at_freebsd.org>
Date: Tue, 22 Oct 2024 15:51:00 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=282144

--- Comment #9 from Gary Jennejohn <gljennjohn@gmail.com> ---
(In reply to fjpavon from comment #8)
In /sys/dev/usb/quirk/usb_quirk.h there's this quirk:

UQ_KBD_IGNORE,          /* device should be ignored by kbd class */

so you could try using that quirk with the mouse.

The problem is, of course, that ums.c uses this code:

/* A match on these entries will load ums */
static const STRUCT_USB_HOST_ID __used ums_devs[] = {
        {USB_IFACE_CLASS(UICLASS_HID),
         USB_IFACE_SUBCLASS(UISUBCLASS_BOOT),
         USB_IFACE_PROTOCOL(UIPROTO_MOUSE),},
};

in the ums_probe(device_t dev) function and UIPROTO_MOUSE is 2.

The only solution I can see would be to add some code to ums_probe() to use the
idVendor = 0x12c9 and the idProduct = 0x1021 values to change
USB_IFACE_PROTOCOL
for the mouse to be temporarily set to 1 rather than 2.

However, this would mean having to maintain a patch to ums.c.

Personally I'd send this mouse back and inform Newmen Tech.,LTD that they're
using
the wrong bInterfaceProtocol for a mouse.

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