Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Feb 2009 22:12:36 +0100
From:      Hans Petter Selasky <hselasky@freebsd.org>
To:        Giorgos Keramidas <keramida@freebsd.org>
Cc:        freebsd-current@freebsd.org, Andrew Thompson <thompsa@freebsd.org>
Subject:   Re: usb2 moused issue (Microsoft Wireless Optical)
Message-ID:  <200902162212.37027.hselasky@freebsd.org>
In-Reply-To: <87tz6u6u4d.fsf@kobe.laptop>
References:  <87mycme9wc.fsf@kobe.laptop> <200902161930.25235.hselasky@freebsd.org> <87tz6u6u4d.fsf@kobe.laptop>

next in thread | previous in thread | raw e-mail | index | archive | help
On Monday 16 February 2009, Giorgos Keramidas wrote:
> On Mon, 16 Feb 2009 19:30:24 +0100, Hans Petter Selasky 
<hselasky@freebsd.org> wrote:
> >On Monday 16 February 2009, Giorgos Keramidas wrote:
> >>On Mon, 16 Feb 2009 17:52:56 +0100, Hans Petter Selasky wrote:
> >>> On Monday 16 February 2009, Giorgos Keramidas wrote:
> >>>> I just rebuild my kernel after flipping the switch to usb2 in my
> >>>> kernel config file:
> >>>>
> >>>>   [ dmesg output with hw.usb2.ums.debug=1 ]
> >>>>   Feb 16 16:19:00 kobe kernel: ugen4.2: <Microsoft> at usbus4
> >>>>   Feb 16 16:19:00 kobe kernel: ums0: <Microsoft Wireless Optical Mouse
> >>>> 3000 (Model 1056), class 0/0, rev 2.00/0.07, addr 2> on usbus4 Feb 16
> >>>> 16:19:00 kobe kernel: ums0: 5 buttons and [XYZ] coordinates Feb 16
> >>>> 16:19:00 kobe kernel: ums_attach:582: sc=0xc63c7000
> >>>
> >>> If you "cat /dev/ums0" while having the debugging on, do you see
> >>> anything?
> >>
> >> Hmm, there's a dmesg line saying that:
> >>
> >>   Feb 16 20:09:51 kobe kernel: Symlink: ums0 -> usb4.2.0.16
> >>
> >> but there is no ums0 symlink in /dev:
> >>
> >>   # ls -ld ums*
> >>   ls: ums*: No such file or directory
> >>   #
> >
> > Hi, The device is invisible. You should be able to cat it, if it's not
> > already opened.
>
> It was opened by moused, so I killed it.  There's no output when I
> attach and move the mouse, other than the following in syslog:
>
> Feb 16 21:37:45 kobe kernel: ugen4.2: <Microsoft> at usbus4
> Feb 16 21:37:45 kobe kernel: ums0: <Microsoft Wireless Optical Mouse 3000
> (Model 1056), class 0/0, rev 2.00/0.07, addr 2> on usbus4 Feb 16 21:37:45
> kobe kernel: ums0: 5 buttons and [XYZ] coordinates Feb 16 21:37:45 kobe
> kernel: ums_attach:582: sc=0xc63cd800
> Feb 16 21:37:45 kobe kernel: ums_attach:583: X  48/8
> Feb 16 21:37:45 kobe kernel: ums_attach:584: Y  56/8
> Feb 16 21:37:45 kobe kernel: ums_attach:585: Z  64/8
> Feb 16 21:37:45 kobe kernel: ums_attach:586: T  0/0
> Feb 16 21:37:45 kobe kernel: ums_attach:587: W  0/0
> Feb 16 21:37:45 kobe kernel: ums_attach:591: B1 40/1
> Feb 16 21:37:45 kobe kernel: ums_attach:591: B2 41/1
> Feb 16 21:37:45 kobe kernel: ums_attach:591: B3 42/1
> Feb 16 21:37:45 kobe kernel: ums_attach:591: B4 43/1
> Feb 16 21:37:45 kobe kernel: ums_attach:591: B5 44/1
> Feb 16 21:37:45 kobe kernel: ums_attach:593: size=2, id=19
> Feb 16 21:37:45 kobe kernel: Symlink: ums0 -> usb4.2.0.16
>
> When I kill the moused instance that is launched on attach by devd,
> start a `cat /dev/ums0' command and move the mouse, click a few buttons,
> etc. there is no output at all.

Hi,

I found a bug in the HID library:

Can you try the following patch:

http://perforce.freebsd.org/chv.cgi?CH=157814

You need to recompile usb2_core after this patch.

At the same time:

Can the ones that submitted the following to the mouse driver test with the 
patch above instead. I want to remove the following from "ums2.c":

        /*
         * The Microsoft Wireless Notebook Optical Mouse 3000 Model 1049 has
         * five Report IDs: 19 23 24 17 18 (in the order they appear in report
         * descriptor), it seems that report id 17 contains the necessary
         * mouse information(3-buttons,X,Y,wheel) so we specify it manually.
         */
        if ((uaa->info.idVendor == USB_VENDOR_MICROSOFT) &&
            (uaa->info.idProduct == USB_PRODUCT_MICROSOFT_WLNOTEBOOK3)) {
                sc->sc_flags = (UMS_FLAG_X_AXIS |
                    UMS_FLAG_Y_AXIS |
                    UMS_FLAG_Z_AXIS);
                sc->sc_buttons = 3;
                isize = 5;
                sc->sc_iid = 17;
                sc->sc_loc_x.pos = 8;
                sc->sc_loc_y.pos = 16;
                sc->sc_loc_z.pos = 24;
                sc->sc_loc_btn[0].pos = 0;
                sc->sc_loc_btn[1].pos = 1;
                sc->sc_loc_btn[2].pos = 2;
        }

--HPS



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200902162212.37027.hselasky>