L2CAP Packet length mismatch in HCI_ACL packet causing packet loss

Hi Community,

I am using ble_hrs_heart_rate_measurement_send API to send notifications to my central device which is a android mobile. 

Recently I have observed packet loss at central device due to L2CAP packet length is differ from ACL packet length. 

In the HCI_ACL packet, total length is 27. But in the ACL payload which is L2CAP packet length is showing as only 2. Total payload is present in L2CAP. 

Hence my application running on mobile is unable to fetch the packet from L2CAP since it is dropped at HCI. 

Attached is wireshark screen shot for reference. Highlighted packet was dropped at HCI. 

Where could be the issue ? Any pointers would be really helpful. 

Best

Lakshmikanth

Parents Reply
  • Hi

    I looked some more into the trace you sent and when I were able to decode it, I find the L2PCAP length is indeed incorrect.

    This is likely due to the Bluetooth stack of the phone having decoded the length field incorrectly.
    In this case, we are not able to help you with the issue, as it is in with the Bluetooth stack of the phone, rather than an error with our device.

    To be certain that the nRF52 is sending the correct message, an on-air sniffer log would confirm how the messages look in transit, and which end is having the issue.

    Regards,
    Sigurd Hellesvik

Children
Related