5

質問

udevがカーネルモジュール(おそらくブロックデバイスパス)に渡す情報を前提として、SCSIコマンドをブロックデバイスに送信するにはどうすればよいですか?(それ以外の場合は正常に機能します。つまり、パーティションがマウントされ、データが失われることはありません)

私がやろうとしていること

SCSIコマンドで制御されるLEDを備えたUSBマスストレージデバイスがあります。/ sys / class / leds/*エントリを提供するLEDドライバを作成したいと思います。

ここでの目標は、デバイスを正常に機能させることです(パーティションをマウントして機能させるなど)が、LEDを制御するためにSCSIコマンドを送信する/ sys / class / leds/*インタラクションも許可します。

sg_rawを使用すると、ユーザースペースで必要なSCSIコマンドを簡単に送信できます。しかし、/ sys / class /leds/を提供するにはkmodが必要です...

基本的に必要なのはioctl()です。ただし、kmod内からopen()、ioct()などを呼び出すことは一般的に悪い考えだと理解しています。

4

1 に答える 1

2

これは、USBとSCSIの間でエミュレートする疑似ドライバーによって実現できます。SCSIを介してUSBデバイスにアクセスしているときに、問題が発生する可能性があると思います。


これらの低レベルおよび中レベルのscsiドライバーが定義されています。

于 2013-03-21T07:13:53.860 に答える