2012-02-01 101 views
1

我的目标是禁用除特定类型的USB之外的USB端口使用情况。每次插入USB设备时,都会调用udev规则,并运行一个程序来处理工作。删除usb节点

我无法卸载usb_storage模块,因为它需要使用,所以如何删除usb dev链接,如果它不符合我的情况?

回答

2

取消绑定设备。将供应商ID和产品ID传递到脚本下方。

VENDOR=$1 
PRODUCT=$2 

if [ n$VENDOR = n ] || [ n$PRODUCT = n ]; then 
     echo "Unbinding the first non-hub device..." 

     ID=`grep -l "^0$" /sys/bus/usb/drivers/usb/*/maxchild | sed -e "s|/sys/bus/usb/drivers/usb/\(.*\)/maxchild|\1|" | head -n 1` 

     VENDOR=`cat /sys/bus/usb/drivers/usb/$ID/idVendor` 
     PRODUCT=`cat /sys/bus/usb/drivers/usb/$ID/idProduct` 

     echo $ID > /sys/bus/usb/drivers/usb/unbind 

     echo "Device found ($VENDOR:$PRODUCT), and unbound!" 

     exit 0 
fi 

问候,
巴润帕里恰