esp-idf: [regression] 4.4.5 ESP32S3 BLE authentication failure from IOS devices (IDFGH-10659)
Answers checklist.
- I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
- I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
- I have searched the issue tracker for a similar issue and not found a similar issue.
General issue report
Between the following 2 commits 8b94183c9cb47ede8f02df5598d8b9d68c754860 and 3cec3a0026098d1b027f2103ec154a15baf97318
something changed in the BLE component.
The result of these changes make any IOS device fail to authenticate with error
GATT_TRACE_ERROR( "GATT_INSUF_AUTHENTICATION\n");
using esp provisioning 2.0.14 -> BLE -> encrypted communication selected
Android works fine.
About this issue
- Original URL
- State: closed
- Created a year ago
- Comments: 40 (26 by maintainers)
@zhp0406 another test to do! use CONFIG_WIFI_PROV_BLE_BONDING set, which is not set by default.
I was able to connect with this on IOS 15, now we have to try IOS16 and IOS17
@zhp0406 apparently our patch works only on IOS 15.X but not on IOS 16…
So we are back at square one.
@zhp0406 did you have time to check the patch i submitted?
@KonssnoK you are right,it’s an app issue.and I will let my colleagues fix it ASAP.
@zhp0406 thanks. I guess then it’s an app issue, I will have to make my colleagues aware of it so that it doesn’t happen with our app side too.
I’ll try the patch
@zhp0406 i double confirm. once removed the option to force the encryption, also our FW started working with IOS.
So we can go back to the initial discussion, but now we know how to trigger it also on the example.
CONFIG_WIFI_PROV_BLE_FORCE_ENCRYPTION=y@KonssnoK You are correct. When I use the provisioning app, there doesn’t seem to be any request for pairing. It goes directly to the pop-up page. So, how can I trigger the pairing process?
Working provisioning app
non-working internal FW
we didn’t touch the BLE, the whole code of esp-idf is shared beetween the 2 applications.
We had the following differences in sdkconfig