Commit Graph

6 Commits

Author SHA1 Message Date
daniel d9d32deb3e feat: reliable Bluetooth pairing, reconnection, and A2DP setup
Four fixes, each a root cause verified on hardware (AX211 + Bose QC Ultra):

1. Link Key Request Reply TRUNCATED: the pending-command queue's params
   buffer was 16 bytes; the reply is 22 (addr 6 + key 16).  The controller
   got 10 key bytes -> every stored-key reconnection failed authentication
   (status 5) since 2026-06-03 (c119a70).  Fresh pairings never touch this
   path, which kept the bug perfectly disguised as a headset quirk.

2. Secure Connections host support (0x0C7A) now enabled: bonds are minted
   as P-256 (Type=7), interoperable with BlueZ's, and SC-bonded peers can
   actually authenticate us.

3. Never write the BD_ADDR override (0xFC31) with the factory address:
   it desyncs the firmware's crypto address from the on-air one and ALL
   SSP pairing fails with status 5.  (The spoofing feature itself was
   already known-cosmetic: the baseband answers pages on the factory
   address regardless.)  import-bluez-bond.sh now removes the override.

4. A2DP channel setup: wait for Encryption Change before dialing L2CAP
   (post-SSP sinks ignore unencrypted CONN_REQ), and LISTEN 2.5s first --
   on reconnection the sink dials AVDTP itself and ignores our dials while
   doing so.  Ends the historical connRsp=FFFF retry-then-give-up failures.

Plus: queued security replies now log delivery + controller status.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 19:46:02 +02:00
daniel c8d8ed6ebe cleanup: Bluetooth/A2DP code cleanup 2026-06-21 15:01:37 +02:00
daniel 22691c5c17 feat: A2DP reliability improvements 2026-06-12 11:48:24 +02:00
daniel ca79678823 feat: A2DP bluetooth audio working 2026-06-10 16:00:42 +02:00
daniel c119a70d5b feat: Intel BT firmware download, A2dp & Bluetooth audio progress 2026-06-03 18:05:17 +02:00
daniel 576ad34f95 feat: Intel HDA audio driver, audio streaming syscalls, userspace Music app, fixes and improvements, rudimentary Bluetooth support 2026-03-10 17:14:33 +01:00