Port-i386 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

M$ Wireless 400 Mouse (related to kern/41737?)



Hey...

I got a new mouse - a microsoft wireless 400. It comes with
a "nano transceiver" which reports as 

uhidev0 at uhub3 port 1 configuration 1 interface 0
uhidev0: Microsoft Microsoft® Nano Transceiver v2.0, rev 2.00/6.34, addr 2, 
iclass 3/1
ukbd1 at uhidev0
wskbd2 at ukbd1 mux 1
uhidev3 at uhub3 port 1 configuration 1 interface 1
uhidev3: Microsoft Microsoft® Nano Transceiver v2.0, rev 2.00/6.34, addr 2, 
iclass 3/1
uhidev3: 28 report ids
uhid2 at uhidev3 reportid 18: input=0, output=0, feature=1
uhid3 at uhidev3 reportid 22: input=4, output=0, feature=0
uhid4 at uhidev3 reportid 23: input=0, output=0, feature=1
ums0 at uhidev3 reportid 26: 5 buttons, W and Z dirs
wsmouse1 at ums0 mux 0
uhid5 at uhidev3 reportid 28: input=3, output=0, feature=0
uhidev4 at uhub3 port 1 configuration 1 interface 2
uhidev4: Microsoft Microsoft® Nano Transceiver v2.0, rev 2.00/6.34, addr 2, 
iclass 3/0
uhidev4: 8 report ids
uhid6 at uhidev4 reportid 3: input=1, output=0, feature=0
uhid7 at uhidev4 reportid 4: input=1, output=0, feature=0
uhid8 at uhidev4 reportid 7: input=7, output=0, feature=0
uhid9 at uhidev4 reportid 8: input=1, output=0, feature=0

Now when trying to use the mouse, I noticed that it's basically not working:
mouse movement is VERY slow, at the same time 100% of one CPU is stuck in
sys (as seen on xosview) and the X log file is filled with:

[mi] EQ overflowing. The server is probably stuck in an infinite loop.

I've seen kern/41737 and added the nano transceiver's usb id to
usbdevs, regenerated the files, rebuilt a new kernel and gave it a shot.
Now the mouse will work way better - but as soon as you touch the
scroll wheel, things go southwards. The above quote from the Xorg logfile
is actually from the second attempt.

Is there anybody out there with a ms wireless 400 who got it working?
and/or knows what else I can do?

usbhidctl isn't really telling you much, and for usbdevs, this is what
it sees:

Controller /dev/usb3:
addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), vendor 
0x8086(0x8086), rev 1.00
 port 1 addr 2: full speed, power 100 mA, config 1, Microsoft® Nano 
Transceiver v2.0(0x0745), Microsoft(0x045e), rev 6.34

Based on this, I had patched my kernel as seen in the attachment,
but I don't know what I'm doing and this isn't good enough (it's
better, but not good enough).

Uh.. Help?

Thanks in advance,

-Martin
Index: ums.c
===================================================================
RCS file: /cvsroot/src/sys/dev/usb/ums.c,v
retrieving revision 1.73.8.3
diff -w -u -i -t -r1.73.8.3 ums.c
--- ums.c       16 Jan 2010 17:47:12 -0000      1.73.8.3
+++ ums.c       10 Nov 2010 00:25:04 -0000
@@ -279,7 +279,8 @@
          */
         if (uha->uaa->vendor == USB_VENDOR_MICROSOFT &&
             (uha->uaa->product == USB_PRODUCT_MICROSOFT_24GHZ_XCVR10 ||
-             uha->uaa->product == USB_PRODUCT_MICROSOFT_24GHZ_XCVR20)) {       
 
+             uha->uaa->product == USB_PRODUCT_MICROSOFT_24GHZ_XCVR20 ||
+             uha->uaa->product == USB_PRODUCT_MICROSOFT_24GHZ_XCVR20N)) {      
 
                 if ((sc->flags & UMS_Z) && sc->sc_loc_z.pos == 0)
                         sc->sc_loc_z.pos = 24;
                 if ((sc->flags & UMS_W) && sc->sc_loc_w.pos == 0)
Index: usbdevs
===================================================================
RCS file: /cvsroot/src/sys/dev/usb/usbdevs,v
retrieving revision 1.519.4.5
diff -w -u -i -t -r1.519.4.5 usbdevs
--- usbdevs     9 Mar 2010 03:45:43 -0000       1.519.4.5
+++ usbdevs     10 Nov 2010 00:25:04 -0000
@@ -1546,6 +1546,7 @@
 product MICROSOFT XBOX_CONTROLLER_S12   0x0289  Xbox Controller S (1.2)
 product MICROSOFT 24GHZ_XCVR10          0x071d  2.4GHz Transceiver V1.0
 product MICROSOFT 24GHZ_XCVR20          0x071f  2.4GHz Transceiver V2.0
+product MICROSOFT 24GHZ_XCVR20N         0x0745  2.4GHz Transceiver V2.0 Nano
 
 /* Microtech products */
 product MICROTECH SCSIDB25      0x0004  USB-SCSI-DB25
Index: usbdevs.h
===================================================================
RCS file: /cvsroot/src/sys/dev/usb/usbdevs.h,v
retrieving revision 1.515.4.5
diff -w -u -i -t -r1.515.4.5 usbdevs.h
--- usbdevs.h   9 Mar 2010 03:46:24 -0000       1.515.4.5
+++ usbdevs.h   10 Nov 2010 00:25:05 -0000
@@ -1,4 +1,4 @@
-/*      $NetBSD: usbdevs.h,v 1.515.4.5 2010/03/09 03:46:24 snj Exp $    */
+/*      $NetBSD$        */
 
 /*
  * THIS FILE IS AUTOMATICALLY GENERATED.  DO NOT EDIT.
@@ -1553,6 +1553,7 @@
 #define USB_PRODUCT_MICROSOFT_XBOX_CONTROLLER_S12       0x0289          /* 
Xbox Controller S (1.2) */
 #define USB_PRODUCT_MICROSOFT_24GHZ_XCVR10      0x071d          /* 2.4GHz 
Transceiver V1.0 */
 #define USB_PRODUCT_MICROSOFT_24GHZ_XCVR20      0x071f          /* 2.4GHz 
Transceiver V2.0 */
+#define USB_PRODUCT_MICROSOFT_24GHZ_XCVR20N     0x0745          /* 2.4GHz 
Transceiver V2.0 Nano */
 
 /* Microtech products */
 #define USB_PRODUCT_MICROTECH_SCSIDB25  0x0004          /* USB-SCSI-DB25 */
Index: usbdevs_data.h
===================================================================
RCS file: /cvsroot/src/sys/dev/usb/usbdevs_data.h,v
retrieving revision 1.516.4.5
diff -w -u -i -t -r1.516.4.5 usbdevs_data.h
--- usbdevs_data.h      9 Mar 2010 03:46:24 -0000       1.516.4.5
+++ usbdevs_data.h      10 Nov 2010 00:25:05 -0000
@@ -1,4 +1,4 @@
-/*      $NetBSD: usbdevs_data.h,v 1.516.4.5 2010/03/09 03:46:24 snj Exp $      
 */
+/*      $NetBSD$        */
 
 /*
  * THIS FILE IS AUTOMATICALLY GENERATED.  DO NOT EDIT.
@@ -4595,6 +4595,10 @@
             "2.4GHz Transceiver V2.0",
         },
         {
+            USB_VENDOR_MICROSOFT, USB_PRODUCT_MICROSOFT_24GHZ_XCVR20N,
+            "2.4GHz Transceiver V2.0 Nano",
+        },
+        {
             USB_VENDOR_MICROTECH, USB_PRODUCT_MICROTECH_SCSIDB25,
             "USB-SCSI-DB25",
         },
@@ -6843,4 +6847,4 @@
             "Prestige",
         },
 };
-const int usb_nproducts = 1245;
+const int usb_nproducts = 1246;


Home | Main Index | Thread Index | Old Index