次の方法で共有


演習 4 - USB デバイスの問題を特定する

USB ホスト コントローラーは、接続されているすべてのデバイスが低電力状態になった後にのみ、電源を切ることができます。 つまり、画面がオフになっている間に SoC が DRIPS に入ることができるように、USB デバイスでは、モダン スタンバイ デバイスでのセレクティブ サスペンドをサポートする必要があります。

パート 1: SleepStudy レポートを使用して問題を特定する

  1. こちらから事前に生成された sleepstudy-report_2.html レポートをダウンロードします。

  2. お好みのブラウザーで sleepstudy-report_2.html を開きます。

    • スタンバイ中に、システムは、わずか 120 mW しか使用できないことに注意してください (例: スタンバイ セッション 6 を参照)。

    時間、mWh、バッテリーの割合、ドレイン状態など、システムのエネルギー消費量のデータの例を示すスクリーンショット

  3. セッション 10 をクリックします。 11 分間で 2.83 ワットの電力を消費し、DRIPS % は 0 となりました。

    コネクト スタンバイ セッション 10 の開始時間、継続時間、エネルギー変化、変化率、電力状態の割合を含むデータの例を示すスクリーンショット

  4. 上位の原因のテーブルを確認します。

    1. USB ホスト コントローラー (_SB.PCI0.XHC) は、セッション期間の 99% はアクティブです。

    2. XHC は、USB 3.0 ホスト コントローラーです。

スクリーンショットは、上位の犯罪者の表の例を示しています。

モダン スタンバイで USB バス コントローラーが一度に数分間アクティブになっている場合、通常は、バスに接続された 1 つの USB デバイスがセレクティブ サスペンドになっていないことを意味します。これは、セレクティブ サスペンドがサポートされていないことが原因である可能性があります。 次の論理的な手順では、ETL トレースを参照して、どの USB デバイスが D0 に保持されているかを判断します。

セレクティブ サスペンドの詳細については、MSDN の「USB セレクティブ サスペンド」を参照してください。

パート 2: ETL トレースを使用した問題の特定

USB をさらに調査するために、SleepStudy が生成されたのと同じシステムで ETL トレースがキャプチャされました。

USB の問題を調査するには、Dstate グラフとテーブルを使用します。

  1. こちらから事前に生成された USBProblem.etl トレースをダウンロードします。

  2. WPA を使用して、事前に生成された USBProblem.etl を開きます。

  3. [分析] タブの [DRIPS] グラフをドラッグ アンド ドロップします。

  4. [DRIPS 以外の理由] を確認し、USB xHCI ホスト コントローラーをデバイスとして検出して、システムが DRIPS に入らないようにします。

    • デバイスがトレースの 98% でアクティブであることがわかります ([% Reason Time] 列に示されているように)。

      WPA を使用したサンプル データのスクリーンショット。

  5. USB xHCI ホスト コントローラーがアクティブになっている領域を拡大します。

    1. テーブル内のデバイスを選択します。

    2. グラフの薄い青色の空間を右クリックし、[ズーム] を選択します。

    3. [% Reason Time] が 100% になります。

    [Responsible Component]\(責任あるコンポーネント\) 列で拡大された WPA のスクリーンショット

  6. グラフ エクスプローラー[電源] カテゴリで[デバイスの D 状態] グラフを見つけます。

    Power、CPU 周波数、CPU アイドル状態、デバイス Dstate グラフで拡大された WPA のスクリーンショット

  7. [分析] タブに [デバイスの D 状態] グラフをドラッグ アンド ドロップします。

    • [デバイスの D 状態] グラフには、時間の経過に伴うデバイスの有効な D 状態が表示されます。 このデータを使用すると、システムがモダン スタンバイ状態のときに特定のデバイスが適切な D 状態になるかどうかを判断できます。

      • PoFx 型: Windows の電源管理フレームワークによって管理されるデバイスに使用されます。

      • 非 PoFx 型: USB 接続デバイスに使用されます。

  8. [D 状態] 列を [型] 列の右横に移動します。 ビューポートは次のようになります。

    DState データの例を示すスクリーンショット。

  9. [非-PoFX] カテゴリを展開します。

  10. [D 状態] 行を 0x0 の値 ([D0 状態]、または [アクティブ]) で展開します。

  11. [名前] 列で並べ替え、USB デバイスを検索します。

    USB デバイスに基づく DState データの例を示すスクリーンショット。

D 状態のテーブルのデータは、システムがスタンバイ状態のときに、USB 複合デバイスが常に D0 の状態であったことを示しています。 複合デバイスのハードウェア ID は、USB\VID_0BB4&PID_0BA1\00000015B42EE80F0000000000000000 です。 このデバイスは、XHCI コントローラーの電源が切断されるのを防いでいました。

デバイスが Microsoft で作成したドライバーによって管理されている場合は、Microsoft に問題を報告してください。 それ以外の場合は、この情報をドライバーを所有するハードウェア ベンダーに報告し、ソリューションを見つけ、デバイスがセレクティブ サスペンドになることを確認する必要があります。