cancel
Showing results for 
Search instead for 
Did you mean: 

[STM32L4xx] How to increase BlueNRG-MS ATT_MTU

Mick Avery
Associate II
Posted on July 06, 2017 at 01:27

The BlueNRG-MS library for BLE v4.1 sets ATT_MTU to 23 bytes. Is it possible to increase this limit as long as it's less than the 255 character value length limit?

I am working with the SensorTile eval board with an STM32L4xx MCU, and I working with a modified version of the BlueMicrosystem2 example.

I've done the following:

  1. Set ATT_MTU to 46 bytes (or any number that's less than 255).
  2. I pair with the SensorTile using the ST BlueMS iPhone app.
  3. Immediately after receiving a EVT_LE_CONN_COMPLETE event that tells me that connection was successful, I call aci_gatt_exchange_configuration() to exchange ATT_MTU configurations.
  4. I then get back a EVT_BLUE_ATT_EXCHANGE_MTU_RESP event telling me that exchanging configurations was successful. The event also comes with a data packet that tells me what the new server_rx_mtu is. However, this is still set to 23 bytes.

Am I missing anything? Or is it not possible to increase the ATT_MTU?

#bluenrg-ms #stm32l4 #sensor-tile #ble
1 ACCEPTED SOLUTION

Accepted Solutions
Posted on August 23, 2017 at 01:38

There's nothing you can do to increase ATT_MTU over 20 bytes for BlueNRG-MS, you'd have to upgrade your bluetooth module to something that supports an ATT_MTU of more than 20 bytes.

My team upgraded to BlueNRG-2, which can give us an ATT_MTU of up to 158 bytes according to the datasheet.

View solution in original post

7 REPLIES 7
kishore R
Associate II
Posted on August 05, 2017 at 11:26

Hi,

I also facing the same problem. please help some one to solve this issue.

Mick Avery
Associate II
Posted on August 06, 2017 at 08:25

After getting in touch with an ST representative, I've verified that it is not possible to increase the ATT_MTU of the BlueNRG-MS module.

Posted on August 22, 2017 at 10:00

Hi Mick,

Thanks for the reply. 

Our application required to transfer 60bytes per packet. is there any way to transfer more than 20bytes per packet using BlueNRG-MS module to android device?

Posted on August 23, 2017 at 01:38

There's nothing you can do to increase ATT_MTU over 20 bytes for BlueNRG-MS, you'd have to upgrade your bluetooth module to something that supports an ATT_MTU of more than 20 bytes.

My team upgraded to BlueNRG-2, which can give us an ATT_MTU of up to 158 bytes according to the datasheet.

Posted on February 12, 2018 at 02:09

Hi Mick,

I'm having this same problem and trying to verify whether the 20byte limit is mentioned somewhere in documentation. Can you point me to the correct documentation location.

I have a 93 byte characteristic. If I trigger a read from the central side I get the full 93 bytes at the central. But if I try to push as an update from peripheral side I only get 20 bytes at the central. The problem seems to occur only when sending data as updates.

Regards,

Asela.

Posted on February 13, 2018 at 00:35

Got further information about documentation, in this thread.

https://community.st.com/0D50X00009XkWi6SAF

 

/Asela

Selva_emcus
Associate

hi .

I am using bluenrg-2a1 module with nuclel476rg .

Problem 1:

while sending the data from central to peripheral , i am always rx 20 bytes only but central and peripheral has accepted for 220bytes exchange at the time of mtu exchange.

problem 2:

from peripheral to central i am sending 200bytes of data but i am able to rx only 183 bytes of data 

 

Note:

mtu exchange acceptance value between central and peripheral is 220bytes of data.

ble stack init with the max mtu size as 220.

 

i have tried in many ways , but i was not able to fix it. if anyone knows it how to fix it/ any document related to this  , kindly revert back asap.