I have a custom hardware running on nrf52840 and using ncs 2.6.1. I have implemented a custom authentication flow with customer characteristic along with the BLE bonding. I have a custom app for iOS and Android both. I tested my device pairing and bonding with my iOS app and its is working as expected.
But when I test the same firmware with Android App I am facing issue with pairing. After the connection the device is not able to complete the BLE pairing somehow. To identify the actual issue I debug the operation and from the logs I found that the MTU size is not getting updated when I connect the device with the Android. And that is why my customer service that performs the authentication is not executed.
Regarding to the mobile app that I am using, both the apps are built on the same platform and well tested. And I have another application which is running on legacy Nordic SDK RTOS which is working fine with both the App android and iOS on the same hardware. And my existing application is the Zephyr revision of this legacy application.
So I suspect there is something that is missing after adding the Zephyr as the Application and Hardware both performing well but the same code with Zephyr is creating issue. Below are the application details.
prj.conf
iOS App pairing logs (Running on iPad iPadOS version 18.3.2)
Android App pairing logs (Running on Android tablet version 14)
I am using BLE bonding with security