Рет қаралды 646
Bluetooth on Embedded Linux Systems Deep Dive - Marcel Ziswiler, Toradex Inc.
Bluetooth is one of the most dominant wireless connection technologies. USB Bluetooth dongles are very common in the consumer world, but many modern Embedded Systems also contain directly designed-in Bluetooth solutions using interfaces like PCIe, SDIO or UART. Often as part of a wireless solution with Wi-Fi and/or other wireless technologies like 5G, IEEE 802.15.4 etc. I was tasked to evaluate various Bluetooth solutions and tested all major vendors which have upstream driver support. This talk introduces the Bluetooth specification and discusses how it may be used on Embedded Systems from the Linux kernel, accompanying user space, BlueZ Bluetooth stack and further application-level integration (e.g. home assistant). Bluetooth profiles are covered including audio interaction with PipeWire/WirePlumber. The last part concentrates on how to debug various Bluetooth-related issues one may encounter. The powerful BlueZ btmon and hcidump facilities are introduced which may be used to collect traces of Bluetooth communication and in combination with Wireshark allows easy visualising Bluetooth protocol analysis. As usual, I complete my talk with a live demonstration of some real-world Bluetooth use cases.