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

A terminal that can not communicate.

I found a terminal that can not communicate with BLE.
I think that the sequence after MTU exchange is strange.
The program used is sample HRM.
The terminal used is "Xperia (TM) Z4 SO-03G".

Is there a solution?

The usage environment is as follows.

・SDK15
・Nrf 52
・Nrf 52832_xxaa
・S132_nrf52_6.0.0_softdevice.hex
・nRF5_SDK_15.0.0_a53641a \ examples \ ble_peripheral \ ble_app_hrs \ hex \ ble_app_hrs_pca10040_s132.hex

Postscript

It turned out that communication is possible with the following.

nRF5_SDK_15.0.0_a53641a\components\softdevice\common\nrf_sdh_ble.c
line157
ble_cfg.conn_cfg.params.gatt_conn_cfg.att_mtu = NRF_SDH_BLE_GATT_MAX_MTU_SIZE;

ble_cfg.conn_cfg.params.gatt_conn_cfg.att_mtu = BLE_GATT_ATT_MTU_DEFAULT;


I had previously switched off the MTU exchange.
At that time, communication was not possible.

nRF5_SDK_15.0.0_a53641a\components\ble\nrf_ble_gatt\nrf_ble_gatt.c
Delete lines 150-173.

Here are the questions:

1. What is the difference between making MTU by default and turning it off?

2. If MTU is the default, will the communication speed be slower if the data size is large?

Related