1

USB ベースの大容量記憶装置を開発しています。制御は SCSI コマンド経由です。

このデバイスの LUN の 1 つが「非表示」になっています。すべてのコマンド (INQUIRY と REQUEST SENSE を除く) は COMMAND FAILED (1) を返します。REQUEST SENSE は NOT READY (MEDIUM NOT PRESENT) を返します。

それにもかかわらず、Windows は繰り返し READ CAPACITY を送信します。COMMAND FAILED を返すことに加えて、すべてゼロのデータで COMMAND PASSED (0) を返そうとしました。しかし、これにより、Windows はそれ以上のコマンドの送信をまったく停止し、デバイスの列挙が停止します。

これらの要求に対する適切な応答は何ですか?

4

1 に答える 1

0

次のいくつかを掘り下げる必要があると思います。

http://www.t10.org/drafts.htm#SCSI3_UAS
http://msdn.microsoft.com/en-us/library/ff567427%28v=vs.85%29.aspx

MSDN SCSI 準拠テストから:

9.1 READ CAPACITY (10) Basic Verification Test Test Assertion GUID: 6bfd177d-c6a7-11da-94f5-00123f3a6b601 Windows ロゴ プログラム: STORAGE-0003 SCSI ベースのデバイスが SCSI プロトコル要件を満たしている 追加情報: テスト: TD-28.25 SCSI コンプライアンス テストでは、 READ CAPACITY (10) コマンドは正しいディスク容量情報を返します。情報: テストは、論理ブロック アドレスの数とディスクのブロック長を要求するコマンドを送信します。適用: テストでは、デバイスに READ CAPACITY (10) コマンド (0x25) を送信して、ディスクの論理ブロック アドレスの数とブロック長を要求します。予想: ScsiStatus の値は 0x0 である必要があります。

9.2 READ CAPACITY (10) PMI テスト テスト アサーション GUID: 6bfd177e-c6a7-11da-94f5-00123f3a6b601 Windows ロゴ プログラム: STORAGE-0003 SCSI ベースのデバイスは SCSI プロトコル要件を満たしています

9.3 READ CAPACITY (10) ネガティブ テスト テスト アサーション GUID: 6bfd177f-c6a7-11da-94f5-00123f3a6b601 Windows ロゴ プログラム: STORAGE-0003 SCSI ベースのデバイスは SCSI プロトコル要件を満たしています

于 2011-08-01T02:35:22.697 に答える