I connect to five devices by spawning gatttools with pexpect in python*. When I try to connect to a sixth device (using the same CSR 4.0 dongle for all connections) manually I encounter:
sudo gatttool -b DC:05:4F:BC:F6:4A -It random
[DC:05:4F:BC:F6:4A][LE]> connect
Attempting to connect to DC:05:4F:BC:F6:4A
Error: connect error: Too many links (31)
Is this a gatttool limitation or a hardware limitation? I cloned the source at http://git.kernel.org/cgit/bluetooth/bluez.git and ran grep -r "attempting"
but did not get any results.
I would like to connect to 20 devices over bluetooth low energy, which I think should be possible hardware- and firmware-wise.
=====
System settings: Ubuntu 14.04, bluez v5.20, CSR 4.0 dongle, adafruit ble nrf8001 breakout.
Reference:
- Using the c files directly instead of pexpect: Multiple BLE Connections using Linux and Bluez 5.0
- pexpect: https://gist.github.com/nouyang/2a6a733d8facd23115a4
- explanation of setup/pexpect code: PYTHON -> ADAFRUIT NRF8001 BLUETOOTH LOW ENERGY BREAKOUT IN 20 MINUTES