明確な理由もなくキーボードが動作しなくなりました。
Windowsホスト(仮想ボックス)で仮想マシンとして2.5年間Ubuntuを使用した後、ついに思い切ってハードディスクを再フォーマットし、昨日Ubuntuでシステムを構築しました。今朝、キーボードが機能しなくなりました。
UbuntuとUSBキーボードまたはマウスがランダムに動作しなくなることについて、多くの投稿があります。 USBデバイスの電源をオフにする自動サスペンドであり、USBデバイスが互換性を持たないため、USBが本来のように「ウェイクアップ」しないことが示されています。
これに投稿された提案を試してみました link
しかし、運はありません。また、キーボードなしで起動し、Ubuntuが起動したら接続するという別の提案も試みました。
詳細はこちら
問題のマシン
私が8年前から持っていたKinesisにより、キーボードを使い続けることができました。これを解決できない場合は、Windozeに戻る必要があります。
これをデバッグするための試みや方法に関する提案は大歓迎です。
編集:USBドライバーを掘り下げましたが、Linuxではこれについては何も知りません。しかし、ラップトップにはUSB 2.0と3.0の両方のポートがあることがわかりました。 (問題のある)デスクトップはUSB 2.0のみです。まだ掘っている...
Xenial 16.04でも同じ問題があり、解決策を探していました...これは、デバイスをウェイクアップするためだけにマウスカーソルを絶えず移動するのが非常に面倒でした。神経質な危機の近くで、私は放棄し、新しいインストールまたは変更ディストリビューションを行う途中でした(笑)。しかし、私はついに私の問題に対する唯一の解決策を見つけました。それはあなたのものとまったく同じように思えます、klequis。
コンテキストストーリーを気にしない場合、この答えの最後に解決策があります。 コンテキストは役に立たないブラブラのように見えるかもしれませんが(おそらくそうです)、私のPCで解決した問題が彼らのものと同じであるかどうかを読者が確認するのに役立つと思います
。
私は必死に失敗しました、ウェブで見つけたすべてのヒントの近くでテストし、試行ごとに再起動しました:
usbcore.autosuspend=-1
パラメーターCONTROL_RUNTIME_AUTOSUSPEND=0
man laptop-mode.conf
&man laptop_mode
)options usbcore autosuspend=1
も非効率的ですrules
のデバイス固有のudev
ファイル Serge Y. Stroobandt が推奨する '/etc/udev/rules.d/usb-power.rules'この技術的なものをすべて読んだ後、私は私の設定に何を変更しても、2秒でスタックした「/ sys/module/usbcore/parameters/autosuspend」値に関係していることしか理解できませんでした。 cat
コマンドで確認できます:
$ cat /sys/module/usbcore/parameters/autosuspend
2
はい、2秒後にマウスが無効になったため、正しい方向に進んでいることがわかりました。もちろん、私はあちこちで見たecho -1
コマンドをテストしました。-1
は自動サスペンドを無効にすることを意図していましたが...:
Sudo echo -1 > sys/module/usbcore/parameters/autosuspend
bash: /sys/module/usbcore/parameters/autosuspend: Permission denied
須藤モードでも許可が拒否される理由がわかりませんでした。私はそれが問題になる可能性があるとは思わなかったので、ルートとしては試しませんでした。ここに間違いがありました:(
Alex Dekker&Bryceコメントのおかげで、autosuspend私のマウスのみ。しかし、もちろん最初の試みはこのbash: Permission denied error
で失敗したため、Alexが提案したecho -1
コマンドが最終的に機能する前に、ルート/ Sudoの混乱を理解するのを待たなければなりませんでした。
また、rootとしてログインせずにrootユーザーとしてコマンドを実行するより良い方法を見つけました。ルートシェルとrootコマンドの使用法の違いは、公式のUbuntuの RootSudo wikiページ で説明されています。私はこのようなことを学ぶのが大好きですが、ちょっと!なぜ苦痛を伴う方法で常に学ばなければならないのですか?笑
OMGそれは本当の頭痛の種であり、私のような初心者が理解するのに多くの時間を要しました。私の目にはより多くのトレーニングが必要です。
自分のことを話すのをやめて、修正しましょう!以下に進んでください...
アイドル状態の外付けHDDがラップトップのバッテリーを無駄に使い果たさないようにするために、2番目のソリューションを強くお勧めします。しかし、自分の自由を愛する人は、お互いの自由も愛すべきだからです。
ターミナルを開いて実行します:
Sudo sh -c "echo -1 > /sys/module/usbcore/parameters/autosuspend"
USBデバイスが正常に機能する場合は、「/ etc/rc.local」スクリプトを編集するだけで、システムが起動するたびにそのコマンドが実行されます。このようにして、修正をpermanentのようにしますたとえばnanoを使用して、ファイルを編集します。
Sudo nano /etc/rc.local
echo -1
コマンドをexit 0
行の前の '/etc/rc.local'ファイルに配置します
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
(...)
# By default this script does nothing.
echo -1 > /sys/module/usbcore/parameters/autosuspend
exit 0
コンピュータを再起動してください
(重要な注を最後に確認してください)
。
USBデバイスの電源オプションは/sys/bus/usb/devices/n-n/power
にあります。特定のデバイスのn-n
は、見つけるためにいくつかの操作を必要としますが、複雑ではありません。以下の例は、ワイヤレスマウスレシーバーのusbポート番号が3-1
であると判断した方法を示しています。したがって、ご自身の状況に合わせて調整してください。
USBデバイスを取り外し、ターミナルを開いてSudo dmesg
コマンドを実行します
USBデバイスを接続し直し、ターミナルでSudo dmesg
を再度実行して、変更を確認します
dmesg
コマンド出力の最後は、マウスをスロットに差し込んだ後のようになります。
[40208.575249] usb 3-1: new full-speed USB device number 8 using xhci_hcd
[40208.705233] usb 3-1: New USB device found, idVendor=062a, idProduct=4102
[40208.705240] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[40208.705245] usb 3-1: Product: 2.4G Wireless Mouse
[40208.705248] usb 3-1: Manufacturer: MOSART Semi.
[40208.707679] input: MOSART Semi. 2.4G Wireless Mouse as /devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:1.0/0003:062A:4102.0007/input/input24
[40208.763946] hid-generic 0003:062A:4102.0007: input,hiddev0,hidraw0: USB HID v1.10 Mouse [MOSART Semi. 2.4G Wireless Mouse] on usb-0000:00:14.0-1/input0
これで、USBデバイスが接続されているポートがusb 3-1
として識別されていることがわかります。
注:このトリックは、デバイスIDではなくUSBポートIDに関係します。たとえば、マウスを次のUSBポートに接続すると、dmesg
の結果でusb 3-2
として識別されます。しかし、このソリューション#2は、マウスまたはキーボードを常に同じポートに接続する習慣を身に付けている場合に非常に便利であり、一般的に人々が無意識に行うために使用するものです;)
ターミナルで次のコマンドを実行し、自分のポート番号3-1
を自分のdmesg
の結果で見つかったものに変更します。
Sudo sh -c "echo -1 > /sys/bus/usb/devices/3-1/power/autosuspend_delay_ms"
Linux公式ドキュメント に従って、カーネルバージョン2.6.38以降、autosuspend_delay_ms
が非推奨のautosuspend
に置き換わっていることに注意してください。
これは確かにtemporaryソリューションですが、このコマンドでマウスまたはキーボードの自動サスペンドの問題が修正されたかどうかを簡単にテストできます
USBデバイスが正常に機能する場合は、「/ etc/rc.local」スクリプトを編集するだけで、システムが起動するたびにそのコマンドが実行されます。このようにして、修正をpermanentのようにしますたとえばnanoを使用して、ファイルを編集します。
Sudo nano /etc/rc.local
echo -1
コマンドを '/etc/rc.local'ファイルのexit 0
行の前に配置します。コマンドのポート番号n-n
を変更することを忘れないでください:
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
(...)
# By default this script does nothing.
echo -1 > /sys/bus/usb/devices/3-1/power/autosuspend_delay_ms
exit 0
コンピュータを再起動してください
。
重要:USBを切断/再接続する場合は、Sudo sh -c
"temporary"コマンドを手動で再度実行する必要があることを忘れないでください同じUSBプラグに再び接続した場合でも、デスクトップ環境が既に起動しているときにデバイスを使用します。通常、「/ etc/rc.local」ファイルはシステムの起動時に一度だけ呼び出されるためです。
とにかく、回避策が可能です。優れたスキルを持つ人々にはもっと賢い方法があるかもしれませんが、Ubuntuでポート固有のエイリアスを設定しました。 USBデバイスをどこかで抜き差しする必要がある場合、単純なusb1
またはusb2
コマンドを選択的に使用できます。君も!また、 commands aliases を作成して、完全なコマンドを入力する代わりに短い単語で再生することもできます。2分未満で簡単に設定でき、Alt + F2でも機能します:)
より簡単にするためのより多くのアイデアも大歓迎です。
乾杯:)
私はまったく同じ問題を抱えていました(Kinesisキーボード、再起動後に機能しなくなりました)。
結局、それがカーネルのアップグレードに関連していることがわかりました
古い4.4.0-31カーネルを使用してブートすると、問題が修正されました。
この投稿 には、古いカーネルを使用してブートする方法に関する指示が含まれています(古いカーネルがあなたに代わっているかどうかを確認できます)。
私はこの報告書や他の報告書を過去1年にわたって何度も読みましたが、最終的には問題の原因となっているキーボードの使用をあきらめ、ワイヤレスキーボードに切り替えました。
問題が新しいPCを構築した頃に始まったことに気づくまで、それは電源の問題かもしれません。そこで、キーボードを接続するためのpowered USBハブを購入しました。問題を解決しました!結局のところ、これはソフトウェアの問題ではありませんでしたが、どうやら私の新しいコンピューターはUSB出力が不足しているようです(つまり、私のキーボードはそう思っています)。
上記のようにキーボードが断続的に停止していて、ソフトウェア側で何も機能していない場合は、試してみる価値があります。給電されたUSBハブは高価である必要はありません。
同じ問題がありました。私にとって、解決策は簡単でしたが、実際の理由は不明のままでした。
昨日、2番目のマウスをPCに接続しました。すべてがうまくいきました。今日、起動したとき、ログイン画面またはデスクトップでキーボードが機能しませんでした。起動中に機能しました。たとえば、BIOSになりました。
新しいマウスを取り外し、すべてのUSBケーブルを再接続した後、キーボードが機能し始めました。
laptop-mode-tools
がある場合、以下を変更することでusb自動サスペンドを完全に無効にできる場合があります。
AUTOSUSPEND_TIMEOUT=2
に
/etc/laptop-mode/conf.d/runtime-pm.conf
に
AUTOSUSPEND_TIMEOUT=-1
このファイルにはコメント付きのオプションがあることに注意してください
untime-pm.conf:# Example: AUTOSUSPEND_DEVID_BLACKLIST="usbhid usb-storage"
電源管理設定を微調整する場合は、このオプションを試してみてください。
ノート:
これは私が探していた答えではありませんが、この問題を解決するために2日間/何時間も費やしました。 PCIe USB 3.0ハブを購入して、それが機能するかどうかを確認しました-うまくいきません。
私の結論は、この問題は解決する価値がなく、同じ目的のためのより良い方法があるということです。
私の解決策/回避策は、テキストエディタのスニペット機能に依存することです。これは、特定のエディター(おそらくAtom)に投資して依存することを意味しますが、スニペットはキーボードマクロよりも保守しやすいため、これはキーボードマクロを使用した場合よりも優れています。
この投稿 からUSBについて多くのことを学びました。