NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
kern/55161: Add support for Microsoft Wireless Desktop 900 Mouse
>Number: 55161
>Category: kern
>Synopsis: Add support for Microsoft Wireless Desktop 900 Mouse
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Fri Apr 10 19:35:00 +0000 2020
>Originator: M. Boerschig
>Release: 9.0, 9.99.55
>Organization:
>Environment:
NetBSD 9.99.55 (GENERIC)
>Description:
I use the Microsoft Wireless Desktop 900 Mouse via its 2.4 GHz transceiver.
When using on NetBSD Xorg appears to lock-up completely when moving the mouse.
Turning on usbhid debug levels showed:
[ 331.239567] hidms_intr: x:-5 y:-9 z:1280 w:-1280 buttons:0x0
[ 331.249570] uhidev6: expected 2 bytes, got 9
[ 331.249570] hidms_intr: len=9
This confused the X server so much that it appears to freeze the whole system (well, keyboard won't react, so...)
I set this PR's priority to 'high' because it renders the system unusable when moving the mouse.
>How-To-Repeat:
Plug the Wireless Desktop 900 2.4GHz receiver in the USB port, start up X, move mouse. System freezes.
I run glxgears to demonstrate the freezing.
A slight mouse movement might take 20-30 seconds to recover, in that time glxgears is wedged.
Somehow the erroneous hid message seem to confuse X.
The workaround employed in ums.c for other transceivers works fine.
>Fix:
diff --git a/sys/dev/usb/ums.c b/sys/dev/usb/ums.c
index f81295d6d070..f8c4ed1a49b7 100644
--- a/sys/dev/usb/ums.c
+++ b/sys/dev/usb/ums.c
@@ -173,6 +173,7 @@ ums_attach(device_t parent, device_t self, void *aux)
switch (uha->uiaa->uiaa_product) {
case USB_PRODUCT_MICROSOFT_24GHZ_XCVR10:
case USB_PRODUCT_MICROSOFT_24GHZ_XCVR20:
+ case USB_PRODUCT_MICROSOFT_24GHZ_XCVR80:
case USB_PRODUCT_MICROSOFT_NATURAL_6000:
fixpos = 24;
break;
diff --git a/sys/dev/usb/usbdevs b/sys/dev/usb/usbdevs
index fbe0a5b987d9..511c94854fe9 100644
--- a/sys/dev/usb/usbdevs
+++ b/sys/dev/usb/usbdevs
@@ -2328,6 +2328,7 @@ product MICROSOFT XBOX_CONTROLLER_S12 0x0289 Xbox Controller S (1.2)
product MICROSOFT XBOX_360_WIRELESS_RECEIVER 0x0291 Xbox 360 Wireless Receiver
product MICROSOFT 24GHZ_XCVR10 0x071d 2.4GHz Transceiver V1.0
product MICROSOFT 24GHZ_XCVR20 0x071f 2.4GHz Transceiver V2.0
+product MICROSOFT 24GHZ_XCVR80 0x07b2 2.4GHz Transceiver V8.0
product MICROSOFT CM6000 0x077d Comfort Mouse 6000
Home |
Main Index |
Thread Index |
Old Index