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

Is MTU of all BLE devices limitted to 23 bytes when using ATT protocol?

Is MTU of all BLE devices limitted to 23 bytes when using ATT protocol?

I don't know explicitly.

Some say it is possible to use MTU longer than 23 bytes.

Others say it is possible to use MTU longer than 23 bytes in softdevice(except to s132)

Is it impossible to use MTU longer than 23 bytes at Only softdevice?

does other vender implement MTU longer than 23 bytes for ATT protocol?

  • First of all you cannot use ATT_MTU size lower than 23 bytes, that violates BT SIG Core specification and I believe Nordic stack doesn't allow it anyway. Note that this is just theoretical maximum, BLE uses smart PDU implicit sizing so the MTU/PDU you observe on radio depends on higher application data and if these are shorter then maximum there is no padding.

    When it comes to ATT_MTU negotiation then yes, you need to do some explicit step from higher level to be able to use it. However it looks differently on each platform. E.g. with Nordic's BLE stack it takes care about procedure itself (you can get event call back if you want to know that it happened), you just need to say during SD initialization what ATT stack size (including MTU) you want to use. On Android if you are a master (GAP Central + GATT Client) you need to call API to extend ATT_MTU. On iOS all is done automatically.

Related