This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Early disconnect when NRF_SDH_BLE_GATT_MAX_MTU_SIZE = 247

Hello,
Not sure if this is exactly the same as what is happening in this case,
but the issue of an early disconnect when NRF_SDH_BLE_GATT_MAX_MTU_SIZE = 247,
can simply be replicated using sdk 15.3 ble_app_cts_c, DK832 and Android 8.
This issue is not appearing on the iPhone with CTS.

Because the CTS example has to bond when connecting to work,
the settings first have to be,
#define NRF_SDH_BLE_GAP_DATA_LENGTH 27
#define NRF_SDH_BLE_GATT_MAX_MTU_SIZE 23
to get the Android bonded and connected.
Once connected there is no disconnect soon after by having 27/23.

Then change the settings to,
#define NRF_SDH_BLE_GAP_DATA_LENGTH 251
#define NRF_SDH_BLE_GATT_MAX_MTU_SIZE 247
and flash the DK.
Once connected, a disconnect occurs soon after by having 251/247.

The disconnect reason is 0x22, BLE_HCI_STATUS_CODE_LMP_RESPONSE_TIMEOUT,
but not sure how much this helps.

If the DK is eraseall, and settings are 251/247,
then the DK won't even bond to the Android using the CTS example.

Is this particular to how the CTS Service was coded for the GATT Server on Android,
and can be easily adjusted in code to handle 251/247?
or is this part of the Android standard and has a limit of 27/23 for CTS?
There is a need to have 251/247 on CTS for a NUS TX notification on Android.

thank-you,

Parents Reply Children
  • captured traces for the good (27/23), and the bad (251/247),
    and including debug log outputs for both.

    not sure what would be needed to make the 251/247 connection be handled properly,
    and not to disconnect early or even be able to bond like 27/23.


    thank-you,

    cts_bad-6.pcapng

    cts_good-5.pcapng

    <00> info>�app:�Current�Time�service�client�started.
    00> 
    <00> debug>�app:�pm_whitelist_get�returns�1�addr�in�whitelist�and�1�irk�whitelist
    00> 
    <00> info>�app:�Fast�advertising�with�WhiteList
    00> 
    <00> debug>�nrf_ble_gatt:�Requesting�to�update�ATT�MTU�to�247�bytes�on�connection�0x0.
    00> 
    <00> debug>�nrf_ble_gatt:�Updating�data�length�to�251�on�connection�0x0.
    00> 
    <00> debug>�ble_cts_c:�BLE�event�handler�called�with�event�0x10
    00> 
    <00> info>�app:�Connected.
    00> 
    <00> debug>�nrf_ble_gatt:�ATT�MTU�updated�to�247�bytes�on�connection�0x0�(response).
    00> 
    <00> debug>�ble_cts_c:�BLE�event�handler�called�with�event�0x3A
    00> 
    <00> debug>�ble_cts_c:�BLE�event�handler�called�with�event�0x14
    00> 
    <00> info>�peer_manager_handler:�Connection�secured:�role:�Peripheral,�conn_handle:�0,�procedure:�Encryption
    00> 
    <00> debug>�ble_db_disc:�Starting�discovery�of�service�with�UUID�0x1805�on�connection�handle�0x0.
    00> 
    <00> debug>�ble_cts_c:�BLE�event�handler�called�with�event�0x1A
    00> 
    <00> debug>�ble_db_disc:�Found�service�UUID�0x1805.
    00> 
    <00> debug>�ble_cts_c:�BLE�event�handler�called�with�event�0x30
    00> 
    <00> debug>�ble_cts_c:�BLE�event�handler�called�with�event�0x32
    00> 
    <00> debug>�ble_cts_c:�BLE�event�handler�called�with�event�0x32
    00> 
    <00> debug>�ble_cts_c:�BLE�event�handler�called�with�event�0x33
    00> 
    <00> debug>�ble_db_disc:�Discovery�of�service�with�UUID�0x1805�completed�with�success�on�connection�handle�0x0.
    00> 
    <00> debug>�ble_cts_c:�Database�Discovery�handler�called�with�event�0x0
    00> 
    <00> info>�ble_cts_c:�Current�Time�Service�discovered�at�peer.
    00> 
    <00> info>�app:�Current�Time�Service�discovered�on�server.
    00> 
    <00> debug>�ble_cts_c:�BLE�event�handler�called�with�event�0x33
    00> 
    <00> debug>�ble_cts_c:�BLE�event�handler�called�with�event�0x36
    00> 
    <00> debug>�ble_cts_c:�Current�Time�read�response�data:
    00> 
    <00> debug>�ble_cts_c:��E4�07�0B�17�09�0D�1E�01|.... ...
    00> 
    <00> debug>�ble_cts_c:��DD�00������������������|..������
    00> 
    <00> info>�app:�Current�Time�received.
    00> 
    <00> info>�app:�
    00> 
    00> Current�Time:
    00> 
    <00> info>�app:�
    00> 
    00> Date:
    00> 
    <00> info>�app:� Day�of�week���Monday
    00> 
    <00> info>�app:� Day�of�month��23
    00> 
    <00> info>�app:� Month�of�year�November
    00> 
    <00> info>�app:� Year����������2020
    00> 
    <00> info>�app:�
    00> 
    00> Time:
    00> 
    <00> info>�app:� Hours�����9
    00> 
    <00> info>�app:� Minutes���13
    00> 
    <00> info>�app:� Seconds���30
    00> 
    <00> info>�app:� Fractions�221/256�of�a�second
    00> 
    <00> info>�app:�
    00> 
    00> Adjust�reason:
    00> 
    00> 
    <00> info>�app:� Daylight�savings�0
    00> 
    <00> info>�app:� Time�zone��������0
    00> 
    <00> info>�app:� External�update��0
    00> 
    <00> info>�app:� Manual�update����0
    00> 
    <00> debug>�ble_cts_c:�BLE�event�handler�called�with�event�0x12
    00> 
    <00> debug>�ble_cts_c:�BLE�event�handler�called�with�event�0x11
    00> 
    <00> info>�app:�Disconnect�Complete.
    00> 
    <00> info>�app:�Disconnected.
    00> 
    

    <00> info>�app:�Current�Time�service�client�started.
    00> 
    <00> debug>�app:�pm_whitelist_get�returns�1�addr�in�whitelist�and�1�irk�whitelist
    00> 
    <00> info>�app:�Fast�advertising�with�WhiteList
    00> 
    <00> debug>�ble_cts_c:�BLE�event�handler�called�with�event�0x10
    00> 
    <00> info>�app:�Connected.
    00> 
    <00> debug>�ble_cts_c:�BLE�event�handler�called�with�event�0x35
    00> 
    <00> debug>�ble_cts_c:�BLE�event�handler�called�with�event�0x14
    00> 
    <00> info>�peer_manager_handler:�Connection�secured:�role:�Peripheral,�conn_handle:�0,�procedure:�Encryption
    00> 
    <00> debug>�ble_db_disc:�Starting�discovery�of�service�with�UUID�0x1805�on�connection�handle�0x0.
    00> 
    <00> debug>�ble_cts_c:�BLE�event�handler�called�with�event�0x1A
    00> 
    <00> debug>�ble_db_disc:�Starting�discovery�of�service�with�UUID�0x1805�on�connection�handle�0x0.
    00> 
    <00> debug>�ble_cts_c:�BLE�event�handler�called�with�event�0x36
    00> 
    <00> debug>�ble_db_disc:�Found�service�UUID�0x1805.
    00> 
    <00> debug>�ble_cts_c:�BLE�event�handler�called�with�event�0x30
    00> 
    <00> debug>�nrf_ble_gatt:�Peer�on�connection�0x0�requested�a�data�length�of�27�bytes.
    00> 
    <00> debug>�nrf_ble_gatt:�Updating�data�length�to�27�on�connection�0x0.
    00> 
    <00> debug>�ble_cts_c:�BLE�event�handler�called�with�event�0x23
    00> 
    <00> debug>�ble_cts_c:�BLE�event�handler�called�with�event�0x32
    00> 
    <00> debug>�nrf_ble_gatt:�Data�length�updated�to�27�on�connection�0x0.
    00> 
    <00> debug>�nrf_ble_gatt:�max_rx_octets:�27
    00> 
    <00> debug>�nrf_ble_gatt:�max_tx_octets:�27
    00> 
    <00> debug>�nrf_ble_gatt:�max_rx_time:�328
    00> 
    <00> debug>�nrf_ble_gatt:�max_tx_time:�2120
    00> 
    <00> debug>�ble_cts_c:�BLE�event�handler�called�with�event�0x24
    00> 
    <00> debug>�ble_cts_c:�BLE�event�handler�called�with�event�0x32
    00> 
    <00> debug>�ble_cts_c:�BLE�event�handler�called�with�event�0x33
    00> 
    <00> debug>�ble_db_disc:�Discovery�of�service�with�UUID�0x1805�completed�with�success�on�connection�handle�0x0.
    00> 
    <00> debug>�ble_cts_c:�Database�Discovery�handler�called�with�event�0x0
    00> 
    <00> info>�ble_cts_c:�Current�Time�Service�discovered�at�peer.
    00> 
    <00> info>�app:�Current�Time�Service�discovered�on�server.
    00> 
    <00> debug>�ble_cts_c:�BLE�event�handler�called�with�event�0x33
    00> 
    <00> debug>�ble_cts_c:�BLE�event�handler�called�with�event�0x36
    00> 
    <00> debug>�ble_cts_c:�Current�Time�read�response�data:
    00> 
    <00> debug>�ble_cts_c:��E4�07�0B�17�09�25�0F�01|.... %..
    00> 
    <00> debug>�ble_cts_c:��91�00������������������|..������
    00> 
    <00> info>�app:�Current�Time�received.
    00> 
    <00> info>�app:�
    00> 
    00> Current�Time:
    00> 
    <00> info>�app:�
    00> 
    00> Date:
    00> 
    <00> info>�app:� Day�of�week���Monday
    00> 
    <00> info>�app:� Day�of�month��23
    00> 
    <00> info>�app:� Month�of�year�November
    00> 
    <00> info>�app:� Year����������2020
    00> 
    <00> info>�app:�
    00> 
    00> Time:
    00> 
    <00> info>�app:� Hours�����9
    00> 
    <00> info>�app:� Minutes���37
    00> 
    <00> info>�app:� Seconds���15
    00> 
    <00> info>�app:� Fractions�145/256�of�a�second
    00> 
    <00> info>�app:�
    00> 
    00> Adjust�reason:
    00> 
    00> 
    <00> info>�app:� Daylight�savings�0
    00> 
    <00> info>�app:� Time�zone��������0
    00> 
    <00> info>�app:� External�update��0
    00> 
    <00> info>�app:� Manual�update����0
    00> 
    <00> debug>�ble_cts_c:�BLE�event�handler�called�with�event�0x12
    00> 

  • Hi Simon, 

    Could you let me know more information about the phone ? Which brand name and phone name? 

    From the trace I can find that the phone rejected the LL_LENGTH_REQ with LMP PDU Not Allowed. Most likely that it doesn't support data length extension (even though in the Feature list it does set this as true). 

    Could you please try to test with ble_app_nus example and try to set the NRF_SDH_BLE_GAP_DATA_LENGTH  to 251 to see if you get the same issue. Please capture a sniffer trace of that as well (because it doesn't need bonding, so it's easier to debug). Please try to capture until the connection is terminated and the device advertise again. 
    Please try to test with smaller NRF_SDH_BLE_GATT_MAX_MTU_SIZE  and NRF_SDH_BLE_GAP_DATA_LENGTH (smaller than 251 but bigger than 27)  just to check if it's the limit of the phone.

  • I've been using Nexus 6P Android 8.
    Then tried Vivo 5 mini Android 6 a try,
    and no early disconnect with the Vivo like on the Nexus for CTS at 251/247.

    I had been testing extensively with ble_app_uart for NUS until I merged CTS,
    and that's when I started to notice the early disconnect for the Nexus.
    I brought DATA_LENGTH down to 27 on ble_app_uart from 251 (which works good for CTS),
    but then was not able to get 60 words across by NUS.

    The default DATA_LENGTH for ble_app_uart is 251,
    and that is working without issue for Nexus.

    I switched over to sdk 17.0.2, and the results were the same,
    where the Vivo is ok, and the Nexus disconnects early for CTS at 251/247.
    (I'm not in possession of an Android 10 to test there).

    thank-you,

    cts_sdk17_251_247_vivo_good-6.pcapng

    uart_sdk17_251_247_nexus_good-7.pcapng

    <00> info>�app_timer:�RTC:�initialized.
    00> 
    <00> info>�app:�Debug�logging�for�UART�over�RTT�started.
    00> 
    <00> debug>�nrf_ble_gatt:�Requesting�to�update�ATT�MTU�to�247�bytes�on�connection�0x0.
    00> 
    <00> debug>�nrf_ble_gatt:�Updating�data�length�to�251�on�connection�0x0.
    00> 
    <00> info>�app:�Connected
    00> 
    <00> debug>�nrf_ble_gatt:�ATT�MTU�updated�to�247�bytes�on�connection�0x0�(response).
    00> 
    <00> info>�app:�Data�len�is�set�to�0xF4(244)
    00> 
    <00> debug>�app:�ATT�MTU�exchange�completed.�central�0xF7�peripheral�0xF7
    00> 
    <00> info>�app:�Disconnected
    00> 
    

    # SEGGER J-Link RTT Viewer V6.44e Terminal Log File
    # Compiled: 16:19:49 on Apr  5 2019
    # Logging started @ 24 Nov 2020 13:32: 8
    <00> info> app_timer: RTC: initialized.
    00> 
    <00> info> app: Current Time service client started.
    00> 
    <00> debug> app: pm_whitelist_get returns 1 addr in whitelist and 1 irk whitelist
    00> 
    <00> info> app: Fast advertising with WhiteList
    00> 
    <00> debug> nrf_ble_gatt: Requesting to update ATT MTU to 247 bytes on connection 0x0.
    00> 
    <00> debug> nrf_ble_gatt: Updating data length to 251 on connection 0x0.
    00> 
    <00> info> peer_manager_handler: Peer data updated in flash: peer_id: 0, data_id: Peer rank, action: Update, no change
    00> 
    <00> debug> ble_cts_c: BLE event handler called with event 0x10
    00> 
    <00> info> app: Connected.
    00> 
    <00> debug> nrf_ble_gatt: ATT MTU updated to 247 bytes on connection 0x0 (response).
    00> 
    <00> debug> ble_cts_c: BLE event handler called with event 0x3A
    00> 
    <00> debug> ble_cts_c: BLE event handler called with event 0x14
    00> 
    <00> info> peer_manager_handler: Connection secured: role: Peripheral, conn_handle: 0, procedure: Encryption
    00> 
    <00> info> peer_manager_handler: Peer data updated in flash: peer_id: 0, data_id: Peer rank, action: Update, no change
    00> 
    <00> debug> nrf_ble_gq: Registering connection handle: 0x0000
    00> 
    <00> debug> ble_db_disc: Starting discovery of service with UUID 0x1805 on connection handle 0x0.
    00> 
    <00> debug> nrf_ble_gq: Adding item to the request queue
    00> 
    <00> debug> nrf_ble_gq: GATTC Primary Services Discovery Request
    00> 
    <00> debug> nrf_ble_gq: SD GATT procedure (2) succeeded on connection handle: 0.
    00> 
    <00> debug> ble_cts_c: BLE event handler called with event 0x1A
    00> 
    <00> debug> nrf_ble_gq: Processing the request queue...
    00> 
    <00> debug> ble_db_disc: Found service UUID 0x1805.
    00> 
    <00> debug> nrf_ble_gq: Adding item to the request queue
    00> 
    <00> debug> nrf_ble_gq: GATTC Characteristic Discovery Request
    00> 
    <00> debug> nrf_ble_gq: SD GATT procedure (3) succeeded on connection handle: 0.
    00> 
    <00> debug> ble_cts_c: BLE event handler called with event 0x30
    00> 
    <00> debug> nrf_ble_gq: Processing the request queue...
    00> 
    <00> debug> nrf_ble_gq: Adding item to the request queue
    00> 
    <00> debug> nrf_ble_gq: GATTC Characteristic Discovery Request
    00> 
    <00> debug> nrf_ble_gq: SD GATT procedure (3) succeeded on connection handle: 0.
    00> 
    <00> debug> ble_cts_c: BLE event handler called with event 0x32
    00> 
    <00> debug> nrf_ble_gq: Processing the request queue...
    00> 
    <00> debug> nrf_ble_gq: Adding item to the request queue
    00> 
    <00> debug> nrf_ble_gq: GATTC Characteristic Descriptor Request
    00> 
    <00> debug> nrf_ble_gq: SD GATT procedure (4) succeeded on connection handle: 0.
    00> 
    <00> debug> ble_cts_c: BLE event handler called with event 0x32
    00> 
    <00> debug> nrf_ble_gq: Processing the request queue...
    00> 
    <00> debug> nrf_ble_gq: Adding item to the request queue
    00> 
    <00> debug> nrf_ble_gq: GATTC Characteristic Descriptor Request
    00> 
    <00> debug> nrf_ble_gq: SD GATT procedure (4) succeeded on connection handle: 0.
    00> 
    <00> debug> ble_cts_c: BLE event handler called with event 0x33
    00> 
    <00> debug> nrf_ble_gq: Processing the request queue...
    00> 
    <00> debug> ble_db_disc: Discovery of service with UUID 0x1805 completed with success on connection handle 0x0.
    00> 
    <00> debug> ble_cts_c: Database Discovery handler called with event 0x0
    00> 
    <00> info> ble_cts_c: Current Time Service discovered at peer.
    00> 
    <00> info> app: Current Time Service discovered on server.
    00> 
    <00> debug> ble_cts_c: Database Discovery handler called with event 0x3
    00> 
    <00> debug> ble_cts_c: BLE event handler called with event 0x33
    00> 
    <00> debug> ble_cts_c: BLE event handler called with event 0x12
    00> 
    <00> debug> app: pm_whitelist_get returns 1 addr in whitelist and 1 irk whitelist
    00> 
    <00> info> app: Fast advertising with WhiteList
    00> 
    <00> debug> ble_cts_c: BLE event handler called with event 0x11
    00> 
    <00> info> app: Disconnect Complete.
    00> 
    <00> info> app: Disconnected.
    00> 
    
    # Logging stopped @ 24 Nov 2020 13:32:35
    

    # SEGGER J-Link RTT Viewer V6.44e Terminal Log File
    # Compiled: 16:19:49 on Apr  5 2019
    # Logging started @ 24 Nov 2020 13:17:35
    <00> info> app_timer: RTC: initialized.
    00> 
    <00> info> app: Current Time service client started.
    00> 
    <00> debug> app: pm_whitelist_get returns 1 addr in whitelist and 1 irk whitelist
    00> 
    <00> info> app: Fast advertising with WhiteList
    00> 
    <00> debug> nrf_ble_gatt: Requesting to update ATT MTU to 247 bytes on connection 0x0.
    00> 
    <00> debug> nrf_ble_gatt: Updating data length to 251 on connection 0x0.
    00> 
    <00> info> peer_manager_handler: Peer data updated in flash: peer_id: 0, data_id: Peer rank, action: Update, no change
    00> 
    <00> debug> ble_cts_c: BLE event handler called with event 0x10
    00> 
    <00> info> app: Connected.
    00> 
    <00> debug> nrf_ble_gatt: Data length updated to 27 on connection 0x0.
    00> 
    <00> debug> nrf_ble_gatt: max_rx_octets: 27
    00> 
    <00> debug> nrf_ble_gatt: max_tx_octets: 27
    00> 
    <00> debug> nrf_ble_gatt: max_rx_time: 328
    00> 
    <00> debug> nrf_ble_gatt: max_tx_time: 328
    00> 
    <00> debug> ble_cts_c: BLE event handler called with event 0x24
    00> 
    <00> debug> nrf_ble_gatt: ATT MTU updated to 247 bytes on connection 0x0 (response).
    00> 
    <00> debug> ble_cts_c: BLE event handler called with event 0x3A
    00> 
    <00> debug> ble_cts_c: BLE event handler called with event 0x12
    00> 
    <00> debug> ble_cts_c: BLE event handler called with event 0x14
    00> 
    <00> info> peer_manager_handler: Connection secured: role: Peripheral, conn_handle: 0, procedure: Encryption
    00> 
    <00> info> peer_manager_handler: Peer data updated in flash: peer_id: 0, data_id: Peer rank, action: Update, no change
    00> 
    <00> debug> nrf_ble_gq: Registering connection handle: 0x0000
    00> 
    <00> debug> ble_db_disc: Starting discovery of service with UUID 0x1805 on connection handle 0x0.
    00> 
    <00> debug> nrf_ble_gq: Adding item to the request queue
    00> 
    <00> debug> nrf_ble_gq: GATTC Primary Services Discovery Request
    00> 
    <00> debug> nrf_ble_gq: SD GATT procedure (2) succeeded on connection handle: 0.
    00> 
    <00> debug> ble_cts_c: BLE event handler called with event 0x1A
    00> 
    <00> debug> nrf_ble_gq: Processing the request queue...
    00> 
    <00> debug> ble_db_disc: Found service UUID 0x1805.
    00> 
    <00> debug> nrf_ble_gq: Adding item to the request queue
    00> 
    <00> debug> nrf_ble_gq: GATTC Characteristic Discovery Request
    00> 
    <00> debug> nrf_ble_gq: SD GATT procedure (3) succeeded on connection handle: 0.
    00> 
    <00> debug> ble_cts_c: BLE event handler called with event 0x30
    00> 
    <00> debug> nrf_ble_gq: Processing the request queue...
    00> 
    <00> debug> nrf_ble_gq: Adding item to the request queue
    00> 
    <00> debug> nrf_ble_gq: GATTC Characteristic Discovery Request
    00> 
    <00> debug> nrf_ble_gq: SD GATT procedure (3) succeeded on connection handle: 0.
    00> 
    <00> debug> ble_cts_c: BLE event handler called with event 0x32
    00> 
    <00> debug> nrf_ble_gq: Processing the request queue...
    00> 
    <00> debug> nrf_ble_gq: Adding item to the request queue
    00> 
    <00> debug> nrf_ble_gq: GATTC Characteristic Descriptor Request
    00> 
    <00> debug> nrf_ble_gq: SD GATT procedure (4) succeeded on connection handle: 0.
    00> 
    <00> debug> ble_cts_c: BLE event handler called with event 0x32
    00> 
    <00> debug> nrf_ble_gq: Processing the request queue...
    00> 
    <00> debug> nrf_ble_gq: Adding item to the request queue
    00> 
    <00> debug> nrf_ble_gq: GATTC Characteristic Descriptor Request
    00> 
    <00> debug> nrf_ble_gq: SD GATT procedure (4) succeeded on connection handle: 0.
    00> 
    <00> debug> ble_cts_c: BLE event handler called with event 0x33
    00> 
    <00> debug> ble_cts_c: BLE event handler called with event 0x12
    00> 
    <00> debug> nrf_ble_gq: Processing the request queue...
    00> 
    <00> debug> ble_db_disc: Discovery of service with UUID 0x1805 completed with success on connection handle 0x0.
    00> 
    <00> debug> ble_cts_c: Database Discovery handler called with event 0x0
    00> 
    <00> info> ble_cts_c: Current Time Service discovered at peer.
    00> 
    <00> info> app: Current Time Service discovered on server.
    00> 
    <00> debug> ble_cts_c: Database Discovery handler called with event 0x3
    00> 
    <00> debug> ble_cts_c: BLE event handler called with event 0x33
    00> 
    <00> debug> ble_cts_c: BLE event handler called with event 0x12
    00> 
    <00> debug> nrf_ble_gq: Adding item to the request queue
    00> 
    <00> debug> nrf_ble_gq: GATTC Read Request
    00> 
    <00> debug> nrf_ble_gq: SD GATT procedure (0) succeeded on connection handle: 0.
    00> 
    <00> debug> nrf_ble_gq: Processing the request queue...
    00> 
    <00> debug> ble_cts_c: BLE event handler called with event 0x36
    00> 
    <00> debug> ble_cts_c: Current Time read response data:
    00> 
    <00> debug> ble_cts_c:  E4 07 0B 18 0D 1B 2C 02|......,.
    00> 
    <00> debug> ble_cts_c:  91 00                  |..      
    00> 
    <00> info> app: Current Time received.
    00> 
    <00> info> app: 
    00> 
    00> Current Time:
    00> 
    <00> info> app: 
    00> 
    00> Date:
    00> 
    <00> info> app:  Day of week   Tuesday
    00> 
    <00> info> app:  Day of month  24
    00> 
    <00> info> app:  Month of year November
    00> 
    <00> info> app:  Year          2020
    00> 
    <00> info> app: 
    00> 
    00> Time:
    00> 
    <00> info> app:  Hours     13
    00> 
    <00> info> app:  Minutes   27
    00> 
    <00> info> app:  Seconds   44
    00> 
    <00> info> app:  Fractions 145/256 of a second
    00> 
    <00> info> app: 
    00> 
    00> Adjust reason:
    00> 
    00> 
    <00> info> app:  Daylight savings 0
    00> 
    <00> info> app:  Time zone        0
    00> 
    <00> info> app:  External update  0
    00> 
    <00> info> app:  Manual update    0
    00> 
    <00> debug> app: pm_whitelist_get returns 1 addr in whitelist and 1 irk whitelist
    00> 
    <00> info> app: Fast advertising with WhiteList
    00> 
    <00> debug> ble_cts_c: BLE event handler called with event 0x11
    00> 
    <00> info> app: Disconnect Complete.
    00> 
    <00> info> app: Disconnected.
    00> 
    
    # Logging stopped @ 24 Nov 2020 13:19: 1
    

  • Hi Simon, 

    Please try to capture another trace with Nexus 6p and 251 bytes data length. This time please try to capture when you bond with the device for the first time (you need to delete bond on the phone and the device). In the trace you send at the beginning the connection was not decrypted because the sniffer trace didn't capture the bonding process. 

    Please also set SEC_PARAM_LESC = 0 so that LE Secure connection won't be used. The sniffer can't sniff a connection with LE Secure connection used. 


    EDIT: In the new trace you sent with UART firmware, I also find the Nexus rejected the length request. Are you sure you can send long notification with the Nexus ? Please try to capture a sniffer trace with some (large) data exchange.

  • Deleted the bond before the trace,
    and SEC_PARAM_LESC was already 0,
    default setting for ble_app_uart.

    <00> info>�app_timer:�RTC:�initialized.
    00> 
    <00> info>�app:�Current�Time�service�client�started.
    00> 
    <00> debug>�app:�pm_whitelist_get�returns�0�addr�in�whitelist�and�0�irk�whitelist
    00> 
    <00> info>�app:�Fast�advertising
    00> 
    <00> debug>�nrf_ble_gatt:�Requesting�to�update�ATT�MTU�to�247�bytes�on�connection�0x0.
    00> 
    <00> debug>�nrf_ble_gatt:�Updating�data�length�to�251�on�connection�0x0.
    00> 
    <00> debug>�ble_cts_c:�BLE�event�handler�called�with�event�0x10
    00> 
    <00> info>�app:�Connected.
    00> 
    <00> debug>�nrf_ble_gatt:�ATT�MTU�updated�to�247�bytes�on�connection�0x0�(response).
    00> 
    <00> debug>�ble_cts_c:�BLE�event�handler�called�with�event�0x3A
    00> 
    <00> debug>�ble_cts_c:�BLE�event�handler�called�with�event�0x12
    00> 
    <00> debug>�ble_cts_c:�BLE�event�handler�called�with�event�0x12
    00> 
    <00> debug>�ble_cts_c:�BLE�event�handler�called�with�event�0x12
    00> 
    <00> debug>�app:�pm_whitelist_get�returns�0�addr�in�whitelist�and�0�irk�whitelist
    00> 
    <00> info>�app:�Fast�advertising
    00> 
    <00> debug>�ble_cts_c:�BLE�event�handler�called�with�event�0x11
    00> 
    <00> info>�app:�Disconnected.
    00> 
    <00> debug>�app:�pm_whitelist_get�returns�0�addr�in�whitelist�and�0�irk�whitelist
    00> 
    <00> info>�app:�Slow�advertising
    00> 
    <00> debug>�ble_cts_c:�BLE�event�handler�called�with�event�0x26
    00> 
    

    cts_sdk17_251_247_nexus_pre_bond_bad-8.pcapng


    Had been testing sdk 15.3 NUS without much problem,
    sending multiple 60 word TX notifications to Nexus.

    uart_sdk15_251_247_nexus_good-8.pcapng

    thank-you,

Related