CC2744R7-Q1: MUT size issue in GATT client use of GATT_WriteNoRsp

Part Number: CC2744R7-Q1
Other Parts Discussed in Thread: SYSCONFIG

Hello,

General Information:

SDK: 9.11.0.18

SysConfig:1.25.0

Board: CC2744 R7

Project: Central Role

255 Max MTU size setup in SysConfig

 

We are running into an issue when attempting to use the function GATT_WriteNoRsp to send a message to a server.

 

Steps:

 

1.Call GATT_ExchangeMTU

attExchangeMTUReq_t mtuReq;

mtuReq.clientRxMTU = 251; // Example: request 255 bytes

bStatus_t status = GATT_ExchangeMTU(aData_ptr->ConnHandle_u16, &mtuReq, gSelfEntity);

if (status == SUCCESS) {

__asm("NOP");

}

Results:

a) GATT callbacks are called as such: ATT_EXCHANGE_MTU_RSP first with status SUCCESS and then ATT_MTU_UPDATED_EVENT with status SUCCESS. No further callback with bleProcedureComplete event.

b) We can see the exchange happen over the air. Request: 02 07 03 00 04 00 02 FB 00 70 9D 2B. Response: 0A 07 03 00 04 00 03 FB 00 E1 92 46

c) We can assume that the MTU exchange has happened correctly. The MTU should now be set to the minimum value of the 2, in this case 0xFB, correct?

 

2. After 5 ms we start a GATT_WriteNoRsp of size 0x3D

Results:

a) GATT_WriteNoRsp returns SUCCESS.

b) No actual transmission happens over the air.

c) If we reduce length to something like 10 bytes then we are able to send a packet -> it makes me think that the MTU is not correctly set.

 

Please help us with the reason as to why we cannot send packets over the default MTU size.

 

Thank you!