ESP32S3 Moddable nimble MTU size update issue
Posted: Tue Apr 23, 2024 11:47 am
In one of my project I am using Moddable Nimble on ESP32S3. Please find details/configurations about project as below.
Moddable version - 4.0
ESP-IDF version - 4.4
I am using android nrf connect app to test with ESP32S3. I have created characteristic with write and notify properties on ESP32S3.
I am facing issue that after updating MTU size from nrf connect mobile application, I am not able to write on characteristic and after some seconds mobile app initiates disconnection (may be due to GATT timeout or any other issue).
I am able to change MTU size and able to write characteristic at very first time after ESP32S3 bootup. So, very first time issue is not observed. But, if I perform connection-disconnection cycle and perform connection again, update MTU size, after that I am not able to write on characteristic.
I have done configuration (CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU = 256) to update MTU size to 256 on ESP32S3. I have put prints in ESP32S3 firmware and verify whether BLE client is receiving correct MTU value on ESP32S3 or not. I observed that when this issue occurs, ESP32S3 receives MTU value as 0 instead of 256.
If I don't update MTU size then I am able to write and notify characteristics successfully, but payload response has max 20 bytes only.
Can you please check and let me know why I am facing this issue? Any ESP configurations are needed to solve this?
Moddable version - 4.0
ESP-IDF version - 4.4
I am using android nrf connect app to test with ESP32S3. I have created characteristic with write and notify properties on ESP32S3.
I am facing issue that after updating MTU size from nrf connect mobile application, I am not able to write on characteristic and after some seconds mobile app initiates disconnection (may be due to GATT timeout or any other issue).
I am able to change MTU size and able to write characteristic at very first time after ESP32S3 bootup. So, very first time issue is not observed. But, if I perform connection-disconnection cycle and perform connection again, update MTU size, after that I am not able to write on characteristic.
I have done configuration (CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU = 256) to update MTU size to 256 on ESP32S3. I have put prints in ESP32S3 firmware and verify whether BLE client is receiving correct MTU value on ESP32S3 or not. I observed that when this issue occurs, ESP32S3 receives MTU value as 0 instead of 256.
If I don't update MTU size then I am able to write and notify characteristics successfully, but payload response has max 20 bytes only.
Can you please check and let me know why I am facing this issue? Any ESP configurations are needed to solve this?