ask for advice on how to evaluate and improve the connection quality

Hi,

I am writing to ask for your advice on how to evaluate and improve the connection quality of an application that uses two Bluetooth modules.
Each Bluetooth module transmits 210 bytes (MTU) per second via notify to an Android app that is currently using the
https://github.com/NordicSemiconductor/Android-BLE-Library.

The current connection quality between the device and nrf52832s is worse than that of commercial tablets with Bluetooth 5.0 specifications,
and it is prone to disconnections and packet loss.

The devices we are using are purchased from an external supplier. The Bluetooth chip used is AP6256, and the specifications we found using nrf connect are as follows.

They show me the HCI log, as shown below 
The supplier insists that they are using the Bluetooth 5.2 specification. 



We have limited control over this supplier, so we have already increased the TX power, which has improved the RSSI.

err_code = sd_ble_gap_tx_power_set(BLE_GAP_TX_POWER_ROLE_ADV,m_advertising.adv_handle,4);

In addition to hardware improvements, we are not sure what else we can do to improve connection quality.
At the same time, I am also curious about other ways to evaluate the quality of a connection.

SDK17.0.2
module nrf52832
segger embedded studio 5.42a

We would appreciate your suggestions.

Thank you,

Parents Reply
  • Hi!

    Yes.

    Here is a screenshot of the Wireshark trace.

    Under Bluetooth Low Energy Link Layer ->  Data Header -> Sequence Number, you can see if the packet is a Retransmit or not. I have applied this field as a column, so that I can easily see what packets are retransmissions. 

    In the trace you have uploaded, the central is often sending retransmissions, meaning it did not receive the packet from the peripheral. But the sniffer sees that the peripheral actually did send the packet, so it looks like it's the central that is having issues with receiving packets it should have received.

Children
No Data
Related