Give Bluetooth its factory address from the DPP partition
The WCN3990 has no burned-in Bluetooth address, so the kernel registers the controller unconfigured and bluetoothd never sees it. The factory address is on the machine all along: QCOM/BT.PROVISION on the DPP partition, a three-byte header followed by the six-byte address. c630-bt-addr reads it and hands it to btmgmt before bluetooth.service starts. Verified on hardware: controller configures, powers, scans, and streams A2DP. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011XgGF5wfxLDAybVnNz6eNQ
This commit is contained in:
15
overlay/etc/systemd/system/c630-bt-addr.service
Normal file
15
overlay/etc/systemd/system/c630-bt-addr.service
Normal file
@@ -0,0 +1,15 @@
|
||||
[Unit]
|
||||
Description=Set the C630 Bluetooth factory address from the DPP partition
|
||||
# The WCN3990 has no burned-in address; the controller stays unconfigured and
|
||||
# invisible to bluetoothd until one is set. See /usr/local/sbin/c630-bt-addr.
|
||||
Before=bluetooth.service
|
||||
ConditionPathExists=/dev/disk/by-partlabel/DPP
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/local/sbin/c630-bt-addr
|
||||
RemainAfterExit=yes
|
||||
StandardOutput=journal
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Reference in New Issue
Block a user