针对 EHCI 上的 UAS 的 USB 2.0 和 3.0 SCSI 合规性测试(徽标)
此测试验证发送到通用串行总线 (USB) UAS 设备的小型计算机系统接口 (SCSI) 命令描述符块 (CDB)。
测试详细信息
规范 |
|
平台 |
|
支持的版本 |
|
预计运行时间(以分钟为单位) | 5 |
类别 | 兼容性 |
超时(以分钟为单位) | 300 |
需要重启 | false |
需要特殊配置 | false |
类型 | automatic |
其他文档
此功能区域中的测试可能会有其他文档,包括先决条件、设置和故障排除信息,这些内容可在以下主题中找到:
运行测试
在运行测试之前,请按照测试要求(硬盘驱动器测试先决条件)中所述完成测试设置。
此外,此测试还要求将 UAS 设备连接到 USB 2.0 控制器。
故障排除
有关 HLK 测试失败的常规故障排除,请参阅排查 Windows HLK 测试失败问题。
有关故障排除信息,请参阅排查 Device.Storage 测试问题。
此外,该测试会将结果写入日志文件 Scsicompliance.wtl 和 Scsicompliance.wtl.txt。 可以使用这些结果来确定:
设备是否符合 SCSI 规范
设备支持的可选 SCSI 命令
若要通过测试,SCSI 设备必须支持每个必需的命令,并且必须完全符合这些命令的要求。 每个命令具有不同的通过或失败阈值。在测试和日志文件中显式指定期望。
还会测试可选命令。 如果设备支持可选命令但发现其不符合命令的要求,则测试将会失败。 如果设备不支持可选命令,则测试将会通过。
注意
如果在执行此项测试时出错,则日志文件中会指出相关的问题,并通过对接受测试的驱动程序施加压力来生成错误检查。
在测试期间,如果你在删除有故障的 LUN 时遇到问题或者无法从存储控制器创建 LUN,请执行以下步骤:
在运行此项测试之前,验证存储设备是否正常工作。 打开 diskmgmt.msc,选择磁盘,并确保可将设备置于“联机”和“已初始化”状态。
重启 Windows HLK 测试计算机。
选择并重新运行 SCSI 合规性测试 2.0。 在运行此项测试之前不要运行任何其他测试。
在同一测试客户端和同一测试存储设备上运行 SCSI 合规性测试(不是 SCSI 合规性测试 2.0(徽标))。 如果测试再次失败,请验证存储设备是否正常工作。如果在步骤 3 和 4 中测试失败,请一次运行一个失败的命令数据块 (cdbs),并将日志记录详细级别设置为 4(最高测试记录的级别)。 这会显示发送了哪些数据以及返回了哪些数据。 测试可能会在完成多个 cdbs 后失败,但单独运行却可以通过。 如果存在这种情况,则意味着固件或测试有问题。
如果设备重置导致设备与总线不兼容并且后续命令失败,请执行以下步骤:
从 Windows HLK 控制器中复制测试二进制文件 (Scsicompliance.exe)。 此文件位于 \\controllername\tests\[processorarchitectureofyourclient]\NTTEST\DriversTest\storage\wdk\ 中
从 Windows HLK 控制器中复制 wttlog.dll 文件。 此文件位于 \\<controllername>\Tests\<processorarchitectureofyourclient>\wtt
将这两个文件放在测试计算机上的单独文件夹中。
在命令提示符下,从包含测试二进制文件的目录键入以下命令:Scsicompliance.exe /device <deviceID> /verbosity 4 /operation test /scenario <scenario> /CDB <failingcdbname>
注意
可以通过检查测试日志中的 repro 行找到 DeviceID 和方案值。 可以结合 /? 选项运行测试二进制文件 (scsicompliance.exe /?) 来找到 failingcdbname。
返回同一目录并查看结果,看看是否可以确定测试失败的原因。
如需更多帮助,请收集 txt 和 wtl 日志并与 Microsoft 客户支持人员共享这些日志。
更多信息
作为 HLK 管理器作业运行测试。
命令语法
命令选项 | 说明 |
---|---|
Scsicompliance.exe |
下面列出了用于测试的选项 |
/device |
测试要运行的设备,示例:/Device <物理设备路径> |
/operation |
要运行的操作,示例:/Operation Test |
/scenario |
要测试的功能,示例:/Scenario Common |
/version |
设备的 USB 版本号,示例:/version 3 |
/protocol |
设备的 USB 协议,示例:/protocol UAS |
/verbosity |
日志记录详细级别。 值越大,输出就越详细。示例:/Verbosity 4 |
注意
有关此测试二进制文件的命令行帮助,请键入 /?。
文件列表
文件 | 位置 |
---|---|
Scsicompliance.exe |
<[testbinroot]>\nttest\driverstest\storage\wdk\nttest\ |
参数
参数名称 | 参数说明 |
---|---|
DiskDeviceObjLink | 要测试的磁盘的设备路径,示例:\\.\disk0 |
WDKDeviceID | 要测试的设备的实例路径 |
LoggingVerbosity | LoggingVerbosity:日志记录的详细信息。 级别是累积式的。 0 = 断言和结果。 1 = 详细信息(默认值)。 2 = CDB、数据和感知信息。 3 = 调试和详细的模式页信息。 4 = 内存使用率 |
ScenarioId | 场景测试名称:可能的值:USBDisk、USBCardReader |
选项 | 选项 |
ScsiComplianceDevice | 设备路径 |
LLU_NetAccessOnly | 用于访问测试文件共享的用户帐户。 |
LLU_LclAdminUsr | 用于运行测试的用户帐户。 |
OperationId | 要运行的操作 |
版本 | USB 版本:可能的值:2、3 |
协议 | USB 协议:可能的值:BOT、UAS |
QueryIsUsb3 | |
QueryUAS | |
QueryRMB | |
Destructive | (0,1) 0= 被动,1= 破坏性 |
QueryUFDRotationalMedia | 用于检索属性的查询收集器 |
QueryWTGDevice | 用于检索属性的查询收集器 |
RM | 旋转介质:0 或 1 |