pi-bluetooth: bump SRCREV to let bluetoothd power the adapter on

Without systemd, bthelper runs from udev when hci0 appears, before
bluetoothd starts. It brings the interface up with hciconfig, which
powers the adapter without the kernel's power-on initialisation: that
runs only when the adapter is powered through the management interface,
and it is where the SMP channels are registered and Secure Simple
Pairing is enabled. bthelper's delayed "bluetoothctl power off; power
on" is meant to recover from this, but bluetoothd isn't running yet, so
the adapter ignores LE pairing requests after every boot, and bluetoothd
logs "Failed to set privacy: Rejected (0x0b)", until the Bluetooth stack
is restarted.

Upstream bthelper now takes the interface down again once it is done,
so bluetoothd powers the adapter on when it starts, and powers it on
through bluetoothd when that is already running:
https://github.com/RPi-Distro/pi-bluetooth/pull/39. The same symptom is
reported on Raspberry Pi OS in
https://github.com/RPi-Distro/pi-bluetooth/issues/35.

Refresh the hciconfig path patch to cover the new hciconfig call.

Signed-off-by: devgianlu <altomanigianluca@gmail.com>
This commit is contained in:
devgianlu authored and Andrei Gherzan committed 2026-10-18 22:16:16 +01:00
1 parent 9bd4f13a78
commit 863444d39c
2 files changed
+12 -3

No files matched your search

@@ -8,8 +8,8 @@ Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
---
usr/bin/bthelper | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
usr/bin/bthelper | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/usr/bin/bthelper b/usr/bin/bthelper
index 2133fbc..1fc9245 100755
@@ -35,6 +35,15 @@ index 2133fbc..1fc9245 100755
else
echo Raspberry Pi BDADDR already set
fi
@@ -39,7 +39,7 @@ fi
# management interface: without it Secure Simple Pairing stays off and the
# SMP channels, which LE pairing needs, are never registered. Leave the
# adapter down, so that bluetoothd powers it on itself.
-/bin/hciconfig $dev down
+/usr/bin/hciconfig $dev down
if pidof bluetoothd > /dev/null; then
/usr/bin/bluetoothctl power on > /dev/null
else
--
2.31.1
@@ -10,7 +10,7 @@ SRC_URI = "\
git://github.com/RPi-Distro/pi-bluetooth;branch=master;protocol=https \
file://0001-bthelper-correct-path-for-hciconfig-under-Yocto.patch \
"
SRCREV = "87248a382d1a81b80a62730975135d87fffd7ef1"
SRCREV = "6d8eeb2f3f400b94dbbab548e6a2c1278921506b"
inherit ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', 'update-rc.d', d)}
# hciuart.service replaces what was brcm43438.service