NimBLE throughput example results don't improve when using 2M PHY
Posted: Thu Jun 27, 2024 4:00 pm
I've been experimenting with the throughput_app BLE example and have found that changing the PHY from 1M to 2M does nothing to increase the reported throughput value. Is this expected?
I had expected there to be a significant increase in throughput at the application level when using the 2M PHY after everything I've read about it being faster. I have verified that the PHY is changed to 2M using a Bluetooth sniffer.
Is it the case that while 2M may allow the radio to transmit data in less time, other restrictions such as the maximum number of packets per connection event, etc. prevent additional write-without response packets from being sent and thus the throughput remains the same? Or is there something I'm missing here?
Additionally, the README for the demo shows that 500 Kbps is possible (63 KB/s). However, I have only been able to achieve 46 KB/s with no changes to the demo, on ESP32-S3 boards, with IDF v5.0.2. How can I achieve the 500 Kbps number?
Thanks.
I had expected there to be a significant increase in throughput at the application level when using the 2M PHY after everything I've read about it being faster. I have verified that the PHY is changed to 2M using a Bluetooth sniffer.
Is it the case that while 2M may allow the radio to transmit data in less time, other restrictions such as the maximum number of packets per connection event, etc. prevent additional write-without response packets from being sent and thus the throughput remains the same? Or is there something I'm missing here?
Additionally, the README for the demo shows that 500 Kbps is possible (63 KB/s). However, I have only been able to achieve 46 KB/s with no changes to the demo, on ESP32-S3 boards, with IDF v5.0.2. How can I achieve the 500 Kbps number?
Thanks.