linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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>,
	Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	opensource@dell.com, Neil Brown <neilb@cse.unsw.edu.au>,
	Sebastian Kapfer <sebastian_kapfer@gmx.net>
Subject: Re: New Alps protocol in the wild?
Date: Tue, 31 Jul 2012 01:19:24 -0400	[thread overview]
Message-ID: <87obmwld7n.fsf@gmail.com> (raw)
In-Reply-To: <87hasp6x21.fsf@gmail.com>

Ben Gamari <bgamari.foss@gmail.com> writes:

> Just to keep everyone in the loop, I've tried both VirtualBox and Qemu
> now and the Alps driver appears to work under neither. After some
> reflection, I finally resolved to brave the jungle that is Windows
> driver development and now have the beginnings of a PS/2 filter
> driver[1]. It's quite hacked together and is likely a textbook example
> of how not to write a Windows driver, but it's nearly working. That
> being said, if anyone has experience with NT kernel development, feel
> free to assist in any way you can.
>
> That being said, I'd recommend you don't install it at the moment; it
> currently BSODs from use of DebugPrint in an ISR. Before breaking it,
> however, I was able to get incoming data from the trackpad. The breaking
> changes were an attempt to gather outgoing commands to the device so I'm
> (hopefully) not far from having traces.
>
Sadly, this avenue of investigation is apparently a dead-end. After
seeing nothing outbound to the mouse and hacking around enough to
convince myself that filter driver is catching all traffic passed
through the i8042prt driver, I finally decided to disassemble
apfiltr.sys. Perhaps not unexpectedly, it seems they do some direct port
I/O without going through the driver stack. Whether this is incompetance
or malice we will never know, but it seems that the "clean" filter
driver approach will not work here.

Thankfully, it seems that an I/O port sniffer driver[1] has been written
which might save me. Sadly, this isn't supported on 64-bit machines as
Microsoft's compiler inexplicably lacks support for inline assembler on
amd64. I've found a 32-bit copy of Vista lying around so we'll see how
this works.

Of course, if anyone has any idea what might be breaking the
virtualization approach, I'd love to hear. Moreover, if anyone knows
someone (at Dell or elsewhere) who might be able to get a hold of an ear
at Alps, this would be greatly appreciated.

Cheers,

- Ben


[1] http://www.codeproject.com/Articles/96142/I-O-port-sniffer


  reply	other threads:[~2012-07-31  5:19 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-27 16:18 New Alps protocol in the wild? Ben Gamari
2012-07-27 16:52 ` 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 [this message]
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=87obmwld7n.fsf@gmail.com \
    --to=bgamari.foss@gmail.com \
    --cc=askalski@gmail.com \
    --cc=dmitry.torokhov@gmail.com \
    --cc=jkosina@suse.cz \
    --cc=linux-input@vger.kernel.org \
    --cc=neilb@cse.unsw.edu.au \
    --cc=opensource@dell.com \
    --cc=sebastian_kapfer@gmx.net \
    --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).