2005-03-27 23:37:32

by Mauro Mozzarelli

[permalink] [raw]
Subject: imps2 mouse driver and bug 2082

The mouse driver, re-developed for kernel 2.6, ever since the earliest
2.6 release lost the ability to reset a broken link with an IMPS2 mouse
(this happens when disconnecting the mouse plug either physically or
through a "non imps2" KVM switch). The result is that the mouse can no
longer be controlled, with the only solution being a RE-BOOT!

This issue has been filed as bug 2082
(http://bugme.osdl.org/show_bug.cgi?id=2082) . A fix was posted for
2.6.8, but this patch never made its way into the kernel main stream.
"Vojtech", author of the 2.6 mouse driver, keeps modifying his code
version after version, therefore breaking compatibility with the posted
patch. I adapted the patch for 2.6.9 and 2.6.10 (there are now three
versions for 2.6.8, 2.6.9 and 2.6.10). Kernel 2.6.11(.6) was released
recently, still with the same bug, and would require further adaptation
of the posted patch.

I was wondering if some business related priority could be set for this
issue.

Given that most Linux deployments are in server farms, where boxes
share a console attached to a KVM that might good enough, but not
properly supporting IMPS2, please, could we include this patch in the
kernel main stream before adding support for any new mouse device that
hardly anyone running a server would be interested in?

Mauro



2005-03-28 04:21:55

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: imps2 mouse driver and bug 2082

Hi,

On Sunday 27 March 2005 18:37, Mauro Mozzarelli wrote:
> The mouse driver, re-developed for kernel 2.6, ever since the earliest
> 2.6 release lost the ability to reset a broken link with an IMPS2 mouse
> (this happens when disconnecting the mouse plug either physically or
> through a "non imps2" KVM switch). The result is that the mouse can no
> longer be controlled, with the only solution being a RE-BOOT!
>

You can re-initialize mouse with the following command (while mouse is
connected):

echo -n "reconnect" > /sys/bus/serio/devices/serioX/drvctl

where serioX is serio port your mouse is connected to. You can find out
which one by examining the driver link:

for i in /sys/bus/serio/devices/*; do echo $i: `cat $i/driver/description`; done

You could map this command to a key - given the fact that in pre-2.6 era
one had to switch from X to text console and back to restore the mouse
having a command mapped to a hot-key should be an acceptable workaround
while we searching for a better solution.

> This issue has been filed as bug 2082
> (http://bugme.osdl.org/show_bug.cgi?id=2082) . A fix was posted for
> 2.6.8, but this patch never made its way into the kernel main stream.
> "Vojtech", author of the 2.6 mouse driver, keeps modifying his code
> version after version, therefore breaking compatibility with the posted
> patch. I adapted the patch for 2.6.9 and 2.6.10 (there are now three
> versions for 2.6.8, 2.6.9 and 2.6.10). Kernel 2.6.11(.6) was released
> recently, still with the same bug, and would require further adaptation
> of the posted patch.
>

When I wrote the patch I thought it would be ok but now I do not think
that the patch is acceptable - it still allows "junk" data into the
kernel and we should find a way to avoid it.

--
Dmitry

2005-03-28 09:47:06

by Mauro Mozzarelli

[permalink] [raw]
Subject: Re: imps2 mouse driver and bug 2082

Dmitry,

I reckon that the reconnection should be automatic, with the kernel
driver being able to detect a sync loss. I understand that the patch you
originally posted might not be ideal, however I have been using it
successfully for months now (modified for 2.6.9 and 2.6.10) and I have
included it in the standard kernel distributed with EzPlanet One.

Although we may not want to include this patch as it is, I would
consider the prioritization of this issue to be resolved in future
kernel releases.

Mauro

On Sun, 2005-03-27 at 23:21 -0500, Dmitry Torokhov wrote:
> Hi,
>
> On Sunday 27 March 2005 18:37, Mauro Mozzarelli wrote:
> > The mouse driver, re-developed for kernel 2.6, ever since the earliest
> > 2.6 release lost the ability to reset a broken link with an IMPS2 mouse
> > (this happens when disconnecting the mouse plug either physically or
> > through a "non imps2" KVM switch). The result is that the mouse can no
> > longer be controlled, with the only solution being a RE-BOOT!
> >
>
> You can re-initialize mouse with the following command (while mouse is
> connected):
>
> echo -n "reconnect" > /sys/bus/serio/devices/serioX/drvctl
>
> where serioX is serio port your mouse is connected to. You can find out
> which one by examining the driver link:
>