Reasons for 0x22 error on disconnection

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?

z-nordic.bttz-open.btt

Related