toggle quoted messageShow quoted text
I wonder if this could be related to the lack of buffers on the host,
I assume you would use bt_gatt_notify with NULL conn which will take
care of notifying each connection but that may end up consuming all
the buffers blocking which could the unbalanced since the connection
that first appear on the list would probably never block.
You could perhaps try to increase the buffer pool with:
If that solves it we may have to consider making the default the
number of connection + 1 so we can actually emit notifications to all
connection at once, though that doesn't guarantee there is always
going to be buffer available if there are more traffic going on.
On Tue, Apr 2, 2019 at 9:50 PM <email@example.com> wrote:
After implementing a throughput test for BLE using Nordic nrf52840 hardware and Zephyr 1.14-rc1, notice some curious behavior in data we are collecting. The test is to evaluate maximum throughput in a 1 to many and many to 1 scenario. Testing seems to show that when sending data from the central (client) to peripheral (server), the throughput performance is relatively balanced per connection but one peripheral seems to get less data and one peripheral get more than the others. In data flow from the peripherals to the central, it is much more unbalanced with one or two peripherals having all the throughput and the others having none.
The central to peripheral is 1:N where the central is a single point source. The many peripherals to central is an N:1 with many sources. In my case N is 1 up to 5, but would like to be greater. The overall aggregate throughput is constant, just not evenly distributed among the BLE devices or comm directions. Using DLE and 2M PHY and data is transferred using bt_gatt_write_without_response on client and bt_gatt_notify and the server.
There doesn't seem to be any QOS but I would not have expected such unbalanced behavior. Any thoughts to why this is and how to diagnose/resolve to produce consistent and balanced throughput among the BLE devices? Do I have something misconfigured in my devices? Can share if that will help.
Luiz Augusto von Dentz