Creating CIS fails when BLE connection is encrypted (security level >= 2)

Hi all, 
need to establish a CIS connection to an already connected BLE device with security level >= 2.

However when the ACL connection has security level
>= 2 and the host sends the HCI command "HCI_LE_Create_CIS" (0x2064) to the Softdevice, the Softdevice responds with status "Encryption Mode not Acceptable" (0x25).

Is this not supported or am I missing some Kconfig
?

Using nRF52840 with NCS 2.9.0.

Flow:

  1. Connect ACL connection
  2. Upgrade security level to 2 or 3
  3. Create CIG
  4. Create CIS - FAILS

Zephyr Logs:

ACL connection security:
[    0.904327] <inf> _conn: Security changed for C0:2F:98:7B:3A:84 (random) (level 2)

Creating CIG:
[    3.940063] <dbg> bt_hci_core: opcode 0x2062 param_len 51
[    3.940063] <dbg> bt_hci_core: buf 0x20025160
[    3.940093] <dbg> bt_iso: id 0, latency C to P 50, latency P to C 50, interval C to P 45000, interval P to C 45000, sca 0, packing 0, framing 0, num_cis 4
[    3.940124] <dbg> bt_iso: [0]: id 0, c_phy 2, c_sdu 247, c_rtn 3, p_phy 2, p_sdu 247, p_rtn 3
[    3.940155] <dbg> bt_iso: [1]: id 1, c_phy 2, c_sdu 247, c_rtn 3, p_phy 2, p_sdu 247, p_rtn 3
[    3.940185] <dbg> bt_iso: [2]: id 2, c_phy 2, c_sdu 247, c_rtn 3, p_phy 2, p_sdu 247, p_rtn 3
[    3.940216] <dbg> bt_iso: [3]: id 3, c_phy 2, c_sdu 247, c_rtn 3, p_phy 2, p_sdu 247, p_rtn 3
[    3.940216] <dbg> bt_hci_core: buf 0x20025160 opcode 0x2062 len 54
[    3.940246] <dbg> bt_hci_core: kick TX
[    3.940277] <dbg> bt_hci_core: TX process start
[    3.940307] <dbg> bt_hci_core: fetch cmd
[    3.940307] <dbg> bt_hci_core: Sending command 0x2062 (buf 0x20025160) to driver
[    3.940338] <dbg> bt_hci_core: buf 0x20025160 len 54 type 0
[    3.940338] <dbg> bt_sdc_hci_driver: 
[    3.940338] <dbg> bt_sdc_hci_driver: 
[    3.940734] <dbg> bt_sdc_hci_driver: Exit: 0
[    3.940734] <dbg> bt_hci_core: kick TX
[    3.940795] <dbg> bt_sdc_hci_driver: Command Complete (0x2062) status: 0x00, ncmd: 1, len 14
[    3.940826] <dbg> bt_hci_core: buf 0x20024f3c len 16
[    3.940856] <dbg> bt_hci_core: opcode 0x2062
[    3.940887] <dbg> bt_hci_core: opcode 0x2062 status 0x00  buf 0x20024f3c
[    3.940887] <dbg> bt_hci_core: sync cmd released
[    3.940917] <dbg> bt_hci_core: kick TX
[    3.941040] <dbg> bt_hci_core: TX process start
[    3.941040] <dbg> bt_conn: start
[    3.941040] <dbg> bt_conn: no connection wants to do stuff
[    3.941101] <dbg> bt_hci_core: rsp 0x20025160 opcode 0x2062 len 11

Creating CIS:
[    3.941131] <dbg> bt_hci_core: opcode 0x2064 param_len 5
[    3.941162] <dbg> bt_hci_core: buf 0x20025160
[    3.941192] <dbg> bt_hci_core: buf 0x20025160 opcode 0x2064 len 8
[    3.941223] <dbg> bt_hci_core: kick TX
[    3.941253] <dbg> bt_hci_core: TX process start
[    3.941253] <dbg> bt_hci_core: fetch cmd
[    3.941284] <dbg> bt_hci_core: Sending command 0x2064 (buf 0x20025160) to driver
[    3.941284] <dbg> bt_hci_core: buf 0x20025160 len 8 type 0
[    3.941314] <dbg> bt_sdc_hci_driver: 
[    3.941314] <dbg> bt_sdc_hci_driver: 
[    3.941375] <dbg> bt_sdc_hci_driver: Exit: 0
[    3.941375] <dbg> bt_hci_core: kick TX
[    3.941436] <dbg> bt_sdc_hci_driver: Command Status (0x2064) status: 0x25
[    3.941467] <dbg> bt_hci_core: buf 0x20024f3c len 6
[    3.941467] <dbg> bt_hci_core: opcode 0x2064
[    3.941528] <dbg> bt_hci_core: opcode 0x2064 status 0x25  buf 0x20024f3c
[    3.941528] <dbg> bt_hci_core: sync cmd released
[    3.941558] <dbg> bt_hci_core: kick TX
[    3.941650] <dbg> bt_hci_core: TX process start
[    3.941680] <dbg> bt_conn: start
[    3.941680] <dbg> bt_conn: no connection wants to do stuff
[    3.941772] <wrn> bt_hci_core: opcode 0x2064 status 0x25
[    3.941772] <dbg> bt_iso: Failed to connect CISes: -5

Relevant prj.conf:

# Security
CONFIG_BT_SMP=y
CONFIG_BT_BONDABLE=y
CONFIG_BT_MAX_PAIRED=5
CONFIG_SETTINGS=y
CONFIG_BT_SETTINGS=y
CONFIG_BT_FIXED_PASSKEY=y
CONFIG_BT_USE_DEBUG_KEYS=n
CONFIG_BT_GATT_AUTO_SEC_REQ=y

# ISO (CIS) configuration
CONFIG_BT_ISO_CENTRAL=y
CONFIG_BT_ISO_PERIPHERAL=y
CONFIG_BT_ISO_TX_MTU=247
CONFIG_BT_ISO_RX_MTU=247
CONFIG_BT_ISO_MAX_CHAN=4
CONFIG_BT_ISO_MAX_CIG=1
CONFIG_BT_ISO_TX_BUF_COUNT=10
CONFIG_BT_ISO_RX_BUF_COUNT=10
CONFIG_BT_CTLR_CONN_ISO_STREAMS_PER_GROUP=4

Any help is highly appreciated.

Related