Index | Thread | Search

From:
Stuart Henderson <stu@spacehopper.org>
Subject:
Re: patch: pixart mice repeatedly reconnecting if x isn't running
To:
"emulti@disroot.org" <emulti@disroot.org>
Cc:
tech@openbsd.org
Date:
Thu, 27 Mar 2025 08:43:06 +0000

Download raw body.

Thread
On 2025/03/27 12:18, emulti@disroot.org wrote:
> hello Stuart,
> 
> I have two more PixArt USB mice that display this irritating quirk (tested on 7.6-release):
> 
> 17ef:6019 PixArt, Lenovo USB Optical Mouse
> 413c:301a PixArt, Dell MS116 USB Optical Mouse
> 
> They are both quoting "rev.2.00/1.00" as their version in the attach message.
> 
> Commits to usb_quirks.c since 7.6 don't incude these two.
> Since these types seem to be quite common in the wild, can they be added to the list?


this should do the trick - run "make" in /sys/dev/usb before building a
new kernel.

Index: usbdevs
===================================================================
RCS file: /cvs/src/sys/dev/usb/usbdevs,v
diff -u -p -r1.775 usbdevs
--- usbdevs	19 Feb 2025 08:44:56 -0000	1.775
+++ usbdevs	27 Mar 2025 08:42:20 -0000
@@ -1553,6 +1553,7 @@ product DAVICOM WK668		0x0668	HenTong WK
 product DAVICOM DM9601		0x9601	DM9601
 
 /* Dell products */
+product DELL PIXARTMOUSE	0x301a	Optical Mouse
 product DELL AXIM		0x4005	Axim X51v
 product DELL BC02		0x8000	Bluetooth
 product DELL TM1180		0x8100	TrueMobile 1180 WLAN
@@ -2682,6 +2683,7 @@ product LENOVO RTL8153B_3	0x309b	RTL8153
 product LENOVO RTL8153B_4	0x309c	RTL8153B
 product LENOVO RTL8153B_5	0x309d	RTL8153B
 product LENOVO OPTUSBMOUSE	0x600e	Optical Mouse
+product LENOVO PIXARTMOUSE	0x6019	Optical Mouse
 product LENOVO ETHERNET		0x7203	USB 2.0 Ethernet
 product LENOVO RTL8153_1	0x7205	RTL8153
 product LENOVO ONELINK		0x720a	OneLink
Index: usb_quirks.c
===================================================================
RCS file: /cvs/src/sys/dev/usb/usb_quirks.c,v
diff -u -p -r1.80 usb_quirks.c
--- usb_quirks.c	7 Oct 2024 13:27:13 -0000	1.80
+++ usb_quirks.c	27 Mar 2025 08:42:20 -0000
@@ -158,7 +158,11 @@ const struct usbd_quirk_entry {
 	ANY,	{ UQ_ALWAYS_OPEN }},
  { USB_VENDOR_CHICONY, USB_PRODUCT_CHICONY_OPTMOUSE,
 	ANY,	{ UQ_ALWAYS_OPEN }},
+ { USB_VENDOR_DELL, USB_PRODUCT_DELL_PIXARTMOUSE,
+	ANY,	{ UQ_ALWAYS_OPEN }},
  { USB_VENDOR_HAILUCK, USB_PRODUCT_HAILUCK_KEYBOARD,
+	ANY,	{ UQ_ALWAYS_OPEN }},
+ { USB_VENDOR_LENOVO, USB_PRODUCT_LENOVO_PIXARTMOUSE,
 	ANY,	{ UQ_ALWAYS_OPEN }},
  { USB_VENDOR_LENOVO, USB_PRODUCT_LENOVO_OPTUSBMOUSE,
 	ANY,	{ UQ_ALWAYS_OPEN }},