Challenges connecting to 11 peripherals to one central.

Summary

We are developing a Central application on the nRF7002 DK (nRF5340 SoC) using NCS v2.7.0. The goal is to establish and maintain 11 concurrent Bluetooth Low Energy (BLE) connections to collect sensor notification data from Peripheral devices and forward this data over Wi-Fi (via the nRF7002).

We are currently blocked as the system fails to connect to the 5th device, resulting in a specific GATT error during the MTU exchange procedure.

Observed Issue

When attempting to establish the fifth connection, the following error is observed immediately after the link is established:

  • Function: bt_gatt_exchange_mtu

  • Error Code: Returns a value equivalent to -120 (EALREADY).

Configuration Details

Parameter

Current Value / Status

Goal / Requirement

SDK Version

nRF Connect SDK v2.7.0

Current Development Version

Hardware

nRF7002 DK (using the nRF5340 SoC's Application Core)

Target Hardware

Role

Central (initiating connections, receiving notifications)

Required Role

Max Connections

Limited to 4 connections

Required minimum is 11 connections

Target MTU

247 bytes (requested in configuration)

as needed

Target Interval

9 ms (requested connection interval)

Desired for low-latency sensor data

Hypothesis and Requested Assistance

  1. Memory Limitation: we suspect we have hit a resource limitation within the BLE host stack configuration . This limitation appears to be related to the resources required to handle the MTU exchange procedure for a fifth connection.

  2. Cross-Reference: We are aware that the NCS v2.8.0+ release includes the scanning_while_connecting sample, which reportedly demonstrates the capability of managing up to 20 simultaneous connections on the nRF5340. We seek confirmation on whether upgrading to v2.8.0 or newer and examining the Kconfig settings of that sample would be the recommended path to resolve this connection limit, or if a v2.7.0 configuration solution is available.

Suggestions on if this is an application memory limitation or ipc_radio memor limitation / misconfiguration of the central.

Parents
  • Hi

    The error code you're seeing (-120) points to the operation already being in progress. It seems your previous GATT MTU exchange is still ongoing when you're trying to do the next one, so you need to make sure the previous one is completed before you connect to and have a MTU exchange with another device.

    The nRF5340 should have enough memory to hold at least 11 connections, but the project configuration files might not be set to support that many connections. In general, I think the easiest would be to move/upgrade to NCS v2.8.0 and use the scanning_while_connecting sample as reference, but it should be possible on v2.7.0 as well. You can use the prj.conf file from the scanning_while_connecting sample for reference.

    Best regards,

    Simon

Reply
  • Hi

    The error code you're seeing (-120) points to the operation already being in progress. It seems your previous GATT MTU exchange is still ongoing when you're trying to do the next one, so you need to make sure the previous one is completed before you connect to and have a MTU exchange with another device.

    The nRF5340 should have enough memory to hold at least 11 connections, but the project configuration files might not be set to support that many connections. In general, I think the easiest would be to move/upgrade to NCS v2.8.0 and use the scanning_while_connecting sample as reference, but it should be possible on v2.7.0 as well. You can use the prj.conf file from the scanning_while_connecting sample for reference.

    Best regards,

    Simon

Children
No Data
Related