I am seeing many 0x22 error codes on the disconnect event when I connect to an iPhone with 5.2/5.3 BT version. I do not see the 0x22 error when connecting to iPhones with 5.1 BT such as the iPhone XR or Android phones. I am experiencing this in my custom product using Softdevice 7 but I can reproduce the problem in the NCS peripheral example project using Zephyr and the PCA10040 devkit. In the NCS example, the 0x22 only happens if I use the Nordic stack. It does not occur with the open source stack. In the peripheral example, I made these changes to cause the 0x22 error:
After connection, change connection interval to 2s
Wait 6s and disconnect
I attached the Ellisys captures of the Nordic and open source stack. The Nordic capture has 2 markers when the 0x22 error occurred. It seems to be related to the Channel Map Indication sent by the phone but in my custom product I have seen the 0x22 error when no Channel Map Indication is sent. Is there a list of reasons for why I can see 0x22 error on disconnect?