The nRF51822 softdevice is generating the following disconnection event:
11:20:09.363365 : BLE_GAP_EVT_DISCONNECTED c=x05dd
11:20:09.365011 : reason = x002a
11:20:09.366442 : DM_EVT_DISCONNECTION
11:20:09.368329 : - SUCCESS
The above event is generated by the softdevice upon the reception of the below LL control message from the iPhone:
LE BB:
Header Length: 13
Header Version: 3
CP #: 1
Channel Index: 2 - 2408 MHz
Meets Predefined Filter Criteria for BT low energy devices: No
Receive Status: Received without errors
Decryption Initiated: Yes
Decryption Status: Decrypted successfully
Signal Strength: 8 (medium)
PDU Length: 8
LE PKT:
Preamble: 0x55
Access Address: 0xaf9aa21b
CRC: 0xbe82fe
LE DATA:
LLID: Control
NESN: 0
SN: 0
MD: 0
Payload Length: 6
MIC Present: Yes
Encrypted MIC: 0x3cfe9fdd
LE LL:
Control Pkt: LL_TERMINATE_IND
Error Code: Remote User Terminated Connection
Why does the Softdevice modify the error code received in the LL packet? 0x2a is very misleading for debugging and leads to other devzone threads.
The OTA capture can be found at ios-nordic-disconnect-2a.cfa