admin 管理员组文章数量: 887016
Windows 硬件实验室工具包 (HLK) 测试可用于系统、USB 主机控制器、集线器和设备的其他测试。 这些测试涵盖基本设备功能、可靠性和与 Windows 的兼容性。
先决条件
在开始运行徽标测试之前,请确保满足以下要求:
- 若要运行这些测试,至少需要两台计算机:一台测试服务器和一台测试客户端;
- 测试客户端必须具有最新版本的 Windows;
- 测试客户端必须具有集成或作为加载项卡的 EHCI 和 xHCI 控制器。 控制器必须公开用户可访问的根端口 (没有集成中心) ;
- 从 Windows Hardware Lab Kit 下载将 Windows HLK 下载到测试服务器;
在 HLK 中运行 USB 测试的硬件要求
若要运行 HLK 测试,需要:
- 主控制器 (集成或作为加载项卡) 、集线器或设备进行认证。在测试客户端上打开设备管理器,并确保要使用的 USB 控制器公开用户可访问的根端口 (没有集成集线器) 。
- 符合 USB-IF 的外部 SuperSpeed 集线器,用于评估系统兼容性。 我们已使用以下中心测试 HLK 测试:
Texas Instruments SuperSpeed (USB 3.0) Hub 参考设计板 (TUSB8040EVM) 。SuperMUTT 包。 MUTT 设备 作为中心和控制器测试的测试设备。此处提供了完整的一组要求:
- USB 总线控制器测试先决条件
- USB Hub.Connectivity 测试先决条件
USB 的 HLK 测试选择
适用于系统、主机控制器、集线器或设备的 USB 测试将在 HLK Studio 中自动选择。
在 Windows HLK 入门中执行步骤 1-5 后,请确保:
- 在步骤 5 中,在 HLK Studio 的“ 选择 ”选项卡中选择了正确的设备。
- 在步骤 6 中,适用于设备的所有测试都显示在 HLK 工作室的“ 测试 ”选项卡中。 若要运行这些测试,必须在左侧检查框中选择测试,然后单击“运行所选测试”。 本文档的以下部分列出了 USB 测试测试。
建议的 Windows HLK 测试
除了 HLK Studio 中自动选择的所有 USB 测试外,我们还建议使用连接到受测系统、控制器或集线器的 MUTT 或 SuperMUTT 运行基础测试。 对于系统提交,这些是系统基础知识 (SysFund) 测试,对于控制器、中心或设备提交,这些是设备基础知识 (DevFund) 测试。
- SysFund系统基础知识
- 设备基础知识 (DevFund)
建议用于系统开发的 USB 测试
如果要构建新系统,建议使用本文中的测试。
若要运行本文中列出的 DF 测试,必须具有 MUTT 设备。 根据具体阶段,需要运行以下命令来更新设备的驱动程序:
muttutil -updatedriver <driver_inf>.inf
MuttUtil 工具包含在 MUTT 软件包中。
如果要生成新系统,建议进行以下 USB HCK 测试:
阶段 1 - 系统启动
- DF – 在基本) 之前和之后使用 IO 睡眠 (
- DF - PNP(禁用和启用),带 IO 之前和之后(基本)
- USB 公开端口控制器测试
- USB xHCI 传输速度测试
- USB3 终止
阶段 2 - 系统集成
- DF - 在 (功能) 之前和之后重启 IO
- DF - 睡眠和 PNP (禁用和) 启用 IO 之前和之后 (功能)
- USB xHCI 传输速度测试
阶段 3 - 系统优化
系统 1
- DF - 在 (认证) 期间使用 IO 休眠
- DF - 并发硬件和操作系统 (CHAOS) 测试 (认证)
系统 2
- DF - 睡眠和 PNP (禁用和) 启用 IO 之前和之后 (功能)
- USB xHCI 传输速度测试
如果支持扩展坞,则系统 3:
- 在停靠的系统上运行为 系统集成阶段 列出的测试。
USB-IF 认证
硬件供应商和设备制造商指南,用于为 Windows 硬件认证计划提交准备 USB 设备和主机控制器。
USB-IF 测试
USB 硬件(特别是 USB 设备或主机控制器)必须满足 USB-IF 的机电要求才能获得 Windows 认证。 USB-IF 认证涵盖 USB 设备和主机控制器的更深入测试,并确保高质量的实现。
早期版本的 Windows 硬件认证工具包要求制造商将其设备提交到 USB-IF 进行测试。 新版本的 HLK USB-IF 测试要求允许制造商从 USB-IF 网站下载并运行测试,然后断言这些测试已通过 HLK。 如果设备已通过 USB-IF 认证,则需要向 HLK 提供设备的 USB-IF 测试 ID (TID) 。
即使 USB 设备通过了当前的 Microsoft Windows 认证计划要求,其中许多设备也不完全符合 USB 规范。 最常见的示例包括:
- 中心:通常失败,因为它们报告它们实际上只有总线电源时具有外部电源。 错误报告会导致总线上的电压条件无效。
- 硬盘驱动器:通常由于 USB 总线的耗电过多而无法正确枚举,因此会发生故障。 在许多情况下,这些硬盘驱动器需要非标准电缆才能正常工作。
- 闪存驱动器:通常失败,因为它们无法正确处理描述符请求;这会导致设备挂起,并使 Microsoft 操作系统描述符失败。
- 读卡器:通常失败,因为它们未进入选择性挂起状态。
- 打印机:通常失败,因为它们不会从待机状态恢复。
- 音频:通常失败,因为它们不会从待机状态恢复。
不合规的 USB 设备可能会导致用户体验不佳、公共关系困难、产品退货、产品支持呼叫量高,以及与已发货产品中的服务 bug 相关的成本增加。
USB-IF 测试的 Windows HLK 要求
- 设备 (Device.Connectivity.UsbDevices.UsbifCertification) :
我们强烈建议通过 USB-IF 认证。 但是,Windows HLK 要求 Device.Connectivity.UsbDevices.UsbifCertification 不再需要 USB 设备的 USB-IF 认证。 该要求指出,设备可以经过 USB-IF 认证,或者 USB-IF 的一部分认证测试可以在设备上运行。
- 主机控制器 (Device.BusController.UsbController.UsbifCertification)
USB 主机控制器制造商必须获得完整的 USB-IF 认证才能满足各自的 Windows HLK 要求。
- Hubs (Device.Connectivity.UsbDevices.UsbifCertification)
USB 集线器制造商必须获得完整的 USB-IF 认证才能满足各自的 Windows HLK 要求。
系统制造商在选择要集成到其系统中的 USB 主机控制器时,应了解这些要求。 这些要求可以显著改善 USB 设备的客户体验。 它们有助于防止崩溃和挂起的关键原因,并减少排查和调试不合规问题所花费的时间。
Windows 硬件认证提交选项
此图显示了如何获取 Windows 认证的过程流。
可以使用以下方法之一提交 USB 设备进行 Windows 认证,以满足新的 USB-IF 测试要求:
- USB-IF 认证
从 USB-IF 授权的独立测试实验室获取 USB-IF 认证,然后提交设备以获得 Windows 认证资格。 可以选择以下选项之一来获取设备或主机控制器的 USB-IF 认证:
将设备提交到 USB-IF 授权的独立测试实验室进行测试。
备注 它通常需要一到两周的授权独立测试实验室来测试单个 USB 设备是否符合 USB 规范。
若要将 USB 设备提交到授权的独立测试实验室进行 USB-IF 认证,制造商必须在实验室注册,并具有有效的供应商 ID (VID) 。
设备成功通过 USB-IF 认证测试后,你拥有该设备的以下权限:
可以将 USB 徽标用于设备的宣传册、包装和产品信息。
可以在 USB-IF 集成商列表中列出。
将设备带到 USB-IF 赞助的合规性研讨会。 每年在美国举办四次研讨会,在亚洲举办一次研讨会。
设备通过 USB-IF 认证测试后,你将收到来自测试实验室或车间的测试 ID 号 (TID) 。 运行设备的其余 Windows HLK 测试时,请向 Windows HLK 提供此 TID 编号。
在授权的独立测试实验室测试和认证 USB 设备的成本因实验室而异。 某些授权的独立测试实验室为某些关联企业提供批量折扣或折扣。 在任何 USB-IF 赞助的合规性研讨会上测试和认证 USB 设备都无需支付任何费用。 你必须是 USB-IF 的成员才能参加 USB-IF 赞助的合规性研讨会。
- USB-IF 自测试
下载 USB 命令验证程序测试工具和 USB 互操作性测试文档,并从 USB-IF 运行所需的测试。 然后提交设备以获取 Windows 认证资格。
USB 主机控制器和集线器不符合 USB-IF 自测试选项的条件,必须获得完整的 USB-IF 认证。
如果你决定使用 USB-IF 自测试选项来获取 Windows 认证,则必须至少执行以下 USB-IF 测试:
USB 命令验证程序测试:USB 命令验证程序测试验证设备理解和接受常见 USB 命令的能力。
USB 互操作性测试:USB 互操作性测试针对设备与其他 USB 外设共存的功能和能力。
这些测试在 Windows HLK 外部下载并运行。 请注意,这些测试必须在最新版本的 Windows 上运行,仅 (USB-IF) 指定的,即使你提交的 USB 设备是多个 Windows 版本的 Windows 认证资格。 测试结果适用于所有 Windows 版本的所有 Windows 认证提交。
以下步骤介绍如何执行所需的 USB-IF 测试,以限定设备获得 Windows 认证。
- 从 USB 软件和硬件 工具下载 USB 命令验证程序测试工具 (USB3CV) 以及 互操作性测试文档。
- 运行下表中指定的 USB 硬件的 USB-IF 测试:
- 如果测试通过,请输入字符串“SELFTEST”作为测试 ID (TID,) 输入 HLK 中的 USB-IF 认证验证测试。
Windows HLK 中 USB 测试的常见故障
适用于 USB 的 DevFund 测试
- 错误条件:设备状态检查失败,并显示一个错误,指示 MUTT 设备不存在。
- SuperMUTT 作为驱动程序运行 Winusb.sys 或 Usbtcd.sys。 可以通过安装 MUTT 软件包来获取驱动程序和驱动程序安装包文件。
- 确保设备管理器将 SuperMUTT 的硬件 ID 显示为“USB\VID_045E&PID_078F”。 注意 PID_078E不正确。
- 确保设备管理器 (按连接查看 > 设备) 显示 xHCI 控制器下游枚举的 SuperMUTT。
- 在 USBView 中,确保 SuperMUTT 设备以 SuperSpeed 运行。 注意 可以从 Microsoft Windows 软件开发工具包 (SDK) 中的 安装 Windows 调试工具包 安装 USBView。 或者,USBView 安装在 Windows 驱动程序工具包 (WDK) 的调试器文件夹中。
- 确保 MUTT 固件是最新的。 在提升的提示符下,在安装 MUTT 软件包的目录中运行“muttutil -updatefirmware”。
- 如果问题仍然存在,请报告以下附件的问题:
设备管理器 和 USBView 的屏幕截图,其中显示了上述列表中的项 1-4。
MuttUtil 命令的输出。
- 错误条件:DevFund 在简单的 I/O 传输过程中失败。
- 转到 https://aka.ms/usbtrace 并下载 usbtrace.cmd。
- 使用此脚本捕获事件的驱动程序日志,以便进一步调查。
- 使用 bug 附加 %SystemDrive%\Windows\Tracing 的所有内容。
- 保存并附加失败测试的 .hlkx 文件。
- 错误条件:MUTT 设备已连接到系统,但未安装正确的驱动程序。
最有可能的驱动程序安装失败,或者设备没有最新的固件。 安装 Winusb.sys 或 Usbtcd.sys 作为驱动程序。 可以通过安装 MUTT 软件包来获取驱动程序和驱动程序安装包文件。
版权声明:本文标题:windows USB 设备驱动开发- USB 的 HLK 测试 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1729151343h1324241.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论