MTU agree size on peers

Hi, 

We are working on nRF5340 with TF-M enabled and iOS application.

What we are observing is the peripheral device MTU TX and RX are configured to 512 bytes whereas the agreed MTU TX and RX are 293 and 508 respectively.

My questions are

  1. Why this difference in size (tx: 293, rx:508)?
  2. Who decides the MTU size, central or peripheral?
  3. What is the max MTU size any peripheral can support?

For reference below are the config used in the prj.conf file

CONFIG_BT_L2CAP_TX_MTU=512
CONFIG_BT_BUF_ACL_RX_SIZE=512
CONFIG_BT_BUF_ACL_TX_SIZE=512

Parents
  • Hi Jithin,

    Sorry for the delay.. 

    The maximum MTU size supported by nRF5340 is 247 bytes. This is set by the configuration CONFIG_BT_L2CAP_TX_MTU=247.The MTU (Maximum Transmission Unit) size in a Bluetooth Low Energy (BLE) connection is determined by both the central and peripheral devices. However, the final decision is made by the central device.

    Could you let me know what you are trying to achieve with higher mtu values.? Is both the peripheral and central based on Nordic SoC.? You could take a look at this blog post for a better understanding:  Building a Bluetooth application on nRF Connect SDK - Part 3 Optimizing the connection  

    Regards,

    Swathy

  • Hi SwRa,

    Thank you for the reply

    The maximum MTU size supported by nRF5340 is 247 bytes.

    If so, how come RX size is agreed to 512?

    However, the final decision is made by the central device.

    This answers my q2, thank you.

    Could you let me know what you are trying to achieve with higher mtu values.?

    We need to support DFU, and we cannot use the DFU GATT service because of some security reasons. It takes a lot of time to transfer ~400KB with MTU being 247 bytes. If we can have large MTU we can reduce the DFU download time and also save power.

    This is very time consuming for our application.

    Is both the peripheral and central based on Nordic SoC.?

    No, Central is basically mobile device.

    Can you please suggest any solution to increase the MTU size?

Reply
  • Hi SwRa,

    Thank you for the reply

    The maximum MTU size supported by nRF5340 is 247 bytes.

    If so, how come RX size is agreed to 512?

    However, the final decision is made by the central device.

    This answers my q2, thank you.

    Could you let me know what you are trying to achieve with higher mtu values.?

    We need to support DFU, and we cannot use the DFU GATT service because of some security reasons. It takes a lot of time to transfer ~400KB with MTU being 247 bytes. If we can have large MTU we can reduce the DFU download time and also save power.

    This is very time consuming for our application.

    Is both the peripheral and central based on Nordic SoC.?

    No, Central is basically mobile device.

    Can you please suggest any solution to increase the MTU size?

Children
Related