2002-10-18 06:14:21

by Christopher Hoover

[permalink] [raw]
Subject: [PATCH] 2.5.43: Fix for Logitech Wheel Mouse

The wheel on my Logitech mouse doesn't work under the input layer.
The mouse was originally recognized as:

input: PS2++ Logitech Mouse on isa0060/serio1

In this mode, the driver also emits (just once?):

psmouse.c: Received PS2++ packet #0, but don't know how to handle.


The following patch simply swaps the order of detection of Logitech PS
2++ and Intellimouse protocols. Now my mouse is recognized as:

input: ImPS/2 Logitech Wheel Mouse on isa0060/serio1

And the wheel works properly in this mode.


-ch
[email protected]
[email protected]


PATCH FOLLOWS
--- linux-2.5.43/drivers/input/mouse/psmouse.c.orig Tue Oct 15 20:27:22 2002
+++ linux-2.5.43/drivers/input/mouse/psmouse.c Thu Oct 17 22:45:05 2002
@@ -378,40 +378,6 @@
}

/*
- * Do Logitech PS2++ / PS2T++ magic init.
- */
-
- if (psmouse->model == 97) { /* TouchPad 3 */
-
- set_bit(REL_WHEEL, psmouse->dev.relbit);
- set_bit(REL_HWHEEL, psmouse->dev.relbit);
-
- param[0] = 0x11; param[1] = 0x04; param[2] = 0x68; /* Unprotect RAM */
- psmouse_command(psmouse, param, 0x30d1);
- param[0] = 0x11; param[1] = 0x05; param[2] = 0x0b; /* Enable features */
- psmouse_command(psmouse, param, 0x30d1);
- param[0] = 0x11; param[1] = 0x09; param[2] = 0xc3; /* Enable PS2++ */
- psmouse_command(psmouse, param, 0x30d1);
-
- param[0] = 0;
- if (!psmouse_command(psmouse, param, 0x13d1) &&
- param[0] == 0x06 && param[1] == 0x00 && param[2] == 0x14)
- return PSMOUSE_PS2TPP;
-
- } else {
- param[0] = param[1] = param[2] = 0;
-
- psmouse_ps2pp_cmd(psmouse, param, 0x39); /* Magic knock */
- psmouse_ps2pp_cmd(psmouse, param, 0xDB);
-
- if ((param[0] & 0x78) == 0x48 && (param[1] & 0xf3) == 0xc2 &&
- (param[2] & 3) == ((param[1] >> 2) & 3))
- return PSMOUSE_PS2PP;
- }
- }
- }
-
-/*
* Try IntelliMouse magic init.
*/

@@ -450,6 +416,40 @@

psmouse->name = "Wheel Mouse";
return PSMOUSE_IMPS;
+ }
+
+/*
+ * Do Logitech PS2++ / PS2T++ magic init.
+ */
+
+ if (psmouse->model == 97) { /* TouchPad 3 */
+
+ set_bit(REL_WHEEL, psmouse->dev.relbit);
+ set_bit(REL_HWHEEL, psmouse->dev.relbit);
+
+ param[0] = 0x11; param[1] = 0x04; param[2] = 0x68; /* Unprotect RAM */
+ psmouse_command(psmouse, param, 0x30d1);
+ param[0] = 0x11; param[1] = 0x05; param[2] = 0x0b; /* Enable features */
+ psmouse_command(psmouse, param, 0x30d1);
+ param[0] = 0x11; param[1] = 0x09; param[2] = 0xc3; /* Enable PS2++ */
+ psmouse_command(psmouse, param, 0x30d1);
+
+ param[0] = 0;
+ if (!psmouse_command(psmouse, param, 0x13d1) &&
+ param[0] == 0x06 && param[1] == 0x00 && param[2] == 0x14)
+ return PSMOUSE_PS2TPP;
+
+ } else {
+ param[0] = param[1] = param[2] = 0;
+
+ psmouse_ps2pp_cmd(psmouse, param, 0x39); /* Magic knock */
+ psmouse_ps2pp_cmd(psmouse, param, 0xDB);
+
+ if ((param[0] & 0x78) == 0x48 && (param[1] & 0xf3) == 0xc2 &&
+ (param[2] & 3) == ((param[1] >> 2) & 3))
+ return PSMOUSE_PS2PP;
+ }
+ }
}

