MTU exchange failing with error 0x0e

Recently we have started to see a lot of disconnection issue where the device wont connect and while debugging this issue is replicating on Pixel 7, Pixel 7 Pro and Samsung S23 Ultra (tested with these devices) with Android 14 where the mtu exchange is failing with error 14.

I have tried with different connection params also but still the issue exists.

Using NCS 2.6.1 version for the application.

Have enabled this configs-

CONFIG_BT_GATT_AUTO_UPDATE_MTU=y
CONFIG_BT_DATA_LEN_UPDATE=y
CONFIG_BT_AUTO_DATA_LEN_UPDATE=y
CONFIG_BT_ATT_PREPARE_COUNT=4
CONFIG_BT_L2CAP_TX_MTU=247
CONFIG_BT_L2CAP_TX_BUF_COUNT=10
CONFIG_BT_L2CAP_TX_FRAG_COUNT=15
CONFIG_BT_BUF_EVT_RX_SIZE=251
CONFIG_BT_BUF_CMD_TX_SIZE=251
CONFIG_BT_BUF_ACL_RX_SIZE=251
CONFIG_BT_BUF_ACL_TX_COUNT=15
CONFIG_BT_BUF_ACL_TX_SIZE=251
CONFIG_BT_CTLR_DATA_LENGTH_MAX=251
CONFIG_BT_CONN_TX_MAX=10


Attaching the BLE sniffer logs also -
pixel7_conn_fail.pcapng

Parents
  • Hello,

    In general I see from time to time that central devices "misbehave" if the peripheral device try to initiate specific procedures upon connection. This is fully allowed by the BLE spec, but somehow some of them still don't handle it very well. The typical ones I can find are:

    CONFIG_BT_GATT_AUTO_SEC_REQ=y 
    CONFIG_BT_AUTO_DATA_LEN_UPDATE=y
    CONFIG_BT_AUTO_PHY_UPDATE=y
    CONFIG_BT_GATT_AUTO_UPDATE_MTU=y

    Setting either or all to =n should not be problematic, because in my experience all central devices will do this in any case in their own pace.

    Best regards,
    Kenneth

Reply
  • Hello,

    In general I see from time to time that central devices "misbehave" if the peripheral device try to initiate specific procedures upon connection. This is fully allowed by the BLE spec, but somehow some of them still don't handle it very well. The typical ones I can find are:

    CONFIG_BT_GATT_AUTO_SEC_REQ=y 
    CONFIG_BT_AUTO_DATA_LEN_UPDATE=y
    CONFIG_BT_AUTO_PHY_UPDATE=y
    CONFIG_BT_GATT_AUTO_UPDATE_MTU=y

    Setting either or all to =n should not be problematic, because in my experience all central devices will do this in any case in their own pace.

    Best regards,
    Kenneth

Children
Related