问题
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
回答1:
Ah! Someone on the linux-bluetooth list answered my question, although I haven't verified it for myself yet:
It is a hardware limitation of the CSR dongle. I did a similar test using bluetoothctl not long ago: Using a CSR dongle, only 5 bluetooth LE devices could connect. With a Broadcom dongle (BCM20702) I could establish 14 concurrent connections. Then I ran out of bluetooth LE devices....
Regards, Martin Rösch
http://thread.gmane.org/gmane.linux.bluez.kernel/51872
来源:https://stackoverflow.com/questions/25193975/gatttool-limited-to-5-connections