Hi,
updating my laptop (Acer TM 512T) to 2.2.16 (-SuSE which is a 17pre1x with
some additional drivers and some of Andrea's VM fixes), I started to have a
lot of trouble with the builtin Synaptics Touchpad.
Using the touchpad, it suddenly started to stop working for a couple of
seconds and GPM logged Tossing PS/2 data messages.\ to the syslog.
It turned out to be a problem in the kernel's psaux driver.
Here's the patch that caused the problem.
--- linux-2.2.14.SuSE/drivers/char/pc_keyb.c Sat Mar 18 22:31:46 2000
+++ linux.susefont/drivers/char/pc_keyb.c Mon Jul 17 22:36:18 2000
@@ -73,6 +76,9 @@
static int __init psaux_init(void);
+#define AUX_RECONNECT 170
+/* #define CHECK_RECONNECT_SCANCODE 1 */
+
static struct aux_queue *queue; /* Mouse data buffer. */
static int aux_count = 0;
/* used when we send commands to the mouse that expect an ACK. */
@@ -393,6 +399,19 @@
}
mouse_reply_expected = 0;
}
+ else if(scancode == AUX_RECONNECT){
+ queue->head = queue->tail = 0; /* Flush input queue */
+ /*
+ * need this stuff? seems to work fine w/o it for me
+ aux_write_ack(AUX_SET_SAMPLE);
+ aux_write_ack(100);
+ aux_write_ack(AUX_SET_RES);
+ aux_write_ack(3);
+ aux_write_ack(AUX_SET_SCALE21);
+ */
+ aux_write_ack(AUX_ENABLE_DEV); /* ping the mouse :) */
+ return;
+ }
add_mouse_randomness(scancode);
if (aux_count) {
Commenting out the check for AUX_RECONNECT does cure my problems.
Apparently, the synps2 does send the reconnect scancode for normal (or
special enhanced synps/2) mouse events.
The question is how this can be solved in a general way. I guess the code
was introduced to solve some problem. (Does the kernel get this scancode
when you plug a PS/2 mouse?)
How can we do it?
* Make the kernel recognize synps2 and ignore AUX_RECONNECT then.
* Make the gpm -tsynps2 do an ioctl on psaux which makes the kernel
ignore ...
* Make the kernel aware of some state (mouse connected?) and only handle
AUX_RECONNECT in case the mouse is not already connected.
I have not the slightest clue about PS/2 protocol, so I'd prefer somebody
with more knowledge to have a look into this.
Regards,
-- Kurt Garloff <garloff@suse.de> Eindhoven, NL GPG key: See mail header, key servers Linux kernel development SuSE GmbH, Nuernberg, FRG SCSI, Security----- End forwarded message -----
-- Kurt Garloff <kurt@garloff.de> [Eindhoven, NL] Physics: Plasma simulations <k.garloff@phys.tue.nl> [TU Eindhoven, NL] Linux: SCSI, Security <garloff@suse.de> [SuSE Nuernberg, FRG] (See mail header or public key servers for PGP2 and GPG public keys.)
This archive was generated by hypermail 2b29 : Thu Aug 31 2000 - 21:00:27 EST