I'm working on porting our connectivity application from SDK11/SD132v2.0.0 to SDK14/SD132v5.0.0.
Currently, though most Android phones I've tried can connect, the Moto E4 exhibits strange behavior on only the SDK14 version, where it will connect and then very shortly thereafter (before a GATT message can be sent, and sometimes before the LL feature handshake is completed) disconnect with HCI error 0x3d, connection terminated due to MIC failure. This software is not designed to use security on the link layer at all so I'm confused about how this would occur.
I've attached a pcap of a successful connection on SDK11/SD132v2.0.0 and a typical failed connection on SDK14/SD132v5.0.0.
My only working hypothesis is the phone behaving differently due to different advertised capabilities from the new softdevice. So I have two questions:
- In general, has anybody seen this before or know why it's happening?
- For further debugging, is there a way I can alter the LL feature flags the device advertises?