Hello everyone,
I am working on an nRF52-DK and getting familiar with Zephyr. In this process I am currently trying to extend the BLE MTU size beyond the default 23 bytes. However, I can't seem to get it working.
Here is the prj.conf:
# Basic Bluetooth configuration # Activate the BLE layer, set as peripheral CONFIG_BT=y CONFIG_BT_DEBUG_LOG=y CONFIG_BT_SMP=y CONFIG_BT_PERIPHERAL=y CONFIG_BT_CTLR_PHY_2M=y CONFIG_BT_GATT_CLIENT=y # Set up device name and appearance CONFIG_BT_DEVICE_NAME="Test" # Appearance 833 CONFIG_BT_DEVICE_APPEARANCE=833 # Extends the L2CAP MTU CONFIG_BT_HCI_ACL_FLOW_CONTROL=y CONFIG_BT_L2CAP_RX_MTU=247 CONFIG_BT_L2CAP_TX_MTU=247 # CONFIG_BT_MAX_CONN=2 CONFIG_BT_MAX_PAIRED=1
Now, using BT_SMP extends the MTU to 65. And that works fine. But anything that I put beyond that does not work. Indeed, at first I didn't have BT_L2CAP_RX_MTU set in the file. So I added it to the conf file, like many past topics on the site showed. Plus, I found in zephyr/subsys/bluetooth/host/att_internal.c that the BT_ATT_MTU is defined (MIN(BT_L2CAP_RX_MTU, BT_L2CAP_TX_MTU)).
However, putting CONFIG_BT_L2CAP_RX_MTU with its dependencies gives me this warning message (to an error due to Kconfig warnings of course) when building, even after deleting the build folder:
warning: attempt to assign the value '247' to the undefined symbol BT_L2CAP_RX_MTU
I would be thankful for any help regarding this problem.
Best regards,