usb/125941: not working wheel on my microsoft notebook optical
mouse 3000
Kai Wang
kaiwang27 at gmail.com
Mon Aug 11 15:20:03 UTC 2008
The following reply was made to PR usb/125941; it has been noted by GNATS.
From: Kai Wang <kaiwang27 at gmail.com>
To: Grzegorz Blach <magik at back-up.pl>
Cc: FreeBSD-gnats-submit at FreeBSD.org, freebsd-usb at FreeBSD.org
Subject: Re: usb/125941: not working wheel on my microsoft notebook optical
mouse 3000
Date: Mon, 11 Aug 2008 17:19:41 +0200
On Mon, Aug 11, 2008 at 10:19:35AM -0400, Grzegorz Blach wrote:
>
>
> On Mon, 11 Aug 2008 15:34:34 +0200, Kai Wang <kaiwang27 at gmail.com> wrote:
> > On Tue, Aug 05, 2008 at 10:03:15AM -0400, magik at back-up.pl wrote:
> >>
> >>
> >> On Thu, 24 Jul 2008 23:30:07 GMT, FreeBSD-gnats-submit at FreeBSD.org
> > wrote:
> >> > Thank you very much for your problem report.
> >> > It has the internal identification `usb/125941'.
> >> > The individual assigned to look at your
> >> > report is: freebsd-usb.
> >> >
> >> > You can access the state of your problem report at any time
> >> > via this link:
> >> >
> >> > http://www.freebsd.org/cgi/query-pr.cgi?pr=125941
> >> >
> >> >>Category: usb
> >> >>Responsible: freebsd-usb
> >> >>Synopsis: not working wheel on my microsoft notebook optical
> > mouse
> >> > 3000
> >> >>Arrival-Date: Thu Jul 24 23:30:07 UTC 2008
> >>
> >> I just fixed problem with wheel on my mouse
> >> and I'm sending in attachment patch for /usr/src/sys/dev/usb/ums.c file.
> >
> >> --- ums.c.orig 2008-08-05 17:24:21.815936911 +0200
> >> +++ ums.c 2008-08-05 17:24:51.885277111 +0200
> >> @@ -402,6 +402,7 @@
> >> sc->sc_loc_x.pos = 8;
> >> sc->sc_loc_y.pos = 16;
> >> sc->sc_loc_z.pos = 24;
> >> + sc->sc_loc_z.size = 8;
> >> sc->sc_loc_btn[0].pos = 0;
> >> sc->sc_loc_btn[1].pos = 1;
> >> sc->sc_loc_btn[2].pos = 2;
> >
> >
> > Hi,
> >
> > Thanks for submitting the patch. It'd be great if you could also
> > test the patch below for us and paste the result here, just for
> > better understanding the problem.
> >
> > The patch adds some debug printfs:
> >
> > --- /sys/dev/usb/ums.c 2008-05-05 20:25:42.000000000 +0200
> > +++ ums.c 2008-08-11 15:25:44.000000000 +0200
> > @@ -284,6 +284,7 @@
> > wheel = hid_locate(desc, size, HID_USAGE2(HUP_GENERIC_DESKTOP,
> > HUG_WHEEL),
> > hid_input, &sc->sc_loc_z, &flags);
> > + printf("wheel=%d\n", wheel);
> >
> > if (wheel) {
> > if ((flags & MOUSE_FLAGS_MASK) != MOUSE_FLAGS) {
> > @@ -323,6 +324,7 @@
> > sc->flags |= UMS_Z;
> > }
> > }
> > + printf("sc->flags=0x%04x\n", sc->flags);
> >
> > /*
> > * The Microsoft Wireless Intellimouse 2.0 reports it's wheel
> > @@ -402,6 +404,7 @@
> > sc->sc_loc_x.pos = 8;
> > sc->sc_loc_y.pos = 16;
> > sc->sc_loc_z.pos = 24;
> > + printf("sc->sc_loc_z.size=%u\n", sc->sc_loc_z.size);
> > sc->sc_loc_btn[0].pos = 0;
> > sc->sc_loc_btn[1].pos = 1;
> > sc->sc_loc_btn[2].pos = 2;
>
> this, what I see:
>
> ums0: <Microsoft Microsoft Notebook Optical Mouse with Tilt Wheel, class
> 0/0, rev 2.00/1.20, addr 2> on uhub0
> wheel=0
> sc->flags=0x0000
> ums0: 3 buttons and a TILT dir.
> sc->sc_loc_z.size=0
>
Interesting. Now I suspect that Optical Mouse 3000 model 1049 got different
versions.
Could you please get krepdump (http://people.freebsd.org/~kaiw/tools/krepdump.tgz)
# tar xzvf krepdump.tgz
# cd krepdump
# make
# kldload ./krepdump.ko
Then plug in your mouse and paste the result here?
There is one version of report desc of this mouse here:
http://lists.freebsd.org/pipermail/freebsd-usb/2008-February/004617.html
and my guess is your mouse's report desc is different than that...
Thanks,
Kai
More information about the freebsd-usb
mailing list