I was involved an Android APP which does BLE connection and pairing with our company Bt chip. The APP is as BLE central role, while the Bt chip is as BLE peripheral role.
When the APP runs on Android 4.4 or 5.0 smart phone, the BLE connection and pairing works well. When the APP runs on Android 5.1 or the latest version 6.0, BLE pairing is terminated by error code (error code: 13), while BLE connection is succeed. Here is the air log:
4,148 0x50654c1d 0x0000 1 LL_VERSION_IND 24 2015/12/3 14:13:39.600368
4,160 0x50654c1d 0x0001 2 LL_VERSION_IND 24 00:00:00.048473 2015/12/3 14:13:39.648841
4,163 0x50654c1d 0x0002 1 LL_FEATURE_REQ 27 00:00:00.048522 2015/12/3 14:13:39.697363
4,169 0x50654c1d 0x0003 2 LL_FEATURE_RSP 27 00:00:00.049066 2015/12/3 14:13:39.746429
4,179 0x50654c1d 0x0004 1 LL_CONNECTION_UPDATE_REQ 0x000a 30 00:00:00.048436 2015/12/3 14:13:39.794865
4,234 0x50654c1d 0x000b 1 LL_ENC_REQ 41 00:00:00.303755 2015/12/3 14:13:40.098620
4,237 0x50654c1d 0x000c 2 LL_ENC_RSP 31 00:00:00.007727 2015/12/3 14:13:40.106347
4,244 0x50654c1d 0x000d 2 LL_START_ENC_REQ 19 00:00:00.007500 2015/12/3 14:13:40.113847
4,245 0x50654c1d 0x000e M LL_START_ENC_RSP 23 00:00:00.007273 2015/12/3 14:13:40.121120
4,248 0x50654c1d 0x000f S LL_START_ENC_RSP 23 00:00:00.007726 2015/12/3 14:13:40.128846
4,392 0x50654c1d 0x004a M LL_CONNECTION_UPDATE_REQ 0x0050 34 00:00:00.442275 2015/12/3 14:13:40.571121
4,794 0x50654c1d 0x008c M LL_CHANNEL_MAP_REQ 0x0093 30 00:00:03.002545 2015/12/3 14:13:43.573666
7,168 0x50654c1d 0x0131 M LL_CHANNEL_MAP_REQ 0x0138 30 00:00:08.043797 2015/12/3 14:13:51.617463
10,065 0x50654c1d 0x0261 M LL_CHANNEL_MAP_REQ 0x0268 30 00:00:14.820121 2015/12/3 14:14:06.437584
10,449 0x50654c1d 0x029d M LL_TERMINATE_IND 24 00:00:02.925044 2015/12/3 14:14:09.362628
My Bt host program (based on Bt chip) received CONNECTION_PARAMETER_UPDATE_COMP_IND
event, and then received LE_DEVICE_DISCONNECT_COMP_IND
event. I guess the operation of disconnect BLE
is done by Android Bt stack.
In Android 4.4 or 5.0, There is no CONNECTION_PARAMETER_UPDATE_COMP_IND
event received, So what's the matter about it, how could I make BLE pairing success on Android 5.1 or 6.0. Any help will be appreciated.