We are currently facing issues with the CYW4373E when streaming A2DP if Bluetooth Classic scan/discovery is active. In this case, audible gaps are heard in the A2DP data stream. As soon as scanning/discovery is turned off via the adapter (BlueZ), the gaps disappear, and the A2DP stream is clean.
Similarly, the same sort of issue occurs when we attempt to connect to a second device during active A2DP playback. While the adapter is "finding" the second device and establishing a connection, gaps are audible in the first device's A2DP playback. Once the secondary device has connected successfully, the gaps disappear, and the A2DP stream is clean.
Our device is an A2DP sink, supporting A2DP streaming from A2DP sources (such as mobile phones).
Does anyone have experience with this type of issue or know what we could do to debug and/or solve it? Could this be a limitation of the chip itself?
Here are some specifics about our environment:
- NXP i.MX8MNano
- Linux 5.4.81
- BlueZ 5.58
- bluez-alsa 3.1.0 (provides A2DP sink)
- A2DP sample rate 48kHz
bluez-alsa and the module itself are configured using the following commands at system startup (in case this helps):
hciattach /dev/ttymxc0 bcm43xx 3000000 & sleep 1 hciconfig hci0 up # configure wide-band audio for UART I/O hcitool -i hci0 cmd 0x3f 0x001 0x01 0x02 0x00 hcitool -i hci0 cmd 0x3f 0x01c 0x01 0x00 0x00 0x1 0x01 hciconfig hci0 piscan hciconfig hci0 noencrypt bluealsa -p hfp-ofono -p a2dp-sink &
Thank you in advance for your time and help!
I think the device should not be in active scanning during A2DP streaming. This issue we have seen in other standalone Bluetooth chip.
I will double check internally & update you. Can you please let us know the firmware hcd version which you are using?
Thank you very much for replying and looking into this!
Please note that the scanning itself is a use case for us, so basically we can do one of the following while actively streaming A2DP from one device to reproduce this issue on our end:
- initiate a connection to a secondary device (the chip must "scan" to find it) or
- activate Bluetooth discovery on the adapter (i.e. BlueZ StartDiscovery)
Regarding the firmware we are using:
Firmware: BCM4373/0 wl0: Dec 20 2020 19:46:14 version 220.127.116.11 (fb87df5 CY) FWID 01-ccacfea3
Thank you again for your help!