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
BLE connection fails when WiFi coexistence is enabled for ESP32-C3 (IDFGH-9999) #11280
Comments
Hi @ynormend thanks for your bug report. We have reproduced this issue locally and our engineers will investigate in this issue. You can try another old version iphone or some other Android smartphones and test whether the issue does not occur, if yes, then it is likely that we are facing the same issue. |
@wmy-espressif |
Hi @AxelLin thanks for the suggestion. In fact that we have found that it is the change in libphy.a that causes this issue, the differences are large between the two different versions for libphy.a, the changes are not visible to me. Need colleagues from RF/PHY team to take a look. |
Thanks for your response @wmy-espressif ! I tried with an Android phone and it didn't occur indeed, so we're likely facing the same issue. |
I think I'm also experiencing the same issue but with the ESP32-C3-DevKitC-02 using esp-idf v5.0.1 and the same bluetooth/nimble/bleprph_wifi_coex example. Neither an iPhone 12 (iOS 16.3) nor an iPad Air (4th generation, iOS 16.2) can connect to the peripheral. In my case the iOS device never connects and stays in the "connecting" state. What seems to fix the problem is adding a ~2s delay after a successful connection to the Wifi and before starting advertising. |
@wmy-espressif Any update? The stable branches have this bug now, it needs fix ASAP. |
Hi @ynormend @kobbok @AxelLin , we have founded the cause of this issue, and our bugfix is merged into master branch already and it can take some days to be synchronized to esp-idf github repo, also we are preparing the backported MRs on previous release branches. Before the MRs are merged and synchronized to github, you can use the following patch in your project: To apply the patch, please use the library files in the attachment to replace the ones in |
@wmy-espressif |
@AxelLin thanks for the reminder, the backports are in progress. |
Thanks for the patch @wmy-espressif ! I noticed it contains libraries for both ESP32-C3 and ESP32-S3. Does it mean both platforms have the issue? I didn't observe it with ESP32-S3. |
Hi @ynormend yes the libraries are for ESP32-C3 and ESP32-S3, the two chips have similar implementations on RF/modem. I don't know why ESP32-S3 doesn't reproduce the issue. According to our RF engineers, the cause is that the filter bandwidth configured is too narrow for BLE 2M PHY, therefore I guess this patch is good for the performance of 2M PHY. I would like to inform you that our fixes are already merged in the following branches: master, release/v4.4, release/v5.1, but currently only release/v5.1 is updated to github with this fix, the git commit SHA is: e8dba71. It can take several days for the other branches to be synchronized. |
Hi @ynormend , @kobbok , @AxelLin , for your information, the fixes for this issue have been merged into our release branches:
Please try out the specific commits you need. |
Thanks for reporting. |
Answers checklist.
IDF version.
v4.4.4
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-C3-DevKitM-1 v1.0
Power Supply used.
USB
What is the expected behavior?
Any BLE central can connect to the board configured as BLE peripheral then interact with the GATT server.
What is the actual behavior?
The connection fails right after having been established.
Steps to reproduce.
bluetooth/nimble/bleprph_wifi_coex
exampleDebug Logs.
More Information.
The issue cannot be reproduced with an ESP32-S3 board, or without WiFi coexistence (
bleprph
example), or with ESP-IDF v4.4.3.The text was updated successfully, but these errors were encountered: