Hi, I recently purchased a cheap USB mouse/keyboard combination. If I plug it in /dev/ums0 is created, I also can run moused -p /dev/ums0, but the mouse will not move.
I upgraded to a recent -STABLE, so ums.c is version 1.70.2.2. I compiled a kernel with options USB_DEBUG and set hw.usb.ums.debug=9999. With cat /dev/ums0 > /dev/null I can see the Debug Info on the console: ums_intr: sc=0x19d5c00 status=13 ums_intr: data = 01 00 00 00 00 01 ums_intr: status=13 It seems that this mouse sends 1 extra byte before the usual data, just like the MS Wireless Intellimouse 2.0, because data is like: 01 BUTTON X Y Z 01 But seems like ums_intr() returns on line 467, so I tried this: --- /sys/dev/usb/ums.c Sun Mar 20 14:54:14 2005 +++ /root/ums.c Sun Mar 20 14:54:04 2005 @@ -456,7 +456,7 @@ * Currently it's the only user of UMS_T so use it as an identifier. * We probably should switch to some more official quirk. */ - if (sc->flags & UMS_T) { +/* if (sc->flags & UMS_T) { if (sc->sc_iid) { if (*ibuf++ == 0x02) return; @@ -468,9 +468,11 @@ } } +*/ *ibuf++; It sort of works. If I run moused -p /dev/ums0 I can actually use that mouse, BUT it moves jerky, I have to move the wheel two positions to get one and when a button is pressed when the mouse stands still it is not recognized. The mouse _must_ move for the button to get noticed. Has anyone an idea what to try next? Any help would be greatly appreciated! Marius
pgpSeUZfsyEt5.pgp
Description: PGP signature