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