4597357bfa
Also adds Bluetooth support on the downstream kernel. [ci:skip-build] Already built fine on CI in MR
27 lines
1 KiB
Text
27 lines
1 KiB
Text
#!/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 $?
|
|
}
|