amin
amin

Reputation: 641

remove usb node

My aim is to disable usb port usage except a specific kind of usb. Every time a usb device is inserted a udev rule is called and it runs a program to handle the work.

I can't unload usb_storage module since it is needed for usage, so how can i remove usb dev link if it doesn't meet my case?

Upvotes: 1

Views: 3979

Answers (1)

Barun Parichha
Barun Parichha

Reputation: 166

unbind the device. Pass vendor id and product id to below script.

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

Regards,
Barun Parichha

Upvotes: 2

Related Questions