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

Problem about the max count for the nRF52840-Dongle.

Hi Dear Team,

I am using the nRF52840-Dongle and pc-ble-driver-py-0.12.0 for the ble development, while I encounter a problem about the max connection per device.

I use the nRF52840-Dongle to connect to multi-end in parallel, but usually if I have 3 active connections, the next connection will always failed because of the COUNT ERROR:

Fullscreen
1
ERROR: connect to XXXX err 18-Failed to ble_gap_connect. Error code: 18 - BleCollector.py:222
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

From the SDK, error code 18 means:

Fullscreen
1
2
#define NRF_ERROR_CONN_COUNT (NRF_ERROR_BASE_NUM + 18)
Maximum connection count exceeded.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

it seems that the max connections for the nRF52840 is 3, all more than 3 will be rejected by the connection exceed error, I believe the ble connect would not to be only 3, but  I have no clue to extend the max count. Could you please tell me how to make the nRF able to connect to more than 3  end-devices simultaneously? Thank you very much.

BTW, I tried to modify the gatt_config but didn't work:

Fullscreen
1
2
3
4
5
6
7
8
gatt_cfg = BLEConfigConnGatt()
gatt_cfg.att_mtu = self.adapter.default_mtu
gatt_cfg.tag = CFG_TAG
gatt_cfg.conn_count = 8
gatt_cfg.event_length = 8
self.adapter.driver.ble_cfg_set(BLEConfig.conn_gatt, gatt_cfg)
self.adapter.driver.ble_enable()
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX