a bt_gatt_dm error

based on SDK v2.9.0

1 Central, 4 Peripherals, Repeat the following:

Power off  3 Peripherals, wait a while, power on 3 Peripherals.  

The following error usually occurs on central when reconnecting.

[02:04:16.465,545] <err> bt_gatt_dm: Discover failed, error: -12.
[02:04:16.465,606] <wrn> blea: Discovery start failed: 89:59:78:89:55:78 (public) index 4 uindex 0 err -12
ASSERTION FAIL [err == 0] @ WEST_TOPDIR/zephyr/subsys/bluetooth/host/hci_core.c:430
  Controller unresponsive, command opcode 0x0406 timeout with err -11
[02:04:26.465,820] <err> os: r0/a1:  0x00000003  r1/a2:  0x00000002  r2/a3:  0x00000001
[02:04:26.465,850] <err> os: r3/a4:  0x00000003 r12/ip:  0x00000004 r14/lr:  0x0003ef23
[02:04:26.465,850] <err> os:  xpsr:  0x01000000
[02:04:26.465,850] <err> os: Faulting instruction address (r15/pc): 0x0003ef32
[02:04:26.465,911] <err> os: >>> ZEPHYR FATAL ERROR 3: Kernel oops on CPU 0
[02:04:26.465,942] <err> os: Current thread: 0x2001b680 (sysworkq)
[02:04:26.696,350] <err> os: Halting system

Where can I find an explanation of the error code(-12).

  • Hi, This is my configuration, for reference only.

    CONFIG_BT=y
    CONFIG_BT_CENTRAL=y
    CONFIG_BT_PERIPHERAL=y
    
    CONFIG_BT_SMP=y
    CONFIG_BT_BONDING_REQUIRED=y
    CONFIG_BT_SMP_SC_PAIR_ONLY=y
    CONFIG_BT_SMP_APP_PAIRING_ACCEPT=y
    CONFIG_BT_PRIVACY=n
    CONFIG_BT_SMP_ALLOW_UNAUTH_OVERWRITE=y
    CONFIG_BT_KEYS_OVERWRITE_OLDEST=y
    
    CONFIG_BT_MAX_PAIRED=20
    CONFIG_BT_MAX_CONN=20
    CONFIG_BT_BUF_ACL_TX_COUNT=20
    CONFIG_BT_BUF_ACL_RX_COUNT=21
    CONFIG_BT_USER_PHY_UPDATE=y
    CONFIG_BT_AUTO_PHY_UPDATE=n
    
    CONFIG_BT_GATT_DM=y
    CONFIG_BT_GATT_CLIENT=y
    CONFIG_BT_GATT_DYNAMIC_DB=y
    
    CONFIG_BT_DEVICE_NAME="xxx"
    
    CONFIG_BT_DEVICE_NAME_DYNAMIC=y
    
    CONFIG_BT_SETTINGS=y
    
    CONFIG_BT_DIS=y
    CONFIG_BT_DIS_SETTINGS=y
    CONFIG_BT_DIS_MODEL="unkown model"
    CONFIG_BT_DIS_MANUF="unkown manuf"
    CONFIG_BT_DIS_SERIAL_NUMBER=y
    CONFIG_BT_DIS_SERIAL_NUMBER_STR="0"
    CONFIG_BT_DIS_SW_REV=y
    CONFIG_BT_DIS_SW_REV_STR="0.1"
    CONFIG_BT_DIS_FW_REV=y
    CONFIG_BT_DIS_FW_REV_STR="1.0"
    CONFIG_BT_DIS_HW_REV=y
    CONFIG_BT_DIS_HW_REV_STR="1.0"
    
    CONFIG_BT_BAS=y
    CONFIG_BT_BAS_CLIENT=y
    CONFIG_BT_GATTP=y
    CONFIG_BT_ANCS_CLIENT=y
    CONFIG_BT_NUS=y
    CONFIG_BT_NUS_CLIENT=y

Related