Lenovo Y700 Elantech タッチパッド クエリ 0x01 失敗

Lenovo Y700 Elantech タッチパッド クエリ 0x01 失敗

少なくとも半年前から、Elantechのタッチパッドに厄介な問題があります。ほとんどの場合、ランダムに同期が失われ、PS/2 エランテック タッチパッドまたはBYD タッチパッドアップデートごとに異なりますが、基本的にこれらのエラーは次の場合に発生します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

タッチパッドが正しく検出された場合でも、動作が非常に悪く、マルチタッチ、タップ、2 本指スクロールがうまくいかず、何らかの調整の問題があります (タッチパッドの中央のみが応答し、他の領域は入力を無視します)。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 Wiki ページ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もちろん、2 つのコマンドに対してパスワードを要求しないように設定することをお勧めします。

関連情報