#! /bin/sh ### BEGIN INIT INFO # Provides: bluetooth # Required-Start: $local_fs $syslog $remote_fs dbus # Required-Stop: $local_fs $syslog $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start bluetooth daemons ### END INIT INFO # # bluez Bluetooth subsystem starting and stopping # # originally from bluez's scripts/bluetooth.init # # Edd Dumbill # LSB 3.0 compilance and enhancements by Filippo Giunchedi # # Updated for bluez 4.7 by Mario Limonciello # Updated for bluez 5.5 by Nobuhiro Iwamatsu # # Note: older daemons like dund pand hidd are now shipped inside the # bluez-compat package setvar PATH = "/sbin:/bin:/usr/sbin:/usr/bin" setvar DESC = 'bluetooth' setvar DAEMON = "/usr/sbin/bluetoothd" setvar HCIATTACH = "/usr/bin/hciattach" setvar BLUETOOTH_ENABLED = '0' setvar HID2HCI_ENABLED = '1' setvar HID2HCI_UNDO = '1' setvar SDPTOOL = "/usr/bin/sdptool" # If you want to be ignore error of "org.freedesktop.hostname1", # please enable NOPLUGIN_OPTION. # NOPLUGIN_OPTION="--noplugin=hostname" setvar NOPLUGIN_OPTION = """" setvar SSD_OPTIONS = ""--oknodo --quiet --exec $DAEMON -- $NOPLUGIN_OPTION"" test -f $DAEMON || exit 0 # FIXME: any of the sourced files may fail if/with syntax errors test -f /etc/default/bluetooth && source /etc/default/bluetooth test -f /etc/default/rcS && source /etc/default/rcS source /lib/lsb/init-functions set -e # FIXME: this function is possibly a no-op proc run_sdptool { # declaring IFS local in this function, removes the need to # save/restore it local IFS o test -x $SDPTOOL || return 1 # FIXME: where does SDPTOOL_OPTIONS come from? if ! test -z $SDPTOOL_OPTIONS { setvar IFS = "";"" for o in $SDPTOOL_OPTIONS { #echo "execing $SDPTOOL $o" setvar IFS = "" "" if test $VERBOSE != no { $SDPTOOL $o } else { $SDPTOOL $o >/dev/null 2>&1 } } } } proc hci_input { log_progress_msg "switching to HID/HCI no longer done in init script, see /usr/share/doc/bluez/NEWS.Debian.gz" || : } alias enable_hci_input=hci_input alias disable_hci_input=hci_input case (1) { start { log_daemon_msg "Starting $DESC" if test $BLUETOOTH_ENABLED = 0 { log_progress_msg "disabled. see /etc/default/bluetooth" log_end_msg 0 exit 0 } start-stop-daemon --start --background $SSD_OPTIONS log_progress_msg ${DAEMON##*/} run_sdptool || : if test $HID2HCI_ENABLED = 1 { enable_hci_input } log_end_msg 0 } stop { log_daemon_msg "Stopping $DESC" if test $BLUETOOTH_ENABLED = 0 { log_progress_msg "disabled." log_end_msg 0 exit 0 } if test $HID2HCI_UNDO = 1 { disable_hci_input } start-stop-daemon --stop $SSD_OPTIONS log_progress_msg ${DAEMON} log_end_msg 0 } restart|force-reload { $0 stop sleep 1 $0 start } status { status_of_proc $DAEMON $DESC && exit 0 || exit $? } * { setvar N = "/etc/init.d/bluetooth" echo "Usage: $N {start|stop|restart|force-reload|status}" >&2 exit 1 } } exit 0 # vim:noet