Hi, I am testing the LIO iSCSI target from Linux 3.14 with the Windows Certification Kit (my purpose is to certify a NAS for Windows). The LIO iSCSI target performs really well in these tests but there are some failures in the "SCSI compliance" tests. In the Windows Certification Kit tests, there are two "SCSI compliance" categories: "SCSI compliance" and "SCSI compliance 2". The following failures are reported in the "SCSI compliance" category: Command tested Number of failures ------------------- - INQUIRY 2 MODE SENSE (6) 2 MODE SENSE (10) 1 MODE SELECT (6) 1 MODE SELECT (10) 1 PERSISTENT RESERVE 0 (but all tests are skipped) It seems that identical failures are reported in the "SCSI compliance 2" category with an additional error for VERIFY 10. In INQUIRY, one test complains that "the Unit serial number length (41) does not match transfer length (255)." Another test fails because the Windows Certification Kit expects an "iSCSI version descriptor" (0x0960) in the list of version descriptors. Several failures reported for MODE SENSE and MODE SELECT look the same: the length of the transferred data is greater than the length stored in the CDB. For instance: Start: ASSERTION: MODE SENSE (6) Checking MODE PARAMETER HEADER, TUID= Description: Checking that the MODE PARAMETER HEADER length information is valid. Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.9 http://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf Expectation: ModeDataLength = Data Transfer Length - 1 = 254 bytes. ModeDataLength: 0x43. Or: Start: MODE SELECT 6: MODE SENSE (6) Checking Caching Mode Page Length., TUID= Description: Checking the Caching Mode Page is 20 bytes. Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.7 http://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf Expectation: cachePageLength == 20 bytes. MODE: Cache page length is 0xfb. For the VERIFY 10 command, the Windows Certification Kit complains that no error is returned when "the LBA plus the verification length exceeds the capacity of the medium". Do you think that the errors are real errors that should be fixed mainline or is the Windows Certification Kit being too picky or in some cases wrong? [I have attached some excerpts from the Windows Certification Kit log output to this mail]. Best regards, -- Christophe Vu-Brugier
ASSERTION 19 PERSISTENT RESERVE IN/OUT Command Test Start: ASSERTION 19.1 PERSISTENT RESERVE OUT : REGISTER AND IGNORE EXISTING KEY Support Test, TUID=0E38C4A9-0B0C-11DC-ADFB-00123F3A6B60 [11:16:33:0965] Optional: Checking to see if the PERSISTENT RESERVE OUT with service action REGISTER AND IGNORE EXISTING KEY is supported and returns GOOD status. [11:16:33:0965] Info: Refer to SPC-2 (SCSI Primary Commands - 2) specification Section 7.11. [11:16:33:0965] Apply: Sending PERSISTENT RESERVE OUT (0x5F) : REGISTER AND IGNORE EXISTING KEY (6) command to disk device. [11:16:33:0965] Expect: ScsiStatus == 0x0. [11:16:33:0965] Allocating 116 bytes for SCSI_PASS_THROUGH_WITH_BUFFERS [11:16:33:0965] Apply: Allocation Length = 0x0018 [11:16:33:0965] == SENDING SCSI COMMAND ============================================== [11:16:33:0981] Sending 10-byte CDB: 5F 06 00 00 00 00 00 00 18 00 [11:16:33:0981] Sending command to (B/T/L) 0, 0, 0 [11:16:33:0981] Allocating 116 bytes for SCSI_PASS_THROUGH_WITH_BUFFERS [11:16:33:0981] DeviceIoControl SUCCEEDED. [11:16:33:0981] SCSI status: 0x02 [11:16:33:0981] (CHECK CONDITION) [11:16:33:0981] Sense bytes: 0x20 [11:16:33:0981] Data bytes: 0x0 [11:16:33:0981] [11:16:33:0981] Sense Info [11:16:34:0012] SenseKeySpecific: 0x0 [11:16:34:0012] == DONE ============================================================== [11:16:34:0012] DeviceIoControl SUCCEEDED. [11:16:34:0012] SCSI status: 0x02 [11:16:34:0012] (CHECK CONDITION) [11:16:34:0012] Sense bytes: 0x20 [11:16:34:0012] Data bytes: 0x0 [11:16:34:0012] [11:16:34:0012] Sense Info [11:16:34:0012] ------------------------------------------------------------- [11:16:34:0012] ErrorCode: 0x70 [11:16:34:0012] Valid: 0x0 [11:16:34:0012] SenseKey: 0x2 [11:16:34:0028] IncorrectLength: 0x0 [11:16:34:0028] EndOfMedia: 0x0 [11:16:34:0028] FileMark: 0x0 [11:16:34:0028] Information: 0x0 [11:16:34:0028] Information: 0x0 [11:16:34:0028] Information: 0x0 [11:16:34:0028] AdditionalSenseLength: 0xa [11:16:34:0028] CommandSpecificInformation: 0x0 [11:16:34:0028] CommandSpecificInformation: 0x0 [11:16:34:0028] CommandSpecificInformation: 0x0 [11:16:34:0028] CommandSpecificInformation: 0x0 [11:16:34:0028] AdditionalSenseCode: 0x8 [11:16:34:0028] AdditionalSenseCodeQualifier: 0x0 [11:16:34:0028] FieldReplaceableUnitCode: 0x0 [11:16:34:0028] SenseKeySpecific: 0x0 [11:16:34:0028] SenseKeySpecific: 0x0 [11:16:34:0028] SenseKeySpecific: 0x0 [11:16:34:0043] == DONE ============================================================== [11:16:34:0043] DeviceIoControl SUCCEEDED. [11:16:34:0043] SCSI status: 0x02 [11:16:34:0043] (CHECK CONDITION) [11:16:34:0043] Sense bytes: 0x20 [11:16:34:0043] Data bytes: 0x0 [11:16:34:0043] [11:16:34:0043] Sense Info [11:16:34:0043] ------------------------------------------------------------- [11:16:34:0043] ErrorCode: 0x70 [11:16:34:0043] Valid: 0x0 [11:16:34:0059] SenseKey: 0x2 [11:16:34:0059] IncorrectLength: 0x0 [11:16:34:0059] EndOfMedia: 0x0 [11:16:34:0059] FileMark: 0x0 [11:16:34:0059] Information: 0x0 [11:16:34:0059] Information: 0x0 [11:16:34:0059] Information: 0x0 [11:16:34:0059] AdditionalSenseLength: 0xa [11:16:34:0059] CommandSpecificInformation: 0x0 [11:16:34:0059] CommandSpecificInformation: 0x0 [11:16:34:0059] CommandSpecificInformation: 0x0 [11:16:34:0059] CommandSpecificInformation: 0x0 [11:16:34:0059] AdditionalSenseCode: 0x8 [11:16:34:0059] AdditionalSenseCodeQualifier: 0x0 [11:16:34:0059] FieldReplaceableUnitCode: 0x0 [11:16:34:0059] SenseKeySpecific: 0x0 [11:16:34:0059] SenseKeySpecific: 0x0 [11:16:34:0059] SenseKeySpecific: 0x0 [11:16:34:0075] == DONE ============================================================== [11:16:34:0075] Response: ScsiStatus == 0x2. [11:16:34:0075] The Sense Key/ASC should be set to 5h/20h for unsupported commands. [11:16:34:0075] Result: PASS. (OPTIONAL) Command not supported End: Pass, ASSERTION 19.1 PERSISTENT RESERVE OUT : REGISTER AND IGNORE EXISTING KEY Support Test, TUID=0E38C4A9-0B0C-11DC-ADFB-00123F3A6B60, Repro=scsicompliancetest.exe -hct \\.\PhysicalDrive1 -full -v 4 -wlp "" -bus "BusTypeiScsi"
Policy: REQUIRED Start: ASSERTION: INQUIRY Attempting Unit Serial Number Page 0x80., TUID= Description: Checking if Unit Serial Number Page 0x80 is supported, and is valid ASCII. Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 7.6.10 http://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf Expectation: ScsiStatus == 0x0, and result is valid ASCII. Sending SCSI command to device. INQUIRY Command: 12 01 80 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0xff 00 04 08 0C --------------------------------------------------------------- 010 652D3461 62382D61 3433302D 32313138 e-4ab8-a430-2118 020 33626135 66343464 00000000 00000000 3ba5f44d........ 030 00000000 00000000 00000000 00000000 ................ 040 00000000 00000000 00000000 00000000 ................ 050 00000000 00000000 00000000 00000000 ................ 060 00000000 00000000 00000000 00000000 ................ 070 00000000 00000000 00000000 00000000 ................ 080 00000000 00000000 00000000 00000000 ................ 090 00000000 00000000 00000000 00000000 ................ 0A0 00000000 00000000 00000000 00000000 ................ 0B0 00000000 00000000 00000000 00000000 ................ 0C0 00000000 00000000 00000000 00000000 ................ 0D0 00000000 00000000 00000000 00000000 ................ 0E0 00000000 00000000 00000000 00000000 ................ 0F0 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== INQUIRY: Unit serial number page is supported. Unit serial number length (41) does not match transfer length (255). For USB BOT devices, although there is no hard requirement, it is not optimal For USB UAS devices, it doesn't matter Unit serial number is valid ASCII (8178c25d-9cae-4ab8-a430-21183ba5f44d). Error: 0x0, Error 0x00000000 Logging an error File=testsrc\driverstest\storage\wdk\scsicompliance\lib\core\policyscenario.cpp Line=213 End: Fail, ASSERTION: INQUIRY Attempting Unit Serial Number Page 0x80., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario common /operation test
Policy: REQUIRED Start: ASSERTION: INQUIRY Checking Version Descriptors., TUID= Description: Checking to see if Version Descriptors are compliant. Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.4 http://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf Expectation: Version descriptors exist. Sending SCSI command to device. INQUIRY Command: 12 00 00 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0xff 00 04 08 0C --------------------------------------------------------------- 000 00000502 1FB80002 4C494F2D 4F524720 ........LIO-ORG 010 626C6F63 6B312020 20202020 20202020 block1 020 342E3000 00000000 00000000 00000000 4.0............. 030 00000000 00000000 00000000 00000000 ................ 040 00000000 00000000 00000000 00000000 ................ 050 00000000 00000000 00000000 00000000 ................ 060 00000000 00000000 00000000 00000000 ................ 070 00000000 00000000 00000000 00000000 ................ 080 00000000 00000000 00000000 00000000 ................ 090 00000000 00000000 00000000 00000000 ................ 0A0 00000000 00000000 00000000 00000000 ................ 0B0 00000000 00000000 00000000 00000000 ................ 0C0 00000000 00000000 00000000 00000000 ................ 0D0 00000000 00000000 00000000 00000000 ................ 0E0 00000000 00000000 00000000 00000000 ................ 0F0 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Parsing 8 descriptors. Version Descriptor 1: 0x0 Version Descriptor 2: 0x0 Version Descriptor 3: 0x0 Version Descriptor 4: 0x0 Version Descriptor 5: 0x0 Version Descriptor 6: 0x0 Version Descriptor 7: 0x0 Version Descriptor 8: 0x0 Did not find required iSCSI Version Descriptor 0960h. Error: 0x0, Error 0x00000000 Logging an error File=testsrc\driverstest\storage\wdk\scsicompliance\lib\core\policyscenario.cpp Line=213 End: Fail, ASSERTION: INQUIRY Checking Version Descriptors., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario common /operation test
Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: MODE SELECT 10: MODE SENSE (10) Attempting to get Caching mode page., TUID= Description: Checking to see if a simple MODE SENSE command on Page 0x08 will return GOOD status. Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.8 http://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf Expectation: The device must return GOOD (0x0) SCSI status Sending SCSI command to device. Mode Sense 10 Command: 5a 08 08 00 00 00 00 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0xff 00 04 08 0C --------------------------------------------------------------- 000 001A0010 00000000 08120400 00000000 ................ 010 00000000 20000000 00000000 00000000 .... ........... 020 00000000 00000000 00000000 00000000 ................ 030 00000000 00000000 00000000 00000000 ................ 040 00000000 00000000 00000000 00000000 ................ 050 00000000 00000000 00000000 00000000 ................ 060 00000000 00000000 00000000 00000000 ................ 070 00000000 00000000 00000000 00000000 ................ 080 00000000 00000000 00000000 00000000 ................ 090 00000000 00000000 00000000 00000000 ................ 0A0 00000000 00000000 00000000 00000000 ................ 0B0 00000000 00000000 00000000 00000000 ................ 0C0 00000000 00000000 00000000 00000000 ................ 0D0 00000000 00000000 00000000 00000000 ................ 0E0 00000000 00000000 00000000 00000000 ................ 0F0 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== ScsiStatus == 0x0. MODE: Size of MODE CACHING PAGE returned by target: 247 bytes. MODE: Caching mode page information. MODE: Caching.PageCode: 0x8. MODE: Caching.PageSavable: 0x0. MODE: Caching.PageLength: 0x12. MODE: Caching.ReadDisableCache: 0x0. MODE: Caching.MultiplicationFactor: 0x0. MODE: Caching.WriteCacheEnable: 0x1. MODE: Caching.WriteRetensionPriority: 0x0. MODE: Caching.ReadRetensionPriority: 0x0. MODE: Caching.DisablePrefetchTransfer: 0x00. MODE: Caching.MinimumPrefetch: 0x00. MODE: Caching.MaximumPrefetch: 0x00. MODE: Caching.MaximumPrefetchCeiling: 0x00. MODE: Caching.NumberCacheSegments: 0x0. MODE: Caching.CacheSegmentSize: 0x00. End: Pass, MODE SELECT 10: MODE SENSE (10) Attempting to get Caching mode page., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario common /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Optional Start: MODE SELECT 10: MODE SENSE (10) Checking Parameters Savable (PS bit)., TUID= Description: Checking to see if Parameters Savable bit for the Caching Mode Page is 1. Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.8 http://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf Expectation: PS == 1. PS = 0. Support for PS=1 is not mandatory Warn: File=testsrc\driverstest\storage\wdk\scsicompliance\lib\core\policyscenario.cpp, Line=195 End: Warn, MODE SELECT 10: MODE SENSE (10) Checking Parameters Savable (PS bit)., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario common /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: MODE SELECT 10: MODE SENSE (10) Checking Mode Parameter Header, TUID= Description: Verify that MediumType == 0 and BlockDescriptorLength == 0. Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.8 http://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf Expectation: MediumType == 0x0 and BlockDescriptorLength == 0x0 MODE: ModeDataLength: 0x1a. MODE: MediumType: 0x0. MODE: DeviceSpecificParameter: 0x10. MODE: BlockDescriptorLength: 0x0. MediumType == 0x0 and BlockDescriptorLength == 0x0. End: Pass, MODE SELECT 10: MODE SENSE (10) Checking Mode Parameter Header, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario common /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: MODE SELECT 10: MODE SENSE (10) Checking Caching Mode Page Length., TUID= Description: Checking the Caching Mode Page is 20 bytes. Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.8 http://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf Expectation: cachePageLength == 20 bytes. MODE: Cache page length is 0xf7. Error: 0x0, Error 0x00000000 Logging an error File=testsrc\driverstest\storage\wdk\scsicompliance\lib\core\policyscenario.cpp Line=213 End: Fail, MODE SELECT 10: MODE SENSE (10) Checking Caching Mode Page Length., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario common /operation test
Policy: REQUIRED Start: MODE SENSE (6) Checking Individual Mode Pages, TUID= Description: Testing to ensure we can access each individual mode page, and that the paremeters are correct Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.9 http://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf Expectation: Pages should be returned and the headers should be compliant Checking additional parameters of Mode Page 0x1. Sending SCSI command to device. Mode Sense 6 Command: 1a 00 01 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0xff 00 04 08 0C --------------------------------------------------------------- 000 17001008 D1A0B68E 00000200 010A0000 ................ 010 00000000 00000000 00000000 00000000 ................ 020 00000000 00000000 00000000 00000000 ................ 030 00000000 00000000 00000000 00000000 ................ 040 00000000 00000000 00000000 00000000 ................ 050 00000000 00000000 00000000 00000000 ................ 060 00000000 00000000 00000000 00000000 ................ 070 00000000 00000000 00000000 00000000 ................ 080 00000000 00000000 00000000 00000000 ................ 090 00000000 00000000 00000000 00000000 ................ 0A0 00000000 00000000 00000000 00000000 ................ 0B0 00000000 00000000 00000000 00000000 ................ 0C0 00000000 00000000 00000000 00000000 ................ 0D0 00000000 00000000 00000000 00000000 ................ 0E0 00000000 00000000 00000000 00000000 ................ 0F0 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Data Transfer Length doesn't match Mode Data Length. Sending SCSI command to device. Mode Sense 6 Command: 1a 08 01 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0xff 00 04 08 0C --------------------------------------------------------------- 000 0F001000 010A0000 00000000 00000000 ................ 010 00000000 00000000 00000000 00000000 ................ 020 00000000 00000000 00000000 00000000 ................ 030 00000000 00000000 00000000 00000000 ................ 040 00000000 00000000 00000000 00000000 ................ 050 00000000 00000000 00000000 00000000 ................ 060 00000000 00000000 00000000 00000000 ................ 070 00000000 00000000 00000000 00000000 ................ 080 00000000 00000000 00000000 00000000 ................ 090 00000000 00000000 00000000 00000000 ................ 0A0 00000000 00000000 00000000 00000000 ................ 0B0 00000000 00000000 00000000 00000000 ................ 0C0 00000000 00000000 00000000 00000000 ................ 0D0 00000000 00000000 00000000 00000000 ................ 0E0 00000000 00000000 00000000 00000000 ................ 0F0 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Comparing 0xfb bytes Comparing 0x1 with 0x1. Comparing 0xa with 0xa. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Sending SCSI command to device. Mode Sense 6 Command: 1a 00 41 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0xff 00 04 08 0C --------------------------------------------------------------- 000 17001008 D1A0B68E 00000200 010A0000 ................ 010 00000000 00000000 00000000 00000000 ................ 020 00000000 00000000 00000000 00000000 ................ 030 00000000 00000000 00000000 00000000 ................ 040 00000000 00000000 00000000 00000000 ................ 050 00000000 00000000 00000000 00000000 ................ 060 00000000 00000000 00000000 00000000 ................ 070 00000000 00000000 00000000 00000000 ................ 080 00000000 00000000 00000000 00000000 ................ 090 00000000 00000000 00000000 00000000 ................ 0A0 00000000 00000000 00000000 00000000 ................ 0B0 00000000 00000000 00000000 00000000 ................ 0C0 00000000 00000000 00000000 00000000 ................ 0D0 00000000 00000000 00000000 00000000 ................ 0E0 00000000 00000000 00000000 00000000 ................ 0F0 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Sending SCSI command to device. Mode Sense 6 Command: 1a 00 81 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0xff 00 04 08 0C --------------------------------------------------------------- 000 17001008 D1A0B68E 00000200 010A0000 ................ 010 00000000 00000000 00000000 00000000 ................ 020 00000000 00000000 00000000 00000000 ................ 030 00000000 00000000 00000000 00000000 ................ 040 00000000 00000000 00000000 00000000 ................ 050 00000000 00000000 00000000 00000000 ................ 060 00000000 00000000 00000000 00000000 ................ 070 00000000 00000000 00000000 00000000 ................ 080 00000000 00000000 00000000 00000000 ................ 090 00000000 00000000 00000000 00000000 ................ 0A0 00000000 00000000 00000000 00000000 ................ 0B0 00000000 00000000 00000000 00000000 ................ 0C0 00000000 00000000 00000000 00000000 ................ 0D0 00000000 00000000 00000000 00000000 ................ 0E0 00000000 00000000 00000000 00000000 ................ 0F0 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Sending SCSI command to device. Mode Sense 6 Command: 1a 00 c1 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0xff 00 04 08 0C --------------------------------------------------------------- 000 17001008 D1A0B68E 00000200 010A0000 ................ 010 00000000 00000000 00000000 00000000 ................ 020 00000000 00000000 00000000 00000000 ................ 030 00000000 00000000 00000000 00000000 ................ 040 00000000 00000000 00000000 00000000 ................ 050 00000000 00000000 00000000 00000000 ................ 060 00000000 00000000 00000000 00000000 ................ 070 00000000 00000000 00000000 00000000 ................ 080 00000000 00000000 00000000 00000000 ................ 090 00000000 00000000 00000000 00000000 ................ 0A0 00000000 00000000 00000000 00000000 ................ 0B0 00000000 00000000 00000000 00000000 ................ 0C0 00000000 00000000 00000000 00000000 ................ 0D0 00000000 00000000 00000000 00000000 ................ 0E0 00000000 00000000 00000000 00000000 ................ 0F0 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Problem with mode page 0x1. There was a problem with one of the mode pages. See info above. Error: 0x0, Error 0x00000000 Logging an error File=testsrc\driverstest\storage\wdk\scsicompliance\lib\core\policyscenario.cpp Line=213 End: Fail, MODE SENSE (6) Checking Individual Mode Pages, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario common /operation test
Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: MODE SELECT 6: MODE SENSE (6) Attempting to get Caching mode page., TUID= Description: Checking to see if a simple MODE SENSE command on Page 0x08 will return GOOD status. Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.7 http://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf Expectation: The device must return GOOD (0x0) SCSI status Sending SCSI command to device. Mode Sense 6 Command: 1a 08 08 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0xff 00 04 08 0C --------------------------------------------------------------- 000 17001000 08120400 00000000 00000000 ................ 010 20000000 00000000 00000000 00000000 ............... 020 00000000 00000000 00000000 00000000 ................ 030 00000000 00000000 00000000 00000000 ................ 040 00000000 00000000 00000000 00000000 ................ 050 00000000 00000000 00000000 00000000 ................ 060 00000000 00000000 00000000 00000000 ................ 070 00000000 00000000 00000000 00000000 ................ 080 00000000 00000000 00000000 00000000 ................ 090 00000000 00000000 00000000 00000000 ................ 0A0 00000000 00000000 00000000 00000000 ................ 0B0 00000000 00000000 00000000 00000000 ................ 0C0 00000000 00000000 00000000 00000000 ................ 0D0 00000000 00000000 00000000 00000000 ................ 0E0 00000000 00000000 00000000 00000000 ................ 0F0 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== ScsiStatus == 0x0. MODE: Size of MODE CACHING PAGE returned by target: 251 bytes. MODE: Caching mode page information. MODE: Caching.PageCode: 0x8. MODE: Caching.PageSavable: 0x0. MODE: Caching.PageLength: 0x12. MODE: Caching.ReadDisableCache: 0x0. MODE: Caching.MultiplicationFactor: 0x0. MODE: Caching.WriteCacheEnable: 0x1. MODE: Caching.WriteRetensionPriority: 0x0. MODE: Caching.ReadRetensionPriority: 0x0. MODE: Caching.DisablePrefetchTransfer: 0x00. MODE: Caching.MinimumPrefetch: 0x00. MODE: Caching.MaximumPrefetch: 0x00. MODE: Caching.MaximumPrefetchCeiling: 0x00. MODE: Caching.NumberCacheSegments: 0x0. MODE: Caching.CacheSegmentSize: 0x00. End: Pass, MODE SELECT 6: MODE SENSE (6) Attempting to get Caching mode page., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario common /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Optional Start: MODE SELECT 6: MODE SENSE (6) Checking Parameters Savable (PS bit)., TUID= Description: Checking to see if Parameters Savable bit for the Caching Mode Page is 1. Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.7 http://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf Expectation: PS == 1. PS = 0. Support for PS=1 is not mandatory Warn: File=testsrc\driverstest\storage\wdk\scsicompliance\lib\core\policyscenario.cpp, Line=195 End: Warn, MODE SELECT 6: MODE SENSE (6) Checking Parameters Savable (PS bit)., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario common /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: MODE SELECT 6: MODE SENSE (6) Checking Mode Parameter Header, TUID= Description: Verify that MediumType == 0 and BlockDescriptorLength == 0. Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.7 http://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf Expectation: MediumType == 0x0 and BlockDescriptorLength == 0x0 MODE: ModeDataLength: 0x17. MODE: MediumType: 0x0. MODE: DeviceSpecificParameter: 0x10. MODE: BlockDescriptorLength: 0x0. MediumType == 0x0 and BlockDescriptorLength == 0x0. End: Pass, MODE SELECT 6: MODE SENSE (6) Checking Mode Parameter Header, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario common /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: MODE SELECT 6: MODE SENSE (6) Checking Caching Mode Page Length., TUID= Description: Checking the Caching Mode Page is 20 bytes. Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.7 http://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf Expectation: cachePageLength == 20 bytes. MODE: Cache page length is 0xfb. Error: 0x0, Error 0x00000000 Logging an error File=testsrc\driverstest\storage\wdk\scsicompliance\lib\core\policyscenario.cpp Line=213 End: Fail, MODE SELECT 6: MODE SENSE (6) Checking Caching Mode Page Length., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario common /operation test
Policy: REQUIRED Start: MODE SENSE (6) Checking Individual Mode Pages, TUID= Description: Testing to ensure we can access each individual mode page, and that the paremeters are correct Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.9 http://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf Expectation: Pages should be returned and the headers should be compliant Checking additional parameters of Mode Page 0x1. Sending SCSI command to device. Mode Sense 6 Command: 1a 00 01 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0xff 00 04 08 0C --------------------------------------------------------------- 000 17001008 D1A0B68E 00000200 010A0000 ................ 010 00000000 00000000 00000000 00000000 ................ 020 00000000 00000000 00000000 00000000 ................ 030 00000000 00000000 00000000 00000000 ................ 040 00000000 00000000 00000000 00000000 ................ 050 00000000 00000000 00000000 00000000 ................ 060 00000000 00000000 00000000 00000000 ................ 070 00000000 00000000 00000000 00000000 ................ 080 00000000 00000000 00000000 00000000 ................ 090 00000000 00000000 00000000 00000000 ................ 0A0 00000000 00000000 00000000 00000000 ................ 0B0 00000000 00000000 00000000 00000000 ................ 0C0 00000000 00000000 00000000 00000000 ................ 0D0 00000000 00000000 00000000 00000000 ................ 0E0 00000000 00000000 00000000 00000000 ................ 0F0 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Data Transfer Length doesn't match Mode Data Length. Sending SCSI command to device. Mode Sense 6 Command: 1a 08 01 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0xff 00 04 08 0C --------------------------------------------------------------- 000 0F001000 010A0000 00000000 00000000 ................ 010 00000000 00000000 00000000 00000000 ................ 020 00000000 00000000 00000000 00000000 ................ 030 00000000 00000000 00000000 00000000 ................ 040 00000000 00000000 00000000 00000000 ................ 050 00000000 00000000 00000000 00000000 ................ 060 00000000 00000000 00000000 00000000 ................ 070 00000000 00000000 00000000 00000000 ................ 080 00000000 00000000 00000000 00000000 ................ 090 00000000 00000000 00000000 00000000 ................ 0A0 00000000 00000000 00000000 00000000 ................ 0B0 00000000 00000000 00000000 00000000 ................ 0C0 00000000 00000000 00000000 00000000 ................ 0D0 00000000 00000000 00000000 00000000 ................ 0E0 00000000 00000000 00000000 00000000 ................ 0F0 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Comparing 0xfb bytes Comparing 0x1 with 0x1. Comparing 0xa with 0xa. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Sending SCSI command to device. Mode Sense 6 Command: 1a 00 41 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0xff 00 04 08 0C --------------------------------------------------------------- 000 17001008 D1A0B68E 00000200 010A0000 ................ 010 00000000 00000000 00000000 00000000 ................ 020 00000000 00000000 00000000 00000000 ................ 030 00000000 00000000 00000000 00000000 ................ 040 00000000 00000000 00000000 00000000 ................ 050 00000000 00000000 00000000 00000000 ................ 060 00000000 00000000 00000000 00000000 ................ 070 00000000 00000000 00000000 00000000 ................ 080 00000000 00000000 00000000 00000000 ................ 090 00000000 00000000 00000000 00000000 ................ 0A0 00000000 00000000 00000000 00000000 ................ 0B0 00000000 00000000 00000000 00000000 ................ 0C0 00000000 00000000 00000000 00000000 ................ 0D0 00000000 00000000 00000000 00000000 ................ 0E0 00000000 00000000 00000000 00000000 ................ 0F0 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Sending SCSI command to device. Mode Sense 6 Command: 1a 00 81 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0xff 00 04 08 0C --------------------------------------------------------------- 000 17001008 D1A0B68E 00000200 010A0000 ................ 010 00000000 00000000 00000000 00000000 ................ 020 00000000 00000000 00000000 00000000 ................ 030 00000000 00000000 00000000 00000000 ................ 040 00000000 00000000 00000000 00000000 ................ 050 00000000 00000000 00000000 00000000 ................ 060 00000000 00000000 00000000 00000000 ................ 070 00000000 00000000 00000000 00000000 ................ 080 00000000 00000000 00000000 00000000 ................ 090 00000000 00000000 00000000 00000000 ................ 0A0 00000000 00000000 00000000 00000000 ................ 0B0 00000000 00000000 00000000 00000000 ................ 0C0 00000000 00000000 00000000 00000000 ................ 0D0 00000000 00000000 00000000 00000000 ................ 0E0 00000000 00000000 00000000 00000000 ................ 0F0 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Sending SCSI command to device. Mode Sense 6 Command: 1a 00 c1 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0xff 00 04 08 0C --------------------------------------------------------------- 000 17001008 D1A0B68E 00000200 010A0000 ................ 010 00000000 00000000 00000000 00000000 ................ 020 00000000 00000000 00000000 00000000 ................ 030 00000000 00000000 00000000 00000000 ................ 040 00000000 00000000 00000000 00000000 ................ 050 00000000 00000000 00000000 00000000 ................ 060 00000000 00000000 00000000 00000000 ................ 070 00000000 00000000 00000000 00000000 ................ 080 00000000 00000000 00000000 00000000 ................ 090 00000000 00000000 00000000 00000000 ................ 0A0 00000000 00000000 00000000 00000000 ................ 0B0 00000000 00000000 00000000 00000000 ................ 0C0 00000000 00000000 00000000 00000000 ................ 0D0 00000000 00000000 00000000 00000000 ................ 0E0 00000000 00000000 00000000 00000000 ................ 0F0 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Problem with mode page 0x1. There was a problem with one of the mode pages. See info above. Error: 0x0, Error 0x00000000 Logging an error File=testsrc\driverstest\storage\wdk\scsicompliance\lib\core\policyscenario.cpp Line=213 End: Fail, MODE SENSE (6) Checking Individual Mode Pages, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario common /operation test
Policy: REQUIRED Start: ASSERTION: MODE SENSE (6) Basic Test, TUID= Description: Checking to see if a simple MODE SENSE command on Page 0x3f will return GOOD status Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.9 http://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf Expectation: The device must return GOOD (0x0) SCSI status Rationale: Storage stack uses Caching Mode Page to turn on/off the device caching. Therefore the ability to read to mode pages using Mode Sense commands is required. Sending SCSI command to device. Mode Sense 6 Command: 1a 00 3f 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0xff 00 04 08 0C --------------------------------------------------------------- 000 43001008 D1A0B68E 00000200 010A0000 C............... 010 00000000 00000000 08120400 00000000 ................ 020 00000000 20000000 00000000 0A0A0210 .... ........... 030 00400000 FFFF001E 1C0A0000 00000000 .@.............. 040 00000000 00000000 00000000 00000000 ................ 050 00000000 00000000 00000000 00000000 ................ 060 00000000 00000000 00000000 00000000 ................ 070 00000000 00000000 00000000 00000000 ................ 080 00000000 00000000 00000000 00000000 ................ 090 00000000 00000000 00000000 00000000 ................ 0A0 00000000 00000000 00000000 00000000 ................ 0B0 00000000 00000000 00000000 00000000 ................ 0C0 00000000 00000000 00000000 00000000 ................ 0D0 00000000 00000000 00000000 00000000 ................ 0E0 00000000 00000000 00000000 00000000 ................ 0F0 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== End: Pass, ASSERTION: MODE SENSE (6) Basic Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario common /operation test Policy: REQUIRED Start: ASSERTION: MODE SENSE (6) Checking size of returned data., TUID= Description: Checking that we receive a minimum amount of data (i.e. at least the MODE PARAMETER HEADER). Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.9 http://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf Expectation: Data Transfer Length >= 4 bytes Data Transfer Length = 255 bytes. End: Pass, ASSERTION: MODE SENSE (6) Checking size of returned data., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario common /operation test Policy: REQUIRED Start: ASSERTION: MODE SENSE (6) Checking MODE PARAMETER HEADER, TUID= Description: Checking that the MODE PARAMETER HEADER length information is valid. Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.9 http://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf Expectation: ModeDataLength = Data Transfer Length - 1 = 254 bytes. ModeDataLength: 0x43. MediumType: 0x0. DeviceSpecificParameter: 0x10. BlockDescriptorLength: 0x8. ModeDataLength == 67 bytes. Error: 0x0, Error 0x00000000 Logging an error File=testsrc\driverstest\storage\wdk\scsicompliance\lib\core\policyscenario.cpp Line=213 End: Fail, ASSERTION: MODE SENSE (6) Checking MODE PARAMETER HEADER, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario common /operation test
Policy: REQUIRED Start: ASSERTION: VERIFY (10) Exceed Capacity Test, TUID= Description: The test issues a VERIFY (10) to verify the exceed capacity of the device. This test verifies whether the device reports check condition or not. Reference: SCSI Block Commands - 3 (SBC-3) Revision 26 (or published) specification Section 5.28 http://www.t10.org/ftp/t10/drafts/sbc3/sbc3r26.pdf Expectation: Scsi Status == 0x2. CHECK CONDITION Rationale: Used to verify data from device. Sending SCSI command to device. VERIFY10 Command: 2f 00 d1 a0 b6 8e 00 00 02 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x0 == DONE ============================================================== If the LBA plus the verification length exceeds the capacity of the medium, then the device server will return CHECK CONDITION status. Fatal error, skipping all remaining VERIFY10 test cases. Error: 0x0, Error 0x00000000 Logging an error File=testsrc\driverstest\storage\wdk\scsicompliance\lib\core\policyscenario.cpp Line=213 End: Fail, ASSERTION: VERIFY (10) Exceed Capacity Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario common /operation test