Hi!
A user reported that the synaptics touchpad driver didn't work on his
PowerPro C 3:16 laptop. Some debugging revealed that the patch below
is necessary to make the driver compatible with his touchpad.
For some reason bit 3 in byte 1 and 4 in the synaptics packets are set
to 1, which fails because the driver follows the documentation which
says that the bit is 0.
Hardware properties: (reported by synclient -h)
Model Id = 009d48b1
Capabilities = 00904713
Identity = 00084715
With this patch, the touchpad works as expected. As far as I can see,
this patch can not break anything for other touchpads, so it should be
safe. Does anyone see a problem with this patch?
--- linux/drivers/input/mouse/synaptics.c.old 2003-11-11 20:41:15.000000000 +0100
+++ linux/drivers/input/mouse/synaptics.c 2003-11-11 20:41:29.000000000 +0100
@@ -581,7 +581,7 @@
switch (psmouse->pktcnt) {
case 1:
- if (newabs ? ((data & 0xC8) != 0x80) : ((data & 0xC0) != 0xC0)) {
+ if (newabs ? ((data & 0xC0) != 0x80) : ((data & 0xC0) != 0xC0)) {
printk(KERN_WARNING "Synaptics driver lost sync at 1st byte\n");
goto bad_sync;
}
@@ -593,7 +593,7 @@
}
break;
case 4:
- if (newabs ? ((data & 0xC8) != 0xC0) : ((data & 0xC0) != 0x80)) {
+ if (newabs ? ((data & 0xC0) != 0xC0) : ((data & 0xC0) != 0x80)) {
printk(KERN_WARNING "Synaptics driver lost sync at 4th byte\n");
goto bad_sync;
}
--
Peter Osterlund - [email protected]
http://w1.894.telia.com/~u89404340
On Tue, Nov 11, 2003 at 09:32:18PM +0100, Peter Osterlund wrote:
> Hi!
>
> A user reported that the synaptics touchpad driver didn't work on his
> PowerPro C 3:16 laptop. Some debugging revealed that the patch below
> is necessary to make the driver compatible with his touchpad.
>
> For some reason bit 3 in byte 1 and 4 in the synaptics packets are set
> to 1, which fails because the driver follows the documentation which
> says that the bit is 0.
>
> Hardware properties: (reported by synclient -h)
> Model Id = 009d48b1
> Capabilities = 00904713
> Identity = 00084715
>
> With this patch, the touchpad works as expected. As far as I can see,
> this patch can not break anything for other touchpads, so it should be
> safe. Does anyone see a problem with this patch?
I think this could help some Dell laptops as well (also always reporting
lost sync). Good.
> --- linux/drivers/input/mouse/synaptics.c.old 2003-11-11 20:41:15.000000000 +0100
> +++ linux/drivers/input/mouse/synaptics.c 2003-11-11 20:41:29.000000000 +0100
> @@ -581,7 +581,7 @@
>
> switch (psmouse->pktcnt) {
> case 1:
> - if (newabs ? ((data & 0xC8) != 0x80) : ((data & 0xC0) != 0xC0)) {
> + if (newabs ? ((data & 0xC0) != 0x80) : ((data & 0xC0) != 0xC0)) {
> printk(KERN_WARNING "Synaptics driver lost sync at 1st byte\n");
> goto bad_sync;
> }
> @@ -593,7 +593,7 @@
> }
> break;
> case 4:
> - if (newabs ? ((data & 0xC8) != 0xC0) : ((data & 0xC0) != 0x80)) {
> + if (newabs ? ((data & 0xC0) != 0xC0) : ((data & 0xC0) != 0x80)) {
> printk(KERN_WARNING "Synaptics driver lost sync at 4th byte\n");
> goto bad_sync;
> }
>
> --
> Peter Osterlund - [email protected]
> http://w1.894.telia.com/~u89404340
--
Vojtech Pavlik
SuSE Labs, SuSE CR