web-dev-qa-db-ja.com

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

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

仕様:

  • コンピューター: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を実行してオンに戻すことができます。これは正常に機能します。ただし、一時停止すると、これらのコマンドを入力しても、タッチパッドを「復活」できません。

何かご意見は?

更新:

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

現在の回避策:

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

13
Ross Allen

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

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

7
Ross Allen

このバグはランチパッドで報告されています: 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秒の遅延が必要でした。まだデュアルサスペンドとデュアルレジュームをまだ理解していません。

7

この問題を扱う2つの簡単なアプローチを扱います。最初に説明したように、常に動作するとは限りませんが、一時停止アクションの後にマウスモジュールを再起動するだけです。

Sudo rmmod psmouse; sudo modprobe psmouse

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

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

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

Sudo rmmod psmouse;須藤pm-suspend

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

Sudo modprobe psmouse

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

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

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

3
Rho

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

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

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

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

1
pst007x

カーネルにパッチを適用すると、この問題が解決します。発見できる

  1. パッチ Linuxカーネルメーリングリスト および

  2. 特定のコミットでカーネルにパッチを適用する方法 」のパッチ適用手順。

K501LBが正常に機能するようになりました。

1
Savel Mtrx

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

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

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

0
Elder Geek

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

0
ChangosMuertos