Windows10でUSBRootHubが原因で勝手にスリープが解除される
スリープが勝手に解除された原因を調べるには、コマンドプロンプトを用います。デスクトップ画面左下のスタートボタンをクリックしてスタートメニューを開き、「すべてのアプリ」から「Windowsシステムツール」フォルダを展開します。「コマンドプロンプト」を右クリックして、「その他」→「管理者として実行」から起動しましょう。コマンドプロンプトが管理者権限で起動するので、「powercfg -lastwake」コマンドを入力してEnterキーを押しましょう。すると、最後にスリープを解除したアプリケーション・サービス・デバイスが表示されます。もしここに「USB Root Hub」と表示されていた場合はUSBRootHubが原因です。USBRootHubが原因の場合は「powercfg -devicequery wake_armed」コマンドを使用することで、スリープを解除できるデバイスのインスタンス名が全部表示されます。
逆にスリープできない原因を調べるには、「powercfg -requests」コマンドを使用することでスリープを抑止しているレガシーカーネルの呼び出し元が表示されます。
USBRootHubが原因で勝手にスリープが解除される場合の対処法
それでは、USBRootHubが原因で勝手にスリープが解除される場合の対処法を説明します。まずは「Windowsキー+Xキー」の同時押しでアドバンスドメニューを呼び出し、「デバイスマネージャー」をクリックしましょう。
デバイスマネージャーが開いたら、先ほど「powercfg -devicequery wake_armed」コマンドを使って確認したデバイスを右クリックしてメニューの「プロパティ」をクリックしましょう。
デバイスのプロパティが表示されるので、「電源の管理」タブの「このデバイスで、コンピューターのスタンバイ状態を解除できるようにする」のチェックボックスをオフにしてから「OK」をクリックしましょう。あとは同様の操作を原因となってるすべてのデバイスに行えば、勝手にスリープ解除されなくなりますよ。