USB Type-C 手動相互運用性テスト手順
この記事では、USB Type-C 対応システムと Windows の相互運用性をテストする方法について説明します。 USB Type-C コネクタを公開するシステムおよびデバイスに対して、デバイスおよびシステムの製造元がさまざまな機能テストとストレス テストを実行するためのガイドラインを提供します。 USB.ORG からダウンロードできる公式 USB 仕様と xHCI 相互運用性テスト手順に精通していることを前提としています。
USB Type-C ConnEx ボードを使用してこれらのテストを実行するには、「USB Type-C ConnEx を使用した USB Type-C システムのテスト」をご覧ください。
テスト製品は、次のカテゴリの 1 つ以上に属することができます。
- システム: Type-C USB ポートが装備されているデスクトップ、ノート PC、タブレット、サーバー、または電話。 デスクトップ エディション (Home、Pro、Enterprise、Education)、Windows 10 Mobile、その他のバージョンの Windows 10 など、Windows 10 のバージョンがシステムで実行されている必要があります。
- ドック: 複数のポートが装備された USB Type-C デバイス。
- デバイス: システムまたはドックに接続できる Type-C ポートを備えた任意の USB デバイス。 このカテゴリには、従来の USB デバイスと、USB Type-C 仕様で定義されているアクセサリおよび代替モードをサポートするデバイスが含まれます。
公式仕様と手順
USB Type-C 相互運用性テスト手順は、機能テスト (FT) とストレス テスト (ST) の 2 つのセクションに分かれています。 各テスト セクションでは、テスト ケースについて説明し、テストに適用されるカテゴリを識別します。 製品は、該当するカテゴリ全体に対してテストする必要があります。 特定のテスト ケースには、関連するヒントへのリンクと、追加情報としてのヒントが含まれています。 このドキュメントでは、USB Type-C の機能とエクスペリエンスについて説明します。 USB Type-C ソリューションには、USB ハブや USB コントローラーなどの他の USB コンポーネントが含まれていることがあります。 USB ハブとコントローラーの詳細なテストについては、USB-IF の xHCI 相互運用性テスト手順と Windows ハードウェア認定キットの両方で説明されています。
- デバイス列挙: デバイス列挙の主要な側面が機能していることを確認します。
- システム ブート: 製品が通常のシステム ブートを阻害していないことを確認します。
- システム電源切り替え: システムの電源遷移と低電力状態からのウェイクアップ機能が製品の影響を受けていないかどうかをテストします。
- セレクティブ サスペンド: セレクティブ サスペンド遷移を確認します。
- ドック識別: ドック内のデバイス記述子が適切に実装されていることを確認します。
- 代替モード ネゴシエーション: サポートされている代替モードを確認します。
- 充電と電源供給 (PD): USB Type-C を使用した充電を確認します。
- ロール スワップ: ロール スワップを確認します。
ストレス テスト セクションでは、一定期間にわたってデバイスの安定性をテストするストレスおよびエッジ ケース シナリオの手順について説明します。 ストレス テストには、従来の USB 検証 (USB Type-C 以外) 用のカスタム デバイスである マイクロソフト USB テスト ツール (MUTT) デバイスが必要です。 今後の USB Type-C テスト デバイスでは、追加のテストと自動化を実現できます。
- システム電源遷移: システム電源イベントの繰り返し後に製品の信頼性をテストします。
- 転送イベント: 複数の転送イベントと接続イベントを生成します
- プラグ アンド プレイ (PnP): さまざまな PnP シーケンスを生成します。
- デバイス トポロジ: 製品でさまざまなデバイスとトポロジをテストします。
FT ケース 1: デバイス列挙
適用対象: システム、ドック、デバイス
デバイス列挙が機能していることを確認するには、次のようにします。
テスト システムを再起動し、Windows にログオンします。
テスト システムでデバイス マネージャーを開きます。 [スタート] から、[検索] テキスト ボックスに「devmgmt.msc」と入力します。
デバイスを USB Type-C 対応システムに接続します。 必要に応じて、デバイスの電源がオンになっているか、外部電源に接続されていることを確認します。
- システム: USB Type-C デバイスをシステムに接続します。
- デバイス: USB Type-C 対応システムにデバイスを接続します。
- ドック: USB 3.0 デバイスと、代替モードをサポートしている USB Type-C デバイス、または USB Type-C アクセサリである USB Type-C デバイスをドックに接続します。 ドックをシステムに接続します。
デバイス ノードがデバイス マネージャーに追加されていることを確認します。 詳しくは、「デバイスの追加を確認する方法」をご覧ください。
接続されているデバイスがエラーなしで機能することを確認します。
デバイスを切断し (該当する場合はドック)、デバイス マネージャーで変更を確認します。 ドックとデバイスがデバイス マネージャーに表示されてはなりません。 詳しくは、「デバイスの削除を確認する方法」をご覧ください。
USB Type-C ケーブルの向きを反転または逆向きにし、手順 3 ~ 6 を繰り返します。
FT ケース 2: システム ブート
適用対象: システム、ハブ、デバイス
テスト対象の製品が通常のシステム ブート プロセスを阻害しないことを確認するには**
テスト システムを再起動し、Windows にログオンします。
次の USB デバイスを、USB Type-C ポートが装備されたシステムに接続します。
システム: 次の図に示すように、USB Type-C から USB Type-A アダプターを使用して、これらのデバイスをシステムに装備された USB Type-C ポートに接続します。
- USB ハブ
- USB キーボード
- USB 3.0 フラッシュ ドライブ
ドック: これらのデバイスをテスト中のドックに装備されているポートに接続します。
- USB ハブ
- USB キーボード
- USB 3.0 フラッシュ ドライブ
デバイス: システムに装備された USB Type-C ポートにデバイスを接続します。
テスト システムでデバイス マネージャーを開きます。 [スタート] から、[検索] テキスト ボックスに「devmgmt.msc」と入力します。
デバイス ノードがデバイス マネージャーに追加されていることを確認します。 詳しくは、「デバイスの追加を確認する方法」をご覧ください。
システムを再起動します。システムがシャットダウンして正常に起動することを確認します。 システム障害 (存在する場合) を調査します。
システムまたはドックのテストの場合、次の内容を確認します。
- USB フラッシュ ドライブは UEFI/BIOS によって起動可能なメディアとして認識され、システムはそこから起動できます。
- USB キーボードは UEFI/BIOS によって認識され、UEFI/BIOS の入力に使用できます。
システムの起動後、デバイスがデバイス マネージャーに表示されており、適切に列挙されていることを確認します。
接続されているすべてのデバイスのデバイス機能を検証します。
システムの場合は、USB Type-C ドックをシステムに接続し、これらのデバイスをドックに接続して、手順 3 ~ 8 を繰り返します。
- USB ハブ
- USB キーボード
- USB 3.0 フラッシュ ドライブ
FT ケース 3: システム電源遷移
適用対象: システム、ドック、デバイス
システムの電源遷移と、低電力状態からのウェイクアップ機能が製品の影響を受けていないことを確認するには
- テスト システムを再起動し、Windows にログオンします。
- USB 3.0 ハブを、システム上に装備された USB Type-C ポートに接続します。 詳細については、「データベース内のデータに接続する方法」を参照してください。
- USB デバイスをハブに接続します。
- テスト システムでデバイス マネージャーを開きます。
- デバイスがデバイス マネージャーに追加されていることを確認します。 詳しくは、「デバイスの追加を確認する方法」をご覧ください。
- 以下で説明するスタート メニューまたは自動化を使用して、スリープや休止状態などの低電力状態にシステムを送信します。
- システムを低電力状態からウェイクアップします。 デバイスがリモート ウェイクをサポートしている場合、デバイスを使用してシステムをスリープ解除します。 詳しくは、システム ウェイクアップの手順に関するセクションをご覧ください。 それ以外の場合、(電源ボタンまたはキーボードを使用して) システムを正常に起動します。
- デバイスがまだ機能していることを確認します。 詳しくは、「デバイスの機能を確認する方法」をご覧ください。
スリープ (S3)、休止状態 (S4)、ハイブリッド スリープなど、使用可能な他のシステム電源状態に対してこのテストを繰り返します。
Note
Windows Driver Kit (WDK) に含まれる pwrtest.exe を使用して、電源状態への移行を簡略化します。 詳細については、「PwrTest」を参照してください。
FT ケース 4: セレクティブ サスペンド
適用対象: ドック、デバイス
デバイスがセレクティブ サスペンドに移行することを確認するには
- テスト デバイスとシステムの間に USB バス アナライザーを接続します。 詳しくは、「アナライザーを使用したセレクティブ サスペンドの確認」をご覧ください。
- キャプチャ セッションを開始します。
- デバイスがセレクティブ サスペンドに入れるようにします。 デバイスにアクティブな転送がないことを確認しながら 15 秒間待ちます。 たとえば、テスト デバイスがフラッシュ ドライブの場合、開いているファイルがないことを確認します。キーボードまたはマウスの場合、デバイスをアイドル状態のままにします。
- アクションを実行し、セレクティブ サスペンド状態からデバイスを起動します。 たとえば、フラッシュ ドライブでファイルを開きます。キーボードの場合、キーを押すか、マウスを動かします。
- アナライザーで、デバイスがセレクティブ サスペンド状態に入っていることを確認します。
セレクティブ サスペンドの追加情報は、次のソースから入手できます。
FT ケース 5: ドック識別
適用対象: ドック
- テスト システムを再起動し、Windows にログオンします。
- USB Type-C ドックをシステムに接続します。
- ドックの状態が正しく識別されていることを確認します。
FT ケース 6: 代替モード ネゴシエーション
適用対象: システム、ドック、デバイス
サポートされているモードの代替モード ネゴシエーションを確認する
テスト システムを再起動し、Windows にログオンします。
テスト システムでデバイス マネージャーを開きます。 [スタート] から、[検索] テキスト ボックスに「devmgmt.msc」と入力します。
代替モード対応 USB Type-C デバイスをシステム上の代替モード対応 USB Type-C ポートに接続します。デバイスとシステムの両方が少なくとも 1 つの代替モードを共有していること、および必要に応じて、デバイスに電源が供給されているか外部電源に接続されていることを確認します。
Note
Type-C ドングル/アダプターの場合、適切な周辺機器の電源がオンになっており、ドングル/アダプターの Type-C 以外の端に接続されていることを確認します。
代替モード デバイスがデバイス マネージャーに追加されていることを確認します。 場合によっては、代替モード デバイスがモニター デバイスまたは別のバス デバイスとして表示されることがあります。 詳しくは、「デバイスの追加を確認する方法」をご覧ください。
デバイスを切り離し、デバイス マネージャーの変更を確認します。 ハブとデバイスがデバイス マネージャーに表示されなくなります。 詳しくは、「デバイスの削除を確認する方法」をご覧ください。
USB Type-C ケーブルの向きを反転または逆向きにし、手順 2 ~ 5 を繰り返します。
FT ケース 7: 充電と電源供給 (PD)
適用対象: USB 電源供給プロトコルをサポートするシステム、ドック、デバイス
USB Type-C での充電を確認する
USB-IF で定義されている USB 電源供給テストを実行します。
テスト システムを再起動し、Windows にログオンします。
システムの場合、次の手順を実行します。
- 2 つのシステムを USB Type-C ケーブルで接続します。 1 つのシステムのみ電流を受け取っていることを確認します。
- システムに複数の USB Type-C ポートが搭載されている場合、同じシステム上の 2 つの USB Type-C ポートを USB Type-C ケーブルで接続します。 システムが (自身に) 充電中でないことを確認します。
- バンドルされた USB Type-C 充電器 (バンドルされている場合) をシステムの USB Type-C ポートに接続します。 システムが充電中であることを確認します。
- 他のソースの USB Type-C 充電器を使用して、上記の手順 3c を繰り返します。
- USB Type-C デバイスを、USB Type-C ポートが搭載されているシステムに接続します。 デバイスが電流を受け取っていることを確認します。
ドックの場合、次の手順を実行します。
- USB Type-C ケーブルを使用して USB Type-C 対応システムにドックを接続します。
- ドックが接続されているシステムが充電中であることを確認します。
デバイスの場合、次の手順を実行します。
- USB Type-C 対応システムにデバイスを接続します。 デバイスがシステムから電力を受け取ることを確認します。
- (オプション) USB Type-C 対応システムにデバイスを接続します。 デバイスがシステムを充電していることを確認します。
FT ケース 8: ロール スワップ
適用対象: システム
ロール スワップを確認する
- テスト システムを再起動し、Windows にログオンします。
- 2 つのシステムを USB Type-C ケーブルで接続します。
- 各システムの現在のロールを確認します。
- ロールをスワップするのに必要な手順を実行します。
- 各システムの現在の役割が変更されたことを確認します。
ST ケース 1: システム電源遷移
適用対象: システム、ドック、デバイス
- テスト システムを再起動します。
- USB SuperMUTT デバイスを、搭載されている USB Type-C ポートに接続します。
- DF - IO 中のスリープ テストを実行します。
- USB Type-C テスト デバイスで手順 3 を繰り返します。
ST ケース 2: 転送イベント
適用対象: システム、ドック、デバイス
- テスト システムを再起動します。
- USB SuperMUTT デバイスを、搭載されている USB Type-C ポートに接続します。
- DF - IO 前後のリブート/再起動テストを実行します。
- USB Type-C テスト デバイスで手順 3 を繰り返します。
ST ケース 3: プラグ アンド プレイ
適用対象: システム、ドック、デバイス
- テスト システムを再起動します。
- USB SuperMUTT デバイスを、搭載されている USB Type-C ポートに接続します。
- DF - IO 前後のスリープと PNP テストを実行します。
- USB Type-C テスト デバイスで手順 3 を繰り返します。
ST ケース 4: デバイス トポロジ
適用対象: システム、ドック、デバイス
テスト システムを再起動します。
USB Type-C A/V アダプターを使用して、次の図に示すように、A/V アダプターのすべてのポートを接続して、すべての機能を使用できるようにします。
テスト対象のシステムに追加の USB Type-C ポートがある場合、手順 2 を繰り返します。
DF - IO 中のスリープ テストを実行します。
Note
テスト中、USB Type-C A/V ドングル経由で接続されたデバイスによる誤動作 (ビデオの歪みやオーディオのドロップオフなど) がないことを確認します。
機能システム相互運用性テスト計画
予想される時間: 20 分
この計画の目的は、システムがさまざまな種類の周辺機器と充電器で動作するかどうかを判断することです。 このテスト計画では、システムの OEM 以外のソースからのテストに重点を置いています。
システム: Windows 10Windows 10 システム (PC、タブレット、または電話) と、搭載されている USB Type-C ポート。
周辺機器
- USB Type-A から USB Type-C アダプター - USB 3.0 ハブ - USB マウス - USB 3.0 フラッシュ ドライブ
- USB Type-C ストレージ ドライブ
- USB Type-C ビデオ (ドングルは許容されます)
電源: USB Type-C 充電器
FT ケース 1: USB Type-C ドングルのデバイス列挙を実行します。 各デバイスが列挙され、正常に機能することを確認します。 この図は、USB Type A ドングルをテストするために推奨されるトポロジを示しています。
FT ケース 6: リスト内の残りの周辺機器の代替モード ネゴシエーションを実行します。 各デバイスが列挙され、正常に機能することを確認します。
FT ケース 7: USB Type-C 充電器を使用した充電と電源供給 (PD) の短縮版を実行します。 2 台のコンピューターが必要なセクションをスキップし、システムにサード パーティの電源アダプターで充電できる (電力を受け入れる) ことのみ確認します。
ユーザビリティ システムの相互運用性テスト計画
予想される時間: 60 分
この計画の目的は、このシステムが USB Type-C 周辺機器で最も一般的なユーザー シナリオを実行できるかどうかを判断することです。 このテスト計画では、機能システム相互運用性テスト計画に記載されているテストが正常に完了していることを前提とします。 ユーザビリティ テスト計画では、一般的なユーザー、システム、デバイスのシナリオに重点を置いています。
システム: Windows 10Windows 10 システム (PC、タブレット、または電話) と、搭載されている USB Type-C ポート。
周辺機器
- USB Type-A から USB Type-C アダプター - USB 3.0 ハブ - USB マウス - USB 3.0 フラッシュ ドライブ
- USB Type-C ストレージ ドライブ
- USB Type-C ビデオ (ドングルは許容されます)
- USB Type-C A/V ドングル (ビデオ、USB、場合によってはオーディオを 1 つのアダプターとして搭載)
電源: 異なるサプライヤーの 2 つの USB Type-C 充電器。
USB - Type-C ドングルを使用して、リスト内の各周辺機器の FT ケース 3: システム電源遷移を実行します。 各デバイスが列挙され、システムの電源状態が変化する前と後に正常に機能することを確認します。
- 次の図に示すように、USB Type-A - USB Type-C アダプターを構成します。
次の図に示すように、USB Type-C A/V ドングルを構成します。
前の図に示すように構成された USB Type-C A/V ドングルのみで FT ケース 2: システム ブートを実行し、以下のシナリオを検証します。
- システムは、すべてのデバイスが接続された状態で起動し、USB Type-C A/V ドングルを通じて接続されたモニターにビデオが表示されます。
- システムは、USB Type-C A/V ドングルを通じて接続された USB ディスクから起動します。
完全な相互運用性テスト計画
予想される時間: 180 分以上
完全な相互運用性テスト計画では、より大規模なユーザー シナリオのセットについて説明します。 デバイスのシステムが USB-IF 認定を準備しているとき、これらのテストを実行します。
システム
- Windows 10Windows 10 システム (PC、タブレット、または電話) と、搭載されている USB Type-C ポート。
- 追加の Windows 10Windows 10 システム (PC、タブレット、または電話) と、搭載されている USB Type-C ポート。 USB Type-C ポートが搭載されているシステム (PC、タブレット、または電話)。 別の製品ラインまたは OEM によるシステムをお勧めします。
周辺機器
- USB Type-A - Type-C アダプター USB Type-A - USB Type-C アダプター - USB 3.0 ハブ - USB マウス - USB 3.0 フラッシュ ドライブ
- USB Type-C ストレージ ドライブ - USB Type-C ビデオ (ドングルは許容されます) - USB Type-C A/V ドングル (ビデオ、オーディオ、USB を 1 つのユニットとして搭載)
電源: 異なるサプライヤーの 2 つの USB Type-C 充電器。
すべての機能ストレス テスト ケースを実行します。 USB Type-C A/V の推奨される構成を次の図に示します。
デバイスの追加を確認する方法
- デバイスが接続されている USB ホスト コントローラーを特定します。
- 新しいデバイスがデバイス マネージャーの正しいノードの下に表示されていることを確認します。
- USB 3.0 ポートに接続されている USB 3.0 ハブの場合、USB 3.0 のダウンストリームとフル スピード ハブのダウンストリームの 2 つのデバイスが表示されます。
デバイスの取り外しを確認する方法
- デバイス マネージャーでデバイスを識別します。
- システムからデバイスを削除するテスト手順を実行します。
- デバイスがデバイス マネージャーにもう存在しないことを確認します。
- USB 3.0 ハブの場合は、両方のデバイス (SuperSpeed とコンパニオン ハブ) が削除されていることを確認します。 この場合にデバイスの削除が失敗する場合は、デバイス エラーの可能性があるので、適切な根本原因のトリアージを行うために、関連するすべてのコンポーネントで調査する必要があります。
デバイスの機能を確認する方法
- デバイスが USB ハブの場合、ハブのダウンストリームにあるデバイスが機能していることを確認します。 ハブ上の使用可能なポートに他のデバイスを接続できることを確認します。
- デバイスが HID デバイスの場合、その機能をテストします。 USB キーボードが入力され、USB マウスがカーソルを移動し、ゲーム デバイスがゲーム コントローラーのコントロール パネルで機能していることを確認します。
- USB オーディオ デバイスは、サウンドの再生や録音を行う必要があります。
- ストレージ デバイスにアクセス可能で、ファイル 200MB 以上のサイズをコピーできる必要があります。
- デバイスにスキャンや印刷などの複数の機能が搭載されている場合、スキャンと印刷の両方の機能をテストしてください。
- デバイスが USB Type-C の場合、該当する USB モードと代替モードが機能していることを確認します。
デバイスをシステムに接続する方法
- USB 3.x デバイスで、テスト デバイスに適した USB 3.x ケーブルが使用されていることを確認します。
- デバイスがシステムによって認識されない場合、同じ種類の別のケーブルでデバイスを接続し、不良ケーブルまたはコネクタのチェックを試みます。
システム ウェイクアップのトラブルシューティング
システムをウェイクアップできないデバイスのトラブルシューティングを行うには、次のようにします。
- デバイスがウェイクアップ可能であることを確認します。
- デバイスが接続されているホスト コントローラーが、システムをウェイクアップするよう設定されていることを確認します。
不足している電源状態のトラブルシューティング
テスト システムがスリープ状態または休止状態に到達できない場合、システム内のすべてのデバイスに最新のデバイス ドライバーがインストールされていることを確認します。 最も一般的な原因の 1 つは、システムでサポートされていないビデオ カードです。
ETW を使用して問題をログに記録する
USB 2.0 ポートに対して ETW を有効にするには、「Windows 7 USB コア スタックの ETW」をご覧ください。
USB 3.0 ログを有効にするには、代わりに次のコマンドを実行します (または、「Logman で USB イベント トレースをキャプチャする方法」をご覧ください)。
logman start usbtrace -ets -o usbtrace.etl -nb 128 640 -bs 128
logman update usbtrace -ets -p Microsoft-Windows-USB-UCX Default
logman update usbtrace -ets -p Microsoft-Windows-USB-USBHUB3 Default
これらのログがキャプチャされたら、テスト シナリオを実行します。
次のコマンドを使用してトレースを停止します。
logman stop usbtrace -ets
アナライザーを使用してセレクティブ サスペンドを確認する
USB 2.0 および 3.0 トラフィックを分析するには、LeCroy Voyager M3i、Advisor T3、TotalPhase Beagle 5000 などの USB アナライザー デバイスが必要です。 これらのアナライザーは、セレクティブ サスペンド機能を確認するのに必要なリンク状態情報をキャプチャして表示できます。
たとえば、TotalPhase アナライザーを使用してトラフィックをキャプチャすると、出力に次のようなイベントが表示されます。
テスト中デバイスが中断状態に移行する必要がある場合、上記の<中断>イベントを、デバイスが中断状態になると予想した時刻と関連付けることができます。
アナライザーを使用して LPM U1 と U2 の遷移を確認する
アナライザー トレースは、すべてのリンク状態遷移を明示的に示す必要があります。ステートメントは、イベントで "Rx U0 -> U2" として表示されます。 たとえば、LeCroy ソフトウェアを使用することにより、[レポート] タブで [USB3 リンク状態タイミング ビュー] を選択します。 このオプションは、リンクの状態を時間軸に表示します。 アナライザーで U1 から U2 への遷移が正しく表示されないことがある点に注意してください。 リンク状態が U1 にになっているにもかかわらず、U2 から回復していると表示されることがあります。
デバイス マネージャーでのセレクティブ サスペンドの無効化
デバイス マネージャーの USB デバイスでセレクティブ サスペンドを無効にするには、まずデバイス ツリーでデバイス ノードを見つけます。 この例では、次に示すハブでセレクティブ サスペンドを無効にします。
そのデバイスを右クリックし、 [プロパティ] を選択します。 次に、[電源管理] タブを選択します。
セレクティブ サスペンドを無効にするには、[コンピューターでこのデバイスの電源をオフにして電力を節約できるようにする] チェックボックスがオフになっていることを確認します。
USB Type-C ケーブルを反転または逆向きにする
USB Type-C ケーブルは、ケーブルの向きに関係なくユーザー機能を維持することを目的としています。 ケーブルを反転または逆向きにするには、ケーブルを取り外して、180 度回転させ、ケーブルを再挿入します。
テストの結果のレポート
次の詳細情報を提供してください。
- 失敗したテストの前に実行されたテストの一覧 (実行順)。
- 一覧では、失敗または合格したテストを指定する必要があります。
- テストに使用されたシステム、デバイス、ドック、またはハブ。 必要に応じて追加情報を取得できるように、メーカー、モデル、Web サイトを含めます。