Bluetooth on Embedded Linux Systems Deep Dive
summary
Evaluation compares upstream-supported controllers (NXP IW416, MT7922, Intel, Realtek, Broadcom) using M.2 2230 and UART/SDIO interfaces, highlights a common combo firmware load-order bug where the UART HCI driver probes before SDIO firmware is ready and is fixed via mode/prop sequencing, and shows audio worked with bluealsa streaming A2DP (SBC) to a $1 receiver. Debugging uses btmon/hcidump plus Wireshark and logic analyzers to trace HCI over UART; BLE uses 40 channels versus classic 79 and supports effectively unlimited devices.
AI-written summary · about
chapters (16)
- 0:00Introduction and context
- 0:50Overview of topics
- 2:25Bluetooth technology basics
- 6:37History of bluetooth
- 9:35Bluetooth SIG and specs
- 11:28Bluetooth security
- 14:09Classic vs Low Energy
- 16:03Bluetooth protocol stack
- 21:37Linux bluetooth support
- 22:50Kernel controller drivers
- 25:40Upstream vendor support
- 32:32Embedded integration
- 40:33Audio with Blue Alsa
- 45:30Alternative audio solutions
- 47:03Debugging techniques
- 49:48Live demo and conclusion
related talks
31mCreating Bluetooth-Based IoT Solutions with Zephyr
43mOpen Source Bluetooth Device Firmware for IoT and Makers
41mWearables and Wireless: Bluetooth Internals for the Brave
42mImplementing Bluetooth LE Audio & Auracast on Embedded Linux Systems
45mBluetooth Low Energy Controller in Zephyr OS
34mBluetooth Low Energy in Android: Getting it Done
47mBlueZ Meets Zephyr
45mBluetooth Low Energy Controller in Zephyr OS
