From: Ben Gamari <bgamari.foss@gmail.com>
To: linux-input@vger.kernel.org,
Seth Forshee <seth.forshee@canonical.com>,
Andrew Skalski <askalski@gmail.com>,
Jiri Kosina <jkosina@suse.cz>, Vojtech Pavlik <vojtech@suse.cz>,
Peter Osterlund <pekero2@telia.com>
Cc: Laura Dietz <dietz@cs.umass.edu>
Subject: New Alps protocol in the wild?
Date: Fri, 27 Jul 2012 12:18:51 -0400 [thread overview]
Message-ID: <87vch9w51w.fsf@gmail.com> (raw)
Recently I took shipment of a Dell Latitude E6430 (supposedly
"certified" by Canonical). Sadly, out of the box the multitouch-capable
Alps Dualpoint mouse is detected as a generic PS/2 device (bug filed
here[1]). After a bit of poking around I figured out the signature
({0x73, 0x03, 0x0a}) and command_mode_resp (0x1d) of the device.
Based on the other recent Dell models listed in alps_model_data, I tried
configuring the device as a protocol v3 device. While in appearance the
driver succeeded in configuring the device, it was clear that it was
still operating in bare PS/2 mode (only bare PS/2 reports were received
and 0x04 register was read to be 0x00 --- assuming the register read
command is correct). This is supported by Seth's alps-reg-dump tool[2],
which declares that the device is "Not a v3 ALPS touchpad". Trying to
configure the device with protocol v4 resulted in the driver to fail
during configuration (failing to enter absolute mode). Given this
evidence, it seems fairly clear that this device differs appreciably
from any device currently supported by alps.c.
I've tried to collect PS/2 traces from a Windows 7 installation running
under a patched Qemu[3]. Unfortunately, while Windows running on bare
hardware configures the device perfectly, an installation from the same
media seems to treat the device as a bare PS/2 device when running under
virtualization. The PS/2 trace produced clearly shows the driver probing
the device as an Intellimouse and failing that falls back to generic
PS/2 reports. Can anyone think of what might have changed between the bare
metal and the virtualized environment?
I would love to take a stab at reversing this protocol variant, but
the inability to get a trace from a virtualized working configuration is
a real blocker. I suppose I could try writing a Windows filter driver
but the virtualization approach seems orders of magnitude more
convenient. Any ideas would be greatly appreciated.
As a final note, I have read various places that ALPS had intended on
releasing a closed source driver for some of their devices. Has anything
happened on this front? Perhaps it would be easier to get a trace from a
closed-source driver running on Linux than a closed-source driver
running on Windows.
Thanks again.
Cheers,
- Ben
[1] https://bugzilla.kernel.org/show_bug.cgi?id=45201
[2] http://kernel.ubuntu.com/git?p=sforshee/alps-reg-dump.git;a=summary
[3] http://swapspace.forshee.me/2011/11/touchpad-protocol-reverse-engineering.html
next reply other threads:[~2012-07-27 16:18 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-27 16:18 Ben Gamari [this message]
2012-07-27 16:52 ` New Alps protocol in the wild? Seth Forshee
2012-07-27 17:17 ` Ben Gamari
2012-07-27 19:15 ` dturvene
2012-07-30 8:43 ` Jiri Kosina
2012-07-30 16:19 ` Ben Gamari
2012-07-31 5:19 ` Ben Gamari
2012-07-31 6:01 ` Dmitry Torokhov
2012-07-31 20:50 ` Ben Gamari
2012-07-31 19:17 ` Ben Gamari
2012-08-14 10:35 ` James
2012-08-14 16:01 ` Ben Gamari
2012-08-14 16:15 ` Seth Forshee
[not found] ` <20120814160519.GC12473@artemis.panaceas.org>
2012-08-15 5:49 ` Ben Gamari
2012-08-16 5:04 ` Ben Gamari
2012-08-17 16:46 ` dturvene
2012-08-17 17:04 ` Ben Gamari
2012-09-08 12:51 ` dturvene
2012-09-10 20:35 ` Ben Gamari
2012-09-15 20:49 ` dturvene
[not found] ` <CAPtp-N_PbGABwC7PtNtEe7bitc=yg1oV2M6cK6Wb1PkVq6wa9A@mail.gmail.com>
2012-09-30 17:33 ` dturvene
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87vch9w51w.fsf@gmail.com \
--to=bgamari.foss@gmail.com \
--cc=askalski@gmail.com \
--cc=dietz@cs.umass.edu \
--cc=jkosina@suse.cz \
--cc=linux-input@vger.kernel.org \
--cc=pekero2@telia.com \
--cc=seth.forshee@canonical.com \
--cc=vojtech@suse.cz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).