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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.