Imported Debian patch 3.0-1
[debian/gnuradio] / debian / usrp.hotplug
diff --git a/debian/usrp.hotplug b/debian/usrp.hotplug
new file mode 100644 (file)
index 0000000..e8b9432
--- /dev/null
@@ -0,0 +1,47 @@
+#! /bin/sh
+
+GROUP=usrp
+
+# Set the permissions for the USRP devices right.
+set_permissions() {
+    if [ -f "$1" ]
+    then
+        if getent group $GROUP > /dev/null; then
+            chmod 660 "$DEVICE"
+            chown root.$GROUP "$1"
+        fi
+    fi
+}
+
+#
+# If we do not have /sbin/hotplug, we are being called by post-sarge udev
+# emulating hotplug. In that case, all of this is handled by our udev rules,
+# so we don't need to duplicate the work done here.
+# 
+if ! [ -x /sbin/hotplug ]; then
+    exit
+fi
+
+if [ "$ACTION" != "add" ]; then
+    exit
+fi
+
+# FIXME: Map the USB device ID to usrper's idea of "which USRP".
+#        For now, we just assume the user only has a single one.
+
+case $PRODUCT in
+    # USRP without loaded firmware 
+    fffe/2/2 | fffe/2/4)
+        sleep 1    # required on some machines
+        /usr/bin/usrper load_standard_bits
+        set_permissions "$DEVICE"
+    ;;
+
+    # USRP with loaded firmware
+    fffe/2/102 | fffe/2/104)
+        set_permissions "$DEVICE"
+    ;;
+esac
+
+
+