I just found another case which shows it more clearly: The central asks for a retransmit as it never received packet 4 but the peripheral does not retransmit but sends an empty PDU instead. It should re-transmit the Error-Response (Attribute not found) until the central acknowledges it. Instead in packet 6 the peripheral sends an empty PDU but with the sequence number 1 again, indicating a retransmit but the data is missing. I am seeing this everytime a packet goes missing, also with the sample code.
We'll test it with B85m_BLE_Single_Connection_SDK_v3.4.2.4_patch0004. Also, I would like to know about parameters such as connection interval, connection latency, etc
Based on the test method and parameters you provided, I conducted the tests. However, it's quite difficult for me to encounter packet loss in my testing environment, so I haven't been able to reproduce the issue of unretransmittable packets that you mentioned.
I know its hard to simulate, in my environment we have lots of interference so unfortunately it happens quite often here. Maybe you can use a second TLSR8251 as a central and modify the bluetooth stack to ignore all packets if a GPIO pin is high/low. Then you can simulate packet loss by simply pressing a button. If a packet is not retransmitted when you pushed the button and ignored the original packet then you have managed to reproduce it
Hi, I conducted the test as per your method. As shown in the figure, when the central device does not receive the data packet, the peripheral device will resend the packet.
We conducted the test using the professional Bluetooth packet capture tool Ellisys. Could you please confirm whether the issue is caused by the packet capture tool on your side?