-
Notifications
You must be signed in to change notification settings - Fork 7.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bluetooth Controller: SCO connection fails with 2 existing phones connected (IDFGH-11172) #12340
Comments
Hi, I have reproduced this issue in my local environment with two android phones too.I found some abnormal behavior in controller when doing eSCO parameter negotiation. |
HI, further analysis indicates that this issue is caused by a conflict between the interval events of the Sniff Mode and SCO, resulting in the inability to find a valid SCO offset. As a result, the controller rejected the request to establish an SCO connection. As this issue involves some underlying logic, the solution is still under discussion. In the meantime, you can temporarily work around this issue by disabling Sniff Mode. |
- Fixed fail to establish eSCO when connected to two devices - Changed some error log level to Debug if the error have a workaround Closes #12340
- Fixed fail to establish eSCO when connected to two devices - Changed some error log level to Debug if the error have a workaround Closes #12340
Thanks for reporting, we will close this issue. Feel free to reopen if have more updates. |
- Fixed fail to establish eSCO when connected to two devices - Changed some error log level to Debug if the error have a workaround Closes #12340
- Fixed fail to establish eSCO when connected to two devices - Changed some error log level to Debug if the error have a workaround Closes #12340
- Fixed fail to establish eSCO when connected to two devices - Changed some error log level to Debug if the error have a workaround Closes #12340
Answers checklist.
IDF version.
v5.2-dev-3065-g272b4091f1
Espressif SoC revision.
ESP32-D0WD-V3 (revision v3.0)
Operating System used.
macOS
How did you build your project?
Command line with idf.py
If you are using Windows, please specify command line type.
None
Development Kit.
ESP32_LyraT
Power Supply used.
USB
What is the expected behavior?
After connecting an iPhone Mini 12 with iOS 17 and an Google Pixel 7a, I expect both of them to be able to open an SCO for HFP.
What is the actual behavior?
When iOS initiates the SCO connection for WBS, the connection fails with error 0x1b - SCO Offset Rejected
Steps to reproduce.
Here are the HCI traces for both ESP32 as well as an USB Bluetooth Dongle. Can be analyzed with Wireshark.
hfp_hf_two_phones.zip
Debug Logs.
More Information.
When running the same demo on a CSR8510 USB Bluetooth dongle, the SCO connection gets initiated as expected.
When only iPhone is connected, the SCO connection gets also correctly initiated.
BTstack uses:
Quick look into Bluedroid tells me that it uses:
So, BTstack's requirement are even more relaxed, but result in the same connection settings if the connection gets established correctly.
The text was updated successfully, but these errors were encountered: