Lenovo Y700 Elantech 觸控板查詢 0x01 失敗

Lenovo Y700 Elantech 觸控板查詢 0x01 失敗

我的 Elantech 觸控板有一個惱人的問題至少半年了。大多數時候它會隨機失去同步並被辨識為PS/2 Elantech 觸控板或者比亞迪觸控板。它因更新而異,但本質上這些錯誤仍然存在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

在正確檢測到觸控板的情況下,它仍然工作得很差,幸運的是多點觸控、點擊、兩指滾動,並且存在某種校準問題(只有觸控板的中心有響應,而其他區域忽略任何輸入)。dmesg對於這個場景看起來像這樣:

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

在系統正常運作期間,它隨機開始對我的輸入點擊和隨機方向移動做出隨機反應。

我現在使用 Arch Linux,但 Ubuntu 16.04 和 14.04 上也存在該問題。

Arch Linux 維基頁面Lenovo Y700 有一條註釋,為了使觸控板工作pata_legacy模組應該完全列入黑名單,所以我將其添加到我的內核引導程式配置中:

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

lsmod不顯示pata_legacy已加載,因此黑名單有效。但由於觸控板問題仍然存在,這沒有任何幫助。

我正在使用libinput並且有一段時間沒有更改我的配置(並且在觸控板感覺良好的時間範圍內它可以完美地工作):

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

我相信這個問題以某種方式與核心有關,但我不喜歡低級的東西,所以我無法讓它自己工作。

強烈歡迎任何幫助、文件參考、調試技巧等,因為我不介意自己修復它,但我不知道從哪裡開始(以及在哪裡找到)。

$ uname -r
4.10.13-1-ARCH

答案1

我有完全相同的煩人問題。因為我沒有找到任何解決方案,所以我使用這個簡單的 bash 腳本作為解決方案

#!/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

當然,最好將您的sudoers兩個命令配置為不要求輸入密碼。

相關內容