kern/123224: Scroll wheel breakage w/ USB MS Wireless Intellimouse Explorer 2.0

Brian Cox coxbrian at msu.edu
Tue Apr 29 18:00:02 UTC 2008


>Number:         123224
>Category:       kern
>Synopsis:       Scroll wheel breakage w/ USB MS Wireless Intellimouse Explorer 2.0
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Apr 29 18:00:01 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     Brian Cox
>Release:        RELENG_7
>Organization:
>Environment:
FreeBSD lina 7.0-STABLE FreeBSD 7.0-STABLE #1: Tue Apr 29 06:57:28 EDT 2008     toor at lina:/usr/obj/usr/src/sys/LINA  i386

>Description:
I've observed what appears to be a regression in the NetBSD rev 1.63 code patched into sys/dev/usb/ums.c.  Judging by what I see in CVSWeb, it probably affects -CURRENT as well as RELENG_6 and RELENG_7 (the latter two of which I can confirm).  The patch in question was applied in revs 1.97, 1.96.2.2, and 1.77.2.6 for -CURRENT, RELENG_7 and RELENG_6, respectively.

I originally installed 7.0-RELEASE on my system, and the scroll wheel on my usb MS Wireless Intellimouse Explorer 2.0 was working fine.  It suddenly stopped working (via /dev/sysmouse or /dev/ums0, it doesn't matter which one) when I downgraded from 7.0-RELEASE to the latest RELENG_6 a couple of weeks ago for an unrelated issue.  At the time I thought it was just a problem with 6.3, but when I re-upgraded to RELENG_7 recently the problem persisted.

When I used the "xev" program in xorg, it didn't even detect any events when I rolled the scroll wheel, but it detected button events for the other buttons and the scroll wheel when pushed down as a normal button (as opposed to rolling it).

Here's the relevant line in dmesg:

Apr 18 21:07:05 lina kernel: ums0: Microsoft Microsoft Wireless Optical Mouse
<AE> 1.0A, rev 2.00/0.56, addr 2, iclass 3/1
Apr 18 21:07:05 lina kernel: ums0: 5 buttons and a TILT dir.

>How-To-Repeat:
Use the latest RELENG_6 or RELENG_7 (or, most probably, -CURRENT) and attach a USB-based wireless Microsoft Intellimouse Explorer 2.0 to your system.  Attempt to use the scroll wheel in an application (like an xorg xterm) that should normally respond to the scroll wheel.
>Fix:
I copied rev 1.96 of ums.c into my local source tree, leaving everything else at the latest RELENG_7, and rebuilt the kernel.  The scroll wheel now works as I can vertically scroll windows in xorg using the wheel and xev is now reporting button 4 and 5 events when I roll the wheel. The information the kernel prints out via dmesg also changed:

ums0: <Microsoft Microsoft Wireless Optical Mouse\M-. 1.0A, class 0/0, rev 2.00/
0.56, addr 2> on uhub0
ums0: 5 buttons and Z dir and a TILT dir.

Please note the addition of "and Z dir".

>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list