diff options
author | rpaulo <rpaulo@FreeBSD.org> | 2010-04-20 12:07:16 +0000 |
---|---|---|
committer | rpaulo <rpaulo@FreeBSD.org> | 2010-04-20 12:07:16 +0000 |
commit | 3849eb12d41b6155c5b88ea316d7ac1893487807 (patch) | |
tree | 0ba57e15a95afbcafd7ded00b4c961e1109301aa | |
parent | c61b9f564a268507195acc02310e9abd9d8431d8 (diff) | |
download | FreeBSD-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.
-rw-r--r-- | etc/defaults/rc.conf | 5 | ||||
-rwxr-xr-x | etc/rc.d/Makefile | 4 | ||||
-rwxr-xr-x | etc/rc.d/ubthidhci | 40 | ||||
-rw-r--r-- | share/man/man5/rc.conf.5 | 21 |
4 files changed, 70 insertions, 0 deletions
diff --git a/etc/defaults/rc.conf b/etc/defaults/rc.conf index c0743cc..34a44fc 100644 --- a/etc/defaults/rc.conf +++ b/etc/defaults/rc.conf @@ -433,6 +433,11 @@ rfcomm_pppd_server_two_channel="3" # Override local channel for 'two' #rfcomm_pppd_server_two_register_sp="NO" # Override SP and DUN register #rfcomm_pppd_server_two_register_dun="NO" # for 'two' +ubthidhci_enable="NO" # Switch an USB BT controller present on +#ubthidhci_busnum="3" # bus 3 and addr 2 from HID mode to HCI mode. +#ubthidhci_addr="2" # Check usbconfig list to find the correct + # numbers for your system. + ### Miscellaneous network options: ### icmp_bmcastecho="NO" # respond to broadcast ping packets 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" diff --git a/share/man/man5/rc.conf.5 b/share/man/man5/rc.conf.5 index 07f2fb8..fea59a8 100644 --- a/share/man/man5/rc.conf.5 +++ b/share/man/man5/rc.conf.5 @@ -4143,6 +4143,26 @@ if it should register Dial-Up Networking service on the speficied RFCOMM channel. Default .Dq Li NO . +.It Va ubthidhci_enable +.Pq Vt bool +If set to +.Dq Li YES , +change the USB Bluetooth controller from HID mode to HCI mode. +You also need to specify the location of USB Bluetooth controller with the +.Va ubthidhci_busnum +and +.Va ubthidhci_addr +variables. +.It Va ubthidhci_busnum +Bus number where the USB Bluetooth controller is located. +Check the output of +.Xr usbconfig 1 +on your system to find this information. +.It Va ubthidhci_addr +Bus address of the USB Bluetooth controller. +Check the output of +.Xr usbconfig 1 +on your system to find this information. .El .Sh FILES .Bl -tag -width ".Pa /etc/defaults/rc.conf" -compact @@ -4158,6 +4178,7 @@ Default .Xr kbdcontrol 1 , .Xr makewhatis 1 , .Xr sh 1 , +.Xr usbconfig 1 , .Xr vi 1 , .Xr vidcontrol 1 , .Xr bridge 4 , |