pmaports/device/testing/device-samsung-a6lte/etc-init.d-hciattach-ttySAC0

28 lines
1 KiB
Text
Raw Permalink Normal View History

#!/sbin/openrc-run
description="Run hciattach on ttySAC0 to enable bcm43xx bluetooth"
depend () {
before rfkill
before bluetooth
}
start () {
ebegin "Starting hciattach-ttySAC0"
# we need to unlock an rfkill to be able to use bluetootch
if [[ -d /sys/bus/platform/drivers/bcm43xx_bluetooth/bluetooth ]]; then
rfkill unblock 0
# blocking and unblocking this rfkill requires restarting hciattach
# unregister it, so that the UI does not attempt to toggle it
# hciuart driver provides its own rfkill switch, so bluetooth can still be disabled
echo bluetooth > /sys/bus/platform/drivers/bcm43xx_bluetooth/unbind
fi
# if hci0 is already present, this means that the service is being restarted, we can just ignore it
if ! [[ -d /sys/class/bluetooth/hci0 ]]; then
# on the vendor kernel we have to do a manual hciattach
# since we unregistered the rfkill, we won't be able to restart, so this cannot be a "real" service
hciattach /dev/ttySAC0 bcm43xx 3000000 flow nosleep "$(bootmac -gb)"
fi
eend $?
}