6月に購入したWindow11の新PC、どうもスリープ設定しても夜中とかに勝手に起動しているんですよね。てっきり「振動でマウスが動いた?」とか思っていたのですが、そうでもないようで。
スリープの復帰について調べてみたら、スリープ解除のトリガーとなるイベントって、マウスやキーボード以外にもあるようで。今回は、そのうちの1つ「ネットワークアダプターの設定」を変えてみました。これでしばらく様子見します。
スリープ解除デバイスを特定する
まず最初に、PCの設定でスリープを解除できるデバイス(周辺機器や内蔵機器)として何があるかを調べました。これを調べるには、コマンドプロンプトを立ち上げて下記のコマンドを実行します*1。
powercfg -devicequery wake_armed
「PowerCfg」コマンドの詳細についてはマイクロソフトの公式情報を参照願います。
命令実行した結果、3つのデバイスが表示されました。
- HIDキーボードデバイス(004)
- Realtek Gaming 2.5GbE Family Controller
- HID準拠マウス(001)
このうちキーボードとマウスは、スリープ解除の標準的なデバイスとして残したいですし、除外するとします。となると、中央にある「Realtek Gaming 2.5GbE Family Controller」なるものが犯人かもしれません。
このRealtek Gaming 2.5GbE Family Controller、何者かと思われるかもしれません。PCパーツに慣れた人ならすぐに思いつくのが「蟹のロゴのアレ」ですね。
PCパーツに詳しい人がよく知っているのは、Reaktek社製のオーディオ系デバイスかとおもいますが、この会社はネットワークアダプターとして扱われる部品なども製造販売しています。ここでは、「2.5GbE(2.5 ギガビットイーサネット、の略)」とあるので、ネットワークアダプターを示しています。このあたりが分からない場合はGoogleなどでデバイス名で検索してみてください。というわけで、ネットワークアダプターがスリープ解除デバイスとして指定されているので、この設定を変えてスリープ解除されないようにしてみます。
ネットワークアダプターの設定を変える
ネットワークアダプターの設定を変えるには、まず「デバイスマネージャー」と呼ばれる設定画面を開きます。Windows XP以前からのユーザーならばよく知っているアレですが、Windows11などではすぐにアクセスしづらい場所に用意されてしまっているため、Windowsメニューから検索するのが早いです。「debaisu」とかでも出てきます。
次に、「ネットワークアダプター」の部分を展開表示させ、今回設定を変える「Reaktek Gaming 2.5GbE...」を選び、マウスで右クリック。そこにある「プロパティ」を選択します。
次に、「詳細設定」タブの「プロパティ」から、下記の2項目を選んで設定値を「無効」に切り替えます。
- ウェイク・オン・パターンマッチ
- ウェイク・オン・マジック・パケット
これらは本来、別のPCやサーバーから遠隔でネットワークアダプタに特定の信号を送ることで、クライアントPCの電源をONにする機能です。もともとは特定のデータ、それもPC固有の情報などを指定して信号を送らないといけないので、普通の家庭用PCがこの機能でスリープ解除されることはありません。しかし、どうやらネットワークアダプター製造会社はネットワークにおいてよく使われる信号でも起動するように設定してしまっているようです(具体的には、接続確立要求「SYN」などでも起動するものもあるようです……)。なので、家庭のLAN上に他の機器が有る場合、誤ってスリープ解除されてしまうこともあるのかもしれません。
というわけで、上記設定を無効にし、次に念のため「電源の管理」タブにある「このデバイスで、コンピューターのスタンバイ状態を解除できるようにする」設定もOFFにしておきます。下図を参考に設定解除してください。画像では設定がONになっているので、チェック部分を外して色が付いていない状態にしてください。
これで設定は完了です。開いた設定画面やプロパティ画面をOKボタンで閉じてください。
8/6追記: どうやら問題解消したようです
昨晩、寝る前にスリープにして一晩置きましたが、朝、無事「スリープのまま」になっていました(これまでは大抵、朝起きたら電源入ってた)。やはり犯人はネットワークアダプタだったようです。
実際にネットワークアダプターでスリープ解除されている証拠を探す
ついでに、本当にスリープ解除がネットワークアダプター経由で行われたかどうかを調べてみました。それには「イベントビューアー」を使います。「Windowsログ」→「システム」で、「ソース」として「Power-TroubleShooter」と記載されているものを探してみてください。マウスやキーボードでスリープ解除された記録もありますが、恐らく、夜中などに発生しているもので「スリープ状態の解除元」がネットワークアダプターになっているものがあるはずです。逆に、それが見つからないならば、上記のネットワークアダプター設定変更はあまり意味がありません。念のため確認してみることをお勧めします。
*1:ユーザー名が"backy"になっているのは、ゲームなどで使っているアカウント「backyard」を以前のPCでユーザー名にしていたところ、なぜか先頭5文字だけになってしまい、ユーザーフォルダーの名称がbackyになってしまいました。原因不明。以後、PCを変えてもOSを入れ替えてもそのユーザーが引き継がれています。おそらくマイクロソフトアカウントで初期設定した結果、MSアカウントの情報が引き継がれ続けている模様。