USB 2.0 和 3.0 SCSI 合规性测试(徽标)
此自动化测试验证发送到通用串行总线 (USB) 设备的小型计算机系统接口 (SCSI) 命令描述符块 (CDB)。
测试详细信息
规范 |
|
平台 |
|
支持的版本 |
|
预计运行时间(以分钟为单位) | 5 |
类别 | 兼容性 |
超时(以分钟为单位) | 300 |
需要重启 | false |
需要特殊配置 | false |
类型 | automatic |
其他文档
此功能区域中的测试可能会有其他文档,包括先决条件、设置和故障排除信息,这些内容可在以下主题中找到:
运行测试
在运行测试之前,请按照测试要求(硬盘驱动器测试先决条件)中所述完成测试设置
故障排除
有关 HLK 测试失败的常规故障排除,请参阅排查 Windows HLK 测试失败问题。
有关故障排除信息,请参阅排查 Device.Storage 测试问题。
该测试会将结果写入日志文件 Scsicompliance.wtl 和 Scsicompliance.wtl.txt。 使用这些结果来确定:
设备是否符合 SCSI 规范。
设备支持的可选 SCSI 命令。
若要通过测试,USB 设备必须支持每个必需的命令,并且必须完全符合这些命令的要求。 每个命令具有不同的通过或失败阈值。在测试和日志文件中显式指定期望。
还会测试可选命令。 如果设备支持可选命令但发现其不符合命令的要求,则测试将会失败。 如果设备不支持可选命令,则测试将会通过。
还会测试可选命令。 如果设备支持可选命令但发现其不符合命令的要求,则测试将会失败。 如果设备不支持可选命令,则测试将会通过。
在测试期间,如果你在删除有故障的 LUN 时遇到问题或者无法从存储控制器创建 LUN,请执行以下步骤:
在运行此项测试之前,验证存储设备是否正常工作。 打开 Diskmgmt.msc 并选择磁盘。 确保你可以使设备联机并处于初始化状态。
重启 Windows HLK 测试计算机。
选择并重新运行 USB SCSI 合规性测试。 在运行此项测试之前不要运行任何其他测试。
如果测试失败,请将日志记录详细级别设置为 4(测试日志记录的最高级别),并逐个地运行失败的命令数据块 (cdbs)。 这会显示发送了哪些数据以及返回了哪些数据。 我们前面已经看到了几种情况:几个 cdb 完成后测试失败但独立通过。 如果存在这种情况,则意味着固件或测试有问题。 可能存在设备重置导致设备从总线崩溃并导致后续命令失败。 若要解决此问题,请执行以下步骤:
从 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> /Version <version> /protocol <protocol> /CDB <failingcdbname>
注意
可以通过检查测试日志中的 repro 行找到 DeviceID、scenario、version 和 protocol 的值。 可以结合 /? 选项运行测试二进制文件 (scsicompliance.exe /?) 来找到 failingcdbname。
返回同一目录并查看结果,看看是否可以确定测试失败的原因。
如需更多帮助,请收集 txt 和 wtl 日志并与 Microsoft 客户支持服务人员共享这些日志。
更多信息
命令语法
命令选项 | 说明 |
---|---|
Scsicompliance.exe |
下面列出了用于测试的选项。 |
/device |
运行测试的设备。 示例:/Device <physical device path> |
/operation |
要运行的操作。 示例:/Operation Test |
/scenario |
要测试的功能。 示例:/Scenario USBDisk |
/version |
设备的 USB 版本号。 示例:/version 3 |
/protocol |
设备的 USB 协议。 示例:/protocol UAS |
/verbosity |
日志记录详细级别。 值越大,输出越详细。 示例:/Verbosity 4 |
注意
有关此测试二进制文件的命令行帮助,请键入 /?。
文件列表
文件 | 位置 |
---|---|
Scsicompliance.exe |
<[testbinroot]>\nttest\driverstest\storage\wdk |
参数
参数名称 | 参数说明 |
---|---|
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 |