USB 类型 C 手动互操作性测试过程

本文介绍如何测试已启用 USB 类型 C 的系统和 Windows 的互操作性。 它为设备和系统制造商提供了指南,用于对公开 USB Type-C 连接器的系统和设备执行各种功能和压力测试。 它假定读者熟悉官方 USB 规范和 xHCI 互操作性测试过程,可从 USB.ORG 下载。

若要使用 USB Type-C ConnEx 板运行这些测试,请参阅 使用 USB Type-C ConnEx 测试 USB Type-C 系统

测试产品可以属于以下一个或多个类别:

  • 系统:台式机、笔记本电脑、平板电脑、服务器或具有公开的 Type-C USB 端口的手机。 系统必须运行Windows 10版本,例如桌面版本的Windows 10, (家庭版、专业版、企业版和教育版) 、Windows 10 移动版或其他版本。
  • 扩展坞:公开多个端口的任何 USB 类型 C 设备。
  • 设备:具有可连接到系统或扩展坞的 Type-C 端口的任何 USB 设备。 此类别包括传统的 USB 设备,以及支持 USB 类型 C 规范中定义的附件和备用模式的设备。

官方规范和过程

USB Type-C 互操作性测试过程分为两个部分:功能测试 (FT) 和压力测试 (ST) 。 每个测试部分描述测试用例,并标识应用于测试的类别。 产品必须针对整个适用类别进行测试。 某些测试用例包含指向相关提示和提示的链接,以获取其他信息。 本文档重点介绍 USB 类型 C 功能和体验。 USB 类型 C 解决方案可能包含其他 USB 组件,例如 USB 集线器或 USB 控制器。 USB-IF 的 xHCI 互操作性测试过程 和 Windows 硬件认证工具包中介绍了 USB 集线器和控制器的详细测试。

压力测试部分介绍压力和边缘案例方案的过程,这些方案在一段时间内测试设备稳定性。 压力测试需要自定义设备( Microsoft USB 测试工具 (MUTT) 设备)进行旧版 USB 验证 (非 USB 类型 C) 。 可通过即将推出的 USB Type-C 测试设备实现其他测试和自动化。

FT 案例 1:设备枚举

适用于:系统、扩展坞、设备

若要确认设备枚举是否正常工作,请执行以下操作:

  1. 重启测试系统并登录到 Windows。

  2. 在测试系统上打开设备管理器。 在“开始”菜单“搜索”文本框中键入 devmgmt.msc

  3. 将设备连接到已启用 USB Type-C 的系统。 如有必要,请确保设备已打开电源或连接到外部电源。

    • 系统:将任何 USB 类型 C 设备连接到系统。
    • 设备:将设备连接到已启用 USB 类型 C 的系统。
    • 扩展坞:将任何 USB 3.0 设备和支持备用模式或 USB 类型 C 附件的任何 USB 类型 C 设备连接到扩展坞。 将扩展坞连接到系统。
  4. 确认设备节点已添加到 设备管理器 中。 有关详细信息,请参阅 如何确认设备添加

  5. 确认插入的设备正常运行且没有错误。

  6. 断开设备 (并停靠(如果适用)) 并观察设备管理器的变化。 扩展坞和设备不应显示在设备管理器中。 有关详细信息,请参阅 如何确认设备删除

  7. 翻转或反转 USB Type-C 电缆的方向,并重复步骤 3 到 6。

FT 案例 2:系统启动

适用于:系统、中心、设备

确认受测产品不会阻止正常的系统启动过程**

  1. 重启测试系统并登录到 Windows。

  2. 使用公开的 USB 类型 C 端口将以下 USB 设备连接到系统:

    • 系统:使用 USB 类型 C 到 USB Type-A 适配器将这些设备连接到系统的公开 USB 类型 C 端口,如下图所示:

      USB 类型 C 配置示意图。

      • USB 集线器
      • USB 键盘
      • USB 3.0 闪存驱动器
    • 扩展坞:将这些设备连接到受测扩展坞上公开的端口。

      • USB 集线器
      • USB 键盘
      • USB 3.0 闪存驱动器
    • 设备:将设备连接到系统公开的 USB 类型 C 端口。

  3. 在测试系统上打开设备管理器。 在“开始”菜单“搜索”文本框中键入 devmgmt.msc

  4. 确认设备节点已添加到 设备管理器 中。 有关详细信息,请参阅 如何确认设备添加

  5. 重启系统;确保系统已关闭并正确启动。 调查系统故障(如果有)。

  6. 对于系统或停靠测试,请确认以下内容:

    • U 盘被 UEFI/BIOS 识别为可启动媒体,系统可以从中启动。
    • USB 键盘由 UEFI/BIOS 识别,可用于输入 UEFI/BIOS。
  7. 系统启动后,确认设备出现在设备管理器中,指示它们已正确枚举。

  8. 验证所有附加设备的设备功能。

  9. 对于系统,通过将 USB Type-C 扩展坞连接到系统(这些设备连接到扩展坞)重复步骤 3 到 8。

    • USB 集线器
    • USB 键盘
    • USB 3.0 闪存驱动器

FT 案例 3:系统电源转换

适用于:系统、扩展坞、设备

确认系统的电源转换和从较低功率状态唤醒功能不受产品的影响

  1. 重启测试系统并登录到 Windows。
  2. 将 USB 3.0 集线器连接到系统上公开的 USB 类型 C 端口。 有关详细信息,请参阅 如何将设备连接到系统
  3. 将 USB 设备连接到集线器。
  4. 在测试系统上打开设备管理器
  5. 确认设备管理器中添加了设备。 有关详细信息,请参阅 如何确认设备添加
  6. 通过下述开始菜单或自动化将系统发送到低功耗状态,例如睡眠或休眠。
  7. 将系统从较低功率状态唤醒。 如果设备支持远程唤醒,请使用该设备唤醒系统。 有关详细信息,请参阅 排查系统唤醒问题。 否则,通常使用电源按钮或键盘) 唤醒系统 (。
  8. 确认设备是否仍正常工作。 有关详细信息,请参阅 如何确认设备功能

针对其他可用的系统电源状态重复此测试:睡眠 (S3) 、休眠 (S4) 和混合睡眠。

注意

使用 Windows 驱动程序工具包 (WDK) 中包含的 pwrtest.exe 来简化到电源状态的转换。 有关详细信息,请参阅 PwrTest

FT 案例 4:选择性暂停

适用于:扩展坞、设备

确认设备是否转换为选择性挂起

  1. 在测试设备和系统之间连接 USB 总线分析器。 有关详细信息,请参阅 使用分析器确认选择性挂起
  2. 启动捕获会话。
  3. 允许设备进入选择性挂起。 等待 15 秒,同时确保设备上没有活动传输。 例如,如果测试设备是闪存驱动器,请确保未打开任何文件;对于键盘或鼠标,请将设备保持空闲状态。
  4. 通过执行操作,将设备从选择性挂起状态唤醒。 例如,在闪存驱动器上,打开文件;对于键盘,请按一个键,或移动鼠标。
  5. 在分析器中,验证设备是否已进入选择性挂起状态。

可从以下来源找到选择性挂起的其他信息:

FT 案例 5:停靠标识

适用于:Dock

  1. 重启测试系统并登录到 Windows。
  2. 将 USB Type-C 扩展坞连接到系统。
  3. 确保正确标识停靠状态。

FT 案例 6:备用模式协商

适用于:系统、扩展坞、设备

确认支持模式的备用模式协商

  1. 重启测试系统并登录到 Windows。

  2. 在测试系统上打开设备管理器。 在“开始”菜单“搜索”文本框中键入 devmgmt.msc

  3. 将启用了备用模式的 USB Type-C 设备连接到系统上已启用备用模式的 USB Type-C 端口;确保设备和系统共享至少一种通用备用模式,并且设备已供电或连接到外部电源(如有必要)。

    注意

    对于 Type-C 硬件保护装置/适配器,请确保打开相应的外围设备并连接到硬件保护装置/适配器的非 Type-C 端。

  4. 确认在 设备管理器 中添加了备用模式设备。 在某些情况下,备用模式设备可能显示为监视设备或其他总线设备。 有关详细信息,请参阅 如何确认设备添加

  5. 断开设备连接并观察设备管理器中的更改。 中心和设备不应再显示在设备管理器中。 有关详细信息,请参阅 如何确认设备删除

  6. 翻转或反转 USB Type-C 电缆的方向,并重复步骤 2-5。

FT 案例 7:充电和供电 (PD)

适用于:支持 USB 电源传输协议的系统、扩展坞、设备

确认使用 USB Type-C 充电

  1. 执行 USB-IF 定义的 USB 电源传输测试

  2. 重启测试系统并登录到 Windows。

  3. 对于系统,请执行以下步骤:

    1. 使用 USB Type-C 电缆将两个系统连接在一起。 确认只有一个系统正在接收最新消息。
    2. 如果系统包含多个 USB Type-C 端口,请使用 USB Type-C 电缆连接同一系统上的两个 USB Type-C 端口。 确认系统未自行 () 充电。
    3. 如果捆绑) 将捆绑的 USB Type-C 充电器 (连接到系统的 USB Type-C 端口。 确认系统正在充电。
    4. 使用来自其他源的 USB Type-C 充电器重复上述步骤 3c。
    5. 将 USB Type-C 设备连接到公开的 USB Type-C 端口的系统。 确认设备正在接收最新消息。
  4. 对于扩展坞,请执行以下步骤:

    1. 使用 USB Type-C 电缆将扩展坞连接到已启用 USB Type-C 的系统。
    2. 确认扩展坞正在为连接的系统充电。
  5. 对于设备,请执行以下步骤:

    1. 将设备连接到已启用 USB Type-C 的系统。 确认设备从系统接通电源。
    2. (可选) 将设备连接到已启用 USB Type-C 的系统。 确认设备将为系统充电。

FT 案例 8:角色交换

适用于:系统

确认角色交换

  1. 重启测试系统并登录到 Windows。
  2. 使用 USB Type-C 电缆将两个系统连接在一起。
  3. 确认每个系统的当前角色。
  4. 执行必要的步骤来交换角色。
  5. 确认每个系统的当前角色已更改。

ST 案例 1:系统电源转换

适用于:系统、扩展坞、设备

  1. 重启测试系统。
  2. 将 USB SuperMUTT 设备插入公开的 USB Type-C 端口。
  3. 在测试 期间运行 DF - 使用 IO 睡眠
  4. 使用 USB Type-C 测试设备重复步骤 3。

ST 案例 2:传输事件

适用于:系统、扩展坞、设备

  1. 重启测试系统。
  2. 将 USB SuperMUTT 设备插入公开的 USB Type-C 端口。
  3. 运行 DF - 重启重启与 IO 之前和之后 测试。
  4. 使用 USB Type-C 测试设备重复步骤 3。

ST 案例 3:即插即用

适用于:系统、扩展坞、设备

  1. 重启测试系统。
  2. 将 USB SuperMUTT 设备插入公开的 USB Type-C 端口。
  3. 运行 DF - 睡眠和 PNP 与 IO 之前和之后 测试。
  4. 使用 USB Type-C 测试设备重复步骤 3。

ST 案例 4:设备拓扑

适用于:系统、扩展坞、设备

  1. 重启测试系统。

  2. 通过使用 USB Type-C A/V 适配器,连接 A/V 适配器的所有端口,以便可以使用所有功能,如下图所示:

    显示 USB Type-C A/V 适配器配置的示意图。

  3. 如果受测系统具有其他 USB Type-C 端口,请重复步骤 2。

  4. 运行 DF - 在测试期间使用 IO 睡眠

注意

在测试期间,验证通过 USB 类型 C A/V 硬件保护装置连接的设备是否没有故障,例如视频失真或音频掉落。

功能系统互操作性测试计划

预期持续时间:20 分钟

此计划的目标是确定系统是否可以使用不同类型的外设和充电器。 此测试计划侧重于从系统 OEM 以外的源进行测试。

  • 系统:Windows 10 Windows 10 系统 (具有公开 USB Type-C 端口的电脑、平板电脑或手机) 。

  • 外设

    • USB Type-A 到 USB Type-C 适配器 - USB 3.0 集线器 - USB 鼠标 - USB 3.0 闪存驱动器
    • USB 类型 C 存储驱动器
    • USB 类型 C 视频 (硬件保护装置是可接受的)
  • 电源:USB 类型 C 充电器

  • 执行 FT 案例 1: USB 类型 C 硬件保护装置的设备枚举。 验证每个设备是否按预期枚举和运行。 此图显示了用于测试 USB 类型 A 硬件保护装置的建议拓扑。

    用于测试 USB 类型 A 硬件保护装置的拓扑示意图。

  • 执行 FT 案例 6: 列表中剩余外围设备的备用模式协商。 验证每个设备是否按预期枚举和运行。

  • 使用 USB Type-C 充电器 (PD) 执行 FT 案例 7:充电和供电 的简化版本。 跳过需要两台计算机的部分,仅验证系统是否能够使用第三方电源适配器充电 (接受电源) 。

可用性系统互操作性测试计划

预期持续时间:60 分钟

此计划的目标是确定此系统是否可以使用 USB 类型 C 外设执行最常见的用户方案。 此测试计划假设成功完成 功能系统互操作性测试计划中所述的测试。 可用性测试计划侧重于常见的用户、系统和设备方案。

  • 系统:Windows 10 Windows 10 系统 (具有公开 USB Type-C 端口的电脑、平板电脑或手机) 。

  • 外设

    • USB Type-A 到 USB Type-C 适配器 - USB 3.0 集线器 - USB 鼠标 - USB 3.0 闪存驱动器
    • USB 类型 C 存储驱动器
    • USB 类型 C 视频 (硬件保护装置是可接受的)
    • USB Type-C A/V 硬件保护装置 (将视频、USB 和音频作为单个适配器)
  • 电源:来自不同供应商的两个 USB 类型 C 充电器。

  • 执行 FT 案例 3: 使用 USB 到类型 C 硬件保护装置对列表中的每个外围设备进行系统电源转换。 验证每个设备在系统电源状态更改之前和之后是否按预期方式枚举和运行。

    • 配置 USB 类型 A 到 USB 类型 C 适配器,如下图所示:

    用于测试 USB 类型 A 硬件保护装置的拓扑示意图。

    • 配置 USB 类型 C A/V 硬件保护装置,如下图所示。

      USB 类型 C A/V 硬件保护装置配置的示意图。

  • 执行 FT 案例 2: 仅配置了 USB Type-C A/V 硬件保护装置的系统启动,如上图所示,并验证以下方案:

    • 系统将在连接所有设备的情况下启动,视频将显示在通过 USB 类型 C A/V 硬件保护装置连接的监视器中。
    • 系统将从通过 USB 类型 C A/V 硬件保护装置连接的 USB 磁盘启动。

完整互操作性测试计划

预期持续时间:180 多分钟

完整的互操作性测试计划涵盖一组较大的用户方案。 当设备系统准备 USB-IF 认证时运行这些测试。

  • 系统

    • Windows 10 Windows 10 系统 (电脑、平板电脑或手机) 公开的 USB 类型 C 端口。
    • 其他 Windows 10 Windows 10 系统 (具有公开 USB Type-C 端口的电脑、平板电脑或手机) 。 系统 (具有公开的 USB 类型 C 端口的电脑、平板电脑或手机) 。 建议使用来自其他产品系列或 OEM 的系统。
  • 外设

    • USB Type-A to Type-C adapterUSB Type-A to USB Type-C adapter - USB 3.0 集线器 - USB 鼠标 - USB 3.0 闪存驱动器
    • USB 类型 C 存储驱动器 - USB 类型 C 视频 (硬件保护装置) 可接受 - USB 类型 C A/V 硬件保护装置 (包括视频、音频和 USB 作为单个单元)
  • 电源:来自不同供应商的两个 USB 类型 C 充电器。

  • 执行所有函数压力测试用例。 下图显示了 USB 类型 C A/V 的建议配置:

    USB 类型 C A/V 适配器配置的示意图。

如何确认设备添加

  • 确定设备连接到的 USB 主机控制器。
  • 确保新设备显示在 设备管理器 中的正确节点下。
  • 对于连接到 USB 3.0 端口的 USB 3.0 集线器,预期会看到两个设备:一个是 USB 3.0 的下游设备,另一个是全速集线器的下游设备。

如何确认设备删除

  • 设备管理器 中标识你的设备。
  • 执行测试步骤,将设备从系统中删除。
  • 确认设备不再存在于设备管理器中。
  • 对于 USB 3.0 集线器,检查两个设备(SuperSpeed 和配套集线器)是否已删除。 在这种情况下,删除设备失败可能是设备故障,应该调查所有涉及的组件,以诊断出适当的根本原因。

如何确认设备功能

  • 如果设备是 USB 集线器,请确保集线器下游的设备正常运行。 验证其他设备是否可以连接到中心上的可用端口。
  • 如果设备是 HID 设备,请测试其功能。 确保 USB 键盘键入、USB 鼠标移动光标,并且游戏设备在游戏控制器的控制面板中正常运行。
  • USB 音频设备必须播放和/或录制声音。
  • 存储设备必须可访问,并且应该能够复制大小为 200MB 或更大的文件。
  • 如果设备具有多种功能(例如扫描 & 打印),请确保同时测试扫描和打印功能。
  • 如果设备是 USB 类型 C,请确认适用的 USB 和备用模式是否正常工作。

如何将设备连接到系统

  • 确保 USB 3.x 设备使用适合测试设备的 USB 3.x 电缆。
  • 如果系统无法识别设备,请尝试使用相同类型的其他电缆连接设备,以检查错误电缆或连接器。

排查系统唤醒问题

若要对无法唤醒系统的设备进行故障排除,请执行以下操作:

  • 确认设备支持唤醒。
  • 确认已将设备连接到的主控制器设置为唤醒系统。

排查缺少电源状态的问题

如果测试系统无法达到睡眠或休眠状态,请确保系统中的所有设备都安装了最新的设备驱动程序。 最常见的原因之一是系统中的视频卡不受支持。

使用 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 流量,需要 USB 分析器设备,例如 LeCroy Voyager M3i、Advisor T3 或 TotalPhase Beagle 5000。 这些分析器能够捕获和显示确认选择性挂起功能所需的链接状态信息。

例如,使用 TotalPhase 分析器捕获流量后,将在输出中看到类似于以下内容的事件:

USB Type-C 分析器输出的屏幕截图。

当测试要求设备进入暂停状态时,你应该能够将上述 Suspend> 事件与预期设备进入暂停状态的时间相关联<。

使用分析器确认 LPM U1 和 U2 转换

分析器跟踪应显式显示每个链接状态转换:语句在事件中显示为“Rx U0 -> U2”。 例如,通过使用 LeCroy 软件,在“ 报表 ”选项卡中,选择 “USB3 链接状态计时视图”。 此选项显示时间轴上的链接状态。 请注意,分析器有时可能不会正确显示 U1 到 U2 的转换。 你可能会看到链接状态进入 U1,但从 U2 恢复。

在 设备管理器 中禁用选择性挂起

若要在 设备管理器 的 USB 设备上禁用选择性挂起,请先在设备树中找到设备节点。 在此示例中,在中心上禁用选择性挂起,如下所示:

显示 Windows 设备管理器中选择的通用 USB 集线器的屏幕截图。

右键单击该设备并选择“属性”。 然后选择“ 电源管理 ”选项卡。

Windows 设备管理器中通用 USB 集线器的电源管理选项卡的屏幕截图。

若要禁用选择性挂起,请确保 “允许计算机关闭此设备 以节省电源”复选框已清除。

翻转或倒转 USB Type-C 电缆

USB Type-C 电缆旨在维护用户功能,而不考虑电缆方向。 翻转或倒转电缆是通过移除电缆、旋转 180 度并重新插入电缆来实现的。

报告测试结果

请提供以下详细信息:

  • 测试列表 (在测试失败之前执行) 的顺序。
  • 列表必须指定失败或通过的测试。
  • 用于测试的系统、设备、扩展坞或中心。 包括制造、型号和网站,以便我们可以根据需要获取其他信息。