usb2 moused issue (Microsoft Wireless Optical)
Giorgos Keramidas
keramida at freebsd.org
Tue Feb 17 12:20:16 PST 2009
On Tue, 17 Feb 2009 20:40:05 +0100, Hans Petter Selasky <hselasky at freebsd.org> wrote:
> On Tuesday 17 February 2009, Giorgos Keramidas wrote:
>> On Tue, 17 Feb 2009 20:55:30 +0200, Giorgos Keramidas <keramida at FreeBSD.org>
> wrote:
>> > The code of hid_report_size() is similar in old usb and the new usb
>> > stack, but I am not sure about all the differences I see. The
>> > calculation of `size' is done correctly with old usb code, so I am
>> > testing the patch attached below now. It essentially pulls in the
>> > hid_report_size() from the old usb code, with the if (h.kind == k) check
>> > reversed to remove one spurious indentation level:
>>
>> No luck with the old usb code for hid_report_size() either. We may be
>> looking at the wrong place. I'll build a kernel with a pre-usb2 stack
>> and see what ums debugging shows for this mouse. If it used to work
>> with size=2 then we might have to look elsewhere for the bug.
>
> I don't think that will help. Can you try the following.
>
> XYZ information includes: (64+8-40)/8 = 4 bytes
>
> Then you need add one PD byte, so size should be 5 bytes.
Yep. Before kldloading usb2_quirk.ko this is the X/Y/Z information:
kernel: ums_attach:583: X 48/8
kernel: ums_attach:584: Y 56/8
kernel: ums_attach:585: Z 64/8
After kldloading the quirks, I now see:
kernel: ugen4.2: <Microsoft> at usbus4
kernel: ums0: <Microsoft Wireless Optical Mouse 3000 (Model 1056), class 0/0, rev 2.00/0.07, addr 2> on usbus4
kernel: ums0: 3 buttons and [XYZ] coordinates
kernel: ums_attach:582: sc=0xc662f000
kernel: ums_attach:583: X 16/8
kernel: ums_attach:584: Y 24/8
kernel: ums_attach:585: Z 32/8
kernel: ums_attach:586: T 0/0
kernel: ums_attach:587: W 0/0
kernel: ums_attach:591: B1 8/1
kernel: ums_attach:591: B2 9/1
kernel: ums_attach:591: B3 10/1
kernel: ums_attach:593: size=5, id=0
kernel: Symlink: ums0 -> usb4.2.0.16
and AFAICT the mouse seems to work now.
Thanks! :)
More information about the freebsd-current
mailing list