public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: William Pettersson <william.pettersson@gmail.com>
To: dtor@insightbb.com
Cc: Vojtech Pavlik <vojtech@suse.cz>,
	linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: ALPS touchpad with new Dell not recognised
Date: Sun, 05 Aug 2007 08:45:29 +1000	[thread overview]
Message-ID: <46B50189.8020107@gmail.com> (raw)
In-Reply-To: <20070804190539.GB5110@suse.cz>

[-- Attachment #1: Type: text/plain, Size: 3222 bytes --]

Hi,
This patch adds support for the Alps touchpad on my Dell Vostro 1400 to
the linux kernel.

Signed-off-by: William Pettersson <william.pettersson@gmail.com>

Vojtech, I went over my debug info again with your thoughts in mind, and
you were right.  The highest bit is always set in the sync byte of the
protocol.  It must have been luck that it didn't drop sync while it was
testing.  So a mask and bit of 0xCF does work.  I then decided to go
through the logs more thoroughly, and determine if I could make this
mask more rigid.  Turns out that a bit of 0xCF and a mask of 0xFF also
works.

I've also attached the output dumps.  The one labelled mouse.nosync.log
is the the one that I first worked on.  However, it was hard to see
where the start of the packets were, so I modified alps.c to give me the
output shown in alps-packets.log (I can submit this patch if you deem it
useful too).  It was once I did this that I saw straight away what the
bit0 had to be.  And then mouse.alps.log is just i8042.debug output
after my patch has been applied.

William

Vojtech Pavlik wrote:
> On Sat, Aug 04, 2007 at 10:15:54PM +1000, William Pettersson wrote:
>
>   
>> Hi LKML,
>> Thanks to Vojtech for some advice, I finally got something happening
>> with this.  Turns out I had to add support for a new model in alps.c,
>> the attached file does this successfully for my laptop.  It'd be nice to
>> have others test it, but I am yet to find anyone else who has this same
>> laptop, with the same mouse issues I have.
>>
>> With this patch, I now get a functioning touchpad, including side
>> scrolling, circle scrolling, corner taps etc.  However, I did have to
>> ramp the configuration numbers up significantly from my old Thinkpad
>> with its synaptics touchpad.
>>     
>
> That is normal. The ALPS's have very much different parameters -
> sensitivity, resolution, etc., so that the settings aren't easily
> comparable.
>
>   
>> Minspeed is now 0.8 and maxspeed is 10. 
>> Also the VertScrollDelta is 10.  I don't know whether these numbers are
>> crazy high, or just normal for the Alps though.
>>     
>
> I don't remember exactly myself - I'm only interested in the low level
> of the protocol - making sure the kernel delivers correctly decoded data
> to userspace.
>
> Please send the patch to Dmitry Torokhov, who is nowadays a maintainer
> of this driver and the input subsystem. And don't forget to add a
> description of the patch and a "Signed-off-by:" line.
>
> I'm quite surprised you needed the value of 0x4f, I'd expect the highest
> bit always set in the sync byte of the protocol. Can you send me (and
> dmitry) the dump data you gathered using i8042.debug?
>
> Thanks,
> 	Vojtech
>
>   
>> --- drivers/input/mouse/alps.c.old	2007-07-31 21:42:37.000000000 +1000
>> +++ drivers/input/mouse/alps.c	2007-08-04 21:45:43.000000000 +1000
>> @@ -53,6 +53,7 @@
>>  	{ { 0x20, 0x02, 0x0e },	0xf8, 0xf8, ALPS_PASS | ALPS_DUALPOINT }, /* XXX */
>>  	{ { 0x22, 0x02, 0x0a },	0xf8, 0xf8, ALPS_PASS | ALPS_DUALPOINT },
>>  	{ { 0x22, 0x02, 0x14 }, 0xff, 0xff, ALPS_PASS | ALPS_DUALPOINT }, /* Dell Latitude D600 */
>> +	{ { 0x73, 0x02, 0x50 }, 0x4f, 0x4f, ALPS_FW_BK_1 } /* Dell Vostro 1400 */
>>  };
>>     
>
>   

[-- Attachment #2: alps.patch --]
[-- Type: text/plain, Size: 481 bytes --]

--- drivers/input/mouse/alps.c.old	2007-07-31 21:42:37.000000000 +1000
+++ drivers/input/mouse/alps.c	2007-08-05 08:34:00.000000000 +1000
@@ -53,6 +53,7 @@
 	{ { 0x20, 0x02, 0x0e },	0xf8, 0xf8, ALPS_PASS | ALPS_DUALPOINT }, /* XXX */
 	{ { 0x22, 0x02, 0x0a },	0xf8, 0xf8, ALPS_PASS | ALPS_DUALPOINT },
 	{ { 0x22, 0x02, 0x14 }, 0xff, 0xff, ALPS_PASS | ALPS_DUALPOINT }, /* Dell Latitude D600 */
+	{ { 0x73, 0x02, 0x50 }, 0xcf, 0xff, ALPS_FW_BK_1 } /* Dell Vostro 1400 */
 };
 
 /*

[-- Attachment #3: mouse.nosync.log.bz2 --]
[-- Type: application/octet-stream, Size: 7481 bytes --]

[-- Attachment #4: mouse.alps.log.bz2 --]
[-- Type: application/octet-stream, Size: 11793 bytes --]

[-- Attachment #5: alps-packets.log.bz2 --]
[-- Type: application/octet-stream, Size: 5043 bytes --]

  reply	other threads:[~2007-08-04 22:45 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-01  7:46 ALPS touchpad with new Dell not recognised William Pettersson
2007-08-04 12:15 ` William Pettersson
2007-08-04 13:42   ` Matthew Garrett
2007-08-04 19:05   ` Vojtech Pavlik
2007-08-04 22:45     ` William Pettersson [this message]
2007-08-05  8:02       ` Vojtech Pavlik
2007-09-05  4:31       ` Dmitry Torokhov

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=46B50189.8020107@gmail.com \
    --to=william.pettersson@gmail.com \
    --cc=dtor@insightbb.com \
    --cc=linux-kernel@vger.kernel.org \
    --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