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

Does BLE_GATTS_EVT_WRITE event not occur after BLE_GATTS_EVT_RW_AUTHORIZE_REQUEST?

Hi, I am getting a BLE_GATTS_EVT_RW_AUTHORIZE_REQUEST event since I increased the size of MAX MTU to 203 from 23. At first, I received INVALID PARAM error and then found out from Q&As that there was a bug in SDK. Fixed the issue but now the device gets stuck after generating BLE_GATTS_OP_PREP_WRITE_REQ and BLE_GATTS_OP_EXEC_WRITE_REQ_CANCEL consecutively and BLE_GATTS_EVT_WRITE is never called. 

There are a couple of things I don't understand:

1. Why do I get AUTHORIZE event for MTU size 203 but not 23?

2. How do I write the data after authorization is complete? (I am not sure if I am right but, it seems that there's some data write field of ble_gatts_evt_rw_authorize_request_t struct during BLE_GATTS_OP_PREP_WRITE_REQ as data length was non-zero.)

I am using nRF5_SDK_14.0.0_3bcc1f7 and s132_nrf52_5.0.0_softdevice.hex

Thanks!

Related