From 5a541047ea20ea04a1591882c360adf087a45e25 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Arkadiusz=20Mi=C5=9Bkiewicz?= Date: Fri, 28 Apr 2006 18:38:39 +0000 Subject: [PATCH] - updated; simpler; less magic; run more daemons if needed Changed files: bluez-utils.init -> 1.9 bluez-utils.sysconfig -> 1.2 --- bluez-utils.init | 108 ++++++++++++++++++++++++++++++++---------- bluez-utils.sysconfig | 11 +++++ 2 files changed, 93 insertions(+), 26 deletions(-) diff --git a/bluez-utils.init b/bluez-utils.init index 3d3faca..ec15b0f 100644 --- a/bluez-utils.init +++ b/bluez-utils.init @@ -25,46 +25,98 @@ case "$1" in start) # Check if the service is already running? if [ ! -f /var/lock/subsys/bluetooth ]; then - msg_starting Bluetooth + msg_starting bluetooth; started + if is_yes "${HID2HCI_ENABLE}" && [ -x /usr/sbin/hid2hci ]; then + msg_starting hid2hci + daemon /usr/sbin/hid2hci -0 -q #be quiet + RETVAL=$? + /bin/sleep 1 # delay for hid's to be detected by hotplug + fi + + if is_yes "${HCID_ENABLE}" && [ -x /usr/sbin/hcid ]; then + msg_starting hcid + daemon /usr/sbin/hcid -f /etc/bluetooth/hcid.conf + RETVAL=$? + fi + + if is_yes "${SDPD_ENABLE}" && [ -x /usr/sbin/sdpd ]; then + msg_starting sdpd + daemon /usr/sbin/sdpd + RETVAL=$? + fi + + if is_yes "${HIDD_ENABLE}" && [ -x /usr/bin/hidd ]; then + msg_starting hidd + daemon /usr/bin/hidd ${HIDD_OPTIONS} --server + RETVAL=$? + fi + + if is_yes "${RFCOMM_ENABLE}" && [ -x /usr/bin/rfcomm ]; then + msg_starting rfcomm + daemon /usr/bin/rfcomm -f /etc/bluetooth/rfcomm.conf bind all + RETVAL=$? + fi + + if is_yes "${DUND_ENABLE}" && [ -x /usr/bin/dund ]; then + msg_starting dund + daemon /usr/bin/dund ${DUND_OPTIONS} + RETVAL=$? + fi + + if is_yes "${PAND_ENABLE}" && [ -x /usr/bin/pand ]; then + msg_starting pand + daemon /usr/bin/pand ${PAND_OPTIONS} + RETVAL=$? + fi + if [ -f /usr/sbin/hciattach -a "$UART_CONF" != "no" ]; then grep -v '^#' $UART_CONF | while read i; do /usr/sbin/hciattach $i done fi - daemon /usr/sbin/hcid -f /etc/bluetooth/hcid.conf - RETVAL=$? - if [ $RETVAL -ne 0 ]; then - killproc hciattach >/dev/null 2>&1 - elif [ -x /usr/sbin/sdpd ]; then - msg_starting "Bluetooth SDP" - daemon /usr/sbin/sdpd - RETVAL=$? - if [ $RETVAL -ne 0 ]; then - killproc hcid >/dev/null 2>&1 - if [ "$UART_CONF" != "no" ]; then - killproc hciattach >/dev/null 2>&1 - fi - fi - fi [ $RETVAL -eq 0 ] && touch /var/lock/subsys/bluetooth else - msg_already_running Bluetooth + msg_already_running bluetooth fi ;; stop) if [ -f /var/lock/subsys/bluetooth ]; then - if [ -x /usr/sbin/sdpd ]; then - msg_stopping "Bluetooth SDP" - killproc sdpd + if is_yes "${PAND_ENABLE}" && [ -x /usr/bin/pand ]; then + msg_stopping pand + killproc /usr/bin/pand + fi + + if is_yes "${DUND_ENABLE}" && [ -x /usr/bin/dund ]; then + msg_stopping dund + killproc /usr/bin/dund fi - msg_stopping Bluetooth - killproc hcid + + if is_yes "${RFCOMM_ENABLE}" && [ -x /usr/bin/rfcomm ]; then + msg_stopping rfcomm + daemon /usr/bin/rfcomm release all + fi + + if is_yes "${HIDD_ENABLE}" && [ -x /usr/bin/hidd ]; then + msg_stopping hidd + killproc /usr/bin/hidd + fi + + if is_yes "${SDPD_ENABLE}" && [ -x /usr/sbin/sdpd ]; then + msg_stopping sdpd + killproc /usr/sbin/sdpd + fi + + if is_yes "${HCID_ENABLE}" && [ -x /usr/sbin/hcid ]; then + msg_stopping hcid + daemon /usr/sbin/hcid + fi + if [ "$UART_CONF" != "no" ]; then killproc hciattach >/dev/null 2>&1 fi rm -f /var/lock/subsys/bluetooth else - msg_not_running Bluetooth + msg_not_running bluetooth fi ;; restart) @@ -74,16 +126,20 @@ case "$1" in ;; reload|force-reload) if [ -f /var/lock/subsys/bluetooth ]; then - msg_reloading Bluetooth + msg_reloading hcid killproc hcid -HUP RETVAL=$? else - msg_not_running Bluetooth >&2 + msg_not_running bluetooth >&2 exit 7 fi ;; status) - status hcid + is_yes "${HID2HCI_ENABLE}" && status hid2hci + is_yes "${HCID_ENABLE}" && status hcid + is_yes "${SDPD_ENABLE}" && status sdpd + is_yes "${HIDD_ENABLE}" && status hidd + is_yes "${DUND_ENABLE}" && status dund exit $? ;; *) diff --git a/bluez-utils.sysconfig b/bluez-utils.sysconfig index 7a8c423..e73e223 100644 --- a/bluez-utils.sysconfig +++ b/bluez-utils.sysconfig @@ -6,3 +6,14 @@ SERVICE_RUN_NICE_LEVEL="+0" # remove if you have serial Bluetooth dongles configured in /etc/bluetooth/uart # (alternatively you can pass uart configuration file path here) UART_CONF="no" + +#HID2HCI_ENABLE=yes +HCID_ENABLE=yes +SDPD_ENABLE=yes +HIDD_ENABLE=yes +#HIDD_OPTIONS="" +RFCOMM_ENABLE=yes +#DUND_ENABLE=yes +#DUND_OPTIONS="" +#PAND_ENABLE=yes +#PAND_OPTIONS="" -- 2.43.0