diff --git a/Platform/Linux/CreateRedist/install.sh b/Platform/Linux/CreateRedist/install.sh index ddb6c44..2301ec6 100644 --- a/Platform/Linux/CreateRedist/install.sh +++ b/Platform/Linux/CreateRedist/install.sh @@ -27,6 +27,7 @@ Darwin) esac RULES_FILE="55-primesense-usb.rules" +MODPROBE_BLACKLIST="blacklist-gspca-kinect.conf" # create file list SCRIPT_DIR=`pwd`/`dirname $0` @@ -76,6 +77,7 @@ INSTALL_BIN=$rootfs/usr/bin INSTALL_ETC=$rootfs/usr/etc/primesense INSTALL_RULES=$rootfs/etc/udev/rules.d SERVER_LOGS_DIR=$rootfs/var/log/primesense/XnSensorServer +MODPROBE_CONF_DIR=$rootfs/etc/modprobe.d # make all calls into OpenNI run in this filesystem export OPEN_NI_INSTALL_PATH=$rootfs @@ -132,6 +134,9 @@ if [ "$install" = yes ]; then printf "installing usb rules..." cp Install/$RULES_FILE $INSTALL_RULES printf "OK\n" + printf "installing modprobe blacklist..." + cp Install/$MODPROBE_BLACKLIST $MODPROBE_CONF_DIR + printf "OK\n" fi printf "\n*** DONE ***\n\n" @@ -173,6 +178,9 @@ elif [ "$uninstall" = yes ]; then printf "removing usb rules..." rm -f $INSTALL_RULES/$RULES_FILE printf "OK\n" + printf "removing modprobe blacklist..." + rm -f $MODPROBE_CONF_DIR/$MODPROBE_BLACKLIST + printf "OK\n" fi printf "\n*** DONE ***\n\n" diff --git a/Platform/Linux/Install/55-primesense-usb.rules b/Platform/Linux/Install/55-primesense-usb.rules index 4d93f5a..3d179e3 100644 --- a/Platform/Linux/Install/55-primesense-usb.rules +++ b/Platform/Linux/Install/55-primesense-usb.rules @@ -1,12 +1,21 @@ -# make primesense device mount with writing permissions (default is read only for unknown devices) -SYSFS{idProduct}=="0200",SYSFS{idVendor}=="1d27",MODE="666",OWNER="xxx",GROUP="users" -SYSFS{idProduct}=="0300",SYSFS{idVendor}=="1d27",MODE="666",OWNER="xxx",GROUP="users" -SYSFS{idProduct}=="0400",SYSFS{idVendor}=="1d27",MODE="666",OWNER="xxx",GROUP="users" -SYSFS{idProduct}=="0500",SYSFS{idVendor}=="1d27",MODE="666",OWNER="xxx",GROUP="users" -SYSFS{idProduct}=="0600",SYSFS{idVendor}=="1d27",MODE="666",OWNER="xxx",GROUP="users" -SYSFS{idProduct}=="0601",SYSFS{idVendor}=="1d27",MODE="666",OWNER="xxx",GROUP="users" -#--avin mod-- -SYSFS{idProduct}=="02AE",SYSFS{idVendor}=="045E",MODE="666",OWNER="xxx",GROUP="users" -SYSFS{idProduct}=="02AD",SYSFS{idVendor}=="045E",MODE="666",OWNER="xxx",GROUP="users" -SYSFS{idProduct}=="02B0",SYSFS{idVendor}=="045E",MODE="666",OWNER="xxx",GROUP="users" +# Let Primesense devices mount with world write permissions and proper owners and groups. +# Additionally, you can change the mode to 0660 and make device users members of the video and audio group. +# Put this file in /etc/udev/rules.d. + +# Primesense Devices +SUBSYSTEM=="usb", ATTR{idProduct}=="0200", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video" +SUBSYSTEM=="usb", ATTR{idProduct}=="0300", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video" +SUBSYSTEM=="usb", ATTR{idProduct}=="0400", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video" +SUBSYSTEM=="usb", ATTR{idProduct}=="0500", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video" +SUBSYSTEM=="usb", ATTR{idProduct}=="0600", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video" +SUBSYSTEM=="usb", ATTR{idProduct}=="0601", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video" + +# Kinect Video Device +SUBSYSTEM=="usb", ATTR{idProduct}=="02ae", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="video" + +# Kinect Audio Device +SUBSYSTEM=="usb", ATTR{idProduct}=="02ad", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="audio" + +# Kinect Motor Device +SUBSYSTEM=="usb", ATTR{idProduct}=="02b0", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="video" diff --git a/Platform/Linux/Install/blacklist-gspca-kinect.conf b/Platform/Linux/Install/blacklist-gspca-kinect.conf new file mode 100644 index 0000000..1688ece --- /dev/null +++ b/Platform/Linux/Install/blacklist-gspca-kinect.conf @@ -0,0 +1,4 @@ +# Recent 3.0 linux kernels feature a kinect webcam driver module that gets in the way of openni modules. +# Put this in /etc/modprobe.d to prevent it from being automatically loaded. +blacklist gspca_kinect +