My configuration is: nRF5340, NCS v2.1.0, nRF Connect app on Android and iOS
I am using the latest available nRF Connect application on Android and iOS on the respective App store.
In my application communication is happening over SMP Service-characteristics. I am not facing any issues while communicating with the Android-based nRF Connect application. Everything is working as expected.
But with iOS, I am facing the issue of BT_HCI_ERR_CONN_TIMEOUT: 0x08.
It is not like it is not working at all, but after some partial communication, it frequently disconnects for every request after a few seconds.
I tried changing the below definitions as well:
D: conn 0x20008080 handle 0x0012 D: chan 0x20030680 flags 4 code 0x1b D: code 0x1b D: conn 0x20008080 cid 4 len 21 D: conn handle 0 buf len 25 cb 0x990ad user_data 0x20017a7c D: handle 0 ref 4 -> 3 D: handle 0 ref 3 -> 2 D: handle 0 ref 2 -> 1 D: count 3 D: ev->state 0 D: ev->state 0 D: ev->state 4 D: conn 0x20008080 D: conn 0x20008080 buf 0x20032f98 len 25 D: conn 0x20008080 buf 0x20032f98 len 25 flags 0x02 D: buf 0x20032f98 len 29 type 2 D: buf 0x20032f98 type 2 len 29 D: Final HCI buffer: D: 02 00 00 19 00 15 00 04 |........ D: 00 1b 12 00 03 00 00 0a |........ D: 00 00 00 00 bf 61 72 65 |.....are D: 48 65 6c 6c 6f ff |Hello. D: D: Adding conn 0x20008080 to poll list D: Calling k_poll with 3 events D: RPMsg data: D: 04 13 05 01 00 00 01 00 |........ D: len 5 D: Calling bt_recv(0x20031a60) D: buf 0x20031a60 len 7 D: num_handles 1 D: handle 0 count 1 D: handle 0 ref 1 -> 2 D: handle 0 ref 2 -> 1 D: RX buf payload: D: a8 70 04 20 45 |.p. E D: conn 0x20008080 D: conn 0x20008080 D: tx 0x200179c4 cb 0x990ad user_data 0x20017a7c D: conn 0x20008080 chan 0x20030684 D: chan 0x20030680 D: TX Complete chan 0x20030680 CID 0x0004 I: BLE-OTA: 17% D: conn 0x20008080 handle 0x0012 D: chan 0x20030680 flags 4 code 0x1b D: code 0x1b D: conn 0x20008080 cid 4 len 17 D: conn handle 0 buf len 21 cb 0x990ad user_data 0x20017a90 D: count 3 D: ev->state 0 D: ev->state 0 D: ev->state 4 D: conn 0x20008080 D: conn 0x20008080 buf 0x20032f98 len 21 D: conn 0x20008080 buf 0x20032f98 len 21 flags 0x02 D: buf 0x20032f98 len 25 type 2 D: buf 0x20032f98 type 2 len 25 D: Final HCI buffer: D: 02 00 00 15 00 11 00 04 |........ D: 00 1b 12 00 ac 20 00 09 |..... .. D: 04 43 11 00 01 00 50 e6 |.C....P. D: cc 57 |.W D: D: Adding conn 0x20008080 to poll list D: Calling k_poll with 3 events D: RPMsg data: D: 04 05 04 00 00 00 08 |....... D: len 4 D: Calling bt_recv(0x200327f4) D: buf 0x200327f4 len 6 D: status 0x00 handle 0 reason 0x08 D: handle 0 ref 1 -> 2 D: connected -> disconnect-complete D: TX Complete chan 0x20030680 CID 0x0004 D: handle 0 ref 2 -> 1 D: RX buf payload: D: 05 04 00 00 00 08 |...... D: Getting net_buf from queue D: buf 0x200327f4 type 1 len 6 D: event 0x05 D: status 0x00 handle 0 reason 0x08 D: handle 0 ref 1 -> 2 D: disconnect-complete -> disconnected D: conn 0x20008080 D: handle 0 ref 2 -> 1 D: count 3 D: ev->state 0 D: ev->state 1 D: ev->state 0 D: D: Calling k_poll with 2 events D: conn 0x20008080 D: conn 0x20008080 chan 0x200179d4 D: ch 0x200179d4 cid 0x0005 D: conn 0x20008080 chan 0x20017b04 D: conn 0x20008080 chan 0x20030684 D: chan 0x20030684 cid 0x0004 D: chan 0x20030680 D: conn 0x20008080 D: id: 0, addr: 60:35:DD:85:D7:2E (random) D: ccc 0x20002654 reseted D: ccc 0x20002680 reseted D: chan 0x20030680 I: BLE Disconnected D: handle 0 ref 1 -> 0 D: ED:F9:3D:90:D5:32 D: opcode 0x2006 param_len 15 D: buf 0x20032bb8 D: buf 0x20032bb8 opcode 0x2006 len 18 D: count 2 D: ev->state 4 D: calling net_buf_get D: calling sem_take_wait D: Sending command 0x2006 (buf 0x20032bb8) to driver D: buf 0x20032bb8 len 18 type 0 D: buf 0x20032bb8 type 0 len 18 D: Final HCI buffer: D: 01 06 20 0f 90 01 f4 01 |.. ..... D: 00 01 00 00 00 00 00 00 |........ D: 00 07 00 |... D: ev->state 0 D: RPMsg data: D: 04 0e 04 01 06 20 00 |..... . D: len 4 D: Calling bt_recv(0x20032bb8) D: buf 0x20032bb8 len 6 D: opcode 0x2006 D: opcode 0x2006 status 0x00 buf 0x20032bb8 D: RX buf payload: D: 00 |. D: