是否可以从内核模块中将SCSI命令发送到USB设备?

时间:2013-02-01 23:46:11

标签: linux linux-device-driver kernel-module scsi usb-mass-storage

问题

如果给出udev传递给我的内核模块的信息(可能是块设备路径),我可以将SCSI命令发送到块设备吗? (但是它具有正常的功能,否则意味着安装了分区,没有数据丢失等)

我正在尝试做什么

我有一个USB大容量存储设备,它有LED,可通过SCSI命令控制。 我想写一个LED驱动程序来为它提供/ sys / class / leds / *条目。

这里的目标是使设备正常运行(分区已安装并运行等),但也允许/ sys / class / leds / *交互,这些交互将发送SCSI命令来控制LED。

使用sg_raw在用户空间中发送我需要的SCSI命令很容易。但我需要一个kmod来提供/ sys / class / leds /...

基本上我需要的是ioctl()。但是,我知道从kmod内调用open(),ioct()等通常是一个坏主意。

1 个答案:

答案 0 :(得分:1)

可以通过在USB和USB之间模拟的一些伪驱动程序来实现。 SCSI。我认为当您通过SCSI.

访问USB设备时,可能会遇到什么问题

这些低水平&中级scsi驱动程序为defined.