Comment 352 for bug 550625

Revision history for this message
Seth Forshee (sforshee) wrote :

Thanks to everyone who has tested the patch! One note -- when you include the
dmesg output please don't just grep for alps, as some of the messages of
interest don't contain that string.

A few of things are becoming clear. First, there are at least a couple of
different versions of the touchpads that reply to the E7 report with 73 02 64.
The patch will work to varying degrees with some of them and won't work at all
with the others. I've an Acer netbook that falls into the latter category, and
I'll be working to find out what needs to be done with these.

Second, the patch is probably failing for any machines without a trackstick.
This should be fairly easy to fix.

Third, not all of these touchpads have the same resolution. This accounts for
at least part of the sensitivity problems being seen (with the touchpads, not
with the tracksticks).

I've written a quick-and-dirty program to dump the full register space from
these devices. I'd appreciate if you could all run it on your machines, capture
the output, and email it to me (seth dot forshee at canonical dot com). Please
also include the model of your machine and the maximum ABS_X and ABS_Y values
reported by your machine (a description of how to determine these is below).
N.B.: this program may leave your touchpad in a non-functional state,
especially if its execution is interrupted. If this happens you can try
running:

  echo -n "psmouse" | sudo tee /sys/bus/serio/devices/serio<n>/drvctl

Using the sysfs path printed in the "Found serio mouse at" message at the top
of the output. If that doesn't work you should reboot. Also note that this will
take quite a while to run.

A executable is available at:

   http://people.canonical.com/~sforshee/alps-touchpad/alps-reg-dump/alps-reg-dump

And the source is available at:

  http://kernel.ubuntu.com/git?p=sforshee/alps-reg-dump.git;a=summary

To capture the maximum ABS_X and ABS_Y values from the touchpad, you must be
using my driver changes. Run "sudo lsinput" and identify the input device named
"AlpsPS/2 ALPS DualPoint TouchPad", then run "sudo input-events <n> | grep
'ABS_[XY]'", where <n> is the input device number. While this is running, touch
on the lower-right corner of the touchpad, and tell me the maximum values you
see reported.

I've tested the dkms module build on 2.6.38 and 3.0 kernels, so it ought to work for anything of approximately that vintage.

Thanks everyone!