[nRF5340 Audio Example Application] Device will not connect to TWS earbuds that support LC3

I am working on project based off of the nRF5340 chip. I'm using the audio example application to run some proof of concept tests so we can finalize our electrical design, however, I am running into issues getting the Gateway to connect to anything other than other dev kits. I purchased a pair of OnePlus Buds Pro 2 which according to the website and my bluetooth sniffer support Bluetooth 5.3 and the LC3 codec (one of two currently on the market, the other being the Samsung Buds 2 Pro). 

The earbuds are on the latest firmware, but will not pair with the gateway, and I can't tell if the gateway is seeing the beacons off of the earbuds, ignoring them, or trying to connect unsuccessfully.

The gateway is currently running in USB audio mode and CIS transport.

I'm using sdk version 2.4.2 on Ubuntu 22.04.

A couple thoughts:

When the dev kits are beaconing, they report that they are 'BR/EDR not supported'.

the earbuds report as follows:

Also, according to the sniffer, the earbuds report that they support LE or dual mode, but are advertising on Legacy.

These are my questions:

- Does the fact that the Earbuds are reporting that they are BR/ERD capable keep them from connecting with the gateway? This should just be a flag saying they CAN support dual mode, not that the server MUST support it, is this correct?

- How come the gateway cannot connect to the earbuds and just negotiate an LE connection and LC3 codec? The earbuds are compatible, and this has been tested using a pixel 7 set to LC3.

- Is this a limitation in the nRF5340 chip or the earbuds?

- Can the gateway even see devices that are advertising on Legacy?

 - If not, I have further questions regarding the life cycle of these chips and how they will interact with existing earbuds.

Any ideas? the goal is simply to get them to connect and listen to music.

  • Hello again,

    Thank you for your patience with this.

    bstewart-cae said:
    but I have tested it with a broadcast gateway and so far it appears that they do not support or recognize BIS.

    I think it likely could be that they only support CIS - I imagine it would have been used as a big selling point of they supported BIS/Auracast too.

    bstewart-cae said:
    I do not know if this is a result of whatever issues are lingering here, but I would not at all be surprised if they just don't support it. I plan on opening a ticket with OnePlus to get more information.

    It would be great to have this confirmed by OnePlus - you could additionally ask them if there are any special considerations when developing an initiator (gateway) device to work with the OnePlus buds. We have seen in the past that some vendors and particular updates have caused things to break or need tweaking (initially the Samsung Earbuds Pro II for instance preferred a 45 ms Connection Interval), since most of the offerings are still 'experimental'.

    These types of kinks will of course all be ironed out once it devices (both acceptors and initiators) are all qualified and tested.

    bstewart-cae said:

    The connection would fail, then the next tick it would try again, so it just looped through over and over again, trying to connect to the earbuds. Let me know if you have any insight into what is failing.

    bt_log_dump.txt

    Edit: Ran it with a larger log buffer and even more logging enabled.

    Over to the work with getting it up and running smoothly with the CIS:
    Looking through the provided logs I particularly notice the security failure.
    The most common reason for this issue when working with BLE devices is if you have previously paired with the devices, and then reprogrammed either the initiator or the acceptor, so that only one side has lost its keys.
    This will cause the old keys to be present in the peer, which will then fail the security callback. For more information you could see the discussion here.

    Could you make sure that both devices are 'factory reset' or have their 'bonds erased' and then give this a try again, and see if there are any changes to the behavior or the logs?

    Best regards,
    Karl

  • Hey Karl,

    I did as you suggested (including fully erasing and recovering the 5340 and resetting the earbuds) and there was no change in the log or response. I will experiment with tweaking some of the connection parameters to see if there's a timing issue.

    It would be great to have this confirmed by OnePlus - you could additionally ask them if there are any special considerations when developing an initiator (gateway) device to work with the OnePlus buds.

    I submitted a ticket late last week and last I heard it has been kicked over to their engineering team. I have yet to hear back, as soon as I know anything I'll forward it here. I asked about connection tweaks that I need for the buds to work and if there are any plans to support BIS.

  • We have seen in the past that some vendors and particular updates have caused things to break or need tweaking (initially the Samsung Earbuds Pro II for instance preferred a 45 ms Connection Interval), since most of the offerings are still 'experimental'.

      , this does open up an additional question - Have you confirmed that the Samsung buds pro 2 work with the nRF5340 gateway? What other earbuds/headests/headphones is nordic using for testing and can be confirmed to work? I think it's valuable to identify the issue with the OnePlus buds, for certain, but if there are available earbuds on the market that do work out of the box, that would be helpful in our current situation as this is currently a blocking issue.

  • Hello,

    bstewart-cae said:
    I submitted a ticket late last week and last I heard it has been kicked over to their engineering team. I have yet to hear back, as soon as I know anything I'll forward it here. I asked about connection tweaks that I need for the buds to work and if there are any plans to support BIS.

    Thanks for the update - I look forward to hearing their reply! :) 

    bstewart-cae said:
    this does open up an additional question - Have you confirmed that the Samsung buds pro 2 work with the nRF5340 gateway? What other earbuds/headests/headphones is nordic using for testing and can be confirmed to work? I think it's valuable to identify the issue with the OnePlus buds, for certain, but if there are available earbuds on the market that do work out of the box, that would be helpful in our current situation as this is currently a blocking issue.

    Yes, we have primarily tested against the Samsung Buds Pro 2 here at the support department, so these are the ear buds that we have the most knowledge about.

    These worked out of the box until their most recent update, which caused something to break - if you revert them to the previous version they still work out of the box.
    I will check with the engineer who most recently did tests on the latest Samsung Galaxy Buds Pro II version and see if they have any update on what went wrong with the latest update.

    Best regards,
    Karl

  • Hey Karl,

    I went ahead and picked up a pair to run some testing. I was unable to roll back to a version of software where they worked out of the box, but I did have some success on the latest version of firmware that i got from the Samsung app. I was able to get one at a time to connect, whichever one it found first, but only immediately after flashing. Once the bonded list was full, the buds would refuse to connect and I'd have to reflash it to get it to work. As far as I can tell, the buds are not sending direct pairing requests, which is the only way to trigger the bond_connect function, and I did try changing the scan filter from 'filter_duplicate' to 'none', but that didn't seem to change anything - I also have tried active scanning and that didn't seem to work either.

    I went ahead and logged the output of the device and have attached it below. Hopefully an additional data point would help.

    What changes have you made to the application to work with the Samsung buds? If I can recreate your 'known working', maybe I can help figure out what's going on. serial_20231005_161050.txt

Related