#!/bin/sh # # bluetooth: Start/stop bluetooth services # # chkconfig: 2345 25 90 # description: Bluetooth services for service discovery, authentication, \ # Human Interface Devices, etc. # # Source function library. . /etc/rc.d/init.d/functions UART_CONF="/etc/bluetooth/uart" [ -e /etc/sysconfig/bluetooth ] && . /etc/sysconfig/bluetooth start_uarts() { [ -f $UART_CONF ] || return grep -v '^#' $UART_CONF | while read i; do /usr/sbin/hciattach $i done } stop_uarts() { killproc hciattach > /dev/null 2>&1 } start() { echo -n $"Starting Bluetooth services:" daemon /usr/sbin/hcid touch /var/lock/subsys/hcid daemon /usr/sbin/sdpd touch /var/lock/subsys/sdpd [ "$HID2HCI_ENABLE" = "true" ] && hid2hci --tohci > /dev/null 2>&1 || : start_uarts rfcomm bind all touch /var/lock/subsys/bluetooth echo "" } stop() { echo -n "Stopping Bluetooth services:" stop_uarts rfcomm release all [ "$HID2HCI_UNDO" = "true" ] && hid2hci --tohid > /dev/null 2>&1 || : killproc sdpd rm -f /var/lock/subsys/sdpd killproc hcid rm -f /var/lock/subsys/hcid rm -f /var/lock/subsys/bluetooth echo "" } case "$1" in start) start ;; stop) stop ;; restart|reload) stop start ;; condrestart) [ -e /var/lock/subsys/bluetooth ] && (stop; start) ;; status) status hcid status sdpd ;; *) echo $"Usage: $0 {start|stop|status|restart|reload|condrestart}" exit 1 ;; esac exit 0