Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Maximum no. of BLE Connection using BlueZ

Q1. Is there a connection limit for BLE Central Device while connecting to BLE peripherals using BlueZ 5.34?

My question is for general connection capabilities using BlueZ not white list.

Q2. If the no. of connection depends on the controller. Is there a way of finding the Max limit?

Q3. Does/Can the host BlueZ or Bluedroid add limit to the max no. of LE connections supported by the controller?

Q4. If there is a connection limit for LE devices, what does the author mean by "no inherent limit" as block quoted in the para below.

Info from Robin Heydon BLE Developer's handbook

It also means that there should be no inherent limit to the number of devices a given device can talk to at the same time. If a device wants to talk to another device, then it should just be able to do that, not worry that there are only seven possible slaves that can be connected at the same time, which is the limit imposed by classic Bluetooth.

Experiments: As seen in the references below, I also have seen various LE white list sizes when using different controllers, 32 for plugable usb4btle and 24 for internal Bluetooth adapter . (Used the command: hcitool lewlsz) In my test setup I was able to connect to 12 BLE devices.(I had max 12 BLE peripherals). I was using BlueZ 5.34 in Ubuntu 15.04 and used plugable usbbt4le dongle.

  • Gatttool: Limited to 5 connections?
  • Simultaneous BLE connections
like image 394
swaroop Avatar asked Nov 02 '15 22:11

swaroop


1 Answers

I've come against this issue... it's messy.

A1. The connection limit is based on the hardware. I've used devices that are limited to 3 and others that seem to go past 7.

A2. The devices are supposed to return errors when you try to establish a connection beyond what the hardware is able to support. Different devices report different errors but they're usually something related to running out of resources. HOWEVER, I've used devices that DO NOT report any error and things just stop working properly after a while when exceeding some unknown limit. What I encountered was some of the connections stopped returning notifications. So, it all depends on whether you have a well-designed and well-behaved controller.

A3. Not sure I understand the question... BlueZ et la don't add any sort of limitations themselves.

A4. There's no design limitation in BLE regarding the number of connections. However, most consumers don't need to connect to 100 devices so bluetooth dongles tend to only contain the necessary resources to maintain a much smaller number of connections. So, it's completely dependent on the manufacturer as to how many devices they want to support.

Remember, each connection requires the hardware to retain state information and things like whitelists also require memory to store. Memory requires hardware and hardware costs money. Since most dongles are relatively cheap the manufacturers have to compete by doing as much as needed with the least amount of hardware they can. And testing also takes time and money and connection limits aren't usually something consumers come against.

like image 148
Tim Tisdall Avatar answered Nov 01 '22 03:11

Tim Tisdall