久々の ThinkPad X201s ネタ。最近、放置しておいてもスリープしないなぁ、と思いながらも放置していたのですが、バッテリーがスッカラカンになることもしばしばだったので対処してみました。
まず powercfg.exe コマンドを使って原因を突き止めます。コマンドプロンプト (cmd.exe) は管理者として実行。
C:\Windows\system32>powercfg /energy トレースを 60 秒間有効にしています... システムの動作を監視しています... トレース データを分析しています... 分析が完了しました。 エネルギー効率の問題が見つかりました。 9 個のエラー 7 個の警告 16 個の情報 詳細については、C:\Windows\system32\energy-report.html を参照してください。 C:\Windows\system32>
出力された energy-report.html を見ると…
システムの利用可能性の要求:システムが必要な要求
デバイスまたはドライバーによって、システムが自動的にスリープ状態にならないようにする要求が行われました。
要求しているドライバー インスタンス HDAUDIO\FUNC_01&VEN_14F1&DEV_5069&SUBSYS_17AA2156&REV_1003\4&3ad39c8&0&0001
要求しているドライバー デバイス Conexant 20585 SmartAudio HD
オーディオデバイス Conexant 20585 のデバイスドライバがスリープの邪魔をしているようです。更に詳しく調べます。
C:\Windows\system32>powercfg /requests DISPLAY: なし。 SYSTEM: [DRIVER] Conexant 20585 SmartAudio HD (HDAUDIO\FUNC_01&VEN_14F1&DEV_5069&SUBSYS_17AA2156&REV_1003\4&3ad39c8&0&0001) 現在 1 つのオーディオ ストリームが使用中です。 AWAYMODE: なし。 C:\Windows\system32>
やっぱり Conexant 20585 のデバイスドライバが原因のようです。ということで修正します。
C:\Windows\system32>powercfg /requestsoverride DRIVER "Conexant 20585 SmartAudio HD" SYSTEM C:\Windows\system32>
念のため確認。
C:\Windows\system32>powercfg /requestsoverride [SERVICE] [PROCESS] [DRIVER] Conexant 20585 SmartAudio HD SYSTEM C:\Windows\system32>
という感じ。もし不具合がある場合は以下のコマンドで元に戻します。
C:\Windows\system32>powercfg /requestsoverride DRIVER "Conexant 20585 SmartAudio HD" DRIVER C:\Windows\system32>
とりあえず自動でスリープに移行することが確認できました。ホッ。