删除usb节点

时间:2012-02-01 11:14:17

标签: usb linux-device-driver udev

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

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

1 个答案:

答案 0 :(得分: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

的问候,
Barun Parichha