BLE Data Throughput regression on NUCLEO-WBA65RI (Server) with STM32CubeWBA v1.8.0 vs v1.7.0
Hello,
I'm running the BLE_DataThroughput_Server Application on a NUCLEO-WBA65RI (server, notifying) connected to a NUCLEO-WBA55CG (client, receiving notifications), and I'm seeing a significant throughput regression between STM32CubeWBA v1.7.0 and upper versions, with strictly identical configuration.
Setup (identical in both cases):
- Server: NUCLEO-WBA65RI, BLE_DataThroughput_Server Application, from STM32CubeWBA v1.7.0, v1.8.0, and v1.10.0
-
Client: NUCLEO-WBA55CG, BLE_DataThroughput_Client Application, from STM32CubeWBA v1.10.0
- Connection interval: 11.25 ms
- PHY: 2M
- MTU size : 244
- Build configuration: Release
- I added :
const uint8_t a_BLE_rx_pckt_count_and_rx_pckt_len[2] = { 0x07, 0x00 }; /* rx_pckt_count , rx_pckt_len */ aci_hal_write_config_data(CONFIG_DATA_LL_RX_ACL_CTRL_OFFSET, 2, a_BLE_rx_pckt_count_and_rx_pckt_len);
as described in the "How to get the best throughput" section of the wiki (rx_pckt_count=7, rx_pckt_len=0)
Results:
- BLE_DataThroughput_Server Application from STM32CubeWBA v1.7.0 → ~130 KB/s (consistent with the ~120 KB/s figure in the throughput measurement wiki page)
- BLE_DataThroughput_Server Application from STM32CubeWBA v1.8.0 and v1.10.0 → ~58 KB/s, same hardware, same config, no other code change
Questions:
I see in the v1.8.0 release note :
BLE:
- Support of BLE 6.0
- Man-In-The-Middle (MITM) management is enhanced in the BLE stack to provide more flexibility and better interoperability.
- Add BLE Host Stack events FIFO buffer mechanism
- Is this a known regression from v1.8.0 ?
- Is there a fix planned, or a recommended workaround to recover v1.7.0 throughput level, while staying on v1.8.0 or upper versions ?
Happy to share full traces / project files if useful.
Thanks in advance.