/*


2002-10-18 09:00:34

by Vojtech Pavlik

[permalink] [raw]
Subject: Re: [PATCH] 2.5.43: Fix for Logitech Wheel Mouse

On Thu, Oct 17, 2002 at 11:20:14PM -0700, Christopher Hoover wrote:
> The wheel on my Logitech mouse doesn't work under the input layer.
> The mouse was originally recognized as:
>
> input: PS2++ Logitech Mouse on isa0060/serio1
>
> In this mode, the driver also emits (just once?):
>
> psmouse.c: Received PS2++ packet #0, but don't know how to handle.
>
>
> The following patch simply swaps the order of detection of Logitech PS
> 2++ and Intellimouse protocols. Now my mouse is recognized as:
>
> input: ImPS/2 Logitech Wheel Mouse on isa0060/serio1
>
> And the wheel works properly in this mode.

Can you send me the output of /proc/bus/input/devices on your system
(without your fix, preferably)?

I'd like to know whether the driver thinks the mouse has a wheel or not.

> -ch
> [email protected]
> [email protected]
>
>
> PATCH FOLLOWS
> --- linux-2.5.43/drivers/input/mouse/psmouse.c.orig Tue Oct 15 20:27:22 2002
> +++ linux-2.5.43/drivers/input/mouse/psmouse.c Thu Oct 17 22:45:05 2002
> @@ -378,40 +378,6 @@
> }
>
> /*
> - * Do Logitech PS2++ / PS2T++ magic init.
> - */
> -
> - if (psmouse->model == 97) { /* TouchPad 3 */
> -
> - set_bit(REL_WHEEL, psmouse->dev.relbit);
> - set_bit(REL_HWHEEL, psmouse->dev.relbit);
> -
> - param[0] = 0x11; param[1] = 0x04; param[2] = 0x68; /* Unprotect RAM */
> - psmouse_command(psmouse, param, 0x30d1);
> - param[0] = 0x11; param[1] = 0x05; param[2] = 0x0b; /* Enable features */
> - psmouse_command(psmouse, param, 0x30d1);
> - param[0] = 0x11; param[1] = 0x09; param[2] = 0xc3; /* Enable PS2++ */
> - psmouse_command(psmouse, param, 0x30d1);
> -
> - param[0] = 0;
> - if (!psmouse_command(psmouse, param, 0x13d1) &&
> - param[0] == 0x06 && param[1] == 0x00 && param[2] == 0x14)
> - return PSMOUSE_PS2TPP;
> -
> - } else {
> - param[0] = param[1] = param[2] = 0;
> -
> - psmouse_ps2pp_cmd(psmouse, param, 0x39); /* Magic knock */
> - psmouse_ps2pp_cmd(psmouse, param, 0xDB);
> -
> - if ((param[0] & 0x78) == 0x48 && (param[1] & 0xf3) == 0xc2 &&
> - (param[2] & 3) == ((param[1] >> 2) & 3))
> - return PSMOUSE_PS2PP;
> - }
> - }
> - }
> -
> -/*
> * Try IntelliMouse magic init.
> */
>
> @@ -450,6 +416,40 @@
>
> psmouse->name = "Wheel Mouse";
> return PSMOUSE_IMPS;
> + }
> +
> +/*
> + * Do Logitech PS2++ / PS2T++ magic init.
> + */
> +
> + if (psmouse->model == 97) { /* TouchPad 3 */
> +
> + set_bit(REL_WHEEL, psmouse->dev.relbit);
> + set_bit(REL_HWHEEL, psmouse->dev.relbit);
> +
> + param[0] = 0x11; param[1] = 0x04; param[2] = 0x68; /* Unprotect RAM */
> + psmouse_command(psmouse, param, 0x30d1);
> + param[0] = 0x11; param[1] = 0x05; param[2] = 0x0b; /* Enable features */
> + psmouse_command(psmouse, param, 0x30d1);
> + param[0] = 0x11; param[1] = 0x09; param[2] = 0xc3; /* Enable PS2++ */
> + psmouse_command(psmouse, param, 0x30d1);
> +
> + param[0] = 0;
> + if (!psmouse_command(psmouse, param, 0x13d1) &&
> + param[0] == 0x06 && param[1] == 0x00 && param[2] == 0x14)
> + return PSMOUSE_PS2TPP;
> +
> + } else {
> + param[0] = param[1] = param[2] = 0;
> +
> + psmouse_ps2pp_cmd(psmouse, param, 0x39); /* Magic knock */
> + psmouse_ps2pp_cmd(psmouse, param, 0xDB);
> +
> + if ((param[0] & 0x78) == 0x48 && (param[1] & 0xf3) == 0xc2 &&
> + (param[2] & 3) == ((param[1] >> 2) & 3))
> + return PSMOUSE_PS2PP;
> + }
> + }
> }
>
> /*

--
Vojtech Pavlik
SuSE Labs

2002-10-18 08:55:15

by Thomas Molina

[permalink] [raw]
Subject: Re: [PATCH] 2.5.43: Fix for Logitech Wheel Mouse

On Thu, 17 Oct 2002, Christopher Hoover wrote:

> The wheel on my Logitech mouse doesn't work under the input layer.
> The mouse was originally recognized as:
>
> input: PS2++ Logitech Mouse on isa0060/serio1
>
> In this mode, the driver also emits (just once?):
>
> psmouse.c: Received PS2++ packet #0, but don't know how to handle.
>
>
> The following patch simply swaps the order of detection of Logitech PS
> 2++ and Intellimouse protocols. Now my mouse is recognized as:
>
> input: ImPS/2 Logitech Wheel Mouse on isa0060/serio1
>
> And the wheel works properly in this mode.

I am also carrying a problem report from Arnaud Gomes-do-Vale with this
exact problem. If this is deemed a proper fix it would probably close
the other outstanding report.


2002-10-18 08:57:39

by Vojtech Pavlik

[permalink] [raw]
Subject: Re: [PATCH] 2.5.43: Fix for Logitech Wheel Mouse

On Fri, Oct 18, 2002 at 04:00:37AM -0500, Thomas Molina wrote:

> On Thu, 17 Oct 2002, Christopher Hoover wrote:
>
> > The wheel on my Logitech mouse doesn't work under the input layer.
> > The mouse was originally recognized as:
> >
> > input: PS2++ Logitech Mouse on isa0060/serio1
> >
> > In this mode, the driver also emits (just once?):
> >
> > psmouse.c: Received PS2++ packet #0, but don't know how to handle.
> >
> >
> > The following patch simply swaps the order of detection of Logitech PS
> > 2++ and Intellimouse protocols. Now my mouse is recognized as:
> >
> > input: ImPS/2 Logitech Wheel Mouse on isa0060/serio1
> >
> > And the wheel works properly in this mode.
>
> I am also carrying a problem report from Arnaud Gomes-do-Vale with this
> exact problem. If this is deemed a proper fix it would probably close
> the other outstanding report.

No, it unfortunately is not a proper fix. I'll have to analyze the
problem some more.

--
Vojtech Pavlik
SuSE Labs

2002-10-18 17:37:22

by Christopher Hoover

[permalink] [raw]
Subject: RE: [PATCH] 2.5.43: Fix for Logitech Wheel Mouse

> No, it unfortunately is not a proper fix. I'll have to analyze the
> problem some more.

Would you say more? I looked at XFree86 sources and it seemed that the
ImPS/2 protocol best matched what my mouse was sending.

What about a module param/setup arg to force the mouse protocol?


> Can you send me the output of /proc/bus/input/devices on your system
> (without your fix, preferably)?

With*out* the patch:

I: Bus=0011 Vendor=0002 Product=0002 Version=0035
N: Name="PS2++ Logitech Mouse"
P: Phys=isa0060/serio1/input0
H: Handlers=mouse0 event0
B: EV=7
B: KEY=70000 0 0 0 0 0 0 0 0
B: REL=3

I: Bus=0011 Vendor=0001 Product=0002 Version=ab02
N: Name="AT Set 2 keyboard"
P: Phys=isa0060/serio0/input0
H: Handlers=kbd event1
B: EV=120003
B: KEY=4 2000000 8061f9 fbc9d621 efdfffdf ffefffff ffffffff fffffffe
B: LED=7


With the patch:

I: Bus=0011 Vendor=0002 Product=0005 Version=0035
N: Name="ImPS/2 Logitech Wheel Mouse"
P: Phys=isa0060/serio1/input0
H: Handlers=mouse0 event0
B: EV=7
B: KEY=70000 0 0 0 0 0 0 0 0
B: REL=103

I: Bus=0011 Vendor=0001 Product=0002 Version=ab02
N: Name="AT Set 2 keyboard"
P: Phys=isa0060/serio0/input0
H: Handlers=kbd event1
B: EV=120003
B: KEY=4 2000000 8061f9 fbc9d621 efdfffdf ffefffff ffffffff fffffffe
B: LED=7




-----Original Message-----
From: Vojtech Pavlik [mailto:[email protected]]
Sent: Friday, October 18, 2002 2:06 AM
To: Christopher Hoover
Cc: [email protected]; [email protected]
Subject: Re: [PATCH] 2.5.43: Fix for Logitech Wheel Mouse


On Thu, Oct 17, 2002 at 11:20:14PM -0700, Christopher Hoover wrote:
> The wheel on my Logitech mouse doesn't work under the input layer.
> The mouse was originally recognized as:
>
> input: PS2++ Logitech Mouse on isa0060/serio1
>
> In this mode, the driver also emits (just once?):
>
> psmouse.c: Received PS2++ packet #0, but don't know how to handle.
>
>
> The following patch simply swaps the order of detection of Logitech PS
> 2++ and Intellimouse protocols. Now my mouse is recognized as:
>
> input: ImPS/2 Logitech Wheel Mouse on isa0060/serio1
>
> And the wheel works properly in this mode.

Can you send me the output of /proc/bus/input/devices on your system
(without your fix, preferably)?

I'd like to know whether the driver thinks the mouse has a wheel or not.

> -ch
> [email protected]
> [email protected]
>
>
> PATCH FOLLOWS
> --- linux-2.5.43/drivers/input/mouse/psmouse.c.orig Tue Oct 15
20:27:22 2002
> +++ linux-2.5.43/drivers/input/mouse/psmouse.c Thu Oct 17
22:45:05 2002
> @@ -378,40 +378,6 @@
> }
>
> /*
> - * Do Logitech PS2++ / PS2T++ magic init.
> - */
> -
> - if (psmouse->model == 97) { /* TouchPad 3 */
> -
> - set_bit(REL_WHEEL, psmouse->dev.relbit);
> - set_bit(REL_HWHEEL,
psmouse->dev.relbit);
> -
> - param[0] = 0x11; param[1] = 0x04;
param[2] = 0x68; /* Unprotect RAM */
> - psmouse_command(psmouse, param, 0x30d1);
> - param[0] = 0x11; param[1] = 0x05;
param[2] = 0x0b; /* Enable features */
> - psmouse_command(psmouse, param, 0x30d1);
> - param[0] = 0x11; param[1] = 0x09;
param[2] = 0xc3; /* Enable PS2++ */
> - psmouse_command(psmouse, param, 0x30d1);
> -
> - param[0] = 0;
> - if (!psmouse_command(psmouse, param,
0x13d1) &&
> - param[0] == 0x06 && param[1] ==
0x00 && param[2] == 0x14)
> - return PSMOUSE_PS2TPP;
> -
> - } else {
> - param[0] = param[1] = param[2] = 0;
> -
> - psmouse_ps2pp_cmd(psmouse, param, 0x39);
/* Magic knock */
> - psmouse_ps2pp_cmd(psmouse, param, 0xDB);
> -
> - if ((param[0] & 0x78) == 0x48 &&
(param[1] & 0xf3) == 0xc2 &&
> - (param[2] & 3) == ((param[1] >>
2) & 3))
> - return PSMOUSE_PS2PP;
> - }
> - }
> - }
> -
> -/*
> * Try IntelliMouse magic init.
> */
>
> @@ -450,6 +416,40 @@
>
> psmouse->name = "Wheel Mouse";
> return PSMOUSE_IMPS;
> + }
> +
> +/*
> + * Do Logitech PS2++ / PS2T++ magic init.
> + */
> +
> + if (psmouse->model == 97) { /* TouchPad 3 */
> +
> + set_bit(REL_WHEEL, psmouse->dev.relbit);
> + set_bit(REL_HWHEEL,
psmouse->dev.relbit);
> +
> + param[0] = 0x11; param[1] = 0x04;
param[2] = 0x68; /* Unprotect RAM */
> + psmouse_command(psmouse, param, 0x30d1);
> + param[0] = 0x11; param[1] = 0x05;
param[2] = 0x0b; /* Enable features */
> + psmouse_command(psmouse, param, 0x30d1);
> + param[0] = 0x11; param[1] = 0x09;
param[2] = 0xc3; /* Enable PS2++ */
> + psmouse_command(psmouse, param, 0x30d1);
> +
> + param[0] = 0;
> + if (!psmouse_command(psmouse, param,
0x13d1) &&
> + param[0] == 0x06 && param[1] ==
0x00 && param[2] == 0x14)
> + return PSMOUSE_PS2TPP;
> +
> + } else {
> + param[0] = param[1] = param[2] = 0;
> +
> + psmouse_ps2pp_cmd(psmouse, param, 0x39);
/* Magic knock */
> + psmouse_ps2pp_cmd(psmouse, param, 0xDB);
> +
> + if ((param[0] & 0x78) == 0x48 &&
(param[1] & 0xf3) == 0xc2 &&
> + (param[2] & 3) == ((param[1] >>
2) & 3))
> + return PSMOUSE_PS2PP;
> + }
> + }
> }
>
> /*

--
Vojtech Pavlik
SuSE Labs

2002-10-18 18:51:56

by Christopher Hoover

[permalink] [raw]
Subject: RE: [PATCH] 2.5.43: Fix for Logitech Wheel Mouse


FYI. I have always had X configured for ImPS/2. My wheel problem came
about immediately after booting a 2.5 kernel and using the input layer.
Before I was running a 2.4 kernel with psaux -- X was handling the mouse
protocol.

-ch

-----Original Message-----
From: [email protected] [mailto:[email protected]] On
Behalf Of Arnaud Gomes-do-Vale
Sent: Friday, October 18, 2002 11:42 AM
To: Thomas Molina
Cc: Christopher Hoover; [email protected]
Subject: Re: [PATCH] 2.5.43: Fix for Logitech Wheel Mouse


Thomas Molina <[email protected]> writes:

> I am also carrying a problem report from Arnaud Gomes-do-Vale with
this
> exact problem. If this is deemed a proper fix it would probably close

> the other outstanding report.

Oops, I didn't acknowledge Vojtech's fix (that is, configure X for an
ImPS/2 mouse, not MouseManPlusPS/2). This works for me at least.

--
Amicalement,
Arnaud

2002-10-19 07:45:36

by Vojtech Pavlik

[permalink] [raw]
Subject: Re: [PATCH] 2.5.43: Fix for Logitech Wheel Mouse

On Fri, Oct 18, 2002 at 10:41:25AM -0700, Christopher Hoover wrote:

> > No, it unfortunately is not a proper fix. I'll have to analyze the
> > problem some more.
>
> Would you say more? I looked at XFree86 sources and it seemed that the
> ImPS/2 protocol best matched what my mouse was sending.
>
> What about a module param/setup arg to force the mouse protocol?
>
>
> > Can you send me the output of /proc/bus/input/devices on your system
> > (without your fix, preferably)?
>
> With*out* the patch:
>
> I: Bus=0011 Vendor=0002 Product=0002 Version=0035
> N: Name="PS2++ Logitech Mouse"
> P: Phys=isa0060/serio1/input0
> H: Handlers=mouse0 event0
> B: EV=7
> B: KEY=70000 0 0 0 0 0 0 0 0
> B: REL=3

Thanks! Can you try this patch?

psmouse.c | 2 +-
1 files changed, 1 insertion(+), 1 deletion(-)

===================================================================

diff -Nru a/drivers/input/mouse/psmouse.c b/drivers/input/mouse/psmouse.c
--- a/drivers/input/mouse/psmouse.c Sat Oct 19 09:50:17 2002
+++ b/drivers/input/mouse/psmouse.c Sat Oct 19 09:50:17 2002
@@ -348,7 +348,7 @@

int i;
static int logitech_4btn[] = { 12, 40, 41, 42, 43, 52, 73, 80, -1 };
- static int logitech_wheel[] = { 52, 75, 76, 80, 81, 83, 88, -1 };
+ static int logitech_wheel[] = { 52, 53, 75, 76, 80, 81, 83, 88, -1 };
static int logitech_ps2pp[] = { 12, 13, 40, 41, 42, 43, 50, 51, 52, 53, 73, 75,
76, 80, 81, 83, 88, 96, 97, -1 };
psmouse->vendor = "Logitech";

===================================================================

--
Vojtech Pavlik
SuSE Labs

2002-10-19 18:39:42

by Christopher Hoover

[permalink] [raw]
Subject: RE: [PATCH] 2.5.43: Fix for Logitech Wheel Mouse


Yes, that works.

[ch@jukebox ch]$ cat /proc/bus/input/devices
I: Bus=0011 Vendor=0002 Product=0002 Version=0035
N: Name="PS2++ Logitech Wheel Mouse"
P: Phys=isa0060/serio1/input0
H: Handlers=mouse0 event0
B: EV=7
B: KEY=70000 0 0 0 0 0 0 0 0
B: REL=103

I: Bus=0011 Vendor=0001 Product=0002 Version=ab02
N: Name="AT Set 2 keyboard"
P: Phys=isa0060/serio0/input0
H: Handlers=kbd event1
B: EV=120003
B: KEY=4 2000000 8061f9 fbc9d621 efdfffdf ffefffff ffffffff fffffffe
B: LED=7

Thanks.

-ch


-----Original Message-----
From: Vojtech Pavlik [mailto:[email protected]]
Sent: Saturday, October 19, 2002 12:51 AM
To: Christopher Hoover
Cc: 'Vojtech Pavlik'; [email protected]
Subject: Re: [PATCH] 2.5.43: Fix for Logitech Wheel Mouse


On Fri, Oct 18, 2002 at 10:41:25AM -0700, Christopher Hoover wrote:

> > No, it unfortunately is not a proper fix. I'll have to analyze the
> > problem some more.
>
> Would you say more? I looked at XFree86 sources and it seemed that
the
> ImPS/2 protocol best matched what my mouse was sending.
>
> What about a module param/setup arg to force the mouse protocol?
>
>
> > Can you send me the output of /proc/bus/input/devices on your system
> > (without your fix, preferably)?
>
> With*out* the patch:
>
> I: Bus=0011 Vendor=0002 Product=0002 Version=0035
> N: Name="PS2++ Logitech Mouse"
> P: Phys=isa0060/serio1/input0
> H: Handlers=mouse0 event0
> B: EV=7
> B: KEY=70000 0 0 0 0 0 0 0 0
> B: REL=3

Thanks! Can you try this patch?

psmouse.c | 2 +-
1 files changed, 1 insertion(+), 1 deletion(-)

===================================================================

diff -Nru a/drivers/input/mouse/psmouse.c
b/drivers/input/mouse/psmouse.c
--- a/drivers/input/mouse/psmouse.c Sat Oct 19 09:50:17 2002
+++ b/drivers/input/mouse/psmouse.c Sat Oct 19 09:50:17 2002
@@ -348,7 +348,7 @@

int i;
static int logitech_4btn[] = { 12, 40, 41, 42, 43, 52,
73, 80, -1 };
- static int logitech_wheel[] = { 52, 75, 76, 80, 81, 83,
88, -1 };
+ static int logitech_wheel[] = { 52, 53, 75, 76, 80, 81,
83, 88, -1 };
static int logitech_ps2pp[] = { 12, 13, 40, 41, 42, 43,
50, 51, 52, 53, 73, 75,
76, 80, 81, 83,
88, 96, 97, -1 };
psmouse->vendor = "Logitech";

===================================================================

--
Vojtech Pavlik
SuSE Labs

2002-10-19 20:16:51

by Vojtech Pavlik

[permalink] [raw]
Subject: Re: [PATCH] 2.5.43: Fix for Logitech Wheel Mouse

On Sat, Oct 19, 2002 at 11:45:28AM -0700, Christopher Hoover wrote:

> Yes, that works.

Great, I'll send that patch to Linus soon.

> [ch@jukebox ch]$ cat /proc/bus/input/devices
> I: Bus=0011 Vendor=0002 Product=0002 Version=0035
> N: Name="PS2++ Logitech Wheel Mouse"
> P: Phys=isa0060/serio1/input0
> H: Handlers=mouse0 event0
> B: EV=7
> B: KEY=70000 0 0 0 0 0 0 0 0
> B: REL=103
>
> I: Bus=0011 Vendor=0001 Product=0002 Version=ab02
> N: Name="AT Set 2 keyboard"
> P: Phys=isa0060/serio0/input0
> H: Handlers=kbd event1
> B: EV=120003
> B: KEY=4 2000000 8061f9 fbc9d621 efdfffdf ffefffff ffffffff fffffffe
> B: LED=7
>
> Thanks.
>
> -ch
>
>
> -----Original Message-----
> From: Vojtech Pavlik [mailto:[email protected]]
> Sent: Saturday, October 19, 2002 12:51 AM
> To: Christopher Hoover
> Cc: 'Vojtech Pavlik'; [email protected]
> Subject: Re: [PATCH] 2.5.43: Fix for Logitech Wheel Mouse
>
>
> On Fri, Oct 18, 2002 at 10:41:25AM -0700, Christopher Hoover wrote:
>
> > > No, it unfortunately is not a proper fix. I'll have to analyze the
> > > problem some more.
> >
> > Would you say more? I looked at XFree86 sources and it seemed that
> the
> > ImPS/2 protocol best matched what my mouse was sending.
> >
> > What about a module param/setup arg to force the mouse protocol?
> >
> >
> > > Can you send me the output of /proc/bus/input/devices on your system
> > > (without your fix, preferably)?
> >
> > With*out* the patch:
> >
> > I: Bus=0011 Vendor=0002 Product=0002 Version=0035
> > N: Name="PS2++ Logitech Mouse"
> > P: Phys=isa0060/serio1/input0
> > H: Handlers=mouse0 event0
> > B: EV=7
> > B: KEY=70000 0 0 0 0 0 0 0 0
> > B: REL=3
>
> Thanks! Can you try this patch?
>
> psmouse.c | 2 +-
> 1 files changed, 1 insertion(+), 1 deletion(-)
>
> ===================================================================
>
> diff -Nru a/drivers/input/mouse/psmouse.c
> b/drivers/input/mouse/psmouse.c
> --- a/drivers/input/mouse/psmouse.c Sat Oct 19 09:50:17 2002
> +++ b/drivers/input/mouse/psmouse.c Sat Oct 19 09:50:17 2002
> @@ -348,7 +348,7 @@
>
> int i;
> static int logitech_4btn[] = { 12, 40, 41, 42, 43, 52,
> 73, 80, -1 };
> - static int logitech_wheel[] = { 52, 75, 76, 80, 81, 83,
> 88, -1 };
> + static int logitech_wheel[] = { 52, 53, 75, 76, 80, 81,
> 83, 88, -1 };
> static int logitech_ps2pp[] = { 12, 13, 40, 41, 42, 43,
> 50, 51, 52, 53, 73, 75,
> 76, 80, 81, 83,
> 88, 96, 97, -1 };
> psmouse->vendor = "Logitech";
>
> ===================================================================
>
> --
> Vojtech Pavlik
> SuSE Labs

--
Vojtech Pavlik
SuSE Labs