またもや GPD Pocket 2 が、自動でスリープしていました。
音楽を聴いていたら、いつの間にか止まっています。
どうも、GPD Pocket 2 では、充電コードに接続していても「電源に接続中」ではなく、「バッテリー駆動」として認識されることがあるようです。
1. 電源オフのイベントログを確認する
今回は「イベントビューアー」で「Windowsログ」の「システム」を見てみます。
電源・ログインに関係ありそうなイベントを時系列順に抜き出しています。
まず、自動スリープから起動した辺りのイベントログを見てみます。
時刻 | ソース | ID | イベントログ |
---|---|---|---|
12:00 | EventLog | 6013 | システムの稼働時間は 9353 秒です。 |
12:14 | Kernel-Power | 172 | 接続がスタンバイ状態です: Connected、理由: None |
12:14 | Kernel-Power | 507 | システムがコネクト スタンバイ状態を終了します 理由: Power Button。 |
12:14 | Kernel-Power | 105 | 電源の変更。 AcOnline true RemainingCapacity 11349 FullChargeCapacity 11355 |
実際に電源を入れ直した時刻と「12:14 に 電源ボタンが押されたため、コネクトスタンバイ状態が終了している」というイベントが一致します。
次に、音楽が止まって電源が切れた時刻周辺のイベントログを見てみます。
時刻 | ソース | ID | イベントログ |
---|---|---|---|
10:35 | Time-Service | 158 | タイム プロバイダー ‘VMICTimeProvider’ は、 現在のハードウェアおよび操作環境がサポート されないことを示して停止しました。 非 HyperV ゲスト環境の VMICTimeProvider では、 これは予期された動作です。現在のプロバイダーにとっても、 これが現在の操作環境での予期された動作である場合があります。 |
10:48 | Kernel-Power | 506 | システムがコネクト スタンバイ状態になります 理由:Idle Timeout. |
11:48 | Kernel-Power | 172 | 接続がスタンバイ状態です: Disconnected、理由: 7 |
11:50ごろに音楽が止まっていたはず1で、その時刻には「接続がスタンバイ状態です:Disconnected」というイベントが記録されていました。
しかし、イベントログをみると、その1時間前には すでに「スタンバイ状態」になっていたようです。それが1時間後に「切断(Disconnected)」状態に移行したようです。
つまり、直接のスリープの原因は「Idle Timeout(待機の時間切れ)」ということになります。
1-1. 【解決】バッテリー利用時の電源オプションを変更した
あれ? でも自動スリープはオフにしていたはずだよね。
この 1時間差で思い当たるのが、電源プランの設定です。
「バッテリ駆動」に画面が消えてから スリープ状態に移行するのに1時間の差を設定していたのです。
GDP Pocket は、常に電源につないで使っていたので、「バッテリ駆動」は関係ないと思っていました。しかし、充電コードをつないでも、「バッテリ駆動」として認識されてしまうことがあるようなのです。
そういえば、タスクバーをよく見るとバッテリーアイコンに「充電中」を表す電気のマークがありません。電源モードも「バッテリー」になっています。
イベントログでも「Kernel-Power 電源の変更」というイベントがしばしばあって、RemainingCapacity が微妙に増減していました。バッテリーから電源を得ていることが伺えます。
そこで、バッテリー 利用時も 画面の消灯や スリープ への移行をなしに変更しました。
GPD Pocket 2では、電源に接続していても「バッテリー使用時」の電源オプションが適用されることがあるようです。
おそらく過充電を防ぐための仕組みの設計がうまくいっていないのだと思います。
ただ、本当にバッテリーで使用しているときでも、自動でスリープされなくなるので、ちょっと心配ではあります。
2. 「コネクトスタンバイ状態」とは?
ところで「コネクトスタンバイ」とか「Disconnected」とかって、どういう意味なの?
タブレットタイプの Windows 10 では、スリープは 2段階になっています。
いったん、浅いスリープ状態になってから、より深いスリープ状態に移行するのです。
ざっくりいうと、「コネクトスタンバイ」は「画面オフ」、「Disconnected」が本格的な「スリープ」です。
一連のイベントをまとめると、
- システムがコネクト スタンバイ状態になります 理由:Idle Timeout.
- 接続がスタンバイ状態です: Disconnected、理由: 7
- 接続がスタンバイ状態です: Connected、理由: None
- システムがコネクト スタンバイ状態を終了します 理由: Power Button。
2〜3の間が操作を受け付けないスリープ状態です。
2-1. 「モダンスタンバイ」とは?
Windows 10の「モダン スタンバイ」の仕組みを知っておく必要があります2。
Windowsの「スリープ」には、いわば「どれぐらい深い眠りなのか」というスタンバイ状態が S0〜S5 まであります。
従来からよく使われる「スリープ」は、「動作中のメモリだけを維持して電源を切る」というもので、「S3」に相当します。
一般的に「スリープ」といえば、S3 のイメージだね。
それ以外にも どこまで電源を切るかで S1〜 S4 まで分かれて設定できます。数字が大きいほどバッテリーの消費電力は抑えられますが、スリープ解除には時間がかかるようになります。
「スリープ」操作でどの状態を適用しているかは、コマンド「powercfg /A」で確認できます。
Windows 8 からは、さらに起動が速い「コネクトスタンバイ(S0)」という状態が追加されました。
スマホ・タブレットの「スリープ状態」に近い状態で、スリープ中も通知などを受け付けることができる低電力モードです。
ただし、内部ではシステムが動いているため、低電力モードの中では 比較的 バッテリーの消耗が大きいという難点があります。
そこで、Windows 10 では「モダンスタンバイ」という仕組みが追加されました。
「モダンスタンバイ」では、スリープを開始すると、まず「コネクトスタンバイ」状態にしてから、必要に応じて より電力消費の少ない「Disconneted」に切り替わります。
- システムがコネクト スタンバイ状態になります 理由:Idle Timeout.
- 接続がスタンバイ状態です: Disconnected、理由: 7
反対に、電源操作などでスリープから復帰するときは、一度 コネクトスタンバイに状態に移行して、それからスタンバイ状態が終了します。
- 接続がスタンバイ状態です: Connected、理由: None
- システムがコネクト スタンバイ状態を終了します 理由: Power Button。
終了理由コード | 終了理由 |
---|---|
0 | Unknown |
1 | 電源ボタン |
3 | SC_MONITORPOWER |
4 | ユーザー入力 |
5 | AC/DC ディスプレイ バースト |
6 | ユーザー ディスプレイ バースト |
7 | PoSetSystemState |
8 | SetThreadExecutionState |
10 | セッションのロック解除 |
11 | 画面オフ要求 |
12 | ビデオ アイドル タイムアウト (VIDEOIDLE) |
13 | ポリシーの変更 |
14 | スリープ ボタン |
15 | カバー |
16 | バッテリ数の変化 |
17 | 猶予期間 |
19 | 動的パーティション分割 |
20 | 休止状態、またはシャットダウン |
21 | システム アイドル タイムアウト (STANDBYIDLE) |
22 | 近接センサー |
23 | サーマル スタンバイ |
25 | 再開 S4 ディスプレイ バースト 4 |
26 | ターミナル |
27 | PDC シグナル |
28 | AC/DC ディスプレイ バースト抑止 |
30 | WinRT API |
31 | 入力キーボード |
32 | 入力マウス |
33 | 入力タッチパッド |
34 | 入力ペン |
35 | 入力加速度計 |
36 | 入力 HID |
37 | 入力 UserPresent |
38 | 入力 SessionSwitch |
39 | 入力初期化 |
40 | PDC シグナル: Windows Mobile 電源通知 |
41 | PDC シグナル: Windows Mobile シェル |
42 | PDC シグナル: Hey Cortana |
43 | PDC シグナル: Holographic シェル |
44 | PDC シグナル: Windows 生体認証フレームワーク フィンガープリント |
45 | 有向 DRIPS: デバイス S4 |
46 | モニター暗転 |
47 | 組み込みパネル |
48 | ディスプレイが暗転解除を要求した |
49 | バッテリ数の変化の抑止 |
50 | スリープからの切り替え |
51 | ターミナル初期化 |
52 | PDC シグナル: センサー – 人間の存在を検出 |
53 | バッテリー PreCritical |
54 | 入力タッチ |
3. Windows Updateによる再起動とイベントログ
余談ですが、この日は たまたま Windows Update の再起動を実行していました。
そのイベントログも見ておきます。
朝 9:15にスリープから起動し、 9:17 にWindows Updateの再起動を開始しました。
更新が完了して、ログイン画面が表示されたのが 9:27 でした。
前後のイベントログを見てみます。
時刻 | ソース | ID | イベントログ |
---|---|---|---|
9:15 | Kernel-Power | 172 | 接続がスタンバイ状態です: Connected、理由: None |
9:15 | Kernel-Power | 507 | システムがコネクト スタンバイ状態を終了します 理由: AC/DC Display Burst。 |
9:23 | Kernel-Power | 109 | カーネル電源マネージャーがシャットダウンへの切り替えを開始しました。 シャットダウンの理由: Kernel API |
9:24 | Kernel-Boot | 20 | 前回のシャットダウンの成功状態は true でした。前回のブートの成功状態は true でした。 |
9:27 | Winlogon | 7001 | カスタマー エクスペリエンス向上プログラムのユーザー ログオン通知 |
9:23 に記録されているイベント
- カーネル電源マネージャーがシャットダウンへの切り替えを開始しました。 シャットダウンの理由: Kernel API
が、更新処理が終わって再起動のシャットダウンのタイミングなのでしょう。
Windows Updateの再起動だから、「Kernel API」によるシャットダウンなのかな。
4. 電源にまつわる関連した事例メモ
ノートPCはスリープ中にランダムにシャットダウンすることがようです。
2020 年 6 月に購入したDell LATITUDE 5510 でもまったく同じ問題がありました。時々完全にシャットダウンし、短い休憩後に戻ったときに応答しなくなることがありました。「ウェイクアップ」もせず、電源ボタンにも反応しません。唯一の方法は、電源ボタンを約 15 秒間押し続けて放し、もう一度電源ボタンを押すことで完全に再起動することでした。これは主に電源に接続されていないときに発生しますが、接続されている場合に発生する場合もありました。
Laptop keeps shutting down during sleep – Microsoft Community
このシャットダウン前でも「スタンバイの接続状態: 切断、理由: 7」というイベントログがあるようです。
こちらもどうぞ。
(補足)
- 切れた瞬間のパソコン画面は見えていない
- モダン スタンバイと S3 | Microsoft Learn