针对 EHCI 上的 UAS 的 USB 2.0 和 3.0 SCSI 合规性测试(徽标)

此测试验证发送到通用串行总线 (USB) UAS 设备的小型计算机系统接口 (SCSI) 命令描述符块 (CDB)。

测试详细信息

   
规范
  • Device.Storage.Hd.UasOnEHCI.BasicFunction
平台
  • Windows 10,客户端版本 (x86)
  • Windows 10,客户端版本 (x64)
  • Windows Server 2016 (x64)
支持的版本
  • Windows 10
  • Windows 10 版本 1511
  • Windows 10 版本 1607
  • Windows 10 版本 1703
  • Windows 10 版本 1709
  • Windows 10 版本 1803
  • Windows 10 版本 1809
  • Windows 10 版本 1903
  • Windows 10 的下一次更新
预计运行时间(以分钟为单位) 5
类别 兼容性
超时(以分钟为单位) 300
需要重启 false
需要特殊配置 false
类型 automatic

 

其他文档

此功能区域中的测试可能会有其他文档,包括先决条件、设置和故障排除信息,这些内容可在以下主题中找到:

运行测试

在运行测试之前,请按照测试要求(硬盘驱动器测试先决条件)中所述完成测试设置。

此外,此测试还要求将 UAS 设备连接到 USB 2.0 控制器。

故障排除

有关 HLK 测试失败的常规故障排除,请参阅排查 Windows HLK 测试失败问题

有关故障排除信息,请参阅排查 Device.Storage 测试问题

此外,该测试会将结果写入日志文件 Scsicompliance.wtl 和 Scsicompliance.wtl.txt。 可以使用这些结果来确定:

  • 设备是否符合 SCSI 规范

  • 设备支持的可选 SCSI 命令

若要通过测试,SCSI 设备必须支持每个必需的命令,并且必须完全符合这些命令的要求。 每个命令具有不同的通过或失败阈值。在测试和日志文件中显式指定期望。

还会测试可选命令。 如果设备支持可选命令但发现其不符合命令的要求,则测试将会失败。 如果设备不支持可选命令,则测试将会通过。

注意

   如果在执行此项测试时出错,则日志文件中会指出相关的问题,并通过对接受测试的驱动程序施加压力来生成错误检查。

 

在测试期间,如果你在删除有故障的 LUN 时遇到问题或者无法从存储控制器创建 LUN,请执行以下步骤:

  1. 在运行此项测试之前,验证存储设备是否正常工作。 打开 diskmgmt.msc,选择磁盘,并确保可将设备置于“联机”和“已初始化”状态。

  2. 重启 Windows HLK 测试计算机。

  3. 选择并重新运行 SCSI 合规性测试 2.0。 在运行此项测试之前不要运行任何其他测试。

  4. 在同一测试客户端和同一测试存储设备上运行 SCSI 合规性测试(不是 SCSI 合规性测试 2.0(徽标))。 如果测试再次失败,请验证存储设备是否正常工作。如果在步骤 3 和 4 中测试失败,请一次运行一个失败的命令数据块 (cdbs),并将日志记录详细级别设置为 4(最高测试记录的级别)。 这会显示发送了哪些数据以及返回了哪些数据。 测试可能会在完成多个 cdbs 后失败,但单独运行却可以通过。 如果存在这种情况,则意味着固件或测试有问题。

如果设备重置导致设备与总线不兼容并且后续命令失败,请执行以下步骤:

  1. 从 Windows HLK 控制器中复制测试二进制文件 (Scsicompliance.exe)。 此文件位于 \\controllername\tests\[processorarchitectureofyourclient]\NTTEST\DriversTest\storage\wdk\ 中

  2. 从 Windows HLK 控制器中复制 wttlog.dll 文件。 此文件位于 \\<controllername>\Tests\<processorarchitectureofyourclient>\wtt

  3. 将这两个文件放在测试计算机上的单独文件夹中。

  4. 在命令提示符下,从包含测试二进制文件的目录键入以下命令:Scsicompliance.exe /device <deviceID> /verbosity 4 /operation test /scenario <scenario> /CDB <failingcdbname>

    注意

       可以通过检查测试日志中的 repro 行找到 DeviceID 和方案值。 可以结合 /? 选项运行测试二进制文件 (scsicompliance.exe /?) 来找到 failingcdbname。

     

  5. 返回同一目录并查看结果,看看是否可以确定测试失败的原因。

  6. 如需更多帮助,请收集 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