diff options
Diffstat (limited to 'source/n/bluez/config')
-rw-r--r-- | source/n/bluez/config/bluetooth.modprobe | 3 | ||||
-rw-r--r-- | source/n/bluez/config/bluetooth.sh | 7 | ||||
-rw-r--r-- | source/n/bluez/config/rc.bluetooth | 30 |
3 files changed, 40 insertions, 0 deletions
diff --git a/source/n/bluez/config/bluetooth.modprobe b/source/n/bluez/config/bluetooth.modprobe new file mode 100644 index 00000000..3072d788 --- /dev/null +++ b/source/n/bluez/config/bluetooth.modprobe @@ -0,0 +1,3 @@ +# use "reset=1" as default, since it should be safe for recent devices and +# solves all kind of problems. +options btusb reset=1 diff --git a/source/n/bluez/config/bluetooth.sh b/source/n/bluez/config/bluetooth.sh new file mode 100644 index 00000000..22034551 --- /dev/null +++ b/source/n/bluez/config/bluetooth.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +# Check whether /etc/rc.d/rc.bluetooth is executable before starting +# the bluetooth subsystem for hotplugged bluetooth devices +[ -x /etc/rc.d/rc.bluetooth ] && exec /usr/sbin/bluetoothd --udev +exit 0 + diff --git a/source/n/bluez/config/rc.bluetooth b/source/n/bluez/config/rc.bluetooth new file mode 100644 index 00000000..12540d83 --- /dev/null +++ b/source/n/bluez/config/rc.bluetooth @@ -0,0 +1,30 @@ +#!/bin/sh + +bluez_start() { + # bluetoothd requires dbus, but dbus isn't started early enough during + # system boot, so we have to re-trigger the events now + udevadm trigger --subsystem-match=bluetooth --action=add +} + +bluez_stop() { + pkill -TERM bluetoothd 1>/dev/null 2>/dev/null +} + +case "$1" in + start) + bluez_start + ;; + stop) + bluez_stop + ;; + restart) + bluez_stop + sleep 1 + bluez_start + ;; + *) + printf "Usage: $N {start|stop|restart}\n" + exit 1 + ;; +esac + |