Activar funciones en ETPS/2 Elantech Touchpad

Enviado por the98 el 23 Marzo, 2011 - 20:34.

Activar funciones en ETPS/2 Elantech Touchpad - Debian Sid

INTRODUCCIÓN

Recientemente compré una Lenovo g560 a la cuál le instalé un sistema Debian Squeeze con arquitectura amd64. Me llevé una sorpresa cuando finalmente instalé XFCE 4.6 como entorno gráfico y no funcionaban las funciones del Touchpad como el "Tap" (o golpecitos) que simulan un clic, entre muchas otras. ¿Por qué me sorprendí? Porque previamente a la instalación de Debian Squeeze había probado un Debian Live de Lenny, en el cuál los "taps" funcionaban a la perfección.

No demoré mucho en encontrar la respuesta en la wiki oficial de Debian para solucionar mi problema.
Dejo aquí el enlace: http://wiki.debian.org/DebianEeePC/HowTo/ElantechTouchpad

En resumen, lo que se propone en la wiki es crear un xorg.conf (si es que no existe) y agregar algunas opciones al mismo. Esto solucionó el inconveniente en Debian Squeeze. Sin embargo, mi intención no era mantener Squeeze, sino que mi idea era migrar a Sid para mantenerme allí.

Al momento de migrar a Sid me encontré que nuevamente habían desaparecido las funciones extras definidas en el xorg.conf. El problema era sencillo, en la parte donde se define la ruta del dispositivo, el xorg.conf no seguía los enlaces simbólicos. O sea, por ejemplo, el touchpad es montado físicamente en /dev/input/event10, con un enlace simbólico /dev/input/mouse0. Si en xorg.conf tenemos la siguiente línea:

Option          "Device"                "/dev/input/mouse0"

X no toma este enlace (no pude encontrar la causa de este comportamiento), y lo que sería correcto sería indicarlo de la siguiente manera:

Option          "Device"                "/dev/input/event10"

Sin embargo aquí surge otro inconveniente. El touchpad no es siempre reconocido como event10, a veces puede ser event9, event8... etc.

Aquí les dejo entonces la solución que encontré para dejar de luchar con esto.

SOLUCIÓN

Como bien dice la wiki de Debian tenemos que crear o editar el archivo /etc/X11/xorg.conf

# nano /etc/X11/xorg.conf

Una vez hecho esto, incorporaremos las siguientes líneas:

Section "InputDevice"
        Identifier      "Touchpad"
        Driver          "synaptics"
#        Option          "Device"                "/dev/input/event10"
        Option          "Protocol"              "auto-dev"
        Option "MinSpeed" "0.5"
        Option "MaxSpeed" "1.0"
        Option "AccelFactor" "0.075"
        Option          "VertTwoFingerScroll"   "1"
        Option          "HorizTwoFingerScroll"  "1"
        Option          "TapButton1"            "1"
        Option          "TapButton2"            "2"
        Option          "TapButton3"            "3"
        Option "LockedDrags"           "1"
        Option "VertEdgeScroll" "1"
        Option "HorizEdgeScroll" "1"
EndSection

Section "ServerLayout"
    Identifier          "Default Layout"
    InputDevice         "Touchpad"
EndSection

Como verán, comentaremos (o podemos eliminar) la opción "Device" y en "Protocol" usaremos "auto-dev" (de otra forma no funcionará). El mismo se encarga de reconocer automáticamente a dónde fue localizado el Touchpad.

También podemos agregar funciones a esta sección del xorg.conf. Para poder ver qué funciones se pueden agregar, debemos correr el siguiente comando:

# synclient

Listará todas las opciones que presenta nuestro Touchpad. Podemos probar cada una de ellas sin necesidad de reiniciar el entorno gráfico, por ejemplo TapButton1, sería:

# synclient TapButton1=1

ERRORES EN /var/log/Xorg.0.log

He optado por no usar ningún tipo de Display Manager e iniciar el entorno gráfico con startx. Tanto en la carga de X como en el log aparecen ciertos errores. Estos son:

(EE) ETPS/2 Elantech Touchpad Unable to query/initialize Synaptics hardware.
(EE) PreInit returned NULL for "ETPS/2 Elantech Touchpad"
(EE) Query no Synaptics: 6003C8
(EE) ETPS/2 Elantech Touchpad Unable to query/initialize Synaptics hardware.
(EE) PreInit returned NULL for "ETPS/2 Elantech Touchpad"

Si bien busqué por todos lados una solución para los mismos, no la pude encontrar ni tampoco interpretar por qué salen estos errores cuando el Touchpad funciona cuando incorporamos el xorg.conf. Sin embargo, adjunto los errores para aquella persona que busque en Google, pensando que ellos son la causa de que no tengan ciertas funciones como el "Tap".

Aclaro que en Squeeze también se encontraban los mismos errores en el log de X.


Espero que les sirva esta solución.

Saludos.

Imagen de DanielAviles
Enviado por DanielAviles el 23 Marzo, 2011 - 20:41.

En mi portátil Asus también tengo un touchpad Elantech. Según leí, los problemas que describes se deben a una identificación errónea del dispositivo ante el kernel. Fue solucionada allá por la versión 2.3.34 o 2.6.35.

Lo que ocurre es que en Wheezy por defecto aún está el kernel 2.6.32, pero si instalas el 2.6.37 que ya está disponible en los repos no necesitas hacer nada con el xorg.conf

En KDE, con añadir el paquete kde-config-touchpad ya tengo correctamente reconocido el dispositivo así como las diversas opciones de "tap", esquinas del touchpad... e imagino que se irán añadiendo otras, pues en Windows 7 el driver de Elantech permite unas cuantas más.

Imagen de the98
Enviado por the98 el 23 Marzo, 2011 - 21:24.

Qué raro, dado que Sid trabaja con la versión 2.6.38 y sin embargo no tengo esas funciones habilitadas. No sé si leíste toda la aburrida introducción que puse (:-P) pero actualmente estoy en Sid con la última versión del kernel, y sin embargo sin el xorg.conf, a mí, no me funciona. ¿Será dependiente de la computadora? ...

Imagen de leafar
Enviado por leafar el 24 Marzo, 2011 - 05:06.
DanielAviles escribió:

En mi portátil Asus también tengo un touchpad Elantech. Según leí, los problemas que describes se deben a una identificación errónea del dispositivo ante el kernel. Fue solucionada allá por la versión 2.3.34 o 2.6.35.

Lo que ocurre es que en Wheezy por defecto aún está el kernel 2.6.32, pero si instalas el 2.6.37 que ya está disponible en los repos no necesitas hacer nada con el xorg.conf

hice la prueba en mi debian eliminando el archivo que había creado cuando usaba testing /etc/modprobe.d/options.conf para solucionar lo del reconocimiento, luego reinicie con el kernel 2.6.32 y no funciono, luego probé con 2.6.38 y funciono.

DanielAviles escribió:

En KDE, con añadir el paquete kde-config-touchpad ya tengo correctamente reconocido el dispositivo así como las diversas opciones de "tap", esquinas del touchpad... e imagino que se irán añadiendo otras, pues en Windows 7 el driver de Elantech permite unas cuantas más.

aprovechando que ahora si lo puedo hacer funcionar con synaptics, probé instalando este paquete y estoy fascinado con el multitouch y demás, que no había podido hacer funcionar debido al problema de reconocimiento.
PD: la interfaz en KDE facilita demasiado las cosas..(KDE no deja de sorprenderme babeo )

Imagen de leafar
Enviado por leafar el 24 Marzo, 2011 - 05:34.
the98 escribió:

Qué raro, dado que Sid trabaja con la versión 2.6.38 y sin embargo no tengo esas funciones habilitadas. No sé si leíste toda la aburrida introducción que puse (:-P) pero actualmente estoy en Sid con la última versión del kernel, y sin embargo sin el xorg.conf, a mí, no me funciona. ¿Será dependiente de la computadora? ...

Si no estoy mal a lo que se refiere @DanielAviles es a que en versiones anteriores a 2.6.33 no funcionaba el touchpad (como me ocurrio a mi aunque luego logre hacerlo funcionar pero sin usar synaptics y por eso no podia aprovechar el multitouch).
Y si es necesario modificar el xorg.conf para que las funciones de multitouch funcionen, lo que sucede es que KDE nos facilita las cosas y lo hace por nosotros tongue

Imagen de the98
Enviado por the98 el 24 Marzo, 2011 - 14:06.

Puede que el problema sea la arquitectura. ¿Probaste en un kernel nuevo estando en i386?

Imagen de DanielAviles
Enviado por DanielAviles el 24 Marzo, 2011 - 18:56.
leafar escribió:

Si no estoy mal a lo que se refiere @DanielAviles es a que en versiones anteriores a 2.6.33 no funcionaba el touchpad (como me ocurrio a mi aunque luego logre hacerlo funcionar pero sin usar synaptics y por eso no podia aprovechar el multitouch).
Y si es necesario modificar el xorg.conf para que las funciones de multitouch funcionen, lo que sucede es que KDE nos facilita las cosas y lo hace por nosotros tongue

En mi caso, el touchpad sí funcionaba, incluso reconocía el golpecito con dos dedos asignándole la misma acción que yo había puesto en las preferencias de KDE. Pero no era reconocido como el dispositivo que era: Touchpad Elantech. Aunque, repito, sí me funcionaba.

Para los que usan GNOME, XFCE, etc., está el paquete gsynaptics, que durante un tiempo usé con los mismos resultados que me ha proporcionado el kde-confgig-touchpad.

Imagen de leafar
Enviado por leafar el 24 Marzo, 2011 - 18:58.
the98 escribió:

Puede que el problema sea la arquitectura. ¿Probaste en un kernel nuevo estando en i386?

Tal vez el problema sea por eso.. actualmente uso amd64; aunque hace algún tiempo también probé con LMDE 32 bits kernel 2.6.32 y no funciono neutral

Imagen de Caraculiambro
Enviado por Caraculiambro el 18 Abril, 2011 - 17:38.

Tengo una Dell Inspiron M5030. Mi problema es que Debian reconoce el touchpad como si fuera un PS2 Mouse, por lo cual, aun instalando gsynaptics, el scroll no funciona.

En algún lugar leí que el kernel 2.6.38 reconocería al touchpad como debe ser, pero en este caso no fue así.

Después de seguir buscando, llegué a un foro de Ubuntu en inglés (este es el post), pero no entiendo muy bien qué pasos tengo que seguir. Actualmente estoy en Linux Mint Debian Edition, con kernel 2.6.38-2-686.

¿Alguien me auxilia?