Lenovo Y700 Consulta do touchpad Elantech 0x01 falhou

1

Eu tenho um problema chato com o meu touchpad Elantech por pelo menos meio ano agora. Na maioria das vezes, ele perde a sincronia aleatoriamente e é reconhecido como PS / 2 Elantech Touchpad ou BYD Touchpad . Isso varia de atualização para atualização, mas basicamente esses erros persistem em 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

Em ocasiões em que o touchpad foi detectado corretamente, ele ainda funciona muito mal, dá vários toques, toques, rolagem com dois dedos e tem algum tipo de problemas de calibração (somente o centro do touchpad responde, enquanto outras ignoram qualquer entrada) . dmesg para este cenário é assim:

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 o tempo de funcionamento do sistema, ele aleatoriamente começa a reagir aleatoriamente no meu clique de entrada e se movendo na direção aleatória.

Estou usando o Arch Linux agora, mas o problema também estava presente no Ubuntu 16.04 e no 14.04.

De página Wiki do Arch Linux , há uma nota para a Lenovo Y700 que, para fazer touchpad funcionando pata_legacy module deveria estar completamente na lista negra, então eu adicionei isto na minha configuração de bootloader do kernel:

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

lsmod não mostra pata_legacy carregado, portanto, a lista negra funciona. Mas isso não ajuda de forma alguma, já que o problema com o touchpad persiste.

Estou usando libinput e não mudei minha configuração há algum tempo (e ela funciona perfeitamente nos intervalos de tempo em que o touchpad é bom):

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

Eu acredito que o problema está conectado com um kernel de alguma forma, mas eu não estou em coisas de baixo nível, então eu não consigo trabalhar sozinho.

Qualquer ajuda, referências de documentação, dicas de depuração, etc. são muito bem-vindas, já que não me importo de corrigi-la, mas não tenho idéia de por onde começar (e onde procurar).

$ uname -r
4.10.13-1-ARCH
    
por ddnomad 29.04.2017 / 23:30

1 resposta

0

Eu tenho exatamente o mesmo problema chato. Como não encontrei nenhuma solução, estou usando este script bash simples como uma solução 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

E é uma boa idéia configurar seu sudoers para não pedir uma senha para o comando, claro.

    
por 06.08.2017 / 18:52