2011-08-26 105 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,也許還有更多這些驅動器獨有的信息。

相關問題