summaryrefslogtreecommitdiffstats
path: root/etc/rc.d
diff options
context:
space:
mode:
authorrpaulo <rpaulo@FreeBSD.org>2010-04-20 12:07:16 +0000
committerrpaulo <rpaulo@FreeBSD.org>2010-04-20 12:07:16 +0000
commit3849eb12d41b6155c5b88ea316d7ac1893487807 (patch)
tree0ba57e15a95afbcafd7ded00b4c961e1109301aa /etc/rc.d
parentc61b9f564a268507195acc02310e9abd9d8431d8 (diff)
downloadFreeBSD-src-3849eb12d41b6155c5b88ea316d7ac1893487807.zip
FreeBSD-src-3849eb12d41b6155c5b88ea316d7ac1893487807.tar.gz
MFC r206427, r206706, r206771:
ubthidhci rc.d script to switch an USB bluetooth dongle from HID to HCI mode.
Diffstat (limited to 'etc/rc.d')
-rwxr-xr-xetc/rc.d/Makefile4
-rwxr-xr-xetc/rc.d/ubthidhci40
2 files changed, 44 insertions, 0 deletions
diff --git a/etc/rc.d/Makefile b/etc/rc.d/Makefile
index 22028a3..a2a347d 100755
--- a/etc/rc.d/Makefile
+++ b/etc/rc.d/Makefile
@@ -50,6 +50,10 @@ FILES+= sshd
FILES+= nscd
.endif
+.if ${MK_BLUETOOTH} != "no"
+FILES+= ubthidhci
+.endif
+
FILESDIR= /etc/rc.d
FILESMODE= ${BINMODE}
diff --git a/etc/rc.d/ubthidhci b/etc/rc.d/ubthidhci
new file mode 100755
index 0000000..67d7346
--- /dev/null
+++ b/etc/rc.d/ubthidhci
@@ -0,0 +1,40 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: ubthidhci
+# REQUIRE: DAEMON
+# BEFORE: bluetooth
+# KEYWORD: nojail shutdown
+
+. /etc/rc.subr
+
+name="ubthidhci"
+command="/usr/sbin/usbconfig"
+rcvar=`set_rcvar`
+start_precmd="ubthidhci_prestart"
+
+ubthidhci_prestart()
+{
+
+ if [ -z ${ubthidhci_busnum} ]; then
+ warn ubthidhci_busnum is not set
+ return 1
+ fi
+ if [ -z ${ubthidhci_addr} ]; then
+ warn ubthidhci_addr is not set
+ return 1
+ fi
+}
+
+load_rc_config $name
+#
+# We discard the output because:
+# 1) we don't want it to show up during boot; and
+# 2) the request usually returns an error, but that doesn't mean it failed
+#
+# NB: 0x40 is UT_VENDOR
+command_args="-u ${ubthidhci_busnum} -a ${ubthidhci_addr} do_request 0x40 0 0 0 0 > /dev/null 2>&1"
+
+run_rc_command "$1"
OpenPOWER on IntegriCloud