From 6aa54e92e3dbf182f2f60fab471f935f9aa12a33 Mon Sep 17 00:00:00 2001 From: "Peter A. Bigot" Date: Mon, 7 May 2018 07:44:24 -0500 Subject: [PATCH] pi-bluetooth: create to provide standard raspbian script for bluetooth setup Unique bluetooth device addresses are not assigned correctly with some firmware, resulting in a fixed default address. Use the same utility as raspbian does to initialize the device. Closes #236 Signed-off-by: Peter A. Bigot --- .../bluez5/bluez5/brcm43438.service | 2 +- recipes-connectivity/bluez5/bluez5_%.bbappend | 14 ++++++++---- .../pi-bluetooth/pi-bluetooth.bb | 22 +++++++++++++++++++ 3 files changed, 33 insertions(+), 5 deletions(-) create mode 100644 recipes-connectivity/pi-bluetooth/pi-bluetooth.bb diff --git a/recipes-connectivity/bluez5/bluez5/brcm43438.service b/recipes-connectivity/bluez5/bluez5/brcm43438.service index df699a4..a51f6bc 100644 --- a/recipes-connectivity/bluez5/bluez5/brcm43438.service +++ b/recipes-connectivity/bluez5/bluez5/brcm43438.service @@ -8,7 +8,7 @@ After=dev-serial1.device [Service] Type=oneshot RemainAfterExit=yes -ExecStart=/usr/bin/hciattach -n /dev/serial1 bcm43xx 921600 noflow - +ExecStart=/usr/bin/btuart [Install] WantedBy=multi-user.target diff --git a/recipes-connectivity/bluez5/bluez5_%.bbappend b/recipes-connectivity/bluez5/bluez5_%.bbappend index a480987..c75f4b6 100644 --- a/recipes-connectivity/bluez5/bluez5_%.bbappend +++ b/recipes-connectivity/bluez5/bluez5_%.bbappend @@ -8,14 +8,20 @@ BCM_BT_SOURCES = " \ 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}/brcm43438.service ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/${BCM_BT_SERVICE} ${D}${systemd_unitdir}/system fi } -BCM_BT_SERVICE = " brcm43438.service" +BCM_BT_RDEPENDS = "\ + udev-rules-rpi \ + bluez-firmware-raspbian \ + pi-bluetooth \ +" # for raspberrypi3 SRC_URI_append_raspberrypi3 = " ${BCM_BT_SOURCES}" @@ -26,7 +32,7 @@ do_install_append_raspberrypi3() { SYSTEMD_SERVICE_${PN}_append_raspberrypi3 = " ${BCM_BT_SERVICE}" -RDEPENDS_${PN}_append_raspberrypi3 = " udev-rules-rpi bluez-firmware-raspbian" +RDEPENDS_${PN}_append_raspberrypi3 = " ${BCM_BT_RDEPENDS}" # for raspberrypi0-wifi SRC_URI_append_raspberrypi0-wifi = " ${BCM_BT_SOURCES}" @@ -37,4 +43,4 @@ do_install_append_raspberrypi0-wifi() { SYSTEMD_SERVICE_${PN}_append_raspberrypi0-wifi = " ${BCM_BT_SERVICE}" -RDEPENDS_${PN}_append_raspberrypi0-wifi = " udev-rules-rpi bluez-firmware-raspbian" +RDEPENDS_${PN}_append_raspberrypi0-wifi = " ${BCM_BT_RDEPENDS}" diff --git a/recipes-connectivity/pi-bluetooth/pi-bluetooth.bb b/recipes-connectivity/pi-bluetooth/pi-bluetooth.bb new file mode 100644 index 0000000..e185f25 --- /dev/null +++ b/recipes-connectivity/pi-bluetooth/pi-bluetooth.bb @@ -0,0 +1,22 @@ +SUMMARY = "Script to properly configure BT-HCI on Raspberry Pi" +HOMEPAGE = "https://github.com/RPi-Distro/pi-bluetooth" +SECTION = "kernel" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "\ + file://debian/copyright;md5=6af8de3c8ee71f8e91e9b22f84ff2022 \ +" + +SRC_URI = "git://github.com/RPi-Distro/pi-bluetooth" +SRCREV = "2a7477966bb3c69838b224f3ea92cb49a88124d5" +UPSTREAM_VERSION_UNKNOWN = "1" + +S = "${WORKDIR}/git" + +inherit allarch + +do_install() { + install -d ${D}${bindir} + install -m 0755 ${S}/usr/bin/btuart ${D}${bindir} +} + +FILES_${PN} = "${bindir}"