I have an nRF51822 based peripheral running SD 7.0.0, using SDK 6.0.0. It has a custom (vendor specific) characteristic which is read/write.
If I use BLE_GAP_CONN_MODE_SET_OPEN for the characteristic, I can read and write the value for it from an Android app (central) just fine. If I switch to BLE_GAP_CONN_MODE_SET_ENC_NO_MITM, when trying to read the characteristic, bonding happens as expected as far as I can tell from the Sniffer/Wireshark log, and there's no error on the Android app side. But I never get the callback to onCharactersiticRead() in the app.
Here's my Wireshark log: cant_read_chara_with_enc_no_mitm.pcapng