ラップトップをサスペンドした後にタッチパッドが機能しない


14

これはよくある問題のように思えますが、フォーラムで見つけたすべての修正を試した後、私はまだ迷っています。

仕様:

  • コンピューター:Asus k501LX-EB71
  • OS:Ubuntu 14.04.3
  • カーネル:3.19.0-26-generic
  • タッチパッド:Elantechタッチパッド
  • ドライバー:xser​​ver-xorg-input-synaptics-lts-trusty(OR)xserver-xorg-input-synaptics-lts-vivid(どちらが使用されているかわからない)

試したこと:sudo modprobe -r psmouseタッチパッドを「オフ」にしてsudo modprobe psmouseから、再びオンにすることができます。これは正常に機能します。ただし、一時停止すると、これらのコマンドを入力しても、タッチパッドを「復活」できません。

何かご意見は?

更新:

中断する代わりに休止状態にした場合、この問題は観察されません。その手がかりをどうしたらいいのか分かりません...

現在の回避策:

休止状態は問題を引き起こさないようであり、適切な量のスワップメモリ​​があるため、ふたを閉じるなどのデフォルトアクションとして休止状態にします。hibernateを有効にする手順は次のとおりです。また、org> gnome> settings-daemon> plugins> powerの下にあるdconf Editorを使用して、他のデフォルトの電源設定を休止状態に変更しました。


これは役に立つかもしれません:ubuntuforums.org/showthread.php?t
オタク長老

うーん...迅速な対応に感謝しますが、私は運のないそのスレッドのすべての手順を実行しました。何らかの理由で、sudo modprobe psmouse一時停止後にタッチパッドを復活させることはできません。単に、何も起こらないようです。私は、ログファイルに場違いに何かを見つけることができません
ロス・アレン

私はあなたの回避策の答えを検討します。他の人を助ける可能性が高いため、質問に回答を埋め込むと、見つけるのが難しくなります。
オタク長老

回答:


8

このバグはランチパッドで報告されています:Elantechタッチパッドは、サスペンド後に動作を停止します。一時停止後、OPは試行# modprobe -r psmouseしますが# modprobe psmouse、動作しません。しかし、サスペンド前にpsmouseが削除され、サスペンド後に挿入された場合はどうでしょうか?

これが手動で機能する場合、次/lib/systemd/system-sleep/を含むディレクトリに新しいファイルを作成して自動化できます 。

#!/bin/sh

case $1/$2 in
  pre/*)
    echo "Going to $2..."
    # Place your pre suspend commands here, or `exit 0` if no pre suspend action required
    modprobe -r psmouse
    ;;
  post/*)
    echo "Waking up from $2..."
    # Place your post suspend (resume) commands here, or `exit 0` if no post suspend action required
    sleep 2
    modprobe psmouse
    ;;
esac

一時停止後にpsmouseモジュールを削除できないことがわかっています。また、サスペンド前に削除および挿入できることもわかっています。そのため、この手法は一時停止する前に削除します。再開後、挿入してください。カーネルがそれを拒否しないことを願っています。

このsleep 2コマンドは、systemdとカーネル(gnomeまたはAPM経由)の両方がスリープ状態とスリープ解除の両方を行っていた自分自身の問題によるものです。Ubuntu 16.04 / pulseaudio 8.0で導入されたバグのため、pulseaudioサウンドをテレビにリダイレクトする必要がありました。カーネルとsystemdが起動を完了するのに2秒の遅延が必要でした。まだデュアルサスペンドとデュアルレジュームをまだ理解していません。


私は標準を使用する方が良いと思うSUSPEND_MODULESの特徴pm-utilsこのためlinux.die.net/man/8/pm-suspendを
cgogolin

この解決策はうまくいきませんでした。Ubuntu 18.04と「SYNA8004:00 06CB:CD8Bタッチパッド」、Lenovo X1 Carbon Gen7。休止状態から再開した後、タッチパッドの動作がおかしくなります。
-SaTa

7

回避策を回答として投稿することをお勧めしました。

休止状態(sudo pm-hibernate)ではタッチパッドの再起動で同じ問題が発生しないことがわかったため、関連するすべての電源オプションをサスペンドではなく休止状態に設定しただけです。休止状態はデフォルトで無効になっているため、これには少し手間がかかります。ここで何が起こる必要があります


1
ハードドライブが破損する可能性が高いため、デフォルトでは休止状態は無効になっています。休止状態に失敗した後、OSを2回再インストールする必要がありました。再び無効にしました。
クローバー

1
BIOSのタッチパッド設定をADVANCEDからBASICに変更します。機能に関しては何の違いもありません。また、サスペンドから再開してもタッチパッドは機能します。
pst007x

3

この問題を扱う2つの簡単なアプローチを扱います。1つ目は、(先ほど述べたように)常に機能するとは限りませんが、サスペンドアクションの後にマウスモジュールを再起動するだけです。

sudo rmmod psmouse; sudo modprobe psmouse

これを「自動的に」行う方法に関する素晴らしい議論があります 。サスペンドから再開した後にコマンドを実行する方法ですか?

別のアプローチは、一時停止する前にモジュールを強制終了し、再開後にモジュールをロックしないようにすることです(WinEunuuchs2Unixに下線が引かれているように、明らかに問題の原因です)。

そのためには、ふたを「手動で」閉じるのではなく、単純なコマンドラインを使用してラップトップをサスペンドします。もちろん、これはまったく空想ではありませんが、機能し、簡単な解決策です。ハッキングする時間はありません。

sudo rmmod psmouse; sudo pm-suspend

そして、ラップトップを再開した後、次のように入力してモジュールを再度有効にする必要があります。

sudo modprobe psmouse

デフォルトのpm-suspendスクリプトはいつでもハッキングできますが、お勧めしません。これらのアドホックな小さなコマンドシーケンスを生成する方が簡単で安全です。

最後に、マウスモジュールの "killing / suspend"および "re-enable"をすばやく簡単にすばやく実行するには、これらの手順をキーボードショートカットに関連付けます。キーボードのキーを変更するにはどうすればよいですか。(どのように私は、カスタムキーボードコマンド/ショートカットを作成することができますか?)

それがうまくいくことを願っていますが、私にとってはうまくいきますが、このような方法でこれに対処することは本当に不快です。HPとAsusラップトップの両方にこの問題があります。


これは私にとってはうまくいきます。
ダボロス

乾杯!助かりました!; D
ロー

3

次のソリューションは、Ubuntu 18.04(5.0.0-36-generic)を実行しているAcer Predator Helios 300で機能しましたが、他のすべての機能は機能しませんでした。

ソリューションの作品がないか確認してください
あなたのトラックパッドがworking-ないときに、サスペンドから目覚めた後、次のコマンドを実行してみてください/sbin/rmmod i2c_hid && /sbin/modprobe i2c_hid
これによりトラックパッドが機能する場合は、以下の手順に従って、サスペンドから復帰するたびにこれを実行する自動ソリューションを作成します。

永続的な解決策
1.作成/lib/systemd/system-sleep/touchpad
2.上記のファイルを開いて編集しsudo vi /lib/systemd/system-sleep/touchpad
ます。3。ファイルに次の内容を保存します

#!/bin/sh

case $1 in
  post)
    /sbin/rmmod i2c_hid && /sbin/modprobe i2c_hid 
  ;;
esac
  1. 実行可能にする chmod +x /lib/systemd/system-sleep/touchpad

これは基本的に、サスペンドから復帰したときにi2c_hidデバイスを再起動します。

礼儀:https : //unix.stackexchange.com/a/526488/283735


素晴らしい答え、これは私のために働いた、ありがとう。「psmouse」モジュールは私にとっては「i2c_hid」ではありませんでした。Dell Inspiron私はdmesgでこれを持っていました:[24063.094911] psmouse serio1:elantech:elantech_send_cmd query 0x02 failed。[24063.094918] psmouse serio1:elantech:機能のクエリに失敗しました。[24064.645952] psmouse serio1:isa0060 / serio1 [24065.383423]入力でマウスを有効にできなかった:/ devices / platform / i8042 / serio1 / input / input38としてImPS / 2 Logitechホイールマウス[24240.449885] psmouse serio1:elantech:ハードウェアバージョン4を想定(ファームウェアバージョン0x4f5001を使用)
デビッドロブソン


1

これは私のために働いた:

  1. BIOSを起動し、システムの起動時にF2またはESCを押したままにします

  2. BIOSのタッチパッド設定をADVANCEDからBASICに変更します(機能に関して違いはありません)

これで、サスペンドから再開したときにタッチパッドが機能するはずです。


0

私はいくつかのAsusラップトップを持っていますが、それらすべてのタッチパッドを無効にする必要がありました。ロックの問題やその他の問題を引き起こします。


私が聞くことを期待していたが、私は、応答を理解していないものを
ロス・アレン

そのElanタッチパッド。文字通りctrl-alt-f1 / 2/3を使用して変更し、元に戻してフリーズを解除します。無効にすると問題ありません。ご存知のように、短時間でそれを使用し、上記の私の方法を使用してロックを解除することができます。お役に立てば幸いです。
ChangosMuertos

0

OSに関係なく、サスペンドによく反応しないドライバーはかなり一般的です。冬眠による回避策を見つけてくれてうれしいです。

サスペンドは完全に電源オフされず、休止状態になるので、これはドライバーがサスペンションの「1/2ライフ」に十分に応答しないことを示しているように見えますが、電源オンサイクル中に完全に起動することができます目覚めたときに冬眠が提供するものです。

ソース:http : //manpages.ubuntu.com/manpages/trusty/man8/pm-action.8.html


ウェイクルーチンにフックして、ドライバーを再起動することができます...ネットワークマネージャーの再読み込みのように。まだ自分でそれを行う方法をまだ考えていません。pulseaudioを再起動するように動作していましたが、2日前にそれを破ることができました:(
WinEunuuchs2Unix

1
@ WinEunuuchs2Unixそれが見たいです。あなたがそれを理解した場合私にpingを実行します。
オタク長老

確実なこと。私はおそらく、6週間のこのレートで既に約6か月で「自分の質問に答える」ことの1つを行うでしょう。
WinEunuuchs2Unix

1
回答を投稿しましたが、奇妙な理由であなた(Geek長老)以外のすべての人にpingを送信できるようです。
WinEunuuchs2Unix
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.