Offload SCSI Compliance Test (LOGO)

This test ensures that devices comply to Copy Offload related CDBs and VPDs. Offload related functionality is described in Specs 11-059, 11-078, 11-079 and 11-080 of the T10 Technical Committee. The test uses SCSI pass-through requests (IOCTL_SCSI_PASS_THROUGH) to construct and send SCSI command descriptor blocks (CDBs) to the device. The test evaluates the results of the commands to verify compliance.

Test details

Associated requirements

Device.Storage.Hd.OffloadedDataTransfer.CopyOffload

See the device hardware requirements.

Platforms

Windows Server 2012 (x64) Windows Server 2012 R2

Expected run time

~10 minutes

Categories

Certification Functional

Type

Automated

 

Running the test

Before you run the test, complete the test setup as described in the test requirements: Hard Disk Drive Testing Prerequisites.

Troubleshooting

For troubleshooting information, see Troubleshooting Device.Storage Testing.

The test writes the results to the log file Scsicompliance.wtl and Scsicompliance.wtl.txt. Errors from this test occur via issues identified in the log file and in bugchecks produced through stressing the driver under test.

During the test, if you are having trouble removing a LUN that is failing or are unable to create a LUN from the storage controller, follow these steps:

  1. Prior to running this test, verify that the storage device works properly. Open Diskmgmt.msc, select disk, and make sure you can put the device Online and Initialized.

  2. Restart the Windows HCK client computer.

  3. Select and rerun the Offload SCSI Compliance test. Do not run any test before it.

  4. If the test failed, run the individual failing command data blocks (cdbs) one at a time with the logging verbosity level set to 4 (the highest level of test logging). This will show what data was sent and what data was returned. We have seen previous instances where a test faisl after several cdbs were completed but pass standalone. If this occurs, there is a problem in the firmware or the test. There might have been a device reset leading to the device falling off the bus, resulting in subsequent commands to fail. To resolve this issue, follow these steps:

    1. Copy the test binary (Scsicompliance.exe) from the Windows HCK controller. This file is located here: \\controllername\tests\[processorarchitecture]\NTTEST\DriversTest\storage\wdk\

    2. Copy the wttlog.dll file from the Windows HCK controller. This file is located here: \\<controllername>\Tests\[processorarchitecture]\wtt

    3. Place both of these files on the test computer in a separate folder.

    4. From a command prompt, from the directory containing the test binary, type the following command: Scsicompliance.exe /device <deviceID> /verbosity 4 /operation test /scenario <scenario> /CDB <failingcdbname>

      Warning  

      deviceID and scenario values can be found by checking the repro line within the test log. The failingcdbname can be found by running the test binary with the /?option (scsicompliance.exe /?).

       

    5. Go back to the same directory and review the results to see if you can determine the reason for the test failure.

    6. If you need additional help, collect the txt and wtl logs and share the logs with Microsoft Customer Support Services.

More information

Parameters

Parameter Description

LoggingVerbosity

The detail of logging. Levels are cumulative. 0 = Assertions and results. 1 = Details (default). 2 = CDBs , data, and sense info. 3 = Debug and detailed mode page information. 4 = Memory usage

Default value: 4

OperationId

The operation ID.

Default value: Test

ScenarioId

The name of the test scenario.

Default value: CopyOffload

ScsiComplianceDevice

The device path of the disk to test.

Example: \\.\disk0

 

Command syntax

Command option Description

Scsicompliance.exe

The options for the test are listed below

/device

The device which test is to run on.

Example: /Device <physical device path>

/operation

The operation to run.

Example: /Operation Test

/scenario

The feature to be tested for.

Example: /Scenario CopyOffload

/verbosity

The level of logging verbosity. Larger values cause more verbose output.

Example: /Verbosity 4

 

Note  

For command-line help for this test binary, type /?.

 

File list

File Location

Scsicompliance.exe

<[testbinroot]>\nttest\driverstest\storage\wdk\

 

 

 

Send comments about this topic to Microsoft