From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
To: Juanito <juam+kernel@posteo.net>
Cc: linux-input@vger.kernel.org,
"masaki.ota@jp.alps.com" <masaki.ota@jp.alps.com>,
Paul Donohue <linux-kernel@PaulSD.com>,
Pali Rohar <pali.rohar@gmail.com>
Subject: Re: ALPS touchpad ot correctly recognized: GlidePoint vs DualPoint
Date: Thu, 7 Sep 2017 14:31:23 -0700 [thread overview]
Message-ID: <20170907213123.GA19320@dtor-ws> (raw)
In-Reply-To: <ada750eb-daeb-c9ae-2452-fcf027a4e704@posteo.net>
Hi Juanito,
On Thu, Sep 07, 2017 at 09:05:14AM +0200, Juanito wrote:
> Dear Kernel Hackers,
>
> I hope this is the correct place to post this. If not, please forgive me
> and feel free to forward it to someplace else. Thank you very much!
Let's add a few more people who's been looking after ALPS...
>
> I have a ThinkPad with a touchpad that looks exactly like this:
> https://www.camerongray.me/wp-content/uploads/2015/02/SCotlGg.jpg
>
> The three pyhsical buttons on top do not work on my debian stretch
> (4.9). I think it isn't being recognized correctly. I see a "Rejected
> trackstick packet from non DualPoint device" in my syslog whenever I
> click on one of them. On the other hand on a Ubuntu 16.04 (4.4 - patched
> by Ubuntu y guess) the buttons *do* work. Interestingly enough, it
> doesn't work on 17.04 (4.10).
>
> I have noticed that the touchpad gets assigned different names on both
> distros. On debian it is recognized as a GlidePoint and on Ubuntu as a
> DualPoint. In an upstream kernel 4.13 which I just built, it's also
> recognized as a GlidePoint. Unfortunately it doesn't work either.
>
> I am not sure if the device is actually a DualPoint or not (I don't
> really understand the terminology here), but the thing is that the
> buttons work when the kernel believes it to be one.
>
> This is the info I have managed to find about the device while running
> on the non-working debian:
>
> dmesg:
> [ 2.914806] input: AlpsPS/2 ALPS GlidePoint as
> /devices/platform/i8042/serio1/input/input2
>
> lsinput:
> /dev/input/event11
> bustype : BUS_I8042
> vendor : 0x2
> product : 0x8
> version : 1792
> name : "AlpsPS/2 ALPS GlidePoint"
> phys : "isa0060/serio1/input0"
> bits ev : (null) (null) (null)
>
> I have played around with the drivers/input/mouse/alps.c file and found
> out the following:
>
> e7 and ec are important (although I don't know what these are exactly)
> and have the following values:
>
> e7: 73 03 0a
> ec: 88 b0 13
>
> This combination is recognized as an ALPS touchpad, but isn't assigned
> the ALPS_DUALPOINT flag. As far as I can see, it is actually being
> *removed* at this point:
>
> if (alps_probe_trackstick_v3_v7(psmouse, ALPS_REG_BASE_V7) < 0)
> priv->flags &= ~ALPS_DUALPOINT;
>
> The bit that says it has a trackpoint (I don't know what this is) is
> apparently saying my device doesn't have one and is removing the
> ALPS_DUALPOINT flag.
>
> This flag makes the buttons work. I am not sure if it breaks other stuff.
>
> I have written a pretty dummy patch which actually adds the flag again
> making the buttons work. Again, I am not sure if it breaks other stuff
> but my system isn't whining. Here is the patch:
>
> diff --git a/drivers/input/mouse/alps.c b/drivers/input/mouse/alps.c
> index 850b00e3ad8e..17aba42e846f 100644
> --- a/drivers/input/mouse/alps.c
> +++ b/drivers/input/mouse/alps.c
> @@ -2804,6 +2804,9 @@ static int alps_set_protocol(struct psmouse *psmouse,
> if (alps_probe_trackstick_v3_v7(psmouse,
> ALPS_REG_BASE_V7) < 0)
> priv->flags &= ~ALPS_DUALPOINT;
>
> + if (priv->fw_ver[1] == 0xb0)
> + priv->flags |= ALPS_DUALPOINT;
> +
> break;
>
> case ALPS_PROTO_V8:
>
> After applying this patch dmesg and lsinput say this:
>
> [ 8.226543] input: AlpsPS/2 ALPS DualPoint Stick as
> /devices/platform/i8042/serio1/input/input13
> [ 8.247595] input: AlpsPS/2 ALPS DualPoint TouchPad as
> /devices/platform/i8042/serio1/input/input2
>
> /dev/input/event11
> bustype : BUS_I8042
> vendor : 0x2
> product : 0x8
> version : 1792
> name : "AlpsPS/2 ALPS DualPoint Stick"
> phys : "isa0060/serio1/input1"
> bits ev : (null) (null) (null)
>
> /dev/input/event12
> bustype : BUS_I8042
> vendor : 0x2
> product : 0x8
> version : 1792
> name : "AlpsPS/2 ALPS DualPoint TouchPad"
> phys : "isa0060/serio1/input0"
> bits ev : (null) (null) (null)
>
> I am a total newbie to kernels and drivers so it would be great if
> somebody who actually had some idea could take a look at this and
> probably create a patch in a better place. I'll be glad to post more
> info if necessary.
>
> Thank you very much!
>
> Cheers,
> Juanito
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-input" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Dmitry
next prev parent reply other threads:[~2017-09-07 21:31 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-07 7:05 ALPS touchpad ot correctly recognized: GlidePoint vs DualPoint Juanito
2017-09-07 21:31 ` Dmitry Torokhov [this message]
2017-09-07 21:54 ` Pali Rohár
2017-09-08 5:00 ` Juanito
2017-09-08 6:48 ` Pali Rohár
2017-09-09 8:12 ` Juanito
2017-09-09 8:36 ` Pali Rohár
2017-09-09 18:12 ` Dmitry Torokhov
2017-09-09 18:21 ` Juanito
2017-09-11 2:38 ` Masaki Ota
2017-09-11 11:26 ` Juanito
2018-02-04 18:16 ` Pali Rohár
[not found] ` <f291e382-b90e-baba-fb3c-bdebc991a21d@posteo.net>
2018-02-04 20:21 ` Pali Rohár
2018-02-05 7:48 ` Juanito
2018-02-05 11:19 ` Juanito
2018-02-11 23:01 ` Pali Rohár
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=20170907213123.GA19320@dtor-ws \
--to=dmitry.torokhov@gmail.com \
--cc=juam+kernel@posteo.net \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@PaulSD.com \
--cc=masaki.ota@jp.alps.com \
--cc=pali.rohar@gmail.com \
/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).