Dear ALL,
I am running the scsicompliancetest.exe to test the raid controller. I used
the following command line:
scsicompliancetest.exe -v 3 \.\PhysicalDrive1
where \.\PhysicalDrive1 is the disk exposed by the raid controller.
But l always get the following error message:
SCSI Compliance Test Version 1.3.7 B
Copyright (c) 2003-2005 Microsoft Corporation
Constructing CScsiComplianceTest object.
ASSERTION Testing Test SCSI device
Constructing CDeviceChecker object.
Attempting to validate if test device is safe.
Test device has signature 0xa8cbb8c2.
System Partition spans PhysicalDrive0
System disk has signature 0x7badeeaf.
System Partition = \Device\HarddiskVolume1.
System device on drive C has signature 0x7badeeaf.
Test device is ok to test.
Destroying CDeviceChecker object.
Testing Vista/Longhorn Server compliance.
Constructing CScsiInquiryTest object.
Sending IOCTL_STORAGE_PROPERTY_QUERY
Got Storage Property
Device Type: 00 [Direct access block device]
Bus Type: 10 [SAS]
ASSERTION 1 INQUIRY Command Test
Start: ASSERTION 1.1 INQUIRY Basic Verification Test,
TUID=6BFD171E-C6A7-11DA-94F5-00123F3A6B60
Test: The device must return GOOD (0x0) SCSI status and data of size
smaller than or equal to 255 bytes in response to the INQUIRY command with
ALLOCATION LENGTH field set to 255 (0xFF) bytes. The ALLOCATION LENGTH
field specifies the maximum number of bytes that an application client has
allocated for returned data.
Info: SCSI Primary Commands - 2 (SPC-2) Revision 20 (or published)
specification Section 7.3.2.
http://www.t10.org/ftp/t10/drafts/spc2/spc2r20.pdf
Info: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published)
specification Section 6.4.2.
http://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Apply: Sending INQUIRY command (12 00 00 00 FF 00) to device…
== SENDING SCSI COMMAND ==============================================
Sending 6-byte CDB: 12 00 00 00 FF 00
DeviceIoControl FAILED with error 0x57
The parameter is incorrect.
Expect: The device must return GOOD (0x0) SCSI status and data of size
smaller than or equal to 255 bytes.
Response: SCSI status is 0xff.
Result: FAIL. Fatal error, skipping all remaining INQUIRY test cases.
End: Fail, ASSERTION 1.1 INQUIRY Basic Verification Test,
TUID=6BFD171E-C6A7-11DA-94F5-00123F3A6B60, Repro=scsicompliancetest.exe -v
3 \.\physicaldrive1
The Inquiry command even not goto the driver of the raid controller.
Anyone can give me some advice on this?
–
Best regards,
David Zeng
Dear ALL,
This problem is caused by the AlignmentMask of
PORT_CONFIGURATION_INFORMATION, whick I set to 0x7(double DWORD aligned).
If I set AlignmentMask to 0x3(DWORD aligned), the error disappear.
But I don’t know exactly why.
Anyone know the reason?
On Fri, Jul 6, 2012 at 5:58 PM, zeng xiaohua wrote:
> Dear ALL,
>
> I am running the scsicompliancetest.exe to test the raid controller. I
> used the following command line:
>
> scsicompliancetest.exe -v 3 \.\PhysicalDrive1
>
> where \.\PhysicalDrive1 is the disk exposed by the raid controller.
>
> But l always get the following error message:
>
> SCSI Compliance Test Version 1.3.7 B
> Copyright (c) 2003-2005 Microsoft Corporation
>
> Constructing CScsiComplianceTest object.
> ASSERTION Testing Test SCSI device
> Constructing CDeviceChecker object.
> Attempting to validate if test device is safe.
> Test device has signature 0xa8cbb8c2.
> System Partition spans PhysicalDrive0
> System disk has signature 0x7badeeaf.
> System Partition = \Device\HarddiskVolume1.
> System device on drive C has signature 0x7badeeaf.
> Test device is ok to test.
> Destroying CDeviceChecker object.
> Testing Vista/Longhorn Server compliance.
> Constructing CScsiInquiryTest object.
> Sending IOCTL_STORAGE_PROPERTY_QUERY
> Got Storage Property
> Device Type: 00 [Direct access block device]
> Bus Type: 10 [SAS]
>
> ASSERTION 1 INQUIRY Command Test
> Start: ASSERTION 1.1 INQUIRY Basic Verification Test,
> TUID=6BFD171E-C6A7-11DA-94F5-00123F3A6B60
> Test: The device must return GOOD (0x0) SCSI status and data of size
> smaller than or equal to 255 bytes in response to the INQUIRY command with
> ALLOCATION LENGTH field set to 255 (0xFF) bytes. The ALLOCATION LENGTH
> field specifies the maximum number of bytes that an application client has
> allocated for returned data.
> Info: SCSI Primary Commands - 2 (SPC-2) Revision 20 (or published)
> specification Section 7.3.2.
> http://www.t10.org/ftp/t10/drafts/spc2/spc2r20.pdf
> Info: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published)
> specification Section 6.4.2.
> http://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
> Apply: Sending INQUIRY command (12 00 00 00 FF 00) to device…
> == SENDING SCSI COMMAND ==============================================
> Sending 6-byte CDB: 12 00 00 00 FF 00
> DeviceIoControl FAILED with error 0x57
> The parameter is incorrect.
>
> Expect: The device must return GOOD (0x0) SCSI status and data of size
> smaller than or equal to 255 bytes.
> Response: SCSI status is 0xff.
> Result: FAIL. Fatal error, skipping all remaining INQUIRY test cases.
> End: Fail, ASSERTION 1.1 INQUIRY Basic Verification Test,
> TUID=6BFD171E-C6A7-11DA-94F5-00123F3A6B60, Repro=scsicompliancetest.exe -v
> 3 \.\physicaldrive1
>
> The Inquiry command even not goto the driver of the raid controller.
>
> Anyone can give me some advice on this?
>
>
> –
>
> Best regards,
> David Zeng
>
>
–
Best regards,
David Zeng
Because your buffer was not aligned properly.
Does your controller support 4 bytes alignment?
Thanks, Grigora.
Yes, 4 bytes alignment works, if I set the controller to 8 bytes alignment,
the test will failed.
Does the scsicompliancetest.exe just support 4 bytes alignment?
On Mon, Jul 9, 2012 at 11:07 PM, wrote:
> Because your buffer was not aligned properly.
>
> Does your controller support 4 bytes alignment?
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
–
Best regards,
David Zeng
If scsicompliancetest.exe doesn’t honor the HBA alignment requirement, it’s a bug in it. You should contact MS support.