Error en la consulta 0x01 del panel táctil Lenovo Y700 Elantech

Error en la consulta 0x01 del panel táctil Lenovo Y700 Elantech

Tengo un problema molesto con mi panel táctil Elantech desde hace al menos medio año. La mayoría de las veces pierde la sincronización aleatoriamente y es reconocido comoPanel táctil PS/2 ElantechoPanel táctil BYD. Varía de una actualización a otra pero, en esencia, estos errores persisten en dmesg:

psmouse serio1: Failed to enable mouse on isa0060/serio1
psmouse serio1: elantech: synaptics_send_cmd query 0x01 failed.
psmouse serio1: Failed to enable mouse on isa0060/serio1
input: PS/2 Generic Mouse as /devices/platform/i8042/serio1/input/input19

En ocasiones, cuando el panel táctil se detectó correctamente, todavía funciona muy mal, tiene suerte con el modo multitáctil, el toque, el desplazamiento con dos dedos y tiene algún tipo de problemas de calibración (solo el centro del panel táctil responde mientras que otras zonas ignoran cualquier entrada). dmesgpara este escenario se ve así:

psmouse serio1: elantech: assuming hardware version 4 (with firmware version 0x595f03)
psmouse serio1: elantech: Synaptics capabilities query result 0x10, 0x15, 0x0e.
psmouse serio1: elantech: Elan sample query result 04, 02, 86
input: ETPS/2 Elantech Touchpad as /devices/platform/i8042/serio1/input/input2

Durante el tiempo de actividad del sistema, comienza a reaccionar aleatoriamente cuando mi entrada hace clic y se mueve en una dirección aleatoria.

Estoy usando Arch Linux ahora pero el problema también estaba presente en Ubuntu 16.04 y 14.04.

DePágina Wiki de ArchLinuxHay una nota para Lenovo Y700 que para que pata_legacyel módulo táctil funcione debe estar completamente en la lista negra, así que agregué esto a la configuración de mi gestor de arranque del kernel:

options: ... modprobe.blacklist=pata_legacy ...

lsmodno aparece pata_legacycargado, por lo que la lista negra funciona. Pero no ayuda de ninguna manera ya que el problema con el panel táctil persiste.

Lo estoy usando libinputy no he cambiado mi configuración desde hace un tiempo (y funciona perfectamente en esos períodos de tiempo cuando el panel táctil se siente bien):

Section "InputClass"
        Identifier "libinput touchpad catchall"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
        Option "Tapping" "True"
        Option "DisableWhileTyping" "True"
        Option "NaturalScrolling" "True"
        Option "MiddleEmulation" "True"
EndSection

Creo que el problema está relacionado de alguna manera con un kernel, pero no me gustan las cosas de bajo nivel, por lo que no puedo hacerlo funcionar por mi cuenta.

Cualquier ayuda, referencias de documentación, consejos de depuración, etc. son bienvenidos, ya que no me importa solucionarlo yo mismo, pero no tengo idea de por dónde empezar (ni dónde buscar).

$ uname -r
4.10.13-1-ARCH

Respuesta1

Tengo exactamente el mismo problema molesto. Como no encontré ninguna solución, estoy usando este sencillo script bash como solución alternativa.

#!/usr/bin/bash

while [[ $(dmesg | tail -n 3 | grep ETPS) == "" ]]
do
    sudo modprobe --remove psmouse
    sudo modprobe psmouse
    sleep 3
done

notify-send "Touchback" "Your touchpad is back ready to use"

exit

Y es una buena idea configurarlo sudoerspara que no solicite una contraseña para los dos comandos, por supuesto.

información relacionada