I’m currently working on setting up LE Audio functionality using the nRF5340 (NORA-B126) module with a Raspberry Pi Compute Module 4 (CM4). The goal is to enable Bluetooth Low Energy (BLE) audio streaming with my Sony WF-1000XM6 earbuds and Creative Zen Hybrid Pro headphones. While pairing and bonding work perfectly, I’m encountering issues with establishing actual LE Audio media sessions. This means no Audio Stream Encryption (ASE) or ISO connections are being created, resulting in no audio streaming. I suspect the problem lies in the configuration of the nRF5340 controller, specifically within the prj.conf file and device overlays needed for BlueZ to support LE Audio services like BAP, ASCS, PACS, and ISO.
Current Setup
- Hardware: Raspberry Pi CM4 with a custom carrier board, u-blox NORA-B126 module (nRF5340), and H:4 over UART with hardware flow control.
- Firmware: Based on
samples/bluetooth/hci_uartwith the NET core running the controller and the APP core runningempty_app_core. Using NCS/Zephyr 3.1.0. - Linux Stack: BlueZ 5.82 with LE Audio enabled, PipeWire 1.4.2, and WirePlumber 0.5.8 with LC3 codec support. Kernel version 6.12.34+rpt-rpi-v8.
Key Challenges
- LE Audio Configuration: Determining the minimal Kconfig settings required for ISO/CIS functionality when using nRF5340 as an HCI controller with BlueZ. I’m unsure which SoftDevice Controller (SDC) symbols need to be enabled for ISO/CIS support.
- Architecture Decision: Deciding between HCI-offload (where Linux handles BAP/ASCS/LC3) and using nRF5340’s built-in LE Audio APP/NET samples with I2S/PCM. While the latter has worked in the past, I’m exploring if HCI-offload is a viable and stable alternative.
- Interoperability: Investigating if there are known issues with the Sony WF-1000XM6 as a unicast sink when driven via HCI from Linux.
- HCI Commands and UART Best Practices: Determining if any vendor-specific HCI commands are needed for ISO support and optimizing UART settings to prevent packet loss.
Seeking Guidance
- Kconfig and SDC Options: What symbols must be enabled in the prj.conf file for ISO/CIS functionality?
- Architecture Recommendations: Is HCI-offload expected to work smoothly for LE Audio unicast sink scenarios on nRF5340 today?
- HCI Commands: Are there specific vendor-specific HCI commands required for ISO support when using BlueZ/PipeWire?
- UART Optimization: What baud rate, flow control settings, and buffering configurations are recommended for H:4 with ISO traffic to avoid RTS/CTS hanging issues?
Any insights or suggestions would be greatly appreciated! Thanks in advance for your help. ![]()