Hi,
I have two 52832 (both on SDK 14.2, S132 v5.1) talking to each other using a slightly modified UART service to support more than one connection.
I have this strange log message and I could not figure out from where it is coming from.
On the central :
<info> EVENTS: BLE_GAP_EVT_CONNECTED <debug> ble_gatt: Peer on connection 0x0 requested an ATT MTU of 60 bytes. <debug> ble_gatt: Updating ATT MTU to 0 bytes (desired: 0) on connection 0x0. <error> ble_gatt: sd_ble_gatts_exchange_mtu_reply() returned unexpected value 0x7. <info> EVENTS: BLE_GAP_EVT 0x55 <debug> ble_gatt: Peer on connection 0x0 requested a data length of 64 bytes. <debug> ble_gatt: Updating data length to 0 bytes on connection 0x0. <info> EVENTS: BLE_GAP_EVT_DATA_LENGTH_UPDATE_REQUEST <debug> ble_gatt: Data length updated to 64 on connection 0x0. <debug> ble_gatt: max_rx_octets: 64 <debug> ble_gatt: max_tx_octets: 64 <debug> ble_gatt: max_rx_time: 624 <debug> ble_gatt: max_tx_time: 624 <info> EVENTS: BLE_GAP_EVT_DATA_LENGTH_UPDATE <info> EVENTS: Connection interval updated: 0x40, 0x40.
On the peripheral:
<debug> ble_gatt: Requesting to update ATT MTU to 60 bytes on connection 0x1. <debug> ble_gatt: Requesting to update data length to 64 on connection 0x1. <info> EVENTS: Connected <debug> MODULE: Connected (handle=0x01) <info> ADV: No Parameter Change <info> ADV: Start Advertising - Success <debug> ble_gatt: Data length updated to 64 on connection 0x1. <debug> ble_gatt: max_rx_octets: 64 <debug> ble_gatt: max_tx_octets: 64 <debug> ble_gatt: max_rx_time: 624 <debug> ble_gatt: max_tx_time: 624 <debug> CONFIG: ATT MTU exchange completed. central 0x3C peripheral 0x3C <info> EVENTS: BLE_GAP_EVT_DATA_LENGTH_UPDATE <info> EVENTS: Connection interval updated: 0x40, 0x40. <info> EVENTS: Disconnected
I tried with my android phone and the nrfConnect app, and everything seems to work :
<debug> ble_gatt: Requesting to update ATT MTU to 60 bytes on connection 0x2. <debug> ble_gatt: Requesting to update data length to 64 on connection 0x2. <info> EVENTS: Connected <debug> MODULE: Connected (handle=0x02) <info> ADV: No Parameter Change <info> ADV: Start Advertising - Success <debug> ble_gatt: ATT MTU updated to 60 bytes on connection 0x2 (response). <debug> CONFIG: ATT MTU exchange completed. central 0x3C peripheral 0x3C <info> EVENTS: BLE_GAP_EVT 0x3A <info> EVENTS: BLE_GAP_EVT 0x12 <debug> ble_gatt: Data length updated to 27 on connection 0x2. <debug> ble_gatt: max_rx_octets: 27 <debug> ble_gatt: max_tx_octets: 27 <debug> ble_gatt: max_rx_time: 328 <debug> ble_gatt: max_tx_time: 328 <debug> CONFIG: ATT MTU exchange completed. central 0x3C peripheral 0x3C <info> EVENTS: BLE_GAP_EVT_DATA_LENGTH_UPDATE <info> EVENTS: Connection interval updated: 0x1B, 0x1B. <info> EVENTS: BLE_GAP_EVT 0x12 <info> EVENTS: BLE_GAP_EVT 0x12 <info> EVENTS: BLE_GAP_EVT 0x12 <info> EVENTS: BLE_GAP_EVT 0x50 <info> TRS: 0x02 : (0x11) CCCD Notification Enabled [op 0x01, auth req 0x00] <debug> MODULE: RX : Message type 0x3D <error> MSG_FROM_READER: RX : Message to tag (Conn ID = 0x01, Use legacy = 0x00) <debug> MODULE: Send to tag (handle=0x02) <info> TRS: 0x02 sd_ble_gatts_hvx(handle=0x10, len=6) <info> EVENTS: BLE_GATTS_EVT_HVN_TX_COMPLETE
What surprise me the most is obviously the log message "Updating ATT MTU to 0 bytes (desired: 0) on connection 0x0.".
I have tried different things, but I am a bit lost. How can I debug this mess ?
Thanks for your help,