0

IOSCSIPeripheralDeviceType00USB 接続の大容量記憶装置用のからサブクラス化された SCSI パススルー デバイス ドライバーを作成しています。デバイスは、ファームウェア内のいくつかのベンダー固有の SCSI コマンドをインターセプトし、適切に応答するだけでなく、「通常の」SCSI コマンドにも応答します。

私は、この Wagerlabs コードのスタイルによく似たドライブを実装しました。

およびメソッドは基本的に空でinit()probe()ログを記録し、反復的なスーパークラス関数を呼び出すだけです。これらは正しく動作しているように見えます (ログは期待どおりに表示され、プラグインされたときにドライバーがデバイスに割り当てられます)。ただし、ドライバーのstart()メソッドが呼び出されると、スーパークラスstart()が最初に呼び出されますが、デバイスが取り外されるまで返されません。

4

1 に答える 1

0

最終的に、デバイスが接続されたディスクを適切に初期化していないことが判明したためstart()、クラスに渡されたメソッドがIOSCSIProtocolInterface::start()デバイスと適切に通信することを許可せず、デバイスが物理的に取り外されるまで起動がハングしました。

于 2012-09-13T12:34:10.990 に答える