diff options
Diffstat (limited to 'tools/openbsd')
-rwxr-xr-x | tools/openbsd/attach | 20 | ||||
-rwxr-xr-x | tools/openbsd/detach | 22 |
2 files changed, 42 insertions, 0 deletions
diff --git a/tools/openbsd/attach b/tools/openbsd/attach new file mode 100755 index 0000000..b6c98c8 --- /dev/null +++ b/tools/openbsd/attach @@ -0,0 +1,20 @@ +#!/bin/sh + +DEVCLASS=$1 +DEVNAME=$2 + +case $DEVCLASS in +0) + # generic devices + case "$DEVNAME" in + ugen*) + BUSNAME=`usbdevs -v -d | egrep "Controller|$DEVNAME\$" | grep -B 1 ugen0$ | head -n 1 | sed -e 's,Controller ,,' -e 's,:$,,' ` + echo $BUSNAME > /var/run/${DEVNAME}.bus + # probably our scanner + chgrp usb /dev/"$DEVNAME".* + chgrp usb /dev/"$BUSNAME" + ;; + esac + + ;; +esac diff --git a/tools/openbsd/detach b/tools/openbsd/detach new file mode 100755 index 0000000..a5c209c --- /dev/null +++ b/tools/openbsd/detach @@ -0,0 +1,22 @@ +#!/bin/sh + +DEVCLASS=$1 +DEVNAME=$2 + +case $DEVCLASS in +0) + # generic devices + case "$DEVNAME" in + ugen*) + BUSNAME=`cat /var/run/${DEVNAME}.bus` + rm -f /var/run/${DEVNAME}.bus + # probably our scanner + chgrp wheel /dev/"$DEVNAME".* + if [ x$BUSNAME != x ] ; then + chgrp wheel /dev/"$BUSNAME" + fi + ;; + esac + + ;; +esac |