2011-08-01 15 views
1

私はUSBベースの大容量記憶装置を開発しています。制御はSCSIコマンドによる。WindowsはSCSI READ CAPACITY要求を繰り返し送信します。

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

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

これらのリクエストに対する適切な対応は何ですか?

答えて

0

私は次のいくつかを掘るする必要があります疑う:MSDN SCSI準拠テストから

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


9.1 READ容量(10)の基本的な検証テスト テストアサーションGUID:6bfd177d-c6a7-11da-94f5-00123f3a6b601 Windowsロゴプログラム:STORAGE-0003 S追加情報:テスト:TD-28.25 SCSI準拠テストでは、READ CAPACITY(10)コマンドが正しいディスク容量情報を返すかどうかを確認します。 Info:テストは、論理ブロックアドレスの数とディスクのブロック長を要求するコマンドを送信します。適用:テストは、デバイスの論理ブロックアドレスの数とブロック長を要求するREAD CAPACITY(10)コマンド(0x25)をデバイスに送信します。 Expect:ScsiStatusの値は0x0でなければなりません。

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

9.3 READ容量(10)陰性の検査 テストアサーションGUID:6bfd177f-c6a7-11da-94f5-00123f3a6b601 Windowsロゴプログラム:STORAGE-0003 SCSIベースのデバイスは、SCSIプロトコルの要件を満たす

+0

ご協力いただきありがとうございます。私はSCSIコンプライアンステストを見てきましたが、媒体が存在しない状況のために意図されたとは考えていませんでした。私はOSに "隠された" LUNが準備ができていないことを示す何らかの他の方法がなければならないと思う。同様のシナリオは、空のDVDドライブです。 –

+0

あなたの試した "ScsiStatusの値は0x0"にする必要がありますか? – Yahia

関連する問題