2011-08-26 95 views
0

如何在Linux中用大容量存储设备的USB驱动程序注册用户空间回调函数?
当连接USB棒时,我收到了关于控制台的信息。用USB驱动程序注册用户空间回调函数

USB 1-1:产品:的DataTraveler G2
USB 1-1:制造商:金士顿
USB 1-1:的SerialNumber:0019E06B07F7A961877C02A9使用ehci_hcd和地址2
USB 1-1新的高速USB设备
USB 1-1:SCSI仿真为USB大容量存储设备
SCSI 0:0:0:0:直接访问金士顿DataTraveler G2 1.00 PQ:0 ANSI:2
配置#1从1选择
选择的scsi0 SCSI设备sda:7818240 512字节hdwr扇区(4003 MB)
SDA:写保护处于关闭状态
SDA:假设驱动器高速缓存:写通过
SCSI设备SDA:7818240 512字节HDWR扇区(4003 MB)
SDA:写保护处于关闭状态
SDA:假设驱动器高速缓存:写通过SDA:sda1的
SD 0:0:0:0:连接SCSI可移动磁盘SDA
SD 0:0:0:0:附加SCSI通用SG0类型0

回答

0

您可以创建一个udev规则,其执行它插入时的命令。基本上你创建了一个文件,其中包含一组匹配的规则以及要运行的程序/脚本的路径。它会是这个样子:

KERNEL=="sd?1", ATTRS{serial}=="0019E06B07F7A961877C02A9", RUN+="/path/to/script arg1 arg2 ... argN" 

这将运行/path/to/script的论据arg1argN当创建一个名为sd?1一个设备节点,其中?是任意字符,在您的数据提供的序列号。如果您需要更好地控制应该何时触发,您可以从udevinfo计划获得大量信息以纳入规则。例如,如果您希望它为所有金士顿驱动器启动。然后,你需要找到vendorID,也许还有更多这些驱动器独有的信息。

相关问题