This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Android does not use Data Length Extension for L2CAP Coc

Hello,

I'm trying to transfer data to an L2CAP CoC on a nRF52832 from iOS and Android devices.
I've configured the MTU and MPS so that the SDU fits in a single packet with extended Data Length.

On iOS, it's working as expected and I'm getting a good throughput (65 kB/s).

On Android, instead, the L2CAP message is fragmented at the Link Layer and the throughput is low. I can see that the extended Data Length is negotiated correctly to 251 bytes and I've seen the phone sending long packets in ATT during previous tests, so I know it's able to do it. The device is a Pixel 4.

Is there a reason for Android to not use long packets on L2CAP CoC? I can't think of any.

Parents Reply Children
  • Thank you Sigurd, I thought the effective values were on LL_LENGTH_RES, but now I understand each device puts its own in REQ/RES and the effective value is the minimum between the two.

    After more testing I discovered that the Android device only switches to a 251 bytes TX size if a big ATT MTU is requested. Weird.

Related