2011年8月2日

Change libusb device mode to 0666 in udev rule file


#! /bin/bash

OS=`lsb_release -i`
OS=${OS#Dis*ID:}

if [ $OS == "Ubuntu" ]
then
if [ ! -f "/etc/udev/rules.d/50-udev-default.rules" ]
then
echo "copy 50-udev-default.rules"
cp -f /lib/udev/rules.d/50-udev-default.rules /etc/udev/rules.d/
else
cp -f /etc/udev/rules.d/50-udev-default.rules .
fi
echo "change libusb MODE=666"
sudo sed -i -e "s/SUBSYSTEM==\"usb\", ENV{DEVTYPE}==\"usb_device\", MODE=\"[0-9]*\"/SUBSYSTEM==\"usb\", ENV{DEVTYPE}==\"usb_device\", MODE=\"0666\"/g" /etc/udev/rules.d/50-udev-default.rules
echo "restart udev"
service udev restart
elif [ $OS == "CentOS" ]
then
cp -f /etc/udev/rules.d/50-udev.rules .
echo "append libusb MODE=666"
sed -i -e ':begin; /ACTION=="add", SUBSYSTEM=="usb_device"/,/MODE="[0-9]*"/ { /MODE="[0-9]*"/! { $! { N; b begin }; }; s/MODE="[0-9]*"/MODE=\"0666\"/; }' /etc/udev/rules.d/50-udev.rules
echo "restart isdn"
/etc/init.d/isdn restart
fi

chmod 666 -R /dev/bus/usb/*/*

沒有留言:

網誌存檔