This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Requesting MTU higher than 127 on some Android devices fails

I have been attempting to increase MTU size with DLE enabled on SDK14 using softdevice S332 utilizing the gatt module.  With current memory requirements, I can increase MTU to 140 bytes in my application.  I have tested on iPhone 5SE, 6 Plus, 7 and X and in all cases the phone will respond back with their maximum MTU and maximum DLE they are capable of.  These values are different for different models of iPhone however I always receive a response so dealing with the variable capabilities is no problem.

For Android devices, I get some very different behavior.  For a Samsung S8, I always get the response after requesting an MTU size increase to 140.  However on a Pixel 1, Pixel 3 and Sony Z5 compact, any request over 127 fails to respond.  Strangely, with a request for an MTU of 127, I get a response and enabling DLE correctly sets the packet size to 131 (127 + 4 bytes L2CAP).

The hunch is of course there is a signing error regarding the MTU size request in some Android Bluetooth stacks, however, I need more confirmation from DevZone community on this one.

Parents Reply Children
No Data
Related