Bug 7008

Summary: intellimouse explorer 2.0 doesn't work on 2.6.18-rc4
Product: Drivers Reporter: ville palo (ville.palo)
Component: Input DevicesAssignee: Dmitry Torokhov (dmitry.torokhov)
Status: CLOSED CODE_FIX    
Severity: normal CC: pozsy
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.6.18-rc4 Subsystem:
Regression: --- Bisected commit-id:

Description ville palo 2006-08-15 05:50:38 UTC
Most recent kernel where this bug did not occur:

2.6.16 or 2.6.17

Distribution:

Debian

Hardware Environment:

Microsoft IntelliMouse Explorer 2.0

Problem Description:

Mouse pointer doesn't behave as it should be. Pointer is randomly jumpping
all around the screen.

I found out that the enabling Intellimouse 4.0 horizontal scrolling
is somehow causing this.
from psmouse-base.c:

/* Magic to enable horizontal scrolling on IntelliMouse 4.0 */
	param[0] = 200;
	ps2_command(ps2dev, param, PSMOUSE_CMD_SETRATE);
	param[0] =  80;
	ps2_command(ps2dev, param, PSMOUSE_CMD_SETRATE);
	param[0] =  40;
	ps2_command(ps2dev, param, PSMOUSE_CMD_SETRATE);

	param[0] = 200;
	ps2_command(ps2dev, param, PSMOUSE_CMD_SETRATE);
	param[0] = 200;
	ps2_command(ps2dev, param, PSMOUSE_CMD_SETRATE);
	param[0] =  60;
	ps2_command(ps2dev, param, PSMOUSE_CMD_SETRATE);
Comment 1 ville palo 2006-08-18 05:39:20 UTC
I've found out that this patch fixes the problem without disabling
horizontal scrolling. But I guess it breaks IntelliMouse explorer 4.0 somehow,
but I don't have that kind of moues so I cannot test it.

diff --git a/drivers/input/mouse/psmouse-base.c b/drivers/input/mouse/psmouse-base.c
index 8bc9f51..343afa3 100644
--- a/drivers/input/mouse/psmouse-base.c
+++ b/drivers/input/mouse/psmouse-base.c
@@ -485,13 +485,6 @@ static int im_explorer_detect(struct psm
 	param[0] =  40;
 	ps2_command(ps2dev, param, PSMOUSE_CMD_SETRATE);
 
-	param[0] = 200;
-	ps2_command(ps2dev, param, PSMOUSE_CMD_SETRATE);
-	param[0] = 200;
-	ps2_command(ps2dev, param, PSMOUSE_CMD_SETRATE);
-	param[0] =  60;
-	ps2_command(ps2dev, param, PSMOUSE_CMD_SETRATE);
-
 	if (set_properties) {
 		set_bit(BTN_MIDDLE, psmouse->dev->keybit);
 		set_bit(REL_WHEEL, psmouse->dev->relbit);
Comment 2 Dmitry Torokhov 2006-08-18 05:53:32 UTC
Ville, what kind of mouse is yours? DOes it have a tilt wheel that does 
horizontal scrolling?
Comment 3 ville palo 2006-08-18 06:03:07 UTC
Microsoft Wireless IntelliMouse Explorer 2.0
http://www.xtremetek.com/reviews/index.php?id=59&page=1
So It does have a tilt wheel and horizontal scrolling
Comment 4 luminoso 2006-09-04 19:21:16 UTC
Same here! Wireless optical mouse 2.0 (MS)
On 2.6.18-rc4.

I will teste patch and rc6 soon.
Comment 5 luminoso 2006-09-06 20:16:26 UTC
rc6 is fine! :)
Comment 6 Dmitry Torokhov 2006-09-06 23:22:57 UTC
OK, closing it then.