We are using NRF52832 with STM32L4A6 using serialization. We have the serialization working properly, but having an issue with the MAX MTU size. We can set the NRF_SDH_BLE_GATT_MAX_MTU_SIZE between 23 to 48 and serialization works fine. When we increase to 49 or later, the serialization hangs. Further investigation shows that in the on_connected_evt method, calling sd_ble_gattc_exchange_mtu_request method ultimately calls the ser_phy_tx_pkt_send which checks for the mp_tx_buffer and this buffer pointer is not NULL. Our guess is that previous serialization call did not complete properly (thus does not reset the mp_tx_buffer). It seems very odd that changing the NRF_SDH_BLE_GATT_MAX_MTU_SIZE causes the serialization issue.
In the SDK17.0.2 example project, ble_peripheral | ble_app_hrs | pca10040 | SER_132_spi, we noticed that the NRF_SDH_BLE_GATT_MAX_MTU_SIZE is set to 23. However, in the non serialized example of the ble peripheral, the NRF_SDH_BLE_GATT_MAX_MTU_SIZE is set to 247 and works properly. The NRF_SDH_BLE_GAP_DATA_LENGTH is set to 27.
Has anyone had success setting the NRF_SDH_BLE_GATT_MAX_MTU_SIZE to larger than 48 using the serialization? If so, what was the test setup and the values for the NRF_SDH_BLE_GATT_MAX_MTU_SIZE.
We are using SDK 17.0.2 with softdevice s132_nrf52_7.2.0 on PCA10040 as connectivity module.