首页 > 系统相关 >windows USB 设备驱动开发-USB Type-C 手动互操作性测试过程

windows USB 设备驱动开发-USB Type-C 手动互操作性测试过程

时间:2024-07-24 09:58:18浏览次数:10  
标签:互操作性 USB windows 系统 Windows 测试 Type 设备

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

可以使用 USB Type-C ConnEx 板运行这些测试。

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

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

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

  • 设备枚举:确认设备枚举的核心方面是否正常工作。
  • 系统启动:确认产品不会阻止正常的系统启动。
  • 系统电源转换:测试系统的电源转换和来自较低功率状态的唤醒功能是否不受产品的影响。
  • 选择性挂起:确认选择性挂起转换。
  • 扩展坞标识:确认扩展坞中的设备描述符已正确实现。
  • 备用模式协商:确认支持的备用模式。
  • 充电和供电 (PD) :确认使用 USB Type-C 充电。
  • 角色交换:确认角色交换。

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

  • 系统电源转换:在重复系统电源事件后测试产品可靠性。
  • 传输事件:生成多个传输和连接事件
  • 即插即用 (PnP) :生成各种 PnP 序列。
  • 设备拓扑:使用产品测试一系列设备和拓扑。
FT 案例 1:设备枚举

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

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

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

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

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

  • 系统:将任何 USB Type-C 设备连接到系统。
  • 设备:将设备连接到已启用 USB Type-C 的系统。
  • 扩展坞:将任何 USB 3.0 设备和支持备用模式或 USB Type-C 附件的任何 USB Type-C 设备连接到扩展坞。 将扩展坞连接到系统。

4.确认设备节点已添加到 设备管理器 中。 

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

6.断开设备 (并停靠(如果适用)) 并观察设备管理器的变化。 扩展坞和设备不应显示在设备管理器中。 

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

FT 案例 2:系统启动适用于:系统、中心、设备

确认受测产品不会阻止正常的系统启动过程**
1.重启测试系统并登录到 Windows。

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

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

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

  • 扩展坞:将这些设备连接到受测扩展坞上公开的端口。

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

  • 设备:将设备连接到系统公开的 USB Type-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 Type-C 端口。 
3.将 USB 设备连接到集线器。
4.在测试系统上打开设备管理器。
5.确认设备管理器中添加了设备。 
6.通过下述开始菜单或自动化将系统发送到低功耗状态,例如睡眠或休眠。
7.将系统从较低功率状态唤醒。 如果设备支持远程唤醒,请使用该设备唤醒系统。 
8.确认设备是否仍正常工作。 
针对其他可用的系统电源状态重复此测试:睡眠 (S3) 、休眠 (S4) 和混合睡眠。

FT 案例 4:选择性暂停

适用于:扩展坞、设备

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

  • 为 HID 启用选择性挂起
  • 基于 USB 的 HID 设备的选择性挂起
  • 揭秘选择性暂停
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.对于系统,请执行以下步骤:

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

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

a.将设备连接到已启用 USB Type-C 的系统。 确认设备从系统接通电源。
b.(可选) 将设备连接到已启用 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 适配器的所有端口,以便可以使用所有功能,如下图所示:
  3. 如果受测系统具有其他 USB Type-C 端口,请重复步骤 2。
  4. 运行 DF - 在测试期间使用 IO 睡眠 。

备注 在测试期间,验证通过 USB Type-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 Type-C 存储驱动器
USB Type-C 视频 (硬件保护装置是可接受的)

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

  • 执行 FT 案例 6: 列表中剩余外围设备的备用模式协商。 验证每个设备是否按预期枚举和运行。
  • 使用 USB Type-C 充电器 (PD) 执行 FT 案例 7:充电和供电 的简化版本。 跳过需要两台计算机的部分,仅验证系统是否能够使用第三方电源适配器充电 (接受电源) 。
可用性系统互操作性测试计划

预期持续时间:60 分钟

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

  • 系统:Windows 10 Windows 10 系统 (具有公开 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 和音频作为单个适配器)

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

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

配置 USB Type-C A/V 硬件保护装置,如下图所示。

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

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

完整互操作性测试计划

预期持续时间:180 多分钟

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

  • 系统

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

  • 外设

USB Type-A to Type-C adapterUSB Type-A to USB Type-C adapter - USB 3.0 集线器 - USB 鼠标 - USB 3.0 闪存驱动器
USB Type-C 存储驱动器 - USB Type-C 视频 (硬件保护装置) 可接受 - USB Type-C A/V 硬件保护装置 (包括视频、音频和 USB 作为单个单元)

  • 电源:来自不同供应商的两个 USB 类Type-C 充电器。
  • 执行所有函数压力测试用例。 下图显示了 USB Type-C A/V 的建议配置:

如何确认设备添加

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

如何确认设备删除

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

如何确认设备功能

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

如何将设备连接到系统

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

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

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

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

使用 ETW 记录问题

若要启用 USB 3.0 日志记录,请改为 执行以下命令 捕获 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 分析器捕获流量后,将在输出中看到类似于以下内容的事件:

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

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

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

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

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

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

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

翻转或倒转 USB Type-C 电缆

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

报告测试结果

请提供以下详细信息:

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

在使用 MUTT 设备之前,必须准备测试系统。

准备工作

本文档中的说明基于以下假设:

  • 你已了解 Windows 命令 shell。 安装测试工具需要提升的命令窗口。 对于该窗口,可以使用“ 以管理员身份运行” 选项打开命令提示符窗口;
  • 你熟悉 Windows 驱动程序工具包 (WDK) 附带的工具;
  • 你熟悉内核调试工具;

备注 此设置适用于 MUTT、MUTTPack、SuperMUTT 和 SuperMUTT Pack。 

准备系统以运行用于 USB 硬件测试的 MUTT 测试工具

  1. 将测试系统连接到内核调试器。
  2. 将 MUTT 设备连接到主机控制器或中心的每个可用端口以进行测试。在运行 MUTT 软件包安装的安装脚本之前,必须将 MUTT 设备附加到测试系统。
  3. 在测试系统上打开提升的命令提示符窗口,并导航到在其中复制测试工具的文件夹。
  4. 在提升的命令提示符窗口中,运行以下命令以安装所需的 MUTT 驱动程序:
    C:\\usbTest\\pnputil -i -a usbfx2.inf
    如果要使用驱动程序验证程序进行测试,可以运行 install.cmd 而不是前面的命令。 这将安装必要的驱动程序并配置驱动程序验证程序。 请注意,使用 install.cmd 是可选的。
  5. 安装测试驱动程序时,将显示以下对话框:选中 “始终信任来自”Microsoft Corporation“ 的软件,以防止在测试运行时显示对话框。install.cmd 完成安装后,测试系统计算机将重新启动。
  6. 将 MUTT 切换到新的驱动程序 C:\usbTest\MuttUtil –UpdateDriver usbfx2.inf
  7. 使用最新固件更新 MUTT C:\usbTest\MuttUtil.exe -UpdateFirmware
  8. 如果测试系统Windows 8运行,建议在开始测试之前对主机控制器执行快速验证。

a.在提升的命令提示符窗口中,运行以下命令以收集有关连接到系统的主机控制器和中心的信息:

C:\\usbTest\\xhciwmi -verify

b.该工具在命令窗口中显示有关主机控制器的信息。 信息包括供应商 ID、设备 ID、修订 ID 和固件版本。 如果受测主机控制器存在已知问题,请考虑更新固件。

跟踪和记录 USB 驱动程序堆栈中的事件

转到 以获取 https://aka.ms/usbtrace 说明,并下载用于从 USB 驱动程序捕获 ETW 跟踪的脚本。

如何对 MUTT 设备运行压力和传输性能测试

了解如何运行压力和传输和超级 MUTT 性能测试。

压力和传输测试旨在实现总线协议和主机控制器软件的饱和。 这些测试同时对 MUTT 设备执行多个 I/O 传输和取消操作。 MUTT 固件被编程为在这些测试期间传输失败。 这些故障模拟控制器或 USB 驱动程序堆栈在有压力的 USB 条件下暴露的错误条件。

如何运行压力和传输测试
  1. 在已将 MUTT 设备附加到可用端口的测试系统上打开提升的命令窗口。
  2. 导航到测试文件夹,例如 C:\usbTest。

传输和压力测试通过相同的脚本背靠背运行。 若要执行它们,请 runtest.bat运行脚本:

C:\usbTest\runtest.bat

写入 .bat 文件将无限期运行测试。 测试应至少运行 30 分钟。 若要进行更详尽的测试,请考虑运行这些测试 8 小时。 批处理文件包含可完成的其他优化注释。

若要退出所有测试,请在命令窗口中按 Ctrl-C 。 如果系统在运行期间未生成 bug 检查,并且从命令窗口干净退出,则测试运行被视为成功 (或) 积极运行。 如果该工具未完全退出,则表示传输未完成,必须进行调查。

如何运行 SuperMUTT 性能测试
  1. 在连接到 xHCI 控制器的 SuperMUTT 的测试系统上打开提升的命令窗口。
  2. 导航到测试文件夹,例如 C:\usbTest。
  3. 运行 FX3Perf.bat命名 的脚本以启动测试运行。
如何在 Visual Studio for MUTT 设备中运行系统电源设备基础 (devfund) 测试

介绍必须为连接到可用端口的 MUTT 设备运行的设备基础测试,以便执行压力和传输测试以及系统电源测试。

这些测试在执行系统电源事件的同时执行简单的设备传输。 开发基金测试只能在 Windows 8 及更高版本上运行。 不能同时 运行压力和传输测试 以及系统电源测试。 在单独的系统上执行这些测试。 但是,可以在压力传输和系统电源测试之间切换。 为此,请完成第一组测试,重新启动计算机,然后按照下一个测试的说明进行操作。

如何在 Visual Studio 中为连接的 MUTT 设备运行设备基础 (devfund) 测试

devfund测试是用于测试驱动程序和硬件的测试集合。 这些测试包含在适用于 Windows 的 WDK 中。 可以运行 WDK 加载项以Microsoft Visual Studio Professional,并从开发环境运行这些测试。

先决条件

在开始运行开发基金测试之前,请确保满足以下要求:

  • 若要运行这些测试,至少需要两台计算机:主机和测试。 配置主机和测试计算机以进行测试和调试。

必须安装Microsoft Visual Studio Professional和 Windows 驱动程序工具包 (WDK) 。

测试计算机必须运行最新版本的 Windows。

可以从 Windows 硬件开发的下载下载下载 Visual Studio 和 WDK。

  • 在将主计算机连接到测试计算机之前,必须在测试计算机上启用文件和打印共享以及网络发现。 可以在 控制面板 或在提升的命令提示符中使用以下命令来启用这些选项:
    netsh.exe advfirewall firewall set rule group="File and Printer Sharing" new enable=Yes

  • 设置和配置 MUTT 设备并安装固件。
  • 预配测试计算机。
计划测试

1.选择要在测试计算机上运行的测试。

2.设置以下运行时参数,如下图所示。

  • DQ:Class='USBTest'
  • TestCycles:100

3.配置测试参数。 

4.运行测试。

建议使用连接的 MUTT 设备进行计划测试
  • 在 IO 之前和之后睡眠
  • 在 (基本) 期间使用 IO 睡眠
  • PNP (在 IO 之前和之后禁用和启用 )

标签:互操作性,USB,windows,系统,Windows,测试,Type,设备
From: https://blog.csdn.net/m0_72813396/article/details/140349746

相关文章

  • Windows版本免费PyMol的安装
    技术背景在前面一篇博客中,我们介绍过在Linux平台下安装和使用免费版本的PyMol。其实同样的这个免费版在Windows平台上(这里以win11为例)也是支持的。安装流程这个免费版本的PyMol依赖于Conda,因此首先需要访问conda官网下载一个miniconda到本地进行安装,这部分配置都是通过交互界面......
  • Python 检测 USB 设备 - IDLE 和 CMD 解释器之间的不同结果
    我正在尝试解决VDI解决方案中智能卡设备的USB重定向问题。我正在使用pyscard模块作为智能卡。对于进一步的上下文,主要问题是当浏览器插件调用用于处理智能卡的python脚本时,未检测到读卡器。关于问题,当我从CMD解释器运行此代码片段时,我收到空列表,表示系统上未找......
  • 如果 Python 脚本正在使用文件夹,如何在文件资源管理器中进行更改时防止 Windows 的“
    我有一个简单的脚本,显示在QTreeView中的QListView中选择的目录的内容,我想添加打开文件资源管理器的功能,以让用户编辑目录内的内容。但是,添加新的文件夹和文件可以,但删除或移动文件夹或文件会提示“文件夹正在使用”错误:此操作无法完成,因为该文件已在另一个程......
  • windows10安装过程,win7升级win10过程
    教程是win7老系统升级win101、空的u盘和一台windown操作系统的电脑准备一个u盘,提前备份盘内数据,因为制作启动盘会将u盘格式化需要一台能联网的windows操作系统的电脑用于制作系统安装盘2、浏览器搜索“下载win10安装包”也可直接点击链接 下载Windows10 3、下载之......
  • windows 系统下常用命令
    根据进程名称查找进程PID>tasklist|findstrchrometasklist命令详解tasklist命令显示本地计算机或远程计算机上当前正在运行的进程列表。命令结合筛选器一起使用,可以按照我们的需求进行过滤,查找我们需要了解的进程信息。tasklist替换tlist.exe工具。findstr命令详......
  • Windows桌面突然出现desktop.ini文件怎么处理
    在Windows系统中,desktop.ini文件是一个系统可识别的文件,主要用于存储用户对文件夹的个性设置,如文件夹图标、背景颜色等。以下是对desktop.ini文件的详细解释:一、文件作用   存储个性设置:当用户更改文件夹的图标、背景颜色或设置其他属性时,这些配置信息会被存储在文件夹内......
  • 解决 SandboxBroker.dll 缺失问题:Windows沙盒服务修复教程
    sandboxbroker.dll是Windows操作系统中用于沙箱(Sandbox)技术的组件之一。沙箱是一种安全机制,它允许应用程序在一个受限的环境中运行,从而保护系统免受潜在的恶意行为影响。sandboxbroker.dll主要负责协调沙箱内的进程与外部资源之间的交互,例如文件访问、注册表操作等。它在现代Wi......
  • Windows NodeJS 版本管理工具 Fnm 快速使用
    WindowsNode.JS版本管理工具Fnm快速使用简介:FastandsimpleNode.jsversionmanager,builtinRust(快速而简单的Node.js版本管理器,用Rust构建)目录Windows下载与安装Windows使用-修改默认安装根目录Windows使用-配置CMD或PowerShellWindows使用-安装Node......
  • 推荐一款将控制台程序部署到Windows服务的组件
    在日常开发中,有时候需要将我们的程序随着操作系统一起运行,并且无需人工干预。要实现这种效果,有很多种方法,比如:如果是桌面程序,可以设置到程序的启动项;如果是Web程序,还可以托管到IIS中,而对于控制台程序,最常见在做法是将程序部署成Windows服务,并设置成自动运行,这样当操作系统开机时,就......
  • 带 USB的双独立通道超强回音消除 A-59U
    一,产品概述:   A-59U是一款高性能的数字语音处理模块,针对所有免提全双工通话设备中的回音问题进行消除(AEC),并具环境噪音压制(ENC)功能,及定向拾音(BF)功能,让通话设备获得更好的语音品质。   A-59U的优异处理性能,可以在消除大音量喇叭声音的同时,并最大保持全双工......