SCSI-Compliancetest für mit einem USB 2.0- oder USB 3.0-Controller verbundene UAS-Geräte unter EHCI (LOGO)
Bei diesem Test werden die SCSI-Befehlsdeskriptorblöcke (Small Computer System Interface) überprüft, die an das USB-UAS-Gerät gesendet werden.
Testdetails
Spezifikationen |
|
Plattformen |
|
Unterstützte Versionen |
|
Erwartete Laufzeit (in Minuten) | 5 |
Kategorie | Kompatibilität |
Timeout (in Minuten) | 300 |
Neustart erforderlich | false |
Spezielle Konfiguration erforderlich | false |
Typ | automatic |
Zusätzliche Dokumentation
Tests in diesem Funktionsbereich enthalten möglicherweise zusätzliche Dokumentation, einschließlich Informationen zu Voraussetzungen, Einrichtung und Fehlerbehebung, die in den folgenden Themen zu finden sind:
Ausführen des Tests
Bevor Sie den Test ausführen, schließen Sie das Testsetup wie in den Testanforderungen beschrieben ab: Testvoraussetzungen für Festplattenlaufwerke.
Darüber hinaus erfordert dieser Test ein UAS-Gerät, das mit einem USB 2.0-Controller verbunden ist.
Problembehandlung
Informationen zur allgemeinen Problembehandlung bei HLK-Testfehlern finden Sie unter Problembehandlung bei Windows HLK-Testfehlern.
Informationen zur Problembehandlung finden Sie unter Problembehandlung bei Device.Storage-Tests.
Außerdem schreibt der Test die Ergebnisse in die Protokolldateien „Scsicompliance.wtl“ und „Scsicompliance.wtl.txt“. Sie können die Ergebnisse verwenden, um Folgendes zu bestimmen:
Ob ein Gerät mit der SCSI-Spezifikation kompatibel ist
Die optionalen SCSI-Befehle, die von einem Gerät unterstützt werden
Damit der Test erfolgreich ist, muss das SCSI-Gerät alle obligatorischen Befehle unterstützen und mit diesen vollständig konform sein. Jeder Befehl hat einen anderen Schwellenwert für „Erfolgreich“ oder „Fehlgeschlagen“, und die Erwartungen werden im Test und in der Protokolldatei explizit angegeben.
Optionale Befehle werden auch getestet. Wenn ein Gerät die optionalen Befehle unterstützt und festgestellt wird, dass die Befehle nicht konform sind, schlägt der Test fehl. Wenn das Gerät keine optionalen Befehle unterstützt, wird der Test erfolgreich abgeschlossen.
Hinweis
Fehler treten in diesem Test durch Probleme auf, die in der Protokolldatei und in den Fehlerüberprüfungen identifiziert werden, bei denen der zu testende Treiber unter Stress gesetzt wird.
Führen Sie während des Tests die folgenden Schritte aus, wenn Sie Probleme beim Entfernen einer LUN haben, die fehlschlägt, oder keine LUN aus dem Speichercontroller erstellen können:
Stellen Sie vor der Ausführung dieses Tests sicher, dass das Speichergerät ordnungsgemäß funktioniert. Öffnen Sie „diskmgmt.msc“, wählen Sie den Datenträger aus, und stellen Sie sicher, dass Sie das Gerät auf „Online“ und den Zustand „Initialisiert“ stellen können.
Starten Sie den Windows HLK-Testcomputer neu.
Wählen Sie den SCSI-Compliancetest 2.0 aus, und führen Sie ihn erneut aus. Führen Sie davor keinen anderen Test aus.
Führen Sie den SCSI-Compliancetest (nicht den SCSI Compliance Test 2.0 (LOGO)) auf demselben Testclient und demselben Testspeichergerät aus. Wenn der Test erneut fehlschlägt, sollten Sie überprüfen, ob das Speichergerät ordnungsgemäß funktioniert. Wenn der Test in den Schritten 3 und 4 fehlschlägt, führen Sie die einzelnen fehlgeschlagenen Befehlsdatenblöcke nacheinander aus, wobei die Ausführlichkeitsstufe der Protokollierung auf 4 (die höchste Stufe der Testprotokollierung) eingestellt ist. Dadurch wird angezeigt, welche Daten gesendet und zurückgesendet wurden. Ein Test kann fehlschlagen, nachdem mehrere Befehlsdatenblöcke abgeschlossen, aber eigenständig bestanden wurden. In diesem Fall liegt ein Problem in der Firmware oder im Test vor.
Wenn Sie ein Gerät zurücksetzen und dies dazu führt, dass das Gerät vom Bus abfällt und nachfolgende Befehle fehlschlagen, führen Sie die folgenden Schritte aus:
Kopieren Sie die Testbinärdatei (Scsicompliance.exe) vom Windows HLK-Controller. Diese Datei befindet sich unter \\controllername\tests\[processorarchitectureofyourclient]\NTTEST\DriversTest\storage\wdk\.
Kopieren Sie die Datei „wttlog.dll“ vom Windows HLK-Controller. Diese Datei befindet sich unter \\<controllername>\Tests\<processorarchitectureofyourclient>\wtt.
Legen Sie diese beiden Dateien in einem separaten Ordner auf dem Testcomputer ab.
Geben Sie in einer Eingabeaufforderung im Verzeichnis mit der Binärdatei den folgenden Befehl ein: Scsicompliance.exe /device deviceID <> /verbosity 4 /operation test /scenario <> /CDB <failingcdbname>
Hinweis
DeviceID- und Szenariowerte finden Sie in der Repro-Zeile im Testprotokoll. Den Wert von „failingcdbname“ finden Sie, indem Sie die Testbinärdatei mit der Option /? ausführen (scsicompliance.exe /?).
Wechseln Sie zurück in dasselbe Verzeichnis, und überprüfen Sie die Ergebnisse, um festzustellen, ob Sie den Grund für das Fehlschlagen des Tests ermitteln können.
Wenn Sie weitere Hilfe benötigen, sammeln Sie die txt- und wtl-Protokolle, und teilen Sie die Protokolle mit dem Microsoft-Kundendienst.
Weitere Informationen
Führen Sie den Test als HLK-Manager-Auftrag aus.
Befehlssyntax
Befehlsoption | Beschreibung |
---|---|
Scsicompliance.exe |
Die Optionen für den Test werden unten aufgeführt. |
/device |
Das Gerät, auf dem der Test ausgeführt werden soll. Beispiel: /Device <physischer Gerätepfad> |
/operation |
Der auszuführende Vorgang. Beispiel: /Operation Test |
/scenario |
Das zu testende Feature. Beispiel: /Scenario Common |
/version |
USB-Versionsnummer des Geräts. Beispiel: /version 3 |
/protocol |
Das USB-Protokoll des Geräts. Beispiel: /protocol UAS |
/verbosity |
Der Grad der Protokollierungsausführlichkeit. Höhere Werte führen zu einer ausführlichere Ausgabe. Beispiel: /Verbosity 4 |
Hinweis
Geben Sie /? ein, um die Befehlszeilenhilfe für diese Testbinärdatei anzuzeigen.
Dateiliste
Datei | Standort |
---|---|
Scsicompliance.exe |
<[testbinroot]>\nttest\driverstest\storage\wdk\nttest\ |
Parameter
Parametername | Parameterbeschreibung |
---|---|
DiskDeviceObjLink | Gerätepfad des zu testenden Datenträgers EX: \\.\disk0 |
WDKDeviceID | Instanzpfad des zu testenden Geräts |
LoggingVerbosity | LoggingVerbosity: Ausführlichkeit der Protokollierung. Die Stufen sind kumulativ. 0 = Anweisungen und Ergebnisse. 1 = Details (Standard). 2 = CDBs, Daten und Sensorinformationen. 3 = Debug- und detaillierte Modusseiteninformationen. 4 = Speicherauslastung |
ScenarioId | Name des Szenariotests: Mögliche Werte sind „USBDisk“ und „USBCardReader“. |
Optionen | Optionen |
ScsiComplianceDevice | Einheitenpfad |
LLU_NetAccessOnly | Benutzerkonto für den Zugriff auf die Testdateifreigabe. |
LLU_LclAdminUsr | Benutzerkonto zum Ausführen des Tests. |
OperationId | Auszuführender Vorgang |
Version | USB-Version: Mögliche Werte sind 2 und 3. |
Protokoll | USB-Protokoll: Mögliche Werte sind „BOT“ und „UAS“ |
QueryIsUsb3 | |
QueryUAS | |
QueryRMB | |
Destructive | (0,1) 0=Passiv, 1=Destruktiv |
QueryUFDRotationalMedia | Abfragesammlung zum Abrufen der Eigenschaft |
QueryWTGDevice | Abfragesammlung zum Abrufen der Eigenschaft |
RM | Drehmedien: 0 oder 1 |