【问题标题】:Is it possible to send SCSI commands to a USB device from within a kernel module?是否可以从内核模块中向 USB 设备发送 SCSI 命令?
【发布时间】:2013-02-01 23:46:10
【问题描述】:

问题

鉴于 udev 传递给我的内核模块(可能是块设备路径)的信息,我可以向块设备发送 SCSI 命令吗? (但要让它正常运行,否则意味着分区已安装,没有数据丢失等)

我要做什么

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

    它可以通过一些在 USB 和 SCSI 之间模拟的伪驱动程序来实现。我认为当您通过SCSI. 访问 USB 设备时,您可能会遇到什么问题


    这些低级和中级 scsi 驱动程序是defined.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-31
      • 1970-01-01
      相关资源
      最近更新 更多