mirror of
git://git.yoctoproject.org/meta-raspberrypi.git
synced 2025-07-17 02:49:03 +02:00
bluez5: use pi-bluetooth package for startup infrastructure
RPi-Distro has augmented their bluetooth infrastructure to support new features. It also correctly handles restart, which fixes problems when faults cause hciattach to exit. Replace brcm43438.service with the upstream ones. Resolves: #330 Signed-off-by: Peter A. Bigot <pab@pabigot.com>
This commit is contained in:
parent
bfc35b773f
commit
f752e92383
|
@ -1,14 +0,0 @@
|
|||
[Unit]
|
||||
Description=Broadcom BCM43438 bluetooth HCI
|
||||
ConditionPathIsDirectory=/proc/device-tree/soc/gpio@7e200000/bt_pins
|
||||
Before=bluetooth.service
|
||||
BindsTo=dev-serial1.device
|
||||
After=dev-serial1.device
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
ExecStart=/usr/bin/btuart
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
|
@ -5,41 +5,12 @@ BCM_BT_SOURCES = " \
|
|||
file://0002-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch \
|
||||
file://0003-Increase-firmware-load-timeout-to-30s.patch \
|
||||
file://0004-Move-the-43xx-firmware-into-lib-firmware.patch \
|
||||
file://brcm43438.service \
|
||||
"
|
||||
|
||||
BCM_BT_SERVICE = "brcm43438.service"
|
||||
|
||||
enable_bcm_bluetooth() {
|
||||
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
|
||||
install -d ${D}${systemd_unitdir}/system
|
||||
install -m 0644 ${WORKDIR}/${BCM_BT_SERVICE} ${D}${systemd_unitdir}/system
|
||||
fi
|
||||
}
|
||||
|
||||
BCM_BT_RDEPENDS = "\
|
||||
udev-rules-rpi \
|
||||
pi-bluetooth \
|
||||
"
|
||||
|
||||
# for raspberrypi3
|
||||
BCM_BT_RDEPENDS = "pi-bluetooth"
|
||||
|
||||
SRC_URI_append_raspberrypi0-wifi = " ${BCM_BT_SOURCES}"
|
||||
SRC_URI_append_raspberrypi3 = " ${BCM_BT_SOURCES}"
|
||||
|
||||
do_install_append_raspberrypi3() {
|
||||
enable_bcm_bluetooth
|
||||
}
|
||||
|
||||
SYSTEMD_SERVICE_${PN}_append_raspberrypi3 = " ${BCM_BT_SERVICE}"
|
||||
|
||||
RDEPENDS_${PN}_append_raspberrypi3 = " ${BCM_BT_RDEPENDS}"
|
||||
|
||||
# for raspberrypi0-wifi
|
||||
SRC_URI_append_raspberrypi0-wifi = " ${BCM_BT_SOURCES}"
|
||||
|
||||
do_install_append_raspberrypi0-wifi() {
|
||||
enable_bcm_bluetooth
|
||||
}
|
||||
|
||||
SYSTEMD_SERVICE_${PN}_append_raspberrypi0-wifi = " ${BCM_BT_SERVICE}"
|
||||
|
||||
RDEPENDS_${PN}_append_raspberrypi0-wifi = " ${BCM_BT_RDEPENDS}"
|
||||
RDEPENDS_${PN}_append_raspberrypi3 = " ${BCM_BT_RDEPENDS}"
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
From af91c96951a11f81f5cea88a0010161592c89310 Mon Sep 17 00:00:00 2001
|
||||
From: "Peter A. Bigot" <pab@pabigot.com>
|
||||
Date: Wed, 14 Nov 2018 09:19:51 -0600
|
||||
Subject: [PATCH] bthelper: correct path for hciconfig under Yocto
|
||||
|
||||
Upstream-Status: Inapproprate [OE-specific]
|
||||
Signed-off-by: Peter A. Bigot <pab@pabigot.com>
|
||||
---
|
||||
usr/bin/bthelper | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/usr/bin/bthelper b/usr/bin/bthelper
|
||||
index 255fdeb..4e1a1a4 100755
|
||||
--- a/usr/bin/bthelper
|
||||
+++ b/usr/bin/bthelper
|
||||
@@ -10,7 +10,7 @@ fi
|
||||
|
||||
dev="$1"
|
||||
# Need to bring hci up before looking at MAC as it can be all zeros during init
|
||||
-/bin/hciconfig "$dev" up
|
||||
-/bin/hciconfig "$dev" |grep -q "BD Address: B8:27:EB:" || exit 0
|
||||
+/usr/bin/hciconfig "$dev" up
|
||||
+/usr/bin/hciconfig "$dev" |grep -q "BD Address: B8:27:EB:" || exit 0
|
||||
/usr/bin/hcitool -i "$dev" cmd 0x3f 0x1c 0x01 0x02 0x00 0x01 0x01 > /dev/null
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
|
@ -6,17 +6,41 @@ LIC_FILES_CHKSUM = "\
|
|||
file://debian/copyright;md5=6af8de3c8ee71f8e91e9b22f84ff2022 \
|
||||
"
|
||||
|
||||
SRC_URI = "git://github.com/RPi-Distro/pi-bluetooth"
|
||||
SRCREV = "2a7477966bb3c69838b224f3ea92cb49a88124d5"
|
||||
UPSTREAM_VERSION_UNKNOWN = "1"
|
||||
SRC_URI = "\
|
||||
git://github.com/RPi-Distro/pi-bluetooth \
|
||||
file://0001-bthelper-correct-path-for-hciconfig-under-Yocto.patch \
|
||||
"
|
||||
SRCREV = "2e1a393955910aea67bbf3c921be35a66e8a8fbe"
|
||||
PV = "1.1+git${SRCPV}"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
# hciuart.service replaces what was brcm43438.service
|
||||
inherit systemd
|
||||
SYSTEMD_SERVICE_${PN} = "\
|
||||
hciuart.service \
|
||||
bthelper@.service \
|
||||
"
|
||||
|
||||
inherit allarch
|
||||
|
||||
do_install() {
|
||||
install -d ${D}${sysconfdir}/udev/rules.d
|
||||
install -m 0644 ${S}/lib/udev/rules.d/* ${D}${sysconfdir}/udev/rules.d
|
||||
|
||||
install -d ${D}${bindir}
|
||||
install -m 0755 ${S}/usr/bin/bthelper ${D}${bindir}
|
||||
install -m 0755 ${S}/usr/bin/btuart ${D}${bindir}
|
||||
|
||||
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
|
||||
install -d ${D}${systemd_system_unitdir}
|
||||
install -m 0644 ${S}/debian/pi-bluetooth.bthelper@.service ${D}${systemd_system_unitdir}/bthelper@.service
|
||||
install -m 0644 ${S}/debian/pi-bluetooth.hciuart.service ${D}${systemd_system_unitdir}/hciuart.service
|
||||
fi
|
||||
}
|
||||
|
||||
FILES_${PN} = "${bindir}"
|
||||
FILES_${PN} = "\
|
||||
${bindir} \
|
||||
${sysconfdir} \
|
||||
${systemd_unitdir}/system \
|
||||
"
|
||||
|
|
Loading…
Reference in New Issue
Block a user