[PATCH synaptics] If protocol is auto-dev and the device path is set, unset the protocol

Martin Bruse zondolfin at gmail.com
Wed Nov 30 05:48:31 PST 2011


I tried to achieve the same effect by just removing the "Device"
option, with basically the same result.
But I have looked around a bit more now, and if I understand it
correctly the event protocol requires the kernel to report the device
as a touchpad.

This fits with some message I seem to remember from my wild googling
yesterday where someone hinted at this device not being recognized by
some 3.1 kernel, but this someone claimed that support for it was in
3.2 and was also backported in a later 3.1.

That made me compile a 3.2 kernel. Unfortunately it didn't make any
difference, so perhaps that is still a problem.

This all made me try the psaux protocol instead, and I do indeed get
different error messages then!

Messages such as "[  1597.951] (EE) synaptics: Touchpad: Query no
Synaptics: 6003C8"

This made me wonder (again): Could it be that this device actually
follows synaptics protocol and would work if it was just recognized?

I have now molested your pretty source code to force the damn device
to be recognized. I am not 100% certain that it actually DOES follow
protocol enough for this to be adequate, but it works as a pointer and
there is no pain ;)

I attach the patch (which is fugly, but will give you an idea of what
I did), the Xorg.0.log and my xorg.conf.

I assume that you want me to give you some kind of data about this
device so that you can add it to the list of working devices (if you
think that the Xorg.0.log I attach actually signifies that the device
DOES work, and its not just Xorg ignoring it and using the detected
generic pointer device instead, or something). If so, I humbly ask you
to tell me how to get that information to you :)

//Martin

ps
Ok, I have found a bit of trouble on my own here...

I noticed that it is still matched by "evdev pointer catchall" from
/usr/share/X11/xorg.conf.d/, so I tried the following:

* comment out the "evdev pointer catchall"
* comment out MatchIsTouchpad "on" in "touchpad catchall" (since I
assume the touchpad flag comes from the kernel, which doesn't seem to
recognize it...)
* change "SendCoreEvents" to "CorePointer" in xorg.conf (no idea if
this has any effect in this case though?)

This made the Xorg.0.log look really weird, and the pointer to become
completely immobile when I started X. So, probably this device is just
too weird to live and too rare to die.

Attaching that Xorg.0.log as well...

On Wed, Nov 30, 2011 at 1:03 AM, Peter Hutterer
<peter.hutterer at who-t.net> wrote:
> The remainder of the code take try through all protocols, taking the device
> into account (as of xf86-input-synaptics-1.4.0-34-g241254e)
>
> Reported-by: Martin Bruse <zondolfin at gmail.com>
> Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
> ---
>  src/synaptics.c |    7 +++++++
>  1 files changed, 7 insertions(+), 0 deletions(-)
>
> diff --git a/src/synaptics.c b/src/synaptics.c
> index 8fbddc8..9490106 100644
> --- a/src/synaptics.c
> +++ b/src/synaptics.c
> @@ -274,6 +274,13 @@ SetDeviceAndProtocol(InputInfoPtr pInfo)
>
>     proto = xf86SetStrOption(pInfo->options, "Protocol", NULL);
>     device = xf86SetStrOption(pInfo->options, "Device", NULL);
> +
> +    /* If proto is auto-dev, unset and let the code do the rest */
> +    if (proto && !strcmp(proto, "auto-dev")) {
> +        free(proto);
> +        proto = NULL;
> +    }
> +
>     for (i = 0; protocols[i].name; i++) {
>         if ((!device || !proto) &&
>             protocols[i].proto_ops->AutoDevProbe &&
> --
> 1.7.7.1
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: synaptics.diff
Type: text/x-patch
Size: 4223 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg-devel/attachments/20111130/ab147686/attachment-0003.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: xorg.conf
Type: application/octet-stream
Size: 2623 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg-devel/attachments/20111130/ab147686/attachment-0001.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Xorg.0.log
Type: text/x-log
Size: 174830 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg-devel/attachments/20111130/ab147686/attachment-0004.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: second_weird_Xorg.0.log
Type: text/x-log
Size: 73854 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg-devel/attachments/20111130/ab147686/attachment-0005.bin>


More information about the xorg-devel mailing list