#!/bin/bash # $id$ # Bluetooth hotplug policy agent for Linux 2.6 kernels # # Bluetooth hotplug params include: # # ACTION=%s [add or remove] # SUBSYSTEM=bluetooth # [ x"$SUBSYSTEM" = xbluetooth ] || { echo "bad invocation: SUBSYSTEM != bluetooth" exit 1 } . /etc/sysconfig/hardware/scripts/functions BLUETOOTH_CONFIG=/etc/sysconfig/bluetooth test -r $BLUETOOTH_CONFIG || exit 6 . $BLUETOOTH_CONFIG case $ACTION in add) info_mesg $ACTION $INTERFACE $START_SERVICES if [ $START_SERVICES = "no" ]; then exit 0 fi # for later consumption by the bluetooth-coldplug init script mkdir /dev/shm/bluetooth-adapter-present # this is a fake dbus call, which gets the adapter up via DBus activation /bin/dbus-send --system --type=method_call --print-reply --reply-timeout=1000 --dest=org.bluez / org.bluez.hello ;; remove) info_mesg $ACTION $INTERFACE # Do this only if _all_ bt-devices are finally removed # Problem: Devices in hid-proxy-mode are not known as /dev/hciX if [ $ALWAYS_STOP_SERVICES = "yes" ]; then /etc/init.d/bluetooth stop fi ;; *) info_mesg Bluetooth $ACTION event not supported exit 1 ;; esac