Skip to contentSkip to conversation

Bluetooth: Enumerate local supported codec and cache details

PATCH Superseded Kiran K 5 participants 20 messages Aug 31, 2021 – Sep 10, 2021

Subsystems (2)

v13 of 15 Superseded Latest is v15 →

lore
Share & tools
lore

Kiran K

author
#0 lore raw

PATCH v13 1/12 Bluetooth: Enumerate local supported codec and cache details

Move reading of supported local codecs into a separate init function, query codecs capabilities and cache the data

---

Notes:
* changes in v13:
- No changes

* changes in v12:
- refactor funcions related to reading codec capabilities

* changes in v11:
- Remove Kconfig related changes
- Address minor review comments
- Move codec related functions to new file hci_codec.c

* changes in v10:
- define Kconfig to control offload feature at build time
- fix review comments

* changes in v9:
- use shortname vnd instead of ven

* changes in v8:
- add comments
- split __u8 codec_id[5] into {__u8 id; __le16 cid, vid }
- address review comment related codec caps structure

* changes in v7:
- keep codec enumeration call in hci_init instead of having a separate function
- Remove unused bitmasks defined for LE transports

* changes in v6:
- fix compiler warning reported for ARCH=arc

* changes in v5:
- fix review comments
- move code used to read standard/vendor codecs caps into single function

* changes in v4:
- convert reading of codecs and codecs caps calls from async to sync

* changes in v3
- move codec enumeration into a new init function

* changes in v2
- add skb length check before accessing data

 include/net/bluetooth/hci.h      |  41 ++++++++
 include/net/bluetooth/hci_core.h |  17 +++
 net/bluetooth/Makefile           |   2 +-
 net/bluetooth/hci_codec.c        | 172 +++++++++++++++++++++++++++++++
 net/bluetooth/hci_codec.h        |   6 ++
 net/bluetooth/hci_core.c         |  11 +-
 6 files changed, 244 insertions(+), 5 deletions(-)
 create mode 100644 net/bluetooth/hci_codec.c
 create mode 100644 net/bluetooth/hci_codec.h
include/net/bluetooth/hci.h +41 -0
index bb6b7398f490..13a93da6b76c 100644
@@ -1308,6 +1308,28 @@ struct hci_rp_read_data_block_size {
 } __packed;
 
 #define HCI_OP_READ_LOCAL_CODECS	0x100b
+struct hci_std_codecs {
+	__u8	num;
+	__u8	codec[];
+} __packed;
+
+struct hci_vnd_codec {
+	/* company id */
+	__le16	cid;
+	/* vendor codec id */
+	__le16	vid;
+} __packed;
+
+struct hci_vnd_codecs {
+	__u8	num;
+	struct hci_vnd_codec codec[];
+} __packed;
+
+struct hci_rp_read_local_supported_codecs {
+	__u8	status;
+	struct hci_std_codecs std_codecs;
+	struct hci_vnd_codecs vnd_codecs;
+} __packed;
 
 #define HCI_OP_READ_LOCAL_PAIRING_OPTS	0x100c
 struct hci_rp_read_local_pairing_opts {
@@ -1316,6 +1338,25 @@ struct hci_rp_read_local_pairing_opts {
 	__u8     max_key_size;
 } __packed;
 
+#define HCI_OP_READ_LOCAL_CODEC_CAPS	0x100e
+struct hci_op_read_local_codec_caps {
+	__u8	id;
+	__le16	cid;
+	__le16	vid;
+	__u8	transport;
+	__u8	direction;
+} __packed;
+
+struct hci_codec_caps {
+	__u8	len;
+	__u8	data[];
+} __packed;
+
+struct hci_rp_read_local_codec_caps {
+	__u8	status;
+	__u8	num_caps;
+} __packed;
+
 #define HCI_OP_READ_PAGE_SCAN_ACTIVITY	0x0c1b
 struct hci_rp_read_page_scan_activity {
 	__u8     status;
include/net/bluetooth/hci_core.h +17 -0
index 24ad6ebd00e2..585cbe7ff67d 100644
@@ -131,6 +131,17 @@ struct bdaddr_list {
 	u8 bdaddr_type;
 };
 
+struct codec_list {
+	struct list_head list;
+	u8	id;
+	__u16	cid;
+	__u16	vid;
+	u8	transport;
+	u8	num_caps;
+	u32	len;
+	struct hci_codec_caps caps[];
+};
+
 struct bdaddr_list_with_irk {
 	struct list_head list;
 	bdaddr_t bdaddr;
@@ -536,6 +547,7 @@ struct hci_dev {
 	struct list_head	pend_le_conns;
 	struct list_head	pend_le_reports;
 	struct list_head	blocked_keys;
+	struct list_head	local_codecs;
 
 	struct hci_dev_stats	stat;
 
@@ -1870,4 +1882,9 @@ void hci_copy_identity_address(struct hci_dev *hdev, bdaddr_t *bdaddr,
 #define SCO_AIRMODE_CVSD       0x0000
 #define SCO_AIRMODE_TRANSP     0x0003
 
+#define LOCAL_CODEC_ACL_MASK	BIT(0)
+#define LOCAL_CODEC_SCO_MASK	BIT(1)
+
+#define TRANSPORT_TYPE_MAX	0x04
+
 #endif /* __HCI_CORE_H */
net/bluetooth/Makefile +1 -1
index cc0995301f93..f3e439d98b85 100644
@@ -14,7 +14,7 @@ bluetooth_6lowpan-y := 6lowpan.o
 
 bluetooth-y := af_bluetooth.o hci_core.o hci_conn.o hci_event.o mgmt.o \
 	hci_sock.o hci_sysfs.o l2cap_core.o l2cap_sock.o smp.o lib.o \
-	ecdh_helper.o hci_request.o mgmt_util.o mgmt_config.o
+	ecdh_helper.o hci_request.o mgmt_util.o mgmt_config.o hci_codec.o
 
 bluetooth-$(CONFIG_BT_BREDR) += sco.o
 bluetooth-$(CONFIG_BT_HS) += a2mp.o amp.o
net/bluetooth/hci_codec.c new file +172 -0

172 lines not on this page · raw message

net/bluetooth/hci_codec.h new file +6 -0
new file mode 100644
index 000000000000..efb0df634ac6
@@ -0,0 +1,6 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+/* Copyright (C) 2014 Intel Corporation */
+
+void hci_read_supported_codecs(struct hci_dev *hdev);
+void hci_codec_list_clear(struct list_head *codec_list);
net/bluetooth/hci_core.c +7 -4
index f3a18d16b81f..a80d813ef743 100644
@@ -45,6 +45,7 @@
 #include "leds.h"
 #include "msft.h"
 #include "aosp.h"
+#include "hci_codec.h"
 
 static void hci_rx_work(struct work_struct *work);
 static void hci_cmd_work(struct work_struct *work);
@@ -838,10 +839,6 @@ static int hci_init4_req(struct hci_request *req, unsigned long opt)
 	if (hdev->commands[22] & 0x04)
 		hci_set_event_mask_page_2(req);
 
-	/* Read local codec list if the HCI command is supported */
-	if (hdev->commands[29] & 0x20)
-		hci_req_add(req, HCI_OP_READ_LOCAL_CODECS, 0, NULL);
-
 	/* Read local pairing options if the HCI command is supported */
 	if (hdev->commands[41] & 0x08)
 		hci_req_add(req, HCI_OP_READ_LOCAL_PAIRING_OPTS, 0, NULL);
@@ -937,6 +934,10 @@ static int __hci_init(struct hci_dev *hdev)
 	if (err < 0)
 		return err;
 
+	/* Read local codec list if the HCI command is supported */
+	if (hdev->commands[29] & 0x20)
+		hci_read_supported_codecs(hdev);
+
 	/* This function is only called when the controller is actually in
 	 * configured state. When the controller is marked as unconfigured,
 	 * this initialization procedure is not run.
@@ -1848,6 +1849,7 @@ int hci_dev_do_close(struct hci_dev *hdev)
 	memset(hdev->eir, 0, sizeof(hdev->eir));
 	memset(hdev->dev_class, 0, sizeof(hdev->dev_class));
 	bacpy(&hdev->random_addr, BDADDR_ANY);
+	hci_codec_list_clear(&hdev->local_codecs);
 
 	hci_req_sync_unlock(hdev);
 
@@ -3848,6 +3850,7 @@ struct hci_dev *hci_alloc_dev_priv(int sizeof_priv)
 	INIT_LIST_HEAD(&hdev->adv_instances);
 	INIT_LIST_HEAD(&hdev->blocked_keys);
 
+	INIT_LIST_HEAD(&hdev->local_codecs);
 	INIT_WORK(&hdev->rx_work, hci_rx_work);
 	INIT_WORK(&hdev->cmd_work, hci_cmd_work);
 	INIT_WORK(&hdev->tx_work, hci_tx_work);
Signature · 1 line
2.17.1
author
#1 lore raw

PATCH v13 2/12 Bluetooth: Add support for Read Local Supported Codecs V2

Use V2 version of read local supported command is controller supports

snoop:

Quoted 1 line

HCI Event: Command Complete (0x0e) plen 20

      Read Local Supported Codecs V2 (0x04|0x000d) ncmd 1
        Status: Success (0x00)
        Number of supported codecs: 7
          Codec: u-law log (0x00)
          Logical Transport Type: 0x02
            Codec supported over BR/EDR SCO and eSCO
          Codec: A-law log (0x01)
          Logical Transport Type: 0x02
            Codec supported over BR/EDR SCO and eSCO
          Codec: CVSD (0x02)
          Logical Transport Type: 0x02
            Codec supported over BR/EDR SCO and eSCO
          Codec: Transparent (0x03)
          Logical Transport Type: 0x02
            Codec supported over BR/EDR SCO and eSCO
          Codec: Linear PCM (0x04)
          Logical Transport Type: 0x02
            Codec supported over BR/EDR SCO and eSCO
          Codec: Reserved (0x08)
          Logical Transport Type: 0x03
            Codec supported over BR/EDR ACL
            Codec supported over BR/EDR SCO and eSCO
          Codec: mSBC (0x05)
          Logical Transport Type: 0x03
            Codec supported over BR/EDR ACL
            Codec supported over BR/EDR SCO and eSCO
        Number of vendor codecs: 0
......
< HCI Command: Read Local Suppor.. (0x04|0x000e) plen 7
        Codec: mSBC (0x05)
        Logical Transport Type: 0x00
        Direction: Input (Host to Controller) (0x00)
Quoted 1 line

HCI Event: Command Complete (0x0e) plen 12

      Read Local Supported Codec Capabilities (0x04|0x000e) ncmd 1
        Status: Success (0x00)
        Number of codec capabilities: 1
         Capabilities #0:
        00 00 11 15 02 33

---

Notes:
* changes in v13:
- No changes

* changes in v12:
- Refactor code related to reading codec capabilities

* changes in v11:
- Remove Kconfig related changes
- Move codec related functions to hci_codec.c

* changes in v10:
no changes

* changes in v9:
use vnd as shortcut name for vendor instead of ven

* changes in v8:
no changes

* changes in v7:
call codec enumeration code in hci_init instead of having it in a separate function

* changes in v6
no changes

* changes in v5:
fix review comments

* changes in v4:
converts codec read capabilities calls from async to sync

* changes in v3:
No changes

* changes in v2:
add length check for event data before accessing

 include/net/bluetooth/hci.h | 29 ++++++++++++++++
 net/bluetooth/hci_codec.c   | 66 +++++++++++++++++++++++++++++++++++++
 net/bluetooth/hci_codec.h   |  1 +
 net/bluetooth/hci_core.c    |  4 ++-
 4 files changed, 99 insertions(+), 1 deletion(-)
include/net/bluetooth/hci.h +29 -0
index 13a93da6b76c..ad88e5d44d7c 100644
@@ -1338,6 +1338,35 @@ struct hci_rp_read_local_pairing_opts {
 	__u8     max_key_size;
 } __packed;
 
+#define HCI_OP_READ_LOCAL_CODECS_V2	0x100d
+struct hci_std_codec_v2 {
+	__u8	id;
+	__u8	transport;
+} __packed;
+
+struct hci_std_codecs_v2 {
+	__u8	num;
+	struct hci_std_codec_v2 codec[];
+} __packed;
+
+struct hci_vnd_codec_v2 {
+	__u8	id;
+	__le16	cid;
+	__le16	vid;
+	__u8	transport;
+} __packed;
+
+struct hci_vnd_codecs_v2 {
+	__u8	num;
+	struct hci_vnd_codec_v2 codec[];
+} __packed;
+
+struct hci_rp_read_local_supported_codecs_v2 {
+	__u8	status;
+	struct hci_std_codecs_v2 std_codecs;
+	struct hci_vnd_codecs_v2 vendor_codecs;
+} __packed;
+
 #define HCI_OP_READ_LOCAL_CODEC_CAPS	0x100e
 struct hci_op_read_local_codec_caps {
 	__u8	id;
net/bluetooth/hci_codec.c +66 -0

69 lines not on this page · raw message

net/bluetooth/hci_codec.h +1 -0
index efb0df634ac6..a2751930f123 100644
@@ -3,4 +3,5 @@
 /* Copyright (C) 2014 Intel Corporation */
 
 void hci_read_supported_codecs(struct hci_dev *hdev);
+void hci_read_supported_codecs_v2(struct hci_dev *hdev);
 void hci_codec_list_clear(struct list_head *codec_list);
net/bluetooth/hci_core.c +3 -1
index a80d813ef743..5236faa397fa 100644
@@ -935,7 +935,9 @@ static int __hci_init(struct hci_dev *hdev)
 		return err;
 
 	/* Read local codec list if the HCI command is supported */
-	if (hdev->commands[29] & 0x20)
+	if (hdev->commands[45] & 0x04)
+		hci_read_supported_codecs_v2(hdev);
+	else if (hdev->commands[29] & 0x20)
 		hci_read_supported_codecs(hdev);
 
 	/* This function is only called when the controller is actually in
Signature · 1 line
2.17.1
author
#2 lore raw

PATCH v13 3/12 Bluetooth: btintel: Read supported offload use cases

In reply to Kiran K

Read offload use cases supported by controller.

---

Notes:
* changes in v13:
- No changes

* changes in v12:
- s/usecase/use_case/g

* changes in v11:
- Remove Kconfig related changes
* changes in v10:
- restructure patch to have definition and call of callaback in the same patch
* changes in v9:
- define a separate patch for core changes

 drivers/bluetooth/btintel.c | 32 ++++++++++++++++++++++++++++++++
 drivers/bluetooth/btintel.h |  5 +++++
 2 files changed, 37 insertions(+)
drivers/bluetooth/btintel.c +32 -0
index 778d803159f3..628395eda9b3 100644
@@ -2163,6 +2163,35 @@ static int btintel_prepare_fw_download_tlv(struct hci_dev *hdev,
 	return err;
 }
 
+static int btintel_configure_offload(struct hci_dev *hdev)
+{
+	struct sk_buff *skb;
+	int err = 0;
+	struct intel_offload_use_cases *use_cases;
+
+	skb = __hci_cmd_sync(hdev, 0xfc86, 0, NULL, HCI_INIT_TIMEOUT);
+	if (IS_ERR(skb)) {
+		bt_dev_err(hdev, "Reading offload use cases failed (%ld)",
+			   PTR_ERR(skb));
+		return PTR_ERR(skb);
+	}
+
+	if (skb->len < sizeof(*use_cases)) {
+		err = -EIO;
+		goto error;
+	}
+
+	use_cases = (void *)skb->data;
+
+	if (use_cases->status) {
+		err = -bt_to_errno(skb->data[0]);
+		goto error;
+	}
+error:
+	kfree_skb(skb);
+	return err;
+}
+
 static int btintel_bootloader_setup_tlv(struct hci_dev *hdev,
 					struct intel_version_tlv *ver)
 {
@@ -2204,6 +2233,9 @@ static int btintel_bootloader_setup_tlv(struct hci_dev *hdev,
 	 */
 	btintel_load_ddc_config(hdev, ddcname);
 
+	/* Read supported use cases and set callbacks to fetch datapath id */
+	btintel_configure_offload(hdev);
+
 	hci_dev_clear_flag(hdev, HCI_QUALITY_REPORT);
 
 	/* Read the Intel version information after loading the FW  */
drivers/bluetooth/btintel.h +5 -0
index fe02cb9ac96c..e500c0d7a729 100644
@@ -132,6 +132,11 @@ struct intel_debug_features {
 	__u8    page1[16];
 } __packed;
 
+struct intel_offload_use_cases {
+	__u8	status;
+	__u8	preset[8];
+} __packed;
+
 #define INTEL_HW_PLATFORM(cnvx_bt)	((u8)(((cnvx_bt) & 0x0000ff00) >> 8))
 #define INTEL_HW_VARIANT(cnvx_bt)	((u8)(((cnvx_bt) & 0x003f0000) >> 16))
 #define INTEL_CNVX_TOP_TYPE(cnvx_top)	((cnvx_top) & 0x00000fff)
Signature · 1 line
2.17.1
author
#3 lore raw

PATCH v13 4/12 Bluetooth: Allow querying of supported offload codecs over SCO socket

In reply to Kiran K

Add BT_CODEC option for getsockopt systemcall to get the details of offload codecs supported over SCO socket

---

Notes:
* changes in v13:
- No changes

* changes in v12:
- check for mgmt flag before querying codecs

* changes in v11:
- Remove Kconfig related changes

* changes in v10:
- In getsockopt, prepare data in advance and call copy_to_user instead of calling put_user on each field of struct bt_codec

 include/net/bluetooth/bluetooth.h |  20 ++++++
 include/net/bluetooth/hci.h       |   5 ++
 include/net/bluetooth/hci_core.h  |   1 +
 net/bluetooth/sco.c               | 101 ++++++++++++++++++++++++++++++
 4 files changed, 127 insertions(+)
include/net/bluetooth/bluetooth.h +20 -0
index 9125effbf448..64cddff0c9c4 100644
@@ -153,6 +153,26 @@ struct bt_voice {
 
 #define BT_SCM_PKT_STATUS	0x03
 
+#define BT_CODEC	19
+
+struct	bt_codec_caps {
+	__u8	len;
+	__u8	data[];
+} __packed;
+
+struct bt_codec {
+	__u8	id;
+	__u16	cid;
+	__u16	vid;
+	__u8	data_path;
+	__u8	num_caps;
+} __packed;
+
+struct bt_codecs {
+	__u8		num_codecs;
+	struct bt_codec	codecs[];
+} __packed;
+
 __printf(1, 2)
 void bt_info(const char *fmt, ...);
 __printf(1, 2)
include/net/bluetooth/hci.h +5 -0
index ad88e5d44d7c..8f8664bec6f2 100644
@@ -331,6 +331,7 @@ enum {
 	HCI_CMD_PENDING,
 	HCI_FORCE_NO_MITM,
 	HCI_QUALITY_REPORT,
+	HCI_OFFLOAD_CODECS_ENABLED,
 
 	__HCI_NUM_FLAGS,
 };
@@ -2622,6 +2623,10 @@ static inline struct hci_sco_hdr *hci_sco_hdr(const struct sk_buff *skb)
 #define hci_iso_data_len(h)		((h) & 0x3fff)
 #define hci_iso_data_flags(h)		((h) >> 14)
 
+/* codec transport types */
+#define TRANSPORT_ACL		0x00
+#define TRANSPORT_SCO_ESCO	0x01
+
 /* le24 support */
 static inline void hci_cpu_to_le24(__u32 val, __u8 dst[3])
 {
include/net/bluetooth/hci_core.h +1 -0
index 585cbe7ff67d..655e2a119e7f 100644
@@ -619,6 +619,7 @@ struct hci_dev {
 	void (*cmd_timeout)(struct hci_dev *hdev);
 	bool (*prevent_wake)(struct hci_dev *hdev);
 	int (*set_quality_report)(struct hci_dev *hdev, bool enable);
+	int (*get_data_path_id)(struct hci_dev *hdev, __u8 *data_path);
 };
 
 #define HCI_PHY_HANDLE(handle)	(handle & 0xff)
net/bluetooth/sco.c +101 -0

113 lines not on this page · raw message

Signature · 1 line
2.17.1
author
#4 lore raw

PATCH v13 5/12 Bluetooth: btintel: Define callback to fetch data_path_id

In reply to Kiran K

For Intel controllers supporting HFP offload usecase, define a callback function to fetch data_path_id

---

Notes:
* changes in v13:
- no changes

* changes in v12:
- no changes

* changes in v11:
- no changes

* changes in v10:
- new patch due to refactoring

 drivers/bluetooth/btintel.c | 10 ++++++++++
 1 file changed, 10 insertions(+)
drivers/bluetooth/btintel.c +10 -0
index 628395eda9b3..65a3adae8a50 100644
@@ -2163,6 +2163,13 @@ static int btintel_prepare_fw_download_tlv(struct hci_dev *hdev,
 	return err;
 }
 
+static int btintel_get_data_path_id(struct hci_dev *hdev, __u8 *data_path_id)
+{
+	/* Intel uses 1 as data path id for all the usecases */
+	*data_path_id = 1;
+	return 0;
+}
+
 static int btintel_configure_offload(struct hci_dev *hdev)
 {
 	struct sk_buff *skb;
@@ -2187,6 +2194,9 @@ static int btintel_configure_offload(struct hci_dev *hdev)
 		err = -bt_to_errno(skb->data[0]);
 		goto error;
 	}
+
+	if (use_cases->preset[0] & 0x03)
+		hdev->get_data_path_id = btintel_get_data_path_id;
 error:
 	kfree_skb(skb);
 	return err;
Signature · 1 line
2.17.1
author
#5 lore raw

PATCH v13 6/12 Bluetooth: Allow setting of codec for HFP offload use case

In reply to Kiran K

This patch allows user space to set the codec that needs to be used for HFP offload use case. The codec details are cached and the controller is configured before opening the SCO connection.

---

Notes:
* changes in v13:
- Only cache the codec to be set in setsockopt. Use these values later when opening SCO connection

* changes in v12:
- check for mgmt flag before setting codec for offload use case

* changes in v11:
- Remove changes related to Kconfig

* changes in v10:
- patch refactor - having callback definition and usage in the same patch

 include/net/bluetooth/bluetooth.h |  2 ++
 net/bluetooth/sco.c               | 60 +++++++++++++++++++++++++++++++
 2 files changed, 62 insertions(+)
include/net/bluetooth/bluetooth.h +2 -0
index 64cddff0c9c4..1a48b6732eef 100644
@@ -173,6 +173,8 @@ struct bt_codecs {
 	struct bt_codec	codecs[];
 } __packed;
 
+#define CODING_FORMAT_CVSD	0x02
+
 __printf(1, 2)
 void bt_info(const char *fmt, ...);
 __printf(1, 2)
net/bluetooth/sco.c +60 -0

90 lines not on this page · raw message

Signature · 1 line
2.17.1
author
#6 lore raw

PATCH v13 7/12 Bluetooth: Add support for HCI_Enhanced_Setup_Synchronous_Connection command

In reply to Kiran K

< HCI Command: Enhanced Setup Synchronous Connection (0x01|0x003d) plen 59
Handle: 256
Transmit bandwidth: 8000
Receive bandwidth: 8000
Max latency: 13
Packet type: 0x0380
3-EV3 may not be used
2-EV5 may not be used
3-EV5 may not be used
Retransmission effort: Optimize for link quality (0x02)

Quoted 1 line

HCI Event: Command Status (0x0f) plen 4

      Enhanced Setup Synchronous Connection (0x01|0x003d) ncmd 1
        Status: Success (0x00)
Quoted 1 line

HCI Event: Synchronous Connect Complete (0x2c) plen 17

        Status: Success (0x00)
        Handle: 257
        Address: CC:98:8B:92:04:FD (SONY Visual Products Inc.)
        Link type: eSCO (0x02)
        Transmission interval: 0x0c
        Retransmission window: 0x06
        RX packet length: 60
        TX packet length: 60
        Air mode: Transparent (0x03)

---

Notes:
* changes in v13:
- No changes

* changes in v12:
- hci_dev_put needs to be called when done with hci_get_route

* changes in v11:
- Remove changes related to Kconfig
- s/use_enhanced_sco_conn/enhanced_sco_capable/g
- Minor review comments

* changes in v10:
- Fix typos and remove unwanted chunks
* changes in v9:
- Fix review comments, use bt_dev_dbg instead of BT_DBG

 include/net/bluetooth/bluetooth.h |   3 +-
 include/net/bluetooth/hci.h       |  34 ++++++++++
 include/net/bluetooth/hci_core.h  |   6 +-
 net/bluetooth/hci_conn.c          | 105 +++++++++++++++++++++++++++++-
 net/bluetooth/hci_event.c         |  39 +++++++++++
 net/bluetooth/sco.c               |  12 +++-
 6 files changed, 193 insertions(+), 6 deletions(-)
include/net/bluetooth/bluetooth.h +2 -1
index 1a48b6732eef..f2df8bb108d9 100644
@@ -173,7 +173,8 @@ struct bt_codecs {
 	struct bt_codec	codecs[];
 } __packed;
 
-#define CODING_FORMAT_CVSD	0x02
+#define CODING_FORMAT_CVSD		0x02
+#define CODING_FORMAT_TRANSPARENT	0x03
 
 __printf(1, 2)
 void bt_info(const char *fmt, ...);
include/net/bluetooth/hci.h +34 -0
index 8f8664bec6f2..3426ee4f0fa5 100644
@@ -873,6 +873,40 @@ struct hci_cp_logical_link_cancel {
 	__u8     flow_spec_id;
 } __packed;
 
+#define HCI_OP_ENHANCED_SETUP_SYNC_CONN		0x043d
+struct hci_coding_format {
+	__u8	id;
+	__le16	cid;
+	__le16	vid;
+} __packed;
+
+struct hci_cp_enhanced_setup_sync_conn {
+	__le16   handle;
+	__le32   tx_bandwidth;
+	__le32   rx_bandwidth;
+	struct	 hci_coding_format tx_coding_format;
+	struct	 hci_coding_format rx_coding_format;
+	__le16	 tx_codec_frame_size;
+	__le16	 rx_codec_frame_size;
+	__le32	 in_bandwidth;
+	__le32	 out_bandwidth;
+	struct	 hci_coding_format in_coding_format;
+	struct	 hci_coding_format out_coding_format;
+	__le16   in_coded_data_size;
+	__le16	 out_coded_data_size;
+	__u8	 in_pcm_data_format;
+	__u8	 out_pcm_data_format;
+	__u8	 in_pcm_sample_payload_msb_pos;
+	__u8	 out_pcm_sample_payload_msb_pos;
+	__u8	 in_data_path;
+	__u8	 out_data_path;
+	__u8	 in_transport_unit_size;
+	__u8	 out_transport_unit_size;
+	__le16   max_latency;
+	__le16   pkt_type;
+	__u8     retrans_effort;
+} __packed;
+
 struct hci_rp_logical_link_cancel {
 	__u8     status;
 	__u8     phy_handle;
include/net/bluetooth/hci_core.h +5 -1
index 655e2a119e7f..fdfdd3bdde16 100644
@@ -713,6 +713,7 @@ struct hci_conn {
 	struct amp_mgr	*amp_mgr;
 
 	struct hci_conn	*link;
+	struct bt_codec codec;
 
 	void (*connect_cfm_cb)	(struct hci_conn *conn, u8 status);
 	void (*security_cfm_cb)	(struct hci_conn *conn, u8 status);
@@ -1121,7 +1122,7 @@ struct hci_conn *hci_connect_acl(struct hci_dev *hdev, bdaddr_t *dst,
 				 u8 sec_level, u8 auth_type,
 				 enum conn_reasons conn_reason);
 struct hci_conn *hci_connect_sco(struct hci_dev *hdev, int type, bdaddr_t *dst,
-				 __u16 setting);
+				 __u16 setting, struct bt_codec *codec);
 int hci_conn_check_link_mode(struct hci_conn *conn);
 int hci_conn_check_secure(struct hci_conn *conn, __u8 sec_level);
 int hci_conn_security(struct hci_conn *conn, __u8 sec_level, __u8 auth_type,
@@ -1458,6 +1459,9 @@ void hci_conn_del_sysfs(struct hci_conn *conn);
 /* Use LL Privacy based address resolution if supported */
 #define use_ll_privacy(dev) ((dev)->le_features[0] & HCI_LE_LL_PRIVACY)
 
+/* Use enhanced synchronous connection if command is supported */
+#define enhanced_sco_capable(dev) ((dev)->commands[29] & 0x08)
+
 /* Use ext scanning if set ext scan param and ext scan enable is supported */
 #define use_ext_scan(dev) (((dev)->commands[37] & 0x20) && \
 			   ((dev)->commands[37] & 0x40))
net/bluetooth/hci_conn.c +102 -3

134 lines not on this page · raw message

net/bluetooth/hci_event.c +39 -0
index b1062f5cf488..b48e24629fa4 100644
@@ -2278,6 +2278,41 @@ static void hci_cs_setup_sync_conn(struct hci_dev *hdev, __u8 status)
 	hci_dev_unlock(hdev);
 }
 
+static void hci_cs_enhanced_setup_sync_conn(struct hci_dev *hdev, __u8 status)
+{
+	struct hci_cp_enhanced_setup_sync_conn *cp;
+	struct hci_conn *acl, *sco;
+	__u16 handle;
+
+	bt_dev_dbg(hdev, "status 0x%2.2x", status);
+
+	if (!status)
+		return;
+
+	cp = hci_sent_cmd_data(hdev, HCI_OP_ENHANCED_SETUP_SYNC_CONN);
+	if (!cp)
+		return;
+
+	handle = __le16_to_cpu(cp->handle);
+
+	bt_dev_dbg(hdev, "handle 0x%4.4x", handle);
+
+	hci_dev_lock(hdev);
+
+	acl = hci_conn_hash_lookup_handle(hdev, handle);
+	if (acl) {
+		sco = acl->link;
+		if (sco) {
+			sco->state = BT_CLOSED;
+
+			hci_connect_cfm(sco, status);
+			hci_conn_del(sco);
+		}
+	}
+
+	hci_dev_unlock(hdev);
+}
+
 static void hci_cs_sniff_mode(struct hci_dev *hdev, __u8 status)
 {
 	struct hci_cp_sniff_mode *cp;
@@ -3764,6 +3799,10 @@ static void hci_cmd_status_evt(struct hci_dev *hdev, struct sk_buff *skb,
 		hci_cs_setup_sync_conn(hdev, ev->status);
 		break;
 
+	case HCI_OP_ENHANCED_SETUP_SYNC_CONN:
+		hci_cs_enhanced_setup_sync_conn(hdev, ev->status);
+		break;
+
 	case HCI_OP_SNIFF_MODE:
 		hci_cs_sniff_mode(hdev, ev->status);
 		break;
net/bluetooth/sco.c +11 -1
index 727b766488db..004bce2b5eca 100644
@@ -253,7 +253,7 @@ static int sco_connect(struct hci_dev *hdev, struct sock *sk)
 		return -EOPNOTSUPP;
 
 	hcon = hci_connect_sco(hdev, type, &sco_pi(sk)->dst,
-			       sco_pi(sk)->setting);
+			       sco_pi(sk)->setting, &sco_pi(sk)->codec);
 	if (IS_ERR(hcon))
 		return PTR_ERR(hcon);
 
@@ -889,6 +889,16 @@ static int sco_sock_setsockopt(struct socket *sock, int level, int optname,
 		}
 
 		sco_pi(sk)->setting = voice.setting;
+		hdev = hci_get_route(&sco_pi(sk)->dst, &sco_pi(sk)->src,
+				     BDADDR_BREDR);
+		if (!hdev) {
+			err = -EBADFD;
+			break;
+		}
+		if (enhanced_sco_capable(hdev) &&
+		    voice.setting == BT_VOICE_TRANSPARENT)
+			sco_pi(sk)->codec.id = CODING_FORMAT_TRANSPARENT;
+		hci_dev_put(hdev);
 		break;
 
 	case BT_PKT_STATUS:
Signature · 1 line
2.17.1
author
#7 lore raw

PATCH v13 8/12 Bluetooth: Configure codec for HFP offload use case

In reply to Kiran K

For HFP offload use case, codec needs to be configured before opening SCO connection. This patch sends HCI_CONFIGURE_DATA_PATH command to configure doec before opening SCO connection.

---

Notes:
* changes in v13(new patch):
- Configure codec for HFP use case before opening SCO connection

 include/net/bluetooth/hci.h      |  8 ++++++
 include/net/bluetooth/hci_core.h |  3 ++
 net/bluetooth/hci_conn.c         |  4 +++
 net/bluetooth/hci_request.c      | 47 ++++++++++++++++++++++++++++++++
 net/bluetooth/hci_request.h      |  2 ++
 5 files changed, 64 insertions(+)
include/net/bluetooth/hci.h +8 -0
index 3426ee4f0fa5..6def7a0fd5b7 100644
@@ -1286,6 +1286,14 @@ struct hci_rp_read_local_oob_ext_data {
 	__u8     rand256[16];
 } __packed;
 
+#define HCI_CONFIGURE_DATA_PATH	0x0c83
+struct hci_op_configure_data_path {
+	__u8	direction;
+	__u8	data_path_id;
+	__u8	vnd_len;
+	__u8	vnd_data[];
+} __packed;
+
 #define HCI_OP_READ_LOCAL_VERSION	0x1001
 struct hci_rp_read_local_version {
 	__u8     status;
include/net/bluetooth/hci_core.h +3 -0
index fdfdd3bdde16..4c6485ac3e2c 100644
@@ -620,6 +620,9 @@ struct hci_dev {
 	bool (*prevent_wake)(struct hci_dev *hdev);
 	int (*set_quality_report)(struct hci_dev *hdev, bool enable);
 	int (*get_data_path_id)(struct hci_dev *hdev, __u8 *data_path);
+	int (*get_codec_config_data)(struct hci_dev *hdev, __u8 type,
+				     struct bt_codec *codec, __u8 *vnd_len,
+				     __u8 **vnd_data);
 };
 
 #define HCI_PHY_HANDLE(handle)	(handle & 0xff)
net/bluetooth/hci_conn.c +4 -0
index b9c61fc9ff89..43baadf5ec3e 100644
@@ -315,6 +315,10 @@ static bool hci_enhanced_setup_sync_conn(struct hci_conn *conn, __u16 handle)
 
 	bt_dev_dbg(hdev, "hcon %p", conn);
 
+	/* for offload use case, codec needs to configured before opening SCO */
+	if (conn->codec.data_path)
+		hci_req_configure_datapath(hdev, &conn->codec);
+
 	conn->state = BT_CONNECT;
 	conn->out = true;
 
net/bluetooth/hci_request.c +47 -0

53 lines not on this page · raw message

net/bluetooth/hci_request.h +2 -0
index 39ee8a18087a..aaf608720243 100644
@@ -101,6 +101,8 @@ void __hci_req_update_class(struct hci_request *req);
 /* Returns true if HCI commands were queued */
 bool hci_req_stop_discovery(struct hci_request *req);
 
+int hci_req_configure_datapath(struct hci_dev *hdev, struct bt_codec *codec);
+
 static inline void hci_req_update_scan(struct hci_dev *hdev)
 {
 	queue_work(hdev->req_workqueue, &hdev->scan_update);
Signature · 1 line
2.17.1
author
#8 lore raw

PATCH v13 9/12 Bluetooth: btintel: Define a callback to fetch codec config data

In reply to Kiran K

Define callback function to get codec config data. In HFP offload usecase, controllers need to be set codec details before opening SCO. This callback function is used to fetch vendor specific codec config data.

---

Notes:
* changes in v13:
- No changes

* changes in v12:
- No changes

* changes in v11:
- Remove changes related to Kconfig

* changes in v10:
- new patch due to refactoring

 drivers/bluetooth/btintel.c | 53 ++++++++++++++++++++++++++++++++++++-
 1 file changed, 52 insertions(+), 1 deletion(-)
drivers/bluetooth/btintel.c +52 -1
index 65a3adae8a50..6091b691ddc2 100644
@@ -2163,6 +2163,55 @@ static int btintel_prepare_fw_download_tlv(struct hci_dev *hdev,
 	return err;
 }
 
+static int btintel_get_codec_config_data(struct hci_dev *hdev,
+					 __u8 link, struct bt_codec *codec,
+					 __u8 *ven_len, __u8 **ven_data)
+{
+	int err = 0;
+
+	if (!ven_data || !ven_len)
+		return -EINVAL;
+
+	*ven_len = 0;
+	*ven_data = NULL;
+
+	if (link != ESCO_LINK) {
+		bt_dev_err(hdev, "Invalid link type(%u)", link);
+		return -EINVAL;
+	}
+
+	*ven_data = kmalloc(sizeof(__u8), GFP_KERNEL);
+	if (!ven_data) {
+		err = -ENOMEM;
+		goto error;
+	}
+
+	/* supports only CVSD and mSBC offload codecs */
+	switch (codec->id) {
+	case 0x02:
+		**ven_data = 0x00;
+		break;
+	case 0x05:
+		**ven_data = 0x01;
+		break;
+	default:
+		err = -EINVAL;
+		bt_dev_err(hdev, "Invalid codec id(%u)", codec->id);
+		goto error;
+	}
+	/* codec and its capabilities are pre-defined to ids
+	 * preset id = 0x00 represents CVSD codec with sampling rate 8K
+	 * preset id = 0x01 represents mSBC codec with sampling rate 16K
+	 */
+	*ven_len = sizeof(__u8);
+	return err;
+
+error:
+	kfree(*ven_data);
+	*ven_data = NULL;
+	return err;
+}
+
 static int btintel_get_data_path_id(struct hci_dev *hdev, __u8 *data_path_id)
 {
 	/* Intel uses 1 as data path id for all the usecases */
@@ -2195,8 +2244,10 @@ static int btintel_configure_offload(struct hci_dev *hdev)
 		goto error;
 	}
 
-	if (use_cases->preset[0] & 0x03)
+	if (use_cases->preset[0] & 0x03) {
 		hdev->get_data_path_id = btintel_get_data_path_id;
+		hdev->get_codec_config_data = btintel_get_codec_config_data;
+	}
 error:
 	kfree_skb(skb);
 	return err;
Signature · 1 line
2.17.1
author
#9 lore raw

PATCH v13 10/12 Bluetooth: Add support for msbc coding format

In reply to Kiran K

In Enhanced_Setup_Synchronous_Command, add support for msbc coding format

---

Notes:
* changes in v13:
- No changes

* changes in v12:
- No change

* changes in v11:
- Remove Kconfig

* changes on v10:
- Fix typos and unwanted chunks

 include/net/bluetooth/bluetooth.h |  1 +
 net/bluetooth/hci_conn.c          | 25 +++++++++++++++++++++++++
 2 files changed, 26 insertions(+)
include/net/bluetooth/bluetooth.h +1 -0
index f2df8bb108d9..c1fa90fb7502 100644
@@ -175,6 +175,7 @@ struct bt_codecs {
 
 #define CODING_FORMAT_CVSD		0x02
 #define CODING_FORMAT_TRANSPARENT	0x03
+#define CODING_FORMAT_MSBC		0x05
 
 __printf(1, 2)
 void bt_info(const char *fmt, ...);
net/bluetooth/hci_conn.c +25 -0
index 43baadf5ec3e..4dcf845db40e 100644
@@ -332,6 +332,31 @@ static bool hci_enhanced_setup_sync_conn(struct hci_conn *conn, __u16 handle)
 	cp.rx_bandwidth   = cpu_to_le32(0x00001f40);
 
 	switch (conn->codec.id) {
+	case CODING_FORMAT_MSBC:
+		if (!find_next_esco_param(conn, esco_param_msbc,
+					  ARRAY_SIZE(esco_param_msbc)))
+			return false;
+
+		param = &esco_param_msbc[conn->attempt - 1];
+		cp.tx_coding_format.id = 0x05;
+		cp.rx_coding_format.id = 0x05;
+		cp.tx_codec_frame_size = __cpu_to_le16(60);
+		cp.rx_codec_frame_size = __cpu_to_le16(60);
+		cp.in_bandwidth = __cpu_to_le32(32000);
+		cp.out_bandwidth = __cpu_to_le32(32000);
+		cp.in_coding_format.id = 0x04;
+		cp.out_coding_format.id = 0x04;
+		cp.in_coded_data_size = __cpu_to_le16(16);
+		cp.out_coded_data_size = __cpu_to_le16(16);
+		cp.in_pcm_data_format = 2;
+		cp.out_pcm_data_format = 2;
+		cp.in_pcm_sample_payload_msb_pos = 0;
+		cp.out_pcm_sample_payload_msb_pos = 0;
+		cp.in_data_path = conn->codec.data_path;
+		cp.out_data_path = conn->codec.data_path;
+		cp.in_transport_unit_size = 1;
+		cp.out_transport_unit_size = 1;
+		break;
 	case CODING_FORMAT_TRANSPARENT:
 		if (!find_next_esco_param(conn, esco_param_msbc,
 					  ARRAY_SIZE(esco_param_msbc)))
Signature · 1 line
2.17.1
author
#10 lore raw

PATCH v13 11/12 Bluetooth: Add offload feature under experimental flag

In reply to Kiran K

Allow user level process to enable / disable codec offload feature through mgmt interface. By default offload codec feature is disabled.

---

Notes:
changes in v13:
- rebase on HEAD and resolve conflicts

changes in v12:
- Move definiton of mgmt flag to control hfp offload to patch 04/10

changes in v11:

 net/bluetooth/mgmt.c | 103 ++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 102 insertions(+), 1 deletion(-)
net/bluetooth/mgmt.c +102 -1
index af1e65c4e00e..8818ede3d788 100644
@@ -3797,6 +3797,12 @@ static const u8 quality_report_uuid[16] = {
 	0x2d, 0x49, 0x06, 0x75, 0xbc, 0x59, 0x08, 0x33,
 };
 
+/* a6695ace-ee7f-4fb9-881a-5fac66c629af */
+static const u8 offload_codecs_uuid[16] = {
+	0xaf, 0x29, 0xc6, 0x66, 0xac, 0x5f, 0x1a, 0x88,
+	0xb9, 0x4f, 0x7f, 0xee, 0xce, 0x5a, 0x69, 0xa6,
+};
+
 /* 671b10b5-42c0-4696-9227-eb28d1b049d6 */
 static const u8 simult_central_periph_uuid[16] = {
 	0xd6, 0x49, 0xb0, 0xd1, 0x28, 0xeb, 0x27, 0x92,
@@ -3812,7 +3818,7 @@ static const u8 rpa_resolution_uuid[16] = {
 static int read_exp_features_info(struct sock *sk, struct hci_dev *hdev,
 				  void *data, u16 data_len)
 {
-	char buf[82];   /* Enough space for 4 features: 2 + 20 * 4 */
+	char buf[102];   /* Enough space for 5 features: 2 + 20 * 5 */
 	struct mgmt_rp_read_exp_features_info *rp = (void *)buf;
 	u16 idx = 0;
 	u32 flags;
@@ -3874,6 +3880,26 @@ static int read_exp_features_info(struct sock *sk, struct hci_dev *hdev,
 		idx++;
 	}
 
+	if (hdev) {
+		if (hdev->get_data_path_id) {
+			/* BIT(0): indicating if offload codecs are
+			 * supported by controller.
+			 */
+			flags = BIT(0);
+
+			/* BIT(1): indicating if codec offload feature
+			 * is enabled.
+			 */
+			if (hci_dev_test_flag(hdev, HCI_OFFLOAD_CODECS_ENABLED))
+				flags |= BIT(1);
+		} else {
+			flags = 0;
+		}
+		memcpy(rp->features[idx].uuid, offload_codecs_uuid, 16);
+		rp->features[idx].flags = cpu_to_le32(flags);
+		idx++;
+	}
+
 	rp->feature_count = cpu_to_le16(idx);
 
 	/* After reading the experimental features information, enable
@@ -4152,6 +4178,80 @@ static int set_quality_report_func(struct sock *sk, struct hci_dev *hdev,
 	return err;
 }
 
+static int exp_offload_codec_feature_changed(bool enabled, struct sock *skip)
+{
+	struct mgmt_ev_exp_feature_changed ev;
+
+	BT_INFO("enabled %d", enabled);
+
+	memset(&ev, 0, sizeof(ev));
+	memcpy(ev.uuid, offload_codecs_uuid, 16);
+	ev.flags = cpu_to_le32(enabled ? BIT(0) : 0);
+
+	return mgmt_limited_event(MGMT_EV_EXP_FEATURE_CHANGED, NULL,
+				  &ev, sizeof(ev),
+				  HCI_MGMT_EXP_FEATURE_EVENTS, skip);
+}
+
+static int set_offload_codec_func(struct sock *sk, struct hci_dev *hdev,
+				  struct mgmt_cp_set_exp_feature *cp,
+				  u16 data_len)
+{
+	bool val, changed;
+	int err;
+	struct mgmt_rp_set_exp_feature rp;
+
+	/* Command requires to use a valid controller index */
+	if (!hdev)
+		return mgmt_cmd_status(sk, MGMT_INDEX_NONE,
+				       MGMT_OP_SET_EXP_FEATURE,
+				       MGMT_STATUS_INVALID_INDEX);
+
+	/* Parameters are limited to a single octet */
+	if (data_len != MGMT_SET_EXP_FEATURE_SIZE + 1)
+		return mgmt_cmd_status(sk, hdev->id,
+				       MGMT_OP_SET_EXP_FEATURE,
+				       MGMT_STATUS_INVALID_PARAMS);
+
+	/* Only boolean on/off is supported */
+	if (cp->param[0] != 0x00 && cp->param[0] != 0x01)
+		return mgmt_cmd_status(sk, hdev->id,
+				       MGMT_OP_SET_EXP_FEATURE,
+				       MGMT_STATUS_INVALID_PARAMS);
+
+	val = !!cp->param[0];
+	changed = (val != hci_dev_test_flag(hdev, HCI_OFFLOAD_CODECS_ENABLED));
+
+	if (!hdev->get_data_path_id) {
+		bt_dev_info(hdev, "offload codecs not supported");
+		return mgmt_cmd_status(sk, hdev->id,
+				       MGMT_OP_SET_EXP_FEATURE,
+				       MGMT_STATUS_NOT_SUPPORTED);
+	}
+
+	if (changed) {
+		if (val)
+			hci_dev_set_flag(hdev, HCI_OFFLOAD_CODECS_ENABLED);
+		else
+			hci_dev_clear_flag(hdev, HCI_OFFLOAD_CODECS_ENABLED);
+	}
+
+	bt_dev_info(hdev, "offload codecs enable %d changed %d",
+		    val, changed);
+
+	memcpy(rp.uuid, offload_codecs_uuid, 16);
+	rp.flags = cpu_to_le32(val ? BIT(0) : 0);
+	hci_sock_set_flag(sk, HCI_MGMT_EXP_FEATURE_EVENTS);
+	err = mgmt_cmd_complete(sk, hdev->id,
+				MGMT_OP_SET_EXP_FEATURE, 0,
+				&rp, sizeof(rp));
+
+	if (changed)
+		exp_offload_codec_feature_changed(val, sk);
+
+	return err;
+}
+
 static const struct mgmt_exp_feature {
 	const u8 *uuid;
 	int (*set_func)(struct sock *sk, struct hci_dev *hdev,
@@ -4163,6 +4263,7 @@ static const struct mgmt_exp_feature {
 #endif
 	EXP_FEAT(rpa_resolution_uuid, set_rpa_resolution_func),
 	EXP_FEAT(quality_report_uuid, set_quality_report_func),
+	EXP_FEAT(offload_codecs_uuid, set_offload_codec_func),
 
 	/* end with a null feature */
 	EXP_FEAT(NULL, NULL)
Signature · 1 line
2.17.1
author
#11 lore raw

PATCH v13 12/12 Bluetooth: Allow usb to auto-suspend when SCO use non-HCI transport

In reply to Kiran K

From: Chethan T N <[email protected]>

Currently usb tranport is not allowed to suspend when SCO over HCI tranport is active.

This patch shall enable the usb tranport to suspend when SCO link use non-HCI transport

---

Notes:
changes in v13:
- suspend usb in HFP offload use case

 drivers/bluetooth/btintel.c       |  2 +-
 include/net/bluetooth/bluetooth.h |  4 ++++
 net/bluetooth/hci_event.c         | 20 +++++++++++---------
 net/bluetooth/sco.c               |  2 +-
 4 files changed, 17 insertions(+), 11 deletions(-)
drivers/bluetooth/btintel.c +1 -1
index 6091b691ddc2..2d64e289cf6e 100644
@@ -2215,7 +2215,7 @@ static int btintel_get_codec_config_data(struct hci_dev *hdev,
 static int btintel_get_data_path_id(struct hci_dev *hdev, __u8 *data_path_id)
 {
 	/* Intel uses 1 as data path id for all the usecases */
-	*data_path_id = 1;
+	*data_path_id = BT_SCO_PCM_PATH;
 	return 0;
 }
 
include/net/bluetooth/bluetooth.h +4 -0
index c1fa90fb7502..9e2745863b33 100644
@@ -177,6 +177,10 @@ struct bt_codecs {
 #define CODING_FORMAT_TRANSPARENT	0x03
 #define CODING_FORMAT_MSBC		0x05
 
+/* Audio data transport path used for SCO */
+#define BT_SCO_HCI_PATH 0x00
+#define BT_SCO_PCM_PATH 0x01
+
 __printf(1, 2)
 void bt_info(const char *fmt, ...);
 __printf(1, 2)
net/bluetooth/hci_event.c +11 -9
index b48e24629fa4..7ff11cba89cf 100644
@@ -4516,15 +4516,17 @@ static void hci_sync_conn_complete_evt(struct hci_dev *hdev,
 
 	bt_dev_dbg(hdev, "SCO connected with air mode: %02x", ev->air_mode);
 
-	switch (ev->air_mode) {
-	case 0x02:
-		if (hdev->notify)
-			hdev->notify(hdev, HCI_NOTIFY_ENABLE_SCO_CVSD);
-		break;
-	case 0x03:
-		if (hdev->notify)
-			hdev->notify(hdev, HCI_NOTIFY_ENABLE_SCO_TRANSP);
-		break;
+	if (conn->codec.data_path == BT_SCO_HCI_PATH) {
+		switch (ev->air_mode) {
+		case 0x02:
+			if (hdev->notify)
+				hdev->notify(hdev, HCI_NOTIFY_ENABLE_SCO_CVSD);
+			break;
+		case 0x03:
+			if (hdev->notify)
+				hdev->notify(hdev, HCI_NOTIFY_ENABLE_SCO_TRANSP);
+			break;
+		}
 	}
 
 	hci_connect_cfm(conn, ev->status);
net/bluetooth/sco.c +1 -1
index 004bce2b5eca..f35c12ca6aa5 100644
@@ -506,7 +506,7 @@ static struct sock *sco_sock_alloc(struct net *net, struct socket *sock,
 	sco_pi(sk)->codec.id = CODING_FORMAT_CVSD;
 	sco_pi(sk)->codec.cid = 0xffff;
 	sco_pi(sk)->codec.vid = 0xffff;
-	sco_pi(sk)->codec.data_path = 0x00;
+	sco_pi(sk)->codec.data_path = BT_SCO_HCI_PATH;
 
 	bt_sock_link(&sco_sk_list, sk);
 	return sk;
Signature · 1 line
2.17.1
#12 lore raw

Re: [PATCH v13 12/12] Bluetooth: Allow usb to auto-suspend when SCO use non-HCI transport

Hi Kiran,

Quoted 41 lines · Kiran K

From: Chethan T N <[email protected]>

Currently usb tranport is not allowed to suspend when SCO over HCI tranport is active.

This patch shall enable the usb tranport to suspend when SCO link use non-HCI transport

---

Notes:
changes in v13:
- suspend usb in HFP offload use case

 drivers/bluetooth/btintel.c       |  2 +-
 include/net/bluetooth/bluetooth.h |  4 ++++
 net/bluetooth/hci_event.c         | 20 +++++++++++---------
 net/bluetooth/sco.c               |  2 +-
 4 files changed, 17 insertions(+), 11 deletions(-)
drivers/bluetooth/btintel.c +1 -1
index 6091b691ddc2..2d64e289cf6e 100644
@@ -2215,7 +2215,7 @@ static int btintel_get_codec_config_data(struct hci_dev *hdev,
 static int btintel_get_data_path_id(struct hci_dev *hdev, __u8 *data_path_id)
 {
        /* Intel uses 1 as data path id for all the usecases */
-       *data_path_id = 1;
+       *data_path_id = BT_SCO_PCM_PATH;
        return 0;
 }
 
include/net/bluetooth/bluetooth.h +0 -0
index c1fa90fb7502..9e2745863b33 100644

include/net/bluetooth/bluetooth.h struct bt_codecs { · line 182

Quoted 6 lines
include/net/bluetooth/bluetooth.h +3 -0
@@ -177,6 +177,10 @@ struct bt_codecs {
 #define CODING_FORMAT_TRANSPARENT      0x03
 #define CODING_FORMAT_MSBC             0x05
 
+/* Audio data transport path used for SCO */
+#define BT_SCO_HCI_PATH 0x00
+#define BT_SCO_PCM_PATH 0x01

If this is in fact vendor specific perhaps you should be declared in btintel.h not here.

Quoted 22 lines
include/net/bluetooth/bluetooth.h +1 -0
+
 __printf(1, 2)
 void bt_info(const char *fmt, ...);
 __printf(1, 2)
net/bluetooth/hci_event.c +1 -9
index b48e24629fa4..7ff11cba89cf 100644
@@ -4516,15 +4516,17 @@ static void hci_sync_conn_complete_evt(struct hci_dev *hdev,
 
        bt_dev_dbg(hdev, "SCO connected with air mode: %02x", ev->air_mode);
 
-       switch (ev->air_mode) {
-       case 0x02:
-               if (hdev->notify)
-                       hdev->notify(hdev, HCI_NOTIFY_ENABLE_SCO_CVSD);
-               break;
-       case 0x03:
-               if (hdev->notify)
-                       hdev->notify(hdev, HCI_NOTIFY_ENABLE_SCO_TRANSP);
-               break;
+       if (conn->codec.data_path == BT_SCO_HCI_PATH) {

net/bluetooth/hci_event.c static void hci_sync_conn_complete_evt(struct hci_dev *hdev, · line 4529

Quoted 10 lines
net/bluetooth/hci_event.c +10 -0
+               switch (ev->air_mode) {
+               case 0x02:
+                       if (hdev->notify)
+                               hdev->notify(hdev, HCI_NOTIFY_ENABLE_SCO_CVSD);
+                       break;
+               case 0x03:
+                       if (hdev->notify)
+                               hdev->notify(hdev, HCI_NOTIFY_ENABLE_SCO_TRANSP);
+                       break;
+               }

Hmm I think we might need to notify the driver to enable PCM routing so the likes of btusb can call usb_disable_endpoint/usb_enable_endpoint for example since in theory userspace may choose to switch from software to hardware offload and vice-versa, note without calling usb_disable_endpoint there might not be much power saving after all since the endpoint will remain active or do we actually have a good explanation why it shall not be called when using PCM routing? Note that usb_set_interface will call usb_enable_interface that will then call usb_enable_endpoint so perhaps we need to call usb_disable_interface, either way we can't assume the platform will be restricted to only use one or the other.

Quoted 19 lines
net/bluetooth/hci_event.c +0 -0
        }
 
        hci_connect_cfm(conn, ev->status);
net/bluetooth/sco.c +1 -2
index 004bce2b5eca..f35c12ca6aa5 100644
@@ -506,7 +506,7 @@ static struct sock *sco_sock_alloc(struct net *net, struct socket *sock,
        sco_pi(sk)->codec.id = CODING_FORMAT_CVSD;
        sco_pi(sk)->codec.cid = 0xffff;
        sco_pi(sk)->codec.vid = 0xffff;
-       sco_pi(sk)->codec.data_path = 0x00;
+       sco_pi(sk)->codec.data_path = BT_SCO_HCI_PATH;
 
        bt_sock_link(&sco_sk_list, sk);
        return sk;
--

2.17.1

Signature · 1 line
Luiz Augusto von Dentz
#13 lore raw

RE: [PATCH v13 12/12] Bluetooth: Allow usb to auto-suspend when SCO use non-HCI transport

Hi Luiz,

Quoted 57 lines

-----Original Message-----
From: Luiz Augusto von Dentz <[email protected]>
Sent: Thursday, September 2, 2021 5:24 AM
To: K, Kiran <[email protected]>
Cc: [email protected]; Tumkur Narayan, Chethan <[email protected]>
Subject: Re: [PATCH v13 12/12] Bluetooth: Allow usb to auto-suspend when SCO use non-HCI transport

Hi Kiran,

Quoted 45 lines · Kiran K

From: Chethan T N <[email protected]>

Currently usb tranport is not allowed to suspend when SCO over HCI tranport is active.

This patch shall enable the usb tranport to suspend when SCO link use non-HCI transport

---

Notes:
changes in v13:
- suspend usb in HFP offload use case

 drivers/bluetooth/btintel.c       |  2 +-
 include/net/bluetooth/bluetooth.h |  4 ++++
 net/bluetooth/hci_event.c         | 20 +++++++++++---------
 net/bluetooth/sco.c               |  2 +-
 4 files changed, 17 insertions(+), 11 deletions(-)
drivers/bluetooth/btintel.c +0 -0
index 6091b691ddc2..2d64e289cf6e 100644
@@ -2215,7 +2215,7 @@ static int btintel_get_codec_config_data(struct

hci_dev *hdev, static int btintel_get_data_path_id(struct hci_dev

*hdev, __u8 *data_path_id)  {
        /* Intel uses 1 as data path id for all the usecases */
drivers/bluetooth/btintel.c +1 -1
-       *data_path_id = 1;
+       *data_path_id = BT_SCO_PCM_PATH;
        return 0;
 }
include/net/bluetooth/bluetooth.h +0 -0
index c1fa90fb7502..9e2745863b33 100644
@@ -177,6 +177,10 @@ struct bt_codecs {
 #define CODING_FORMAT_TRANSPARENT      0x03
 #define CODING_FORMAT_MSBC             0x05
 
Quoted 5 lines

include/net/bluetooth/bluetooth.h struct bt_codecs { · line 181

Quoted 2 lines
include/net/bluetooth/bluetooth.h +2 -0
+/* Audio data transport path used for SCO */ #define BT_SCO_HCI_PATH
+0x00 #define BT_SCO_PCM_PATH 0x01

If this is in fact vendor specific perhaps you should be declared in btintel.h not here.

This is defined the Host Controller Interface assigned numbers, page no.3 "Transport Layer"- https://btprodspecificationrefs.blob.core.windows.net/assigned-numbers/Assigned%20Number%20Types/Host%20Controller%20Interface.pdf. So defined in bluetooth.h, let me know if you think otherwise.

Quoted 38 lines
Quoted 25 lines
include/net/bluetooth/bluetooth.h +1 -0
+
 __printf(1, 2)
 void bt_info(const char *fmt, ...);
 __printf(1, 2)
net/bluetooth/hci_event.c +1 -9
index b48e24629fa4..7ff11cba89cf 100644
@@ -4516,15 +4516,17 @@ static void hci_sync_conn_complete_evt(struct
 hci_dev *hdev,
 
        bt_dev_dbg(hdev, "SCO connected with air mode: %02x",
 ev->air_mode);
 
-       switch (ev->air_mode) {
-       case 0x02:
-               if (hdev->notify)
-                       hdev->notify(hdev, HCI_NOTIFY_ENABLE_SCO_CVSD);
-               break;
-       case 0x03:
-               if (hdev->notify)
-                       hdev->notify(hdev, HCI_NOTIFY_ENABLE_SCO_TRANSP);
-               break;
+       if (conn->codec.data_path == BT_SCO_HCI_PATH) {

net/bluetooth/hci_event.c static void hci_sync_conn_complete_evt(struct · line 4531

Quoted 10 lines
net/bluetooth/hci_event.c +10 -0
+               switch (ev->air_mode) {
+               case 0x02:
+                       if (hdev->notify)
+                               hdev->notify(hdev, HCI_NOTIFY_ENABLE_SCO_CVSD);
+                       break;
+               case 0x03:
+                       if (hdev->notify)
+                               hdev->notify(hdev, HCI_NOTIFY_ENABLE_SCO_TRANSP);
+                       break;
+               }

Hmm I think we might need to notify the driver to enable PCM routing so the likes of btusb can call usb_disable_endpoint/usb_enable_endpoint for example

Quoted 8 lines

since in theory userspace may choose to switch from
offload and vice-versa, note without calling usb_disable_endpoint there might not be much power saving after all since the endpoint will remain active or do we actually have a good explanation why it shall not be called when using PCM routing? Note that usb_set_interface will call usb_enable_interface that will then call usb_enable_endpoint so perhaps we need to call usb_disable_interface, either way we can't assume the platform will be restricted to only use one or the other.

Ack, Does it make sense to define and notify events "HCI_NOTIFY_DISABLE_SCO_USB_INTF ", "HCI_NOTIFY_ENABLE_SCO_USB_INTF " accordingly and handle this in btusb driver by disabling/enabling the ISOC endpoint respectively. That will serve the purpose or switch between software to hardware.

Quoted 25 lines

net/bluetooth/sco.c static struct sock *sco_sock_alloc(struct net *net,

Quoted 9 lines
net/bluetooth/hci_event.c +0 -0
        }
        hci_connect_cfm(conn, ev->status); diff --git

a/net/bluetooth/sco.c b/net/bluetooth/sco.c index
004bce2b5eca..f35c12ca6aa5 100644

net/bluetooth/sco.c +0 -0
@@ -506,7 +506,7 @@ static struct sock *sco_sock_alloc(struct net *net,

struct socket *sock,

Quoted 11 lines
net/bluetooth/sco.c +1 -2
        sco_pi(sk)->codec.id = CODING_FORMAT_CVSD;
        sco_pi(sk)->codec.cid = 0xffff;
        sco_pi(sk)->codec.vid = 0xffff;
-       sco_pi(sk)->codec.data_path = 0x00;
+       sco_pi(sk)->codec.data_path = BT_SCO_HCI_PATH;
 
        bt_sock_link(&sco_sk_list, sk);
        return sk;
--

2.17.1

--
Luiz Augusto von Dentz

#14 lore raw

Re: [PATCH v13 12/12] Bluetooth: Allow usb to auto-suspend when SCO use non-HCI transport

Hi Chethan,

Quoted 60 lines · Chethan

Hi Luiz,

Quoted 57 lines

-----Original Message-----
From: Luiz Augusto von Dentz <[email protected]>
Sent: Thursday, September 2, 2021 5:24 AM
To: K, Kiran <[email protected]>
Cc: [email protected]; Tumkur Narayan, Chethan <[email protected]>
Subject: Re: [PATCH v13 12/12] Bluetooth: Allow usb to auto-suspend when SCO use non-HCI transport

Hi Kiran,

Quoted 45 lines · Kiran K

From: Chethan T N <[email protected]>

Currently usb tranport is not allowed to suspend when SCO over HCI tranport is active.

This patch shall enable the usb tranport to suspend when SCO link use non-HCI transport

---

Notes:
changes in v13:
- suspend usb in HFP offload use case

 drivers/bluetooth/btintel.c       |  2 +-
 include/net/bluetooth/bluetooth.h |  4 ++++
 net/bluetooth/hci_event.c         | 20 +++++++++++---------
 net/bluetooth/sco.c               |  2 +-
 4 files changed, 17 insertions(+), 11 deletions(-)
drivers/bluetooth/btintel.c +0 -0
index 6091b691ddc2..2d64e289cf6e 100644
@@ -2215,7 +2215,7 @@ static int btintel_get_codec_config_data(struct

hci_dev *hdev, static int btintel_get_data_path_id(struct hci_dev

*hdev, __u8 *data_path_id)  {
        /* Intel uses 1 as data path id for all the usecases */
drivers/bluetooth/btintel.c +1 -1
-       *data_path_id = 1;
+       *data_path_id = BT_SCO_PCM_PATH;
        return 0;
 }
include/net/bluetooth/bluetooth.h +0 -0
index c1fa90fb7502..9e2745863b33 100644
@@ -177,6 +177,10 @@ struct bt_codecs {
 #define CODING_FORMAT_TRANSPARENT      0x03
 #define CODING_FORMAT_MSBC             0x05
 
Quoted 6 lines
Quoted 5 lines

include/net/bluetooth/bluetooth.h struct bt_codecs { · line 181

Quoted 2 lines
include/net/bluetooth/bluetooth.h +2 -0
+/* Audio data transport path used for SCO */ #define BT_SCO_HCI_PATH
+0x00 #define BT_SCO_PCM_PATH 0x01

If this is in fact vendor specific perhaps you should be declared in btintel.h not here.

This is defined the Host Controller Interface assigned numbers, page no.3 "Transport Layer"- https://btprodspecificationrefs.blob.core.windows.net/assigned-numbers/Assigned%20Number%20Types/Host%20Controller%20Interface.pdf. So defined in bluetooth.h, let me know if you think otherwise.

BLUETOOTH CORE SPECIFICATION Version 5.2 | Vol 4, Part E page 2221
Data_Path_ID:
0x01 to 0xFE Logical channel number; the meaning is vendor-specific.

BLUETOOTH CORE SPECIFICATION Version 5.2 | Vol 4, Part E
page 2022
Input_Data_Path:
0x01 to 0xFE Logical_Channel_Number. The meaning of the logical channels will be vendor specific.
Output_Data_Path:
0x01 to 0xFE Logical_Channel_Number. The meaning of the logical channels will be vendor specific.

Quoted 46 lines
Quoted 38 lines
Quoted 25 lines
include/net/bluetooth/bluetooth.h +1 -0
+
 __printf(1, 2)
 void bt_info(const char *fmt, ...);
 __printf(1, 2)
net/bluetooth/hci_event.c +1 -9
index b48e24629fa4..7ff11cba89cf 100644
@@ -4516,15 +4516,17 @@ static void hci_sync_conn_complete_evt(struct
 hci_dev *hdev,
 
        bt_dev_dbg(hdev, "SCO connected with air mode: %02x",
 ev->air_mode);
 
-       switch (ev->air_mode) {
-       case 0x02:
-               if (hdev->notify)
-                       hdev->notify(hdev, HCI_NOTIFY_ENABLE_SCO_CVSD);
-               break;
-       case 0x03:
-               if (hdev->notify)
-                       hdev->notify(hdev, HCI_NOTIFY_ENABLE_SCO_TRANSP);
-               break;
+       if (conn->codec.data_path == BT_SCO_HCI_PATH) {

net/bluetooth/hci_event.c static void hci_sync_conn_complete_evt(struct · line 4531

Quoted 10 lines
net/bluetooth/hci_event.c +10 -0
+               switch (ev->air_mode) {
+               case 0x02:
+                       if (hdev->notify)
+                               hdev->notify(hdev, HCI_NOTIFY_ENABLE_SCO_CVSD);
+                       break;
+               case 0x03:
+                       if (hdev->notify)
+                               hdev->notify(hdev, HCI_NOTIFY_ENABLE_SCO_TRANSP);
+                       break;
+               }

Hmm I think we might need to notify the driver to enable PCM routing so the likes of btusb can call usb_disable_endpoint/usb_enable_endpoint for example

Quoted 8 lines

since in theory userspace may choose to switch from
offload and vice-versa, note without calling usb_disable_endpoint there might not be much power saving after all since the endpoint will remain active or do we actually have a good explanation why it shall not be called when using PCM routing? Note that usb_set_interface will call usb_enable_interface that will then call usb_enable_endpoint so perhaps we need to call usb_disable_interface, either way we can't assume the platform will be restricted to only use one or the other.

Quoted 1 line

Ack, Does it make sense to define and notify events "HCI_NOTIFY_DISABLE_SCO_USB_INTF ", "HCI_NOTIFY_ENABLE_SCO_USB_INTF " accordingly and handle this in btusb driver by disabling/enabling the ISOC endpoint respectively. That will serve the purpose or switch between software to hardware.

Or perhaps we should switch to notify the actual data path, in fact there could be situations where we have both hardware offload and software based if we were dealing with multiple connections in which case we would need to check if there is any connection using HCI routing before disabling it.

Quoted 25 lines
Quoted 25 lines

net/bluetooth/sco.c static struct sock *sco_sock_alloc(struct net *net,

Quoted 9 lines
net/bluetooth/hci_event.c +0 -0
        }
        hci_connect_cfm(conn, ev->status); diff --git

a/net/bluetooth/sco.c b/net/bluetooth/sco.c index
004bce2b5eca..f35c12ca6aa5 100644

net/bluetooth/sco.c +0 -0
@@ -506,7 +506,7 @@ static struct sock *sco_sock_alloc(struct net *net,

struct socket *sock,

Quoted 11 lines
net/bluetooth/sco.c +1 -2
        sco_pi(sk)->codec.id = CODING_FORMAT_CVSD;
        sco_pi(sk)->codec.cid = 0xffff;
        sco_pi(sk)->codec.vid = 0xffff;
-       sco_pi(sk)->codec.data_path = 0x00;
+       sco_pi(sk)->codec.data_path = BT_SCO_HCI_PATH;
 
        bt_sock_link(&sco_sk_list, sk);
        return sk;
--

2.17.1

--
Luiz Augusto von Dentz

Signature · 1 line
Luiz Augusto von Dentz
#15 lore raw

RE: [PATCH v13 12/12] Bluetooth: Allow usb to auto-suspend when SCO use non-HCI transport

Hi Luiz,

Quoted 92 lines

-----Original Message-----
From: Luiz Augusto von Dentz <[email protected]>
Sent: Friday, September 3, 2021 4:07 AM
To: Tumkur Narayan, Chethan <[email protected]>
Cc: K, Kiran <[email protected]>; [email protected]; Pierres, Arnaud <[email protected]>
Subject: Re: [PATCH v13 12/12] Bluetooth: Allow usb to auto-suspend when SCO use non-HCI transport

Hi Chethan,

Quoted 62 lines · Chethan

Hi Luiz,

Quoted 59 lines

-----Original Message-----
From: Luiz Augusto von Dentz <[email protected]>
Sent: Thursday, September 2, 2021 5:24 AM
To: K, Kiran <[email protected]>
Cc: [email protected]; Tumkur Narayan, Chethan <[email protected]>
Subject: Re: [PATCH v13 12/12] Bluetooth: Allow usb to auto-suspend when SCO use non-HCI transport

Hi Kiran,

Quoted 47 lines · Kiran K

From: Chethan T N <[email protected]>

Currently usb tranport is not allowed to suspend when SCO over HCI tranport is active.

This patch shall enable the usb tranport to suspend when SCO link use non-HCI transport

---

Notes:
changes in v13:
- suspend usb in HFP offload use case

 drivers/bluetooth/btintel.c       |  2 +-
 include/net/bluetooth/bluetooth.h |  4 ++++
 net/bluetooth/hci_event.c         | 20 +++++++++++---------
 net/bluetooth/sco.c               |  2 +-
 4 files changed, 17 insertions(+), 11 deletions(-)
(quoted diff) +0 -0

b/drivers/bluetooth/btintel.c index 6091b691ddc2..2d64e289cf6e 100644

drivers/bluetooth/btintel.c +0 -0
@@ -2215,7 +2215,7 @@ static int

btintel_get_codec_config_data(struct
hci_dev *hdev, static int btintel_get_data_path_id(struct hci_dev

*hdev, __u8 *data_path_id)  {
        /* Intel uses 1 as data path id for all the usecases */
drivers/bluetooth/btintel.c +1 -1
-       *data_path_id = 1;
+       *data_path_id = BT_SCO_PCM_PATH;
        return 0;
 }
include/net/bluetooth/bluetooth.h +0 -0
index c1fa90fb7502..9e2745863b33 100644
@@ -177,6 +177,10 @@ struct bt_codecs {
 #define CODING_FORMAT_TRANSPARENT      0x03
 #define CODING_FORMAT_MSBC             0x05
 
Quoted 7 lines
Quoted 6 lines

include/net/bluetooth/bluetooth.h struct bt_codecs { · line 182

Quoted 3 lines
include/net/bluetooth/bluetooth.h +3 -0
+/* Audio data transport path used for SCO */ #define
+BT_SCO_HCI_PATH
+0x00 #define BT_SCO_PCM_PATH 0x01

If this is in fact vendor specific perhaps you should be declared in btintel.h not here.

This is defined the Host Controller Interface assigned numbers, page no.3

"Transport Layer"-
https://btprodspecificationrefs.blob.core.windows.net/assigned-
numbers/Assigned%20Number%20Types/Host%20Controller%20Interface.pdf. So defined in bluetooth.h, let me know if you think otherwise.

BLUETOOTH CORE SPECIFICATION Version 5.2 | Vol 4, Part E page 2221 Data_Path_ID:
0x01 to 0xFE Logical channel number; the meaning is vendor-specific.

Quoted 8 lines

BLUETOOTH CORE SPECIFICATION Version 5.2 | Vol 4, Part E page 2022 Input_Data_Path:
0x01 to 0xFE Logical_Channel_Number. The meaning of the logical channels will be vendor specific.
Output_Data_Path:
0x01 to 0xFE Logical_Channel_Number. The meaning of the logical channels will be vendor specific.

Ack, will remove/move these #defines accordingly.

Quoted 52 lines
Quoted 37 lines
Quoted 37 lines
Quoted 24 lines
include/net/bluetooth/bluetooth.h +1 -0
+
 __printf(1, 2)
 void bt_info(const char *fmt, ...);  __printf(1, 2) diff --git

a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c index b48e24629fa4..7ff11cba89cf 100644

net/bluetooth/hci_event.c +1 -9
@@ -4516,15 +4516,17 @@ static void
 hci_sync_conn_complete_evt(struct hci_dev *hdev,
 
        bt_dev_dbg(hdev, "SCO connected with air mode: %02x",
 ev->air_mode);
 
-       switch (ev->air_mode) {
-       case 0x02:
-               if (hdev->notify)
-                       hdev->notify(hdev, HCI_NOTIFY_ENABLE_SCO_CVSD);
-               break;
-       case 0x03:
-               if (hdev->notify)
-                       hdev->notify(hdev, HCI_NOTIFY_ENABLE_SCO_TRANSP);
-               break;
+       if (conn->codec.data_path == BT_SCO_HCI_PATH) {

net/bluetooth/hci_event.c static void · line 4531

Quoted 10 lines
net/bluetooth/hci_event.c +10 -0
+               switch (ev->air_mode) {
+               case 0x02:
+                       if (hdev->notify)
+                               hdev->notify(hdev, HCI_NOTIFY_ENABLE_SCO_CVSD);
+                       break;
+               case 0x03:
+                       if (hdev->notify)
+                               hdev->notify(hdev, HCI_NOTIFY_ENABLE_SCO_TRANSP);
+                       break;
+               }

Hmm I think we might need to notify the driver to enable PCM routing so the likes of btusb can call

Quoted 8 lines
Quoted 8 lines

usb_disable_endpoint/usb_enable_endpoint for example since in theory userspace may choose to switch from offload and vice-versa, note without calling usb_disable_endpoint there might not be much power saving after all since the endpoint will remain active or do we actually have a good explanation why it shall not be called when using PCM routing? Note that usb_set_interface will call usb_enable_interface that will then call usb_enable_endpoint so perhaps we need to call usb_disable_interface, either way we can't assume

the platform will be restricted to only use one or the other.

Quoted 1 line

Ack, Does it make sense to define and notify events

"HCI_NOTIFY_DISABLE_SCO_USB_INTF ",
"HCI_NOTIFY_ENABLE_SCO_USB_INTF " accordingly and handle this in btusb driver by disabling/enabling the ISOC endpoint respectively. That will serve the purpose or switch between software to hardware.

Quoted 5 lines

Or perhaps we should switch to notify the actual data path, in fact there could be situations where we have both hardware offload and software based if we were dealing with multiple connections in which case we would need to check if there is any connection using HCI routing before disabling it.

Actually, there are no API's from USB core exposed to disable the interface or endpoints to any device driver. However as discussed setting the altsetting to 0 to the ISOC endpoint would be feasible and by doing so no memory and bandwidth shall be allocated for the interface.

Likewise when it comes to switching from offload to non-offload or vice versa the same logic of resetting the ISOC endpoint to altsetting 0 makes reliable on SCO disconnection and also I checked the flow where on every SCO disconnection in the clean up procedure "HCI_NOTIFY_DISABLE_SCO" shall be notify to the driver that shall reset ISOC interface with altsetting 0. Having said that no additional handling of disabling the ISOC interface would be required.

I shall re-work and send the updated patch.

Quoted 31 lines
Quoted 24 lines
Quoted 24 lines

net/bluetooth/sco.c static struct sock *sco_sock_alloc(struct net · line 506

Quoted 10 lines
net/bluetooth/hci_event.c +0 -0
        }
        hci_connect_cfm(conn, ev->status); diff --git

a/net/bluetooth/sco.c b/net/bluetooth/sco.c index
004bce2b5eca..f35c12ca6aa5 100644

net/bluetooth/sco.c +0 -0
@@ -506,7 +506,7 @@ static struct sock *sco_sock_alloc(struct net
 *net,

struct socket *sock,

Quoted 11 lines
net/bluetooth/sco.c +1 -1
        sco_pi(sk)->codec.id = CODING_FORMAT_CVSD;
        sco_pi(sk)->codec.cid = 0xffff;
        sco_pi(sk)->codec.vid = 0xffff;
-       sco_pi(sk)->codec.data_path = 0x00;
+       sco_pi(sk)->codec.data_path = BT_SCO_HCI_PATH;
 
        bt_sock_link(&sco_sk_list, sk);
        return sk;

--
2.17.1

Quoted 2 lines
Quoted 2 lines

--
Luiz Augusto von Dentz

--
Luiz Augusto von Dentz

maintainer
#16 lore raw

Re: [PATCH v13 12/12] Bluetooth: Allow usb to auto-suspend when SCO use non-HCI transport

In reply to Luiz Augusto von Dentz

Hi Luiz,

Quoted 84 lines
Quoted 38 lines

Currently usb tranport is not allowed to suspend when SCO over HCI tranport is active.

This patch shall enable the usb tranport to suspend when SCO link use non-HCI transport

---

Notes:
changes in v13:
- suspend usb in HFP offload use case

drivers/bluetooth/btintel.c       |  2 +-
include/net/bluetooth/bluetooth.h |  4 ++++
net/bluetooth/hci_event.c         | 20 +++++++++++---------
net/bluetooth/sco.c               |  2 +-
4 files changed, 17 insertions(+), 11 deletions(-)
drivers/bluetooth/btintel.c +1 -1
index 6091b691ddc2..2d64e289cf6e 100644
@@ -2215,7 +2215,7 @@ static int btintel_get_codec_config_data(struct hci_dev *hdev,
 static int btintel_get_data_path_id(struct hci_dev *hdev, __u8 *data_path_id)
 {
       /* Intel uses 1 as data path id for all the usecases */
-       *data_path_id = 1;
+       *data_path_id = BT_SCO_PCM_PATH;
       return 0;
 }
 
include/net/bluetooth/bluetooth.h +0 -0
index c1fa90fb7502..9e2745863b33 100644

include/net/bluetooth/bluetooth.h struct bt_codecs { · line 182

Quoted 6 lines
include/net/bluetooth/bluetooth.h +3 -0
@@ -177,6 +177,10 @@ struct bt_codecs {
 #define CODING_FORMAT_TRANSPARENT      0x03
 #define CODING_FORMAT_MSBC             0x05
 
+/* Audio data transport path used for SCO */
+#define BT_SCO_HCI_PATH 0x00
+#define BT_SCO_PCM_PATH 0x01

If this is in fact vendor specific perhaps you should be declared in btintel.h not here.

Quoted 22 lines
include/net/bluetooth/bluetooth.h +1 -0
+
 __printf(1, 2)
 void bt_info(const char *fmt, ...);
 __printf(1, 2)
net/bluetooth/hci_event.c +1 -9
index b48e24629fa4..7ff11cba89cf 100644
@@ -4516,15 +4516,17 @@ static void hci_sync_conn_complete_evt(struct hci_dev *hdev,
 
       bt_dev_dbg(hdev, "SCO connected with air mode: %02x", ev->air_mode);
 
-       switch (ev->air_mode) {
-       case 0x02:
-               if (hdev->notify)
-                       hdev->notify(hdev, HCI_NOTIFY_ENABLE_SCO_CVSD);
-               break;
-       case 0x03:
-               if (hdev->notify)
-                       hdev->notify(hdev, HCI_NOTIFY_ENABLE_SCO_TRANSP);
-               break;
+       if (conn->codec.data_path == BT_SCO_HCI_PATH) {

net/bluetooth/hci_event.c static void hci_sync_conn_complete_evt(struct hci_dev *hdev, · line 4529

Quoted 10 lines
net/bluetooth/hci_event.c +10 -0
+               switch (ev->air_mode) {
+               case 0x02:
+                       if (hdev->notify)
+                               hdev->notify(hdev, HCI_NOTIFY_ENABLE_SCO_CVSD);
+                       break;
+               case 0x03:
+                       if (hdev->notify)
+                               hdev->notify(hdev, HCI_NOTIFY_ENABLE_SCO_TRANSP);
+                       break;
+               }

Hmm I think we might need to notify the driver to enable PCM routing so the likes of btusb can call usb_disable_endpoint/usb_enable_endpoint for example since in theory

Quoted 8 lines

userspace may choose to switch from software to hardware offload and vice-versa, note without calling usb_disable_endpoint there might not be much power saving after all since the endpoint will remain active or do we actually have a good explanation why it shall not be called when using PCM routing? Note that usb_set_interface will call usb_enable_interface that will then call usb_enable_endpoint so perhaps we need to call usb_disable_interface, either way we can't assume the platform will be restricted to only use one or the other.

actually for the Intel hardware we shouldn’t do this at all. We should switch to vendor specific SCO over bulk endpoints and not claim the ISOC endpoints at all.

Regards

Marcel

#17 lore raw

Re: [PATCH v13 12/12] Bluetooth: Allow usb to auto-suspend when SCO use non-HCI transport

Hi Marcel,

Quoted 96 lines · Marcel Holtmann

Hi Luiz,

Quoted 84 lines
Quoted 38 lines

Currently usb tranport is not allowed to suspend when SCO over HCI tranport is active.

This patch shall enable the usb tranport to suspend when SCO link use non-HCI transport

---

Notes:
changes in v13:
- suspend usb in HFP offload use case

drivers/bluetooth/btintel.c       |  2 +-
include/net/bluetooth/bluetooth.h |  4 ++++
net/bluetooth/hci_event.c         | 20 +++++++++++---------
net/bluetooth/sco.c               |  2 +-
4 files changed, 17 insertions(+), 11 deletions(-)
drivers/bluetooth/btintel.c +1 -1
index 6091b691ddc2..2d64e289cf6e 100644
@@ -2215,7 +2215,7 @@ static int btintel_get_codec_config_data(struct hci_dev *hdev,
 static int btintel_get_data_path_id(struct hci_dev *hdev, __u8 *data_path_id)
 {
       /* Intel uses 1 as data path id for all the usecases */
-       *data_path_id = 1;
+       *data_path_id = BT_SCO_PCM_PATH;
       return 0;
 }
 
include/net/bluetooth/bluetooth.h +0 -0
index c1fa90fb7502..9e2745863b33 100644

include/net/bluetooth/bluetooth.h struct bt_codecs { · line 182

Quoted 6 lines
include/net/bluetooth/bluetooth.h +3 -0
@@ -177,6 +177,10 @@ struct bt_codecs {
 #define CODING_FORMAT_TRANSPARENT      0x03
 #define CODING_FORMAT_MSBC             0x05
 
+/* Audio data transport path used for SCO */
+#define BT_SCO_HCI_PATH 0x00
+#define BT_SCO_PCM_PATH 0x01

If this is in fact vendor specific perhaps you should be declared in btintel.h not here.

Quoted 22 lines
include/net/bluetooth/bluetooth.h +1 -0
+
 __printf(1, 2)
 void bt_info(const char *fmt, ...);
 __printf(1, 2)
net/bluetooth/hci_event.c +1 -9
index b48e24629fa4..7ff11cba89cf 100644
@@ -4516,15 +4516,17 @@ static void hci_sync_conn_complete_evt(struct hci_dev *hdev,
 
       bt_dev_dbg(hdev, "SCO connected with air mode: %02x", ev->air_mode);
 
-       switch (ev->air_mode) {
-       case 0x02:
-               if (hdev->notify)
-                       hdev->notify(hdev, HCI_NOTIFY_ENABLE_SCO_CVSD);
-               break;
-       case 0x03:
-               if (hdev->notify)
-                       hdev->notify(hdev, HCI_NOTIFY_ENABLE_SCO_TRANSP);
-               break;
+       if (conn->codec.data_path == BT_SCO_HCI_PATH) {

net/bluetooth/hci_event.c static void hci_sync_conn_complete_evt(struct hci_dev *hdev, · line 4529

Quoted 10 lines
net/bluetooth/hci_event.c +10 -0
+               switch (ev->air_mode) {
+               case 0x02:
+                       if (hdev->notify)
+                               hdev->notify(hdev, HCI_NOTIFY_ENABLE_SCO_CVSD);
+                       break;
+               case 0x03:
+                       if (hdev->notify)
+                               hdev->notify(hdev, HCI_NOTIFY_ENABLE_SCO_TRANSP);
+                       break;
+               }

Hmm I think we might need to notify the driver to enable PCM routing so the likes of btusb can call usb_disable_endpoint/usb_enable_endpoint for example since in theory

Quoted 8 lines

userspace may choose to switch from software to hardware offload and vice-versa, note without calling usb_disable_endpoint there might not be much power saving after all since the endpoint will remain active or do we actually have a good explanation why it shall not be called when using PCM routing? Note that usb_set_interface will call usb_enable_interface that will then call usb_enable_endpoint so perhaps we need to call usb_disable_interface, either way we can't assume the platform will be restricted to only use one or the other.

Quoted 1 line

actually for the Intel hardware we shouldn’t do this at all. We should switch to vendor specific SCO over bulk endpoints and not claim the ISOC endpoints at all.

Yep, but I guess that requires switching to SCO over bulk then which perhaps needs more changes, not sure if we should pursue that or go with all the way with H4 mode like we did in Zephyr, anyway for the purpose of offload I would be fine skipping the SCO over bulk since we are already at v13 of these.

Quoted 5 lines

Regards

Marcel

--
Luiz Augusto von Dentz

maintainer
#18 lore raw

Re: [PATCH v13 12/12] Bluetooth: Allow usb to auto-suspend when SCO use non-HCI transport

Hi Luiz,

Quoted 93 lines
Quoted 93 lines
Quoted 92 lines
Quoted 38 lines

Currently usb tranport is not allowed to suspend when SCO over HCI tranport is active.

This patch shall enable the usb tranport to suspend when SCO link use non-HCI transport

---

Notes:
changes in v13:
- suspend usb in HFP offload use case

drivers/bluetooth/btintel.c       |  2 +-
include/net/bluetooth/bluetooth.h |  4 ++++
net/bluetooth/hci_event.c         | 20 +++++++++++---------
net/bluetooth/sco.c               |  2 +-
4 files changed, 17 insertions(+), 11 deletions(-)
drivers/bluetooth/btintel.c +1 -1
index 6091b691ddc2..2d64e289cf6e 100644
@@ -2215,7 +2215,7 @@ static int btintel_get_codec_config_data(struct hci_dev *hdev,
 static int btintel_get_data_path_id(struct hci_dev *hdev, __u8 *data_path_id)
 {
      /* Intel uses 1 as data path id for all the usecases */
-       *data_path_id = 1;
+       *data_path_id = BT_SCO_PCM_PATH;
      return 0;
 }
 
include/net/bluetooth/bluetooth.h +0 -0
index c1fa90fb7502..9e2745863b33 100644

include/net/bluetooth/bluetooth.h struct bt_codecs { · line 182

Quoted 6 lines
include/net/bluetooth/bluetooth.h +3 -0
@@ -177,6 +177,10 @@ struct bt_codecs {
 #define CODING_FORMAT_TRANSPARENT      0x03
 #define CODING_FORMAT_MSBC             0x05
 
+/* Audio data transport path used for SCO */
+#define BT_SCO_HCI_PATH 0x00
+#define BT_SCO_PCM_PATH 0x01

If this is in fact vendor specific perhaps you should be declared in btintel.h not here.

Quoted 22 lines
include/net/bluetooth/bluetooth.h +1 -0
+
 __printf(1, 2)
 void bt_info(const char *fmt, ...);
 __printf(1, 2)
net/bluetooth/hci_event.c +1 -9
index b48e24629fa4..7ff11cba89cf 100644
@@ -4516,15 +4516,17 @@ static void hci_sync_conn_complete_evt(struct hci_dev *hdev,
 
      bt_dev_dbg(hdev, "SCO connected with air mode: %02x", ev->air_mode);
 
-       switch (ev->air_mode) {
-       case 0x02:
-               if (hdev->notify)
-                       hdev->notify(hdev, HCI_NOTIFY_ENABLE_SCO_CVSD);
-               break;
-       case 0x03:
-               if (hdev->notify)
-                       hdev->notify(hdev, HCI_NOTIFY_ENABLE_SCO_TRANSP);
-               break;
+       if (conn->codec.data_path == BT_SCO_HCI_PATH) {

net/bluetooth/hci_event.c static void hci_sync_conn_complete_evt(struct hci_dev *hdev, · line 4529

Quoted 10 lines
net/bluetooth/hci_event.c +10 -0
+               switch (ev->air_mode) {
+               case 0x02:
+                       if (hdev->notify)
+                               hdev->notify(hdev, HCI_NOTIFY_ENABLE_SCO_CVSD);
+                       break;
+               case 0x03:
+                       if (hdev->notify)
+                               hdev->notify(hdev, HCI_NOTIFY_ENABLE_SCO_TRANSP);
+                       break;
+               }

Hmm I think we might need to notify the driver to enable PCM routing so the likes of btusb can call usb_disable_endpoint/usb_enable_endpoint for example since in theory userspace may choose to switch from software to hardware offload and vice-versa, note without calling usb_disable_endpoint there might not be much power saving after all since the endpoint will remain active or do we actually have a good explanation why it shall not be called when using PCM routing? Note that usb_set_interface will call usb_enable_interface that will then call usb_enable_endpoint so perhaps we need to call usb_disable_interface, either way we can't assume the platform will be restricted to only use one or the other.

Quoted 7 lines
Quoted 1 line

actually for the Intel hardware we shouldn’t do this at all. We should switch to vendor specific SCO over bulk endpoints and not claim the ISOC endpoints at all.

Yep, but I guess that requires switching to SCO over bulk then which perhaps needs more changes, not sure if we should pursue that or go with all the way with H4 mode like we did in Zephyr, anyway for the purpose of offload I would be fine skipping the SCO over bulk since we are already at v13 of these.

actually SCO over bulk is rather simple. You jus send one extra HCI command at init (just need to figure out if it survices HCI_Reset) and then you only need to look up the handle if it is SCO or ACL.

Regards

Marcel

#19 lore raw
In reply to Kiran K

This is automated email and please do not reply to this email!

Dear submitter,

Thank you for submitting the patches to the linux bluetooth mailing list. This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=539755

---Test result---

Test Summary:

CheckPatch                    FAIL      1.51 seconds
GitLint                       FAIL      0.73 seconds
BuildKernel                   PASS      573.84 seconds
TestRunner: Setup             PASS      385.35 seconds
TestRunner: l2cap-tester      PASS      2.91 seconds
TestRunner: bnep-tester       PASS      1.99 seconds
TestRunner: mgmt-tester       FAIL      33.36 seconds
TestRunner: rfcomm-tester     PASS      2.25 seconds
TestRunner: sco-tester        PASS      2.20 seconds
TestRunner: smp-tester        PASS      2.21 seconds
TestRunner: userchan-tester   PASS      1.98 seconds

Details
##############################
Test: CheckPatch - FAIL - 1.51 seconds
Run checkpatch.pl script with rule in .checkpatch.conf
Bluetooth: Enumerate local supported codec and cache details
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating? #126:
new file mode 100644

total: 0 errors, 1 warnings, 0 checks, 313 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
mechanically convert to the typical style using --fix or --fix-inplace.

"[PATCH] Bluetooth: Enumerate local supported codec and cache details" has style problems, please review.

NOTE: If any of the errors are false positives, please report
them to the maintainer, see CHECKPATCH in MAINTAINERS.

##############################
Test: GitLint - FAIL - 0.73 seconds
Run gitlint with rule in .gitlint
Bluetooth: Add support for HCI_Enhanced_Setup_Synchronous_Connection command
1: T1 Title exceeds max length (76>72): "Bluetooth: Add support for HCI_Enhanced_Setup_Synchronous_Connection command"

##############################
Test: BuildKernel - PASS - 573.84 seconds
Build Kernel with minimal configuration supports Bluetooth

##############################
Test: TestRunner: Setup - PASS - 385.35 seconds
Setup environment for running Test Runner

##############################
Test: TestRunner: l2cap-tester - PASS - 2.91 seconds Run test-runner with l2cap-tester
Total: 40, Passed: 40 (100.0%), Failed: 0, Not Run: 0

##############################
Test: TestRunner: bnep-tester - PASS - 1.99 seconds Run test-runner with bnep-tester
Total: 1, Passed: 1 (100.0%), Failed: 0, Not Run: 0

##############################
Test: TestRunner: mgmt-tester - FAIL - 33.36 seconds Run test-runner with mgmt-tester
Total: 452, Passed: 451 (99.8%), Failed: 1, Not Run: 0

Failed Test Cases
Read Exp Feature - Success Failed 0.017 seconds

##############################
Test: TestRunner: rfcomm-tester - PASS - 2.25 seconds Run test-runner with rfcomm-tester
Total: 9, Passed: 9 (100.0%), Failed: 0, Not Run: 0

##############################
Test: TestRunner: sco-tester - PASS - 2.20 seconds Run test-runner with sco-tester
Total: 8, Passed: 8 (100.0%), Failed: 0, Not Run: 0

##############################
Test: TestRunner: smp-tester - PASS - 2.21 seconds Run test-runner with smp-tester
Total: 8, Passed: 8 (100.0%), Failed: 0, Not Run: 0

##############################
Test: TestRunner: userchan-tester - PASS - 1.98 seconds Run test-runner with userchan-tester
Total: 3, Passed: 3 (100.0%), Failed: 0, Not Run: 0

---
Regards,
Linux Bluetooth

c[?7lSeaBIOS (version 1.13.0-1ubuntu1.1) Booting from ROM..c[?7learly console in extract_kernel
input_data: 0x0000000001e732e0
input_len: 0x000000000036b133
output: 0x0000000001000000
output_len: 0x00000000011ac040
kernel_total_size: 0x0000000001030000
needed_size: 0x0000000001200000
trampoline_32bit: 0x000000000009d000
Physical KASLR using RDTSC...
Virtual KASLR using RDTSC...

Decompressing Linux... Parsing ELF... Performing relocations... done.
Booting the kernel.
Linux version 5.14.0-rc7-g14ea61834c34 (root@71b554811152) (gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #2 Tue Aug 31 19:08:13 UTC 2021
Command line: console=ttyS0,115200n8 earlyprintk=serial rootfstype=9p rootflags=trans=virtio,version=9p2000.L acpi=off pci=noacpi noapic quiet ro init=/github/workspace/bluez/tools/test-runner bluetooth.enable_ecred=1TESTHOME=/github/workspace TESTDBUS=0 TESTMONITOR=0 TESTDEVS=0 TESTAUTO=0 TESTARGS='/github/workspace/bluez/tools/l2cap-tester' x86/fpu: x87 FPU will use FXSAVE
signal: max sigframe size: 1040
BIOS-provided physical RAM map:
BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved
BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
BIOS-e820: [mem 0x0000000000100000-0x000000000bffdfff] usable
BIOS-e820: [mem 0x000000000bffe000-0x000000000bffffff] reserved
BIOS-e820: [mem 0x00000000b0000000-0x00000000bfffffff] reserved
BIOS-e820: [mem 0x00000000fed1c000-0x00000000fed1ffff] reserved
BIOS-e820: [mem 0x00000000fffc0000-0x00000000ffffffff] reserved
printk: bootconsole [earlyser0] enabled
Memory KASLR using RDTSC...
Poking KASLR using RDTSC...
Mounting sysfs to /sys
Mounting proc to /proc
Mounting devtmpfs to /dev
Creating /dev/pts
Mounting devpts to /dev/pts
Creating /dev/shm
Mounting tmpfs to /dev/shm
Mounting tmpfs to /run
Mounting tmpfs to /tmp
Mounting debugfs to /sys/kernel/debug
Linking /dev/fd to /proc/self/fd
Linking /dev/stdin to /proc/self/fd/0
Linking /dev/stdout to /proc/self/fd/1
Linking /dev/stderr to /proc/self/fd/2
Creating new session group leader
Setting controlling terminal
Creating /var/lib/bluetooth
Failed to create filesystem: No such file or directory
Creating /etc/bluetooth
Failed to create filesystem: No such file or directory
Creating /etc/dbus-1
Failed to create filesystem: No such file or directory
Creating /usr/share/dbus-1
Running command /github/workspace/bluez/tools/l2cap-tester
New process 44 created
Changing into directory /github/workspace

Basic L2CAP Socket - Success - init
Read Index List callback

    Status: 0x00

New hciemu instance created
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Index Added callback

    Index: 0x0000
  Read Info callback
    Status: 0x00
    Address: 00:AA:01:00:00:00
    Version: 0x05
    Manufacturer: 0x003f
    Supported settings: 0x000111ff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Basic L2CAP Socket - Success - setup
Powering on controller
Controller powered on
Client set connectable status 0x00
Basic L2CAP Socket - Success - setup complete
Basic L2CAP Socket - Success - run
Basic L2CAP Socket - Success - test passed
Basic L2CAP Socket - Success - teardown
Index Removed callback

    Index: 0x0000

Basic L2CAP Socket - Success - teardown complete
Basic L2CAP Socket - Success - done

Non-connected getpeername - Failure - init
Read Index List callback

    Status: 0x00

New hciemu instance created
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Index Added callback

    Index: 0x0000
  Read Info callback
    Status: 0x00
    Address: 00:AA:01:00:00:00
    Version: 0x05
    Manufacturer: 0x003f
    Supported settings: 0x000111ff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Non-connected getpeername - Failure - setup
Powering on controller
Controller powered on
Client set connectable status 0x00
Non-connected getpeername - Failure - setup complete Non-connected getpeername - Failure - run Non-connected getpeername - Failure - test passed Non-connected getpeername - Failure - teardown
Index Removed callback

    Index: 0x0000

Non-connected getpeername - Failure - teardown complete Non-connected getpeername - Failure - done

L2CAP BR/EDR Client - Success - init
Read Index List callback

    Status: 0x00

New hciemu instance created
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Index Added callback

    Index: 0x0000
  Read Info callback
    Status: 0x00
    Address: 00:AA:01:00:00:00
    Version: 0x05
    Manufacturer: 0x003f
    Supported settings: 0x000111ff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

L2CAP BR/EDR Client - Success - setup
Powering on controller
Controller powered on
Client set connectable status 0x00
L2CAP BR/EDR Client - Success - setup complete
L2CAP BR/EDR Client - Success - run
Connect in progress
Successfully connected
L2CAP BR/EDR Client - Success - test passed
L2CAP BR/EDR Client - Success - teardown
Index Removed callback

    Index: 0x0000

L2CAP BR/EDR Client - Success - teardown complete
L2CAP BR/EDR Client - Success - done

L2CAP BR/EDR Client SSP - Success 1 - init
Read Index List callback

    Status: 0x00

New hciemu instance created
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Index Added callback

    Index: 0x0000
  Read Info callback
    Status: 0x00
    Address: 00:AA:01:00:00:00
    Version: 0x05
    Manufacturer: 0x003f
    Supported settings: 0x000111ff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

L2CAP BR/EDR Client SSP - Success 1 - setup
Powering on controller
Controller powered on
Client set connectable status 0x00
Client enable SSP status 0x00
L2CAP BR/EDR Client SSP - Success 1 - setup complete L2CAP BR/EDR Client SSP - Success 1 - run
Connect in progress
Successfully connected
L2CAP BR/EDR Client SSP - Success 1 - test passed L2CAP BR/EDR Client SSP - Success 1 - teardown
Index Removed callback

    Index: 0x0000

L2CAP BR/EDR Client SSP - Success 1 - teardown complete L2CAP BR/EDR Client SSP - Success 1 - done

L2CAP BR/EDR Client SSP - Success 2 - init
Read Index List callback

    Status: 0x00

New hciemu instance created
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Index Added callback

    Index: 0x0000
  Read Info callback
    Status: 0x00
    Address: 00:AA:01:00:00:00
    Version: 0x05
    Manufacturer: 0x003f
    Supported settings: 0x000111ff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

L2CAP BR/EDR Client SSP - Success 2 - setup
Powering on controller
Controller powered on
Client set connectable status 0x00
Client enable SSP status 0x00
L2CAP BR/EDR Client SSP - Success 2 - setup complete L2CAP BR/EDR Client SSP - Success 2 - run
Connect in progress
Successfully connected
L2CAP BR/EDR Client SSP - Success 2 - test passed L2CAP BR/EDR Client SSP - Success 2 - teardown
Index Removed callback

    Index: 0x0000

L2CAP BR/EDR Client SSP - Success 2 - teardown complete L2CAP BR/EDR Client SSP - Success 2 - done

L2CAP BR/EDR Client PIN Code - Success - init
Read Index List callback

    Status: 0x00

New hciemu instance created
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Index Added callback

    Index: 0x0000
  Read Info callback
    Status: 0x00
    Address: 00:AA:01:00:00:00
    Version: 0x05
    Manufacturer: 0x003f
    Supported settings: 0x000111ff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

L2CAP BR/EDR Client PIN Code - Success - setup
Powering on controller
Controller powered on
Client set connectable status 0x00
L2CAP BR/EDR Client PIN Code - Success - setup complete L2CAP BR/EDR Client PIN Code - Success - run
Connect in progress
Successfully connected
L2CAP BR/EDR Client PIN Code - Success - test passed L2CAP BR/EDR Client PIN Code - Success - teardown
Index Removed callback

    Index: 0x0000

L2CAP BR/EDR Client PIN Code - Success - teardown complete L2CAP BR/EDR Client PIN Code - Success - done

L2CAP BR/EDR Client - Read Success - init
Read Index List callback

    Status: 0x00

New hciemu instance created
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Index Added callback

    Index: 0x0000
  Read Info callback
    Status: 0x00
    Address: 00:AA:01:00:00:00
    Version: 0x05
    Manufacturer: 0x003f
    Supported settings: 0x000111ff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

L2CAP BR/EDR Client - Read Success - setup
Powering on controller
Controller powered on
Client set connectable status 0x00
L2CAP BR/EDR Client - Read Success - setup complete L2CAP BR/EDR Client - Read Success - run
Connect in progress
Successfully connected
L2CAP BR/EDR Client - Read Success - test passed L2CAP BR/EDR Client - Read Success - teardown
Index Removed callback

    Index: 0x0000

L2CAP BR/EDR Client - Read Success - teardown complete L2CAP BR/EDR Client - Read Success - done

L2CAP BR/EDR Client - Write Success - init
Read Index List callback

    Status: 0x00

New hciemu instance created
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Index Added callback

    Index: 0x0000
  Read Info callback
    Status: 0x00
    Address: 00:AA:01:00:00:00
    Version: 0x05
    Manufacturer: 0x003f
    Supported settings: 0x000111ff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

L2CAP BR/EDR Client - Write Success - setup
Powering on controller
Controller powered on
Client set connectable status 0x00
L2CAP BR/EDR Client - Write Success - setup complete L2CAP BR/EDR Client - Write Success - run
Connect in progress
Successfully connected
L2CAP BR/EDR Client - Write Success - test passed L2CAP BR/EDR Client - Write Success - teardown
Index Removed callback

    Index: 0x0000

L2CAP BR/EDR Client - Write Success - teardown complete L2CAP BR/EDR Client - Write Success - done

L2CAP BR/EDR Client - Invalid PSM 1 - init
Read Index List callback

    Status: 0x00

New hciemu instance created
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Index Added callback

    Index: 0x0000
  Read Info callback
    Status: 0x00
    Address: 00:AA:01:00:00:00
    Version: 0x05
    Manufacturer: 0x003f
    Supported settings: 0x000111ff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

L2CAP BR/EDR Client - Invalid PSM 1 - setup
Powering on controller
Controller powered on
Client set connectable status 0x00
L2CAP BR/EDR Client - Invalid PSM 1 - setup complete L2CAP BR/EDR Client - Invalid PSM 1 - run
Connect in progress
Connect failed: Connection refused (111)
L2CAP BR/EDR Client - Invalid PSM 1 - test passed L2CAP BR/EDR Client - Invalid PSM 1 - teardown
Index Removed callback

    Index: 0x0000

L2CAP BR/EDR Client - Invalid PSM 1 - teardown complete L2CAP BR/EDR Client - Invalid PSM 1 - done

L2CAP BR/EDR Client - Invalid PSM 2 - init
Read Index List callback

    Status: 0x00

New hciemu instance created
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Index Added callback

    Index: 0x0000
  Read Info callback
    Status: 0x00
    Address: 00:AA:01:00:00:00
    Version: 0x05
    Manufacturer: 0x003f
    Supported settings: 0x000111ff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

L2CAP BR/EDR Client - Invalid PSM 2 - setup
Powering on controller
Controller powered on
Client set connectable status 0x00
L2CAP BR/EDR Client - Invalid PSM 2 - setup complete L2CAP BR/EDR Client - Invalid PSM 2 - run
Connect in progress
Connect failed: Connection refused (111)
L2CAP BR/EDR Client - Invalid PSM 2 - test passed L2CAP BR/EDR Client - Invalid PSM 2 - teardown
Index Removed callback

    Index: 0x0000

L2CAP BR/EDR Client - Invalid PSM 2 - teardown complete L2CAP BR/EDR Client - Invalid PSM 2 - done

L2CAP BR/EDR Client - Invalid PSM 3 - init
Read Index List callback

    Status: 0x00

New hciemu instance created
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Index Added callback

    Index: 0x0000
  Read Info callback
    Status: 0x00
    Address: 00:AA:01:00:00:00
    Version: 0x05
    Manufacturer: 0x003f
    Supported settings: 0x000111ff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

L2CAP BR/EDR Client - Invalid PSM 3 - setup
Powering on controller
Controller powered on
Client set connectable status 0x00
Client enable SSP status 0x00
L2CAP BR/EDR Client - Invalid PSM 3 - setup complete L2CAP BR/EDR Client - Invalid PSM 3 - run
Connect in progress
Connect failed: Connection refused (111)
L2CAP BR/EDR Client - Invalid PSM 3 - test passed L2CAP BR/EDR Client - Invalid PSM 3 - teardown
Index Removed callback

    Index: 0x0000

L2CAP BR/EDR Client - Invalid PSM 3 - teardown complete L2CAP BR/EDR Client - Invalid PSM 3 - done

L2CAP BR/EDR Client - Socket Shut WR Success - init
Read Index List callback

    Status: 0x00

New hciemu instance created
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Index Added callback

    Index: 0x0000
  Read Info callback
    Status: 0x00
    Address: 00:AA:01:00:00:00
    Version: 0x05
    Manufacturer: 0x003f
    Supported settings: 0x000111ff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

L2CAP BR/EDR Client - Socket Shut WR Success - setup
Powering on controller
Controller powered on
Client set connectable status 0x00
L2CAP BR/EDR Client - Socket Shut WR Success - setup complete L2CAP BR/EDR Client - Socket Shut WR Success - run
Connect in progress
Successfully connected
L2CAP BR/EDR Client - Socket Shut WR Success - test passed L2CAP BR/EDR Client - Socket Shut WR Success - teardown
Index Removed callback

    Index: 0x0000

L2CAP BR/EDR Client - Socket Shut WR Success - teardown complete L2CAP BR/EDR Client - Socket Shut WR Success - done

L2CAP BR/EDR Server - Success - init
Read Index List callback

    Status: 0x00

New hciemu instance created
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Index Added callback

    Index: 0x0000
  Read Info callback
    Status: 0x00
    Address: 00:AA:01:00:00:00
    Version: 0x05
    Manufacturer: 0x003f
    Supported settings: 0x000111ff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

L2CAP BR/EDR Server - Success - setup
Powering on controller
Controller powered on
L2CAP BR/EDR Server - Success - setup complete
L2CAP BR/EDR Server - Success - run
Listening for connections
New client connection with handle 0x002a
Sending L2CAP Request from client
Client received response code 0x03
L2CAP BR/EDR Server - Success - test passed
Successfully connected
L2CAP BR/EDR Server - Success - test passed
L2CAP BR/EDR Server - Success - teardown
Index Removed callback

    Index: 0x0000

L2CAP BR/EDR Server - Success - teardown complete
L2CAP BR/EDR Server - Success - done

L2CAP BR/EDR Server - Read Success - init
Read Index List callback

    Status: 0x00

New hciemu instance created
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Index Added callback

    Index: 0x0000
  Read Info callback
    Status: 0x00
    Address: 00:AA:01:00:00:00
    Version: 0x05
    Manufacturer: 0x003f
    Supported settings: 0x000111ff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

L2CAP BR/EDR Server - Read Success - setup
Powering on controller
Controller powered on
L2CAP BR/EDR Server - Read Success - setup complete L2CAP BR/EDR Server - Read Success - run
Listening for connections
New client connection with handle 0x002a Sending L2CAP Request from client
Client received response code 0x03
L2CAP BR/EDR Server - Read Success - test passed L2CAP BR/EDR Server - Read Success - teardown
Index Removed callback

    Index: 0x0000

L2CAP BR/EDR Server - Read Success - teardown complete L2CAP BR/EDR Server - Read Success - done

L2CAP BR/EDR Server - Write Success - init
Read Index List callback

    Status: 0x00

New hciemu instance created
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Index Added callback

    Index: 0x0000
  Read Info callback
    Status: 0x00
    Address: 00:AA:01:00:00:00
    Version: 0x05
    Manufacturer: 0x003f
    Supported settings: 0x000111ff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

L2CAP BR/EDR Server - Write Success - setup
Powering on controller
Controller powered on
L2CAP BR/EDR Server - Write Success - setup complete L2CAP BR/EDR Server - Write Success - run
Listening for connections
New client connection with handle 0x002a Sending L2CAP Request from client
Client received response code 0x03
L2CAP BR/EDR Server - Write Success - test passed L2CAP BR/EDR Server - Write Success - teardown
Index Removed callback

    Index: 0x0000

L2CAP BR/EDR Server - Write Success - teardown complete L2CAP BR/EDR Server - Write Success - done

L2CAP BR/EDR Server - Security Block - init
Read Index List callback

    Status: 0x00

New hciemu instance created
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Index Added callback

    Index: 0x0000
  Read Info callback
    Status: 0x00
    Address: 00:AA:01:00:00:00
    Version: 0x05
    Manufacturer: 0x003f
    Supported settings: 0x000111ff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

L2CAP BR/EDR Server - Security Block - setup
Powering on controller
Controller powered on
Server enable SSP status 0x00
L2CAP BR/EDR Server - Security Block - setup complete L2CAP BR/EDR Server - Security Block - run
Listening for connections
New client connection with handle 0x002a Sending L2CAP Request from client
Client received response code 0x03
L2CAP BR/EDR Server - Security Block - test passed L2CAP BR/EDR Server - Security Block - teardown
Index Removed callback

    Index: 0x0000

L2CAP BR/EDR Server - Security Block - teardown complete L2CAP BR/EDR Server - Security Block - done

L2CAP BR/EDR Server - Invalid PSM - init
Read Index List callback

    Status: 0x00

New hciemu instance created
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Index Added callback

    Index: 0x0000
  Read Info callback
    Status: 0x00
    Address: 00:AA:01:00:00:00
    Version: 0x05
    Manufacturer: 0x003f
    Supported settings: 0x000111ff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

L2CAP BR/EDR Server - Invalid PSM - setup
Powering on controller
Controller powered on
L2CAP BR/EDR Server - Invalid PSM - setup complete L2CAP BR/EDR Server - Invalid PSM - run
New client connection with handle 0x002a Sending L2CAP Request from client
Client received response code 0x03
L2CAP BR/EDR Server - Invalid PSM - test passed L2CAP BR/EDR Server - Invalid PSM - teardown
Index Removed callback

    Index: 0x0000

L2CAP BR/EDR Server - Invalid PSM - teardown complete L2CAP BR/EDR Server - Invalid PSM - done

L2CAP BR/EDR Server - Invalid PDU - init
Read Index List callback

    Status: 0x00

New hciemu instance created
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Index Added callback

    Index: 0x0000
  Read Info callback
    Status: 0x00
    Address: 00:AA:01:00:00:00
    Version: 0x05
    Manufacturer: 0x003f
    Supported settings: 0x000111ff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

L2CAP BR/EDR Server - Invalid PDU - setup
Powering on controller
Controller powered on
L2CAP BR/EDR Server - Invalid PDU - setup complete L2CAP BR/EDR Server - Invalid PDU - run
New client connection with handle 0x002a Sending L2CAP Request from client
Bluetooth: Wrong link type (-71)
Client received response code 0x01
L2CAP BR/EDR Server - Invalid PDU - test passed L2CAP BR/EDR Server - Invalid PDU - teardown
Index Removed callback

    Index: 0x0000

L2CAP BR/EDR Server - Invalid PDU - teardown complete L2CAP BR/EDR Server - Invalid PDU - done

L2CAP BR/EDR Server - Invalid Disconnect CID - init
Read Index List callback

    Status: 0x00

New hciemu instance created
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Index Added callback

    Index: 0x0000
  Read Info callback
    Status: 0x00
    Address: 00:AA:01:00:00:00
    Version: 0x05
    Manufacturer: 0x003f
    Supported settings: 0x000111ff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

L2CAP BR/EDR Server - Invalid Disconnect CID - setup
Powering on controller
Controller powered on
L2CAP BR/EDR Server - Invalid Disconnect CID - setup complete L2CAP BR/EDR Server - Invalid Disconnect CID - run
New client connection with handle 0x002a
Sending L2CAP Request from client
Client received response code 0x01
L2CAP BR/EDR Server - Invalid Disconnect CID - test passed L2CAP BR/EDR Server - Invalid Disconnect CID - teardown
Index Removed callback

    Index: 0x0000

L2CAP BR/EDR Server - Invalid Disconnect CID - teardown complete L2CAP BR/EDR Server - Invalid Disconnect CID - done

L2CAP BR/EDR Server - Invalid Config CID - init
Read Index List callback

    Status: 0x00

New hciemu instance created
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Index Added callback

    Index: 0x0000
  Read Info callback
    Status: 0x00
    Address: 00:AA:01:00:00:00
    Version: 0x05
    Manufacturer: 0x003f
    Supported settings: 0x000111ff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

L2CAP BR/EDR Server - Invalid Config CID - setup
Powering on controller
Controller powered on
L2CAP BR/EDR Server - Invalid Config CID - setup complete L2CAP BR/EDR Server - Invalid Config CID - run
New client connection with handle 0x002a Sending L2CAP Request from client
Client received response code 0x01
L2CAP BR/EDR Server - Invalid Config CID - test passed L2CAP BR/EDR Server - Invalid Config CID - teardown
Index Removed callback

    Index: 0x0000

L2CAP BR/EDR Server - Invalid Config CID - teardown complete L2CAP BR/EDR Server - Invalid Config CID - done

L2CAP LE Client - Success - init
Read Index List callback

    Status: 0x00
  New hciemu instance created
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: 0x00
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001be1b
    Current settings: 0x00000200
    Class: 0x000000
    Name: 
    Short name: 

L2CAP LE Client - Success - setup
Powering on controller
Controller powered on
Client set connectable status 0x00
L2CAP LE Client - Success - setup complete
L2CAP LE Client - Success - run
Connect in progress
Successfully connected
L2CAP LE Client - Success - test passed
L2CAP LE Client - Success - teardown
Index Removed callback

    Index: 0x0000

L2CAP LE Client - Success - teardown complete
L2CAP LE Client - Success - done

L2CAP LE Client, Direct Advertising - Success - init
Read Index List callback

    Status: 0x00
  New hciemu instance created
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: 0x00
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001be1b
    Current settings: 0x00000200
    Class: 0x000000
    Name: 
    Short name: 

L2CAP LE Client, Direct Advertising - Success - setup
Powering on controller
Controller powered on
Client set connectable status 0x00
L2CAP LE Client, Direct Advertising - Success - setup complete L2CAP LE Client, Direct Advertising - Success - run
Connect in progress
Received advertising parameters HCI command
L2CAP LE Client, Direct Advertising - Success - test passed L2CAP LE Client, Direct Advertising - Success - teardown
Index Removed callback

    Index: 0x0000

L2CAP LE Client, Direct Advertising - Success - teardown complete L2CAP LE Client, Direct Advertising - Success - done

L2CAP LE Client SMP - Success - init
Read Index List callback

    Status: 0x00
  New hciemu instance created
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: 0x00
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001be1b
    Current settings: 0x00000200
    Class: 0x000000
    Name: 
    Short name: 

L2CAP LE Client SMP - Success - setup
Powering on controller
Controller powered on
Client set connectable status 0x00
L2CAP LE Client SMP - Success - setup complete
L2CAP LE Client SMP - Success - run
Connect in progress
Successfully connected
L2CAP LE Client SMP - Success - test passed
Bluetooth: hci0: link tx timeout
L2CAP LE Client SMP - Success - teardown
Index Removed callback

    Index: 0x0000

L2CAP LE Client SMP - Success - teardown complete
L2CAP LE Client SMP - Success - done

L2CAP LE Client - Command Reject - init
Read Index List callback

    Status: 0x00
  New hciemu instance created
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: 0x00
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001be1b
    Current settings: 0x00000200
    Class: 0x000000
    Name: 
    Short name: 

L2CAP LE Client - Command Reject - setup
Powering on controller
Controller powered on
Client set connectable status 0x00
L2CAP LE Client - Command Reject - setup complete
L2CAP LE Client - Command Reject - run
Connect in progress
New connection with handle 0x002a
Connect failed: Connection refused (111)
L2CAP LE Client - Command Reject - test passed
L2CAP LE Client - Command Reject - teardown
Index Removed callback

    Index: 0x0000

L2CAP LE Client - Command Reject - teardown complete L2CAP LE Client - Command Reject - done

L2CAP LE Client - Connection Reject - init
Read Index List callback

    Status: 0x00

New hciemu instance created
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Index Added callback

    Index: 0x0000
  Read Info callback
    Status: 0x00
    Address: 00:AA:01:00:00:00
    Version: 0x05
    Manufacturer: 0x003f
    Supported settings: 0x000111ff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

L2CAP LE Client - Connection Reject - setup
Powering on controller
Controller powered on
Client set connectable status 0x00
L2CAP LE Client - Connection Reject - setup complete L2CAP LE Client - Connection Reject - run
Can't connect socket: No route to host (113)
L2CAP LE Client - Connection Reject - test passed L2CAP LE Client - Connection Reject - teardown
Index Removed callback

    Index: 0x0000

L2CAP LE Client - Connection Reject - teardown complete L2CAP LE Client - Connection Reject - done

L2CAP LE Client - Close socket 1 - init
Read Index List callback

    Status: 0x00
  New hciemu instance created
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: 0x00
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001be1b
    Current settings: 0x00000200
    Class: 0x000000
    Name: 
    Short name: 

L2CAP LE Client - Close socket 1 - setup
Powering on controller
Controller powered on
Client set connectable status 0x00
L2CAP LE Client - Close socket 1 - setup complete
L2CAP LE Client - Close socket 1 - run
Connect in progress, sk = 13
Will close socket during scan phase...
Checking whether scan was properly stopped...
L2CAP LE Client - Close socket 1 - test passed
L2CAP LE Client - Close socket 1 - teardown
Index Removed callback

    Index: 0x0000

L2CAP LE Client - Close socket 1 - teardown complete L2CAP LE Client - Close socket 1 - done

L2CAP LE Client - Close socket 2 - init
Read Index List callback

    Status: 0x00
  New hciemu instance created
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: 0x00
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001be1b
    Current settings: 0x00000200
    Class: 0x000000
    Name: 
    Short name: 

L2CAP LE Client - Close socket 2 - setup
Powering on controller
Controller powered on
L2CAP LE Client - Close socket 2 - setup complete
L2CAP LE Client - Close socket 2 - run
Connect in progress, sk = 13
Client set connectable status 0x00
Client set connectable status 0x00
L2CAP LE Client - Close socket 2 - test passed
L2CAP LE Client - Close socket 2 - teardown
Index Removed callback

    Index: 0x0000

L2CAP LE Client - Close socket 2 - teardown complete L2CAP LE Client - Close socket 2 - done

L2CAP LE Client - Open two sockets - init
Read Index List callback

    Status: 0x00
  New hciemu instance created
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: 0x00
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001be1b
    Current settings: 0x00000200
    Class: 0x000000
    Name: 
    Short name: 

L2CAP LE Client - Open two sockets - setup
Powering on controller
Controller powered on
L2CAP LE Client - Open two sockets - setup complete L2CAP LE Client - Open two sockets - run
Connect in progress, sk = 13
HCI Command 0x2011 length 7
HCI Command 0x200b length 7
HCI Command 0x200c length 2
Connect in progress, sk = 14
HCI Command 0x200c length 2
Client set connectable status 0x00
HCI Command 0x200d length 25
HCI Command 0x2016 length 2
Successfully connected
Successfully connected
L2CAP LE Client - Open two sockets - test passed

(l2cap-tester:44): GLib-WARNING **: 19:08:21.094: Invalid file descriptor. L2CAP LE Client - Open two sockets - teardown
Index Removed callback

    Index: 0x0000

L2CAP LE Client - Open two sockets - teardown complete L2CAP LE Client - Open two sockets - done

L2CAP LE Client - Open two sockets close one - init
Read Index List callback

    Status: 0x00
  New hciemu instance created
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: 0x00
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001be1b
    Current settings: 0x00000200
    Class: 0x000000
    Name: 
    Short name: 

L2CAP LE Client - Open two sockets close one - setup
Powering on controller
Controller powered on
L2CAP LE Client - Open two sockets close one - setup complete L2CAP LE Client - Open two sockets close one - run
Connect in progress, sk = 13
HCI Command 0x2011 length 7
HCI Command 0x200b length 7
HCI Command 0x200c length 2
Connect in progress, sk = 14
Closing first socket! 13
HCI Command 0x200c length 2
Client set connectable status 0x00
HCI Command 0x200d length 25
HCI Command 0x2016 length 2
Successfully connected
L2CAP LE Client - Open two sockets close one - test passed

(l2cap-tester:44): GLib-WARNING **: 19:08:21.131: Invalid file descriptor. L2CAP LE Client - Open two sockets close one - teardown
Index Removed callback

    Index: 0x0000

L2CAP LE Client - Open two sockets close one - teardown complete L2CAP LE Client - Open two sockets close one - done

L2CAP LE Client - Invalid PSM - init
Read Index List callback

    Status: 0x00
  New hciemu instance created
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: 0x00
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001be1b
    Current settings: 0x00000200
    Class: 0x000000
    Name: 
    Short name: 

L2CAP LE Client - Invalid PSM - setup
Powering on controller
Controller powered on
Client set connectable status 0x00
L2CAP LE Client - Invalid PSM - setup complete
L2CAP LE Client - Invalid PSM - run
Connect in progress
Connect failed: Connection refused (111)
L2CAP LE Client - Invalid PSM - test passed
L2CAP LE Client - Invalid PSM - teardown
Index Removed callback

    Index: 0x0000

L2CAP LE Client - Invalid PSM - teardown complete
L2CAP LE Client - Invalid PSM - done

L2CAP LE Server - Success - init
Read Index List callback

    Status: 0x00
  New hciemu instance created
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: 0x00
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001be1b
    Current settings: 0x00000200
    Class: 0x000000
    Name: 
    Short name: 

L2CAP LE Server - Success - setup
Powering on controller
Controller powered on
L2CAP LE Server - Success - setup complete
L2CAP LE Server - Success - run
Listening for connections
New client connection with handle 0x002a
Sending L2CAP Request from client
Successfully connected
L2CAP LE Server - Success - test passed
Client received response code 0x15
L2CAP LE Server - Success - test passed
L2CAP LE Server - Success - teardown
Index Removed callback

    Index: 0x0000

L2CAP LE Server - Success - teardown complete
L2CAP LE Server - Success - done

L2CAP LE Server - Nval SCID - init
Read Index List callback

    Status: 0x00
  New hciemu instance created
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: 0x00
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001be1b
    Current settings: 0x00000200
    Class: 0x000000
    Name: 
    Short name: 

L2CAP LE Server - Nval SCID - setup
Powering on controller
Controller powered on
L2CAP LE Server - Nval SCID - setup complete
L2CAP LE Server - Nval SCID - run
Listening for connections
New client connection with handle 0x002a
Sending L2CAP Request from client
Client received response code 0x15
L2CAP LE Server - Nval SCID - test passed
L2CAP LE Server - Nval SCID - teardown
Index Removed callback

    Index: 0x0000

L2CAP LE Server - Nval SCID - teardown complete
L2CAP LE Server - Nval SCID - done

L2CAP Ext-Flowctl Client - Success - init
Read Index List callback

    Status: 0x00
  New hciemu instance created
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: 0x00
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001be1b
    Current settings: 0x00000200
    Class: 0x000000
    Name: 
    Short name: 

L2CAP Ext-Flowctl Client - Success - setup
Powering on controller
Controller powered on
Client set connectable status 0x00
L2CAP Ext-Flowctl Client - Success - setup complete L2CAP Ext-Flowctl Client - Success - run
Connect in progress
Successfully connected
L2CAP Ext-Flowctl Client - Success - test passed L2CAP Ext-Flowctl Client - Success - teardown
Index Removed callback

    Index: 0x0000

L2CAP Ext-Flowctl Client - Success - teardown complete L2CAP Ext-Flowctl Client - Success - done

L2CAP Ext-Flowctl Client, Direct Advertising - Success - init
Read Index List callback

    Status: 0x00
  New hciemu instance created
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: 0x00
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001be1b
    Current settings: 0x00000200
    Class: 0x000000
    Name: 
    Short name: 

L2CAP Ext-Flowctl Client, Direct Advertising - Success - setup
Powering on controller
Controller powered on
Client set connectable status 0x00
L2CAP Ext-Flowctl Client, Direct Advertising - Success - setup complete L2CAP Ext-Flowctl Client, Direct Advertising - Success - run
Connect in progress
Received advertising parameters HCI command
L2CAP Ext-Flowctl Client, Direct Advertising - Success - test passed L2CAP Ext-Flowctl Client, Direct Advertising - Success - teardown
Index Removed callback

    Index: 0x0000

L2CAP Ext-Flowctl Client, Direct Advertising - Success - teardown complete L2CAP Ext-Flowctl Client, Direct Advertising - Success - done

L2CAP Ext-Flowctl Client SMP - Success - init
Read Index List callback

    Status: 0x00
  New hciemu instance created
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: 0x00
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001be1b
    Current settings: 0x00000200
    Class: 0x000000
    Name: 
    Short name: 

L2CAP Ext-Flowctl Client SMP - Success - setup
Powering on controller
Controller powered on
Client set connectable status 0x00
L2CAP Ext-Flowctl Client SMP - Success - setup complete L2CAP Ext-Flowctl Client SMP - Success - run
Connect in progress
Successfully connected
L2CAP Ext-Flowctl Client SMP - Success - test passed
Bluetooth: hci0: link tx timeout
L2CAP Ext-Flowctl Client SMP - Success - teardown
Index Removed callback

    Index: 0x0000

L2CAP Ext-Flowctl Client SMP - Success - teardown complete L2CAP Ext-Flowctl Client SMP - Success - done

L2CAP Ext-Flowctl Client - Command Reject - init
Read Index List callback

    Status: 0x00
  New hciemu instance created
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: 0x00
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001be1b
    Current settings: 0x00000200
    Class: 0x000000
    Name: 
    Short name: 

L2CAP Ext-Flowctl Client - Command Reject - setup
Powering on controller
Controller powered on
Client set connectable status 0x00
L2CAP Ext-Flowctl Client - Command Reject - setup complete L2CAP Ext-Flowctl Client - Command Reject - run
Connect in progress
New connection with handle 0x002a
Connect failed: Connection refused (111)
L2CAP Ext-Flowctl Client - Command Reject - test passed L2CAP Ext-Flowctl Client - Command Reject - teardown
Index Removed callback

    Index: 0x0000

L2CAP Ext-Flowctl Client - Command Reject - teardown complete L2CAP Ext-Flowctl Client - Command Reject - done

L2CAP Ext-Flowctl Client - Open two sockets - init
Read Index List callback

    Status: 0x00
  New hciemu instance created
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: 0x00
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001be1b
    Current settings: 0x00000200
    Class: 0x000000
    Name: 
    Short name: 

L2CAP Ext-Flowctl Client - Open two sockets - setup
Powering on controller
Controller powered on
L2CAP Ext-Flowctl Client - Open two sockets - setup complete L2CAP Ext-Flowctl Client - Open two sockets - run
Connect in progress, sk = 13 (deferred)
HCI Command 0x2011 length 7
HCI Command 0x200b length 7
HCI Command 0x200c length 2
Connect in progress, sk = 14
HCI Command 0x200c length 2
Client set connectable status 0x00
HCI Command 0x200d length 25
HCI Command 0x2016 length 2
Successfully connected
Successfully connected
Bluetooth: hci0: link tx timeout
L2CAP Ext-Flowctl Client - Open two sockets - test passed

(l2cap-tester:44): GLib-WARNING **: 19:08:21.300: Invalid file descriptor. L2CAP Ext-Flowctl Client - Open two sockets - teardown
Index Removed callback

    Index: 0x0000

L2CAP Ext-Flowctl Client - Open two sockets - teardown complete L2CAP Ext-Flowctl Client - Open two sockets - done

L2CAP Ext-Flowctl Client - Open two sockets close one - init
Read Index List callback

    Status: 0x00
  New hciemu instance created
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: 0x00
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001be1b
    Current settings: 0x00000200
    Class: 0x000000
    Name: 
    Short name: 

L2CAP Ext-Flowctl Client - Open two sockets close one - setup
Powering on controller
Controller powered on
L2CAP Ext-Flowctl Client - Open two sockets close one - setup complete L2CAP Ext-Flowctl Client - Open two sockets close one - run
Connect in progress, sk = 13 (deferred)
HCI Command 0x2011 length 7
HCI Command 0x200b length 7
HCI Command 0x200c length 2
Connect in progress, sk = 14
Closing first socket! 13
HCI Command 0x200c length 2
Client set connectable status 0x00
HCI Command 0x200d length 25
HCI Command 0x2016 length 2
Successfully connected
L2CAP Ext-Flowctl Client - Open two sockets close one - test passed

(l2cap-tester:44): GLib-WARNING **: 19:08:21.324: Invalid file descriptor. L2CAP Ext-Flowctl Client - Open two sockets close one - teardown
Index Removed callback

    Index: 0x0000

L2CAP Ext-Flowctl Client - Open two sockets close one - teardown complete L2CAP Ext-Flowctl Client - Open two sockets close one - done

L2CAP LE ATT Client - Success - init
Read Index List callback

    Status: 0x00
  New hciemu instance created
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: 0x00
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001be1b
    Current settings: 0x00000200
    Class: 0x000000
    Name: 
    Short name: 

L2CAP LE ATT Client - Success - setup
Powering on controller
Controller powered on
Client set connectable status 0x00
L2CAP LE ATT Client - Success - setup complete
L2CAP LE ATT Client - Success - run
Connect in progress
Successfully connected
L2CAP LE ATT Client - Success - test passed
L2CAP LE ATT Client - Success - teardown
Index Removed callback

    Index: 0x0000

L2CAP LE ATT Client - Success - teardown complete
L2CAP LE ATT Client - Success - done

L2CAP LE ATT Server - Success - init
Read Index List callback

    Status: 0x00
  New hciemu instance created
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: 0x00
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001be1b
    Current settings: 0x00000200
    Class: 0x000000
    Name: 
    Short name: 

L2CAP LE ATT Server - Success - setup
Powering on controller
Controller powered on
L2CAP LE ATT Server - Success - setup complete
L2CAP LE ATT Server - Success - run
Listening for connections
New client connection with handle 0x002a
Successfully connected
L2CAP LE ATT Server - Success - test passed
L2CAP LE ATT Server - Success - teardown
Index Removed callback

    Index: 0x0000

L2CAP LE ATT Server - Success - teardown complete
L2CAP LE ATT Server - Success - done

Test Summary
------------

Basic L2CAP Socket - Success                         Passed       0.060 seconds
Non-connected getpeername - Failure                  Passed       0.022 seconds
L2CAP BR/EDR Client - Success                        Passed       0.038 seconds
L2CAP BR/EDR Client SSP - Success 1                  Passed       0.032 seconds
L2CAP BR/EDR Client SSP - Success 2                  Passed       0.031 seconds
L2CAP BR/EDR Client PIN Code - Success               Passed       0.023 seconds
L2CAP BR/EDR Client - Read Success                   Passed       0.022 seconds
L2CAP BR/EDR Client - Write Success                  Passed       0.026 seconds
L2CAP BR/EDR Client - Invalid PSM 1                  Passed       0.023 seconds
L2CAP BR/EDR Client - Invalid PSM 2                  Passed       0.019 seconds
L2CAP BR/EDR Client - Invalid PSM 3                  Passed       0.025 seconds
L2CAP BR/EDR Client - Socket Shut WR Success         Passed       0.025 seconds
L2CAP BR/EDR Server - Success                        Passed       0.029 seconds
L2CAP BR/EDR Server - Read Success                   Passed       0.023 seconds
L2CAP BR/EDR Server - Write Success                  Passed       0.027 seconds
L2CAP BR/EDR Server - Security Block                 Passed       0.023 seconds
L2CAP BR/EDR Server - Invalid PSM                    Passed       0.023 seconds
L2CAP BR/EDR Server - Invalid PDU                    Passed       0.019 seconds
L2CAP BR/EDR Server - Invalid Disconnect CID         Passed       0.020 seconds
L2CAP BR/EDR Server - Invalid Config CID             Passed       0.018 seconds
L2CAP LE Client - Success                            Passed       0.025 seconds
L2CAP LE Client, Direct Advertising - Success        Passed       0.015 seconds
L2CAP LE Client SMP - Success                        Passed       0.030 seconds
L2CAP LE Client - Command Reject                     Passed       0.017 seconds
L2CAP LE Client - Connection Reject                  Passed       0.017 seconds
L2CAP LE Client - Close socket 1                     Passed       0.014 seconds
L2CAP LE Client - Close socket 2                     Passed       0.014 seconds
L2CAP LE Client - Open two sockets                   Passed       0.047 seconds
L2CAP LE Client - Open two sockets close one         Passed       0.027 seconds
L2CAP LE Client - Invalid PSM                        Passed       0.020 seconds
L2CAP LE Server - Success                            Passed       0.025 seconds
L2CAP LE Server - Nval SCID                          Passed       0.016 seconds
L2CAP Ext-Flowctl Client - Success                   Passed       0.019 seconds
L2CAP Ext-Flowctl Client, Direct Advertising - Success Passed       0.019 seconds
L2CAP Ext-Flowctl Client SMP - Success               Passed       0.023 seconds
L2CAP Ext-Flowctl Client - Command Reject            Passed       0.017 seconds
L2CAP Ext-Flowctl Client - Open two sockets          Passed       0.021 seconds
L2CAP Ext-Flowctl Client - Open two sockets close one Passed       0.024 seconds
L2CAP LE ATT Client - Success                        Passed       0.016 seconds
L2CAP LE ATT Server - Success                        Passed       0.018 seconds

Total: 40, Passed: 40 (100.0%), Failed: 0, Not Run: 0 Overall execution time: 0.997 seconds
Process 44 exited with status 0
reboot: Restarting system

c[?7lSeaBIOS (version 1.13.0-1ubuntu1.1) Booting from ROM..c[?7learly console in extract_kernel
input_data: 0x0000000001e732e0
input_len: 0x000000000036b133
output: 0x0000000001000000
output_len: 0x00000000011ac040
kernel_total_size: 0x0000000001030000
needed_size: 0x0000000001200000
trampoline_32bit: 0x000000000009d000
Physical KASLR using RDTSC...
Virtual KASLR using RDTSC...

Decompressing Linux... Parsing ELF... Performing relocations... done.
Booting the kernel.
Linux version 5.14.0-rc7-g14ea61834c34 (root@71b554811152) (gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #2 Tue Aug 31 19:08:13 UTC 2021
Command line: console=ttyS0,115200n8 earlyprintk=serial rootfstype=9p rootflags=trans=virtio,version=9p2000.L acpi=off pci=noacpi noapic quiet ro init=/github/workspace/bluez/tools/test-runner bluetooth.enable_ecred=1TESTHOME=/github/workspace TESTDBUS=0 TESTMONITOR=0 TESTDEVS=0 TESTAUTO=0 TESTARGS='/github/workspace/bluez/tools/bnep-tester' x86/fpu: x87 FPU will use FXSAVE
signal: max sigframe size: 1040
BIOS-provided physical RAM map:
BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved
BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
BIOS-e820: [mem 0x0000000000100000-0x000000000bffdfff] usable
BIOS-e820: [mem 0x000000000bffe000-0x000000000bffffff] reserved
BIOS-e820: [mem 0x00000000b0000000-0x00000000bfffffff] reserved
BIOS-e820: [mem 0x00000000fed1c000-0x00000000fed1ffff] reserved
BIOS-e820: [mem 0x00000000fffc0000-0x00000000ffffffff] reserved
printk: bootconsole [earlyser0] enabled
Memory KASLR using RDTSC...
Poking KASLR using RDTSC...
Mounting sysfs to /sys
Mounting proc to /proc
Mounting devtmpfs to /dev
Creating /dev/pts
Mounting devpts to /dev/pts
Creating /dev/shm
Mounting tmpfs to /dev/shm
Mounting tmpfs to /run
Mounting tmpfs to /tmp
Mounting debugfs to /sys/kernel/debug
Linking /dev/fd to /proc/self/fd
Linking /dev/stdin to /proc/self/fd/0
Linking /dev/stdout to /proc/self/fd/1
Linking /dev/stderr to /proc/self/fd/2
Creating new session group leader
Setting controlling terminal
Creating /var/lib/bluetooth
Failed to create filesystem: No such file or directory
Creating /etc/bluetooth
Failed to create filesystem: No such file or directory
Creating /etc/dbus-1
Failed to create filesystem: No such file or directory
Creating /usr/share/dbus-1
Running command /github/workspace/bluez/tools/bnep-tester
New process 44 created
Changing into directory /github/workspace

Basic BNEP Socket - Success - init
Read Index List callback

    Status: 0x00

New hciemu instance created
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Index Added callback

    Index: 0x0000
  Read Info callback
    Status: 0x00
    Address: 00:AA:01:00:00:00
    Version: 0x05
    Manufacturer: 0x003f
    Supported settings: 0x000111ff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Basic BNEP Socket - Success - setup
Powering on controller
Controller powered on
Client set connectable status 0x00
Basic BNEP Socket - Success - setup complete
Basic BNEP Socket - Success - run
Basic BNEP Socket - Success - test passed
Basic BNEP Socket - Success - teardown
Index Removed callback

    Index: 0x0000

Basic BNEP Socket - Success - teardown complete
Basic BNEP Socket - Success - done

Test Summary
------------
Basic BNEP Socket - Success Passed 0.064 seconds
Total: 1, Passed: 1 (100.0%), Failed: 0, Not Run: 0 Overall execution time: 0.072 seconds Process 44 exited with status 0
reboot: Restarting system

c[?7lSeaBIOS (version 1.13.0-1ubuntu1.1) Booting from ROM..c[?7learly console in extract_kernel
input_data: 0x0000000001e732e0
input_len: 0x000000000036b133
output: 0x0000000001000000
output_len: 0x00000000011ac040
kernel_total_size: 0x0000000001030000
needed_size: 0x0000000001200000
trampoline_32bit: 0x000000000009d000
Physical KASLR using RDTSC...
Virtual KASLR using RDTSC...

Decompressing Linux... Parsing ELF... Performing relocations... done.
Booting the kernel.
Linux version 5.14.0-rc7-g14ea61834c34 (root@71b554811152) (gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #2 Tue Aug 31 19:08:13 UTC 2021
Command line: console=ttyS0,115200n8 earlyprintk=serial rootfstype=9p rootflags=trans=virtio,version=9p2000.L acpi=off pci=noacpi noapic quiet ro init=/github/workspace/bluez/tools/test-runner bluetooth.enable_ecred=1TESTHOME=/github/workspace TESTDBUS=0 TESTMONITOR=0 TESTDEVS=0 TESTAUTO=0 TESTARGS='/github/workspace/bluez/tools/mgmt-tester' x86/fpu: x87 FPU will use FXSAVE
signal: max sigframe size: 1040
BIOS-provided physical RAM map:
BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved
BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
BIOS-e820: [mem 0x0000000000100000-0x000000000bffdfff] usable
BIOS-e820: [mem 0x000000000bffe000-0x000000000bffffff] reserved
BIOS-e820: [mem 0x00000000b0000000-0x00000000bfffffff] reserved
BIOS-e820: [mem 0x00000000fed1c000-0x00000000fed1ffff] reserved
BIOS-e820: [mem 0x00000000fffc0000-0x00000000ffffffff] reserved
printk: bootconsole [earlyser0] enabled
Memory KASLR using RDTSC...
Poking KASLR using RDTSC...
Mounting sysfs to /sys
Mounting proc to /proc
Mounting devtmpfs to /dev
Creating /dev/pts
Mounting devpts to /dev/pts
Creating /dev/shm
Mounting tmpfs to /dev/shm
Mounting tmpfs to /run
Mounting tmpfs to /tmp
Mounting debugfs to /sys/kernel/debug
Linking /dev/fd to /proc/self/fd
Linking /dev/stdin to /proc/self/fd/0
Linking /dev/stdout to /proc/self/fd/1
Linking /dev/stderr to /proc/self/fd/2
Creating new session group leader
Setting controlling terminal
Creating /var/lib/bluetooth
Failed to create filesystem: No such file or directory
Creating /etc/bluetooth
Failed to create filesystem: No such file or directory
Creating /etc/dbus-1
Failed to create filesystem: No such file or directory
Creating /usr/share/dbus-1
Running command /github/workspace/bluez/tools/mgmt-tester
New process 44 created
Changing into directory /github/workspace

Controller setup - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Controller setup - setup
Controller setup - setup complete
Controller setup - run
Controller setup - test passed
Controller setup - teardown
Index Removed callback

    Index: 0x0000

Controller setup - teardown complete
Controller setup - done

Controller setup (BR/EDR-only) - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)

Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Index Added callback

    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x05
    Manufacturer: 0x003f
    Supported settings: 0x000111ff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Controller setup (BR/EDR-only) - setup
Controller setup (BR/EDR-only) - setup complete
Controller setup (BR/EDR-only) - run
Controller setup (BR/EDR-only) - test passed
Controller setup (BR/EDR-only) - teardown
Index Removed callback

    Index: 0x0000

Controller setup (BR/EDR-only) - teardown complete Controller setup (BR/EDR-only) - done

Controller setup (LE) - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001be1b
    Current settings: 0x00000200
    Class: 0x000000
    Name: 
    Short name: 

Controller setup (LE) - setup
Controller setup (LE) - setup complete
Controller setup (LE) - run
Controller setup (LE) - test passed
Controller setup (LE) - teardown
Index Removed callback

    Index: 0x0000

Controller setup (LE) - teardown complete
Controller setup (LE) - done

Invalid command - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Invalid command - setup
Invalid command - setup complete
Invalid command - run
Sending <unknown opcode> (0xffff)
Test condition added, total 1
<unknown opcode> (0xffff): Unknown Command (0x01) Test condition complete, 0 left
Invalid command - test passed
Invalid command - teardown
Index Removed callback

    Index: 0x0000

Invalid command - teardown complete
Invalid command - done

Read version - Success - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Read version - Success - setup
Read version - Success - setup complete
Read version - Success - run
Sending Read Version (0x0001)
Test condition added, total 1
Read Version (0x0001): Success (0x00)
Test condition complete, 0 left
Read version - Success - test passed
Read version - Success - teardown
Index Removed callback

    Index: 0x0000

Read version - Success - teardown complete
Read version - Success - done

Read version - Invalid parameters - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Read version - Invalid parameters - setup Read version - Invalid parameters - setup complete Read version - Invalid parameters - run
Sending Read Version (0x0001)
Test condition added, total 1
Read Version (0x0001): Invalid Parameters (0x0d) Test condition complete, 0 left
Read version - Invalid parameters - test passed Read version - Invalid parameters - teardown
Index Removed callback

    Index: 0x0000

Read version - Invalid parameters - teardown complete Read version - Invalid parameters - done

Read version - Invalid index - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Read version - Invalid index - setup
Read version - Invalid index - setup complete
Read version - Invalid index - run
Sending Read Version (0x0001)
Test condition added, total 1
Read Version (0x0001): Invalid Index (0x11)
Test condition complete, 0 left
Read version - Invalid index - test passed
Read version - Invalid index - teardown
Index Removed callback

    Index: 0x0000

Read version - Invalid index - teardown complete
Read version - Invalid index - done

Read commands - Invalid parameters - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Read commands - Invalid parameters - setup Read commands - Invalid parameters - setup complete Read commands - Invalid parameters - run
Sending Read Commands (0x0002)
Test condition added, total 1
Read Commands (0x0002): Invalid Parameters (0x0d) Test condition complete, 0 left
Read commands - Invalid parameters - test passed Read commands - Invalid parameters - teardown
Index Removed callback

    Index: 0x0000

Read commands - Invalid parameters - teardown complete Read commands - Invalid parameters - done

Read commands - Invalid index - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Read commands - Invalid index - setup
Read commands - Invalid index - setup complete
Read commands - Invalid index - run
Sending Read Commands (0x0002)
Test condition added, total 1
Read Commands (0x0002): Invalid Index (0x11)
Test condition complete, 0 left
Read commands - Invalid index - test passed
Read commands - Invalid index - teardown
Index Removed callback

    Index: 0x0000

Read commands - Invalid index - teardown complete
Read commands - Invalid index - done

Read index list - Invalid parameters - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Read index list - Invalid parameters - setup Read index list - Invalid parameters - setup complete Read index list - Invalid parameters - run
Sending Read Index List (0x0003)
Test condition added, total 1
Read Index List (0x0003): Invalid Parameters (0x0d) Test condition complete, 0 left
Read index list - Invalid parameters - test passed Read index list - Invalid parameters - teardown
Index Removed callback

    Index: 0x0000

Read index list - Invalid parameters - teardown complete Read index list - Invalid parameters - done

Read index list - Invalid index - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Read index list - Invalid index - setup
Read index list - Invalid index - setup complete
Read index list - Invalid index - run
Sending Read Index List (0x0003)
Test condition added, total 1
Read Index List (0x0003): Invalid Index (0x11)
Test condition complete, 0 left
Read index list - Invalid index - test passed
Read index list - Invalid index - teardown
Index Removed callback

    Index: 0x0000

Read index list - Invalid index - teardown complete Read index list - Invalid index - done

Read info - Invalid parameters - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Read info - Invalid parameters - setup
Read info - Invalid parameters - setup complete Read info - Invalid parameters - run
Sending Read Controller Info (0x0004)
Test condition added, total 1
Read Controller Info (0x0004): Invalid Parameters (0x0d) Test condition complete, 0 left
Read info - Invalid parameters - test passed
Read info - Invalid parameters - teardown
Index Removed callback

    Index: 0x0000

Read info - Invalid parameters - teardown complete Read info - Invalid parameters - done

Read info - Invalid index - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Read info - Invalid index - setup
Read info - Invalid index - setup complete Read info - Invalid index - run
Sending Read Controller Info (0x0004)
Test condition added, total 1
Read Controller Info (0x0004): Invalid Index (0x11) Test condition complete, 0 left
Read info - Invalid index - test passed
Read info - Invalid index - teardown
Index Removed callback

    Index: 0x0000

Read info - Invalid index - teardown complete
Read info - Invalid index - done

Read unconfigured index list - Invalid parameters - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Read unconfigured index list - Invalid parameters - setup Read unconfigured index list - Invalid parameters - setup complete Read unconfigured index list - Invalid parameters - run
Sending Read Unconfigured Index List (0x0036)
Test condition added, total 1
Read Unconfigured Index List (0x0036): Invalid Parameters (0x0d) Test condition complete, 0 left
Read unconfigured index list - Invalid parameters - test passed Read unconfigured index list - Invalid parameters - teardown
Index Removed callback

    Index: 0x0000

Read unconfigured index list - Invalid parameters - teardown complete Read unconfigured index list - Invalid parameters - done

Read unconfigured index list - Invalid index - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Read unconfigured index list - Invalid index - setup Read unconfigured index list - Invalid index - setup complete Read unconfigured index list - Invalid index - run
Sending Read Unconfigured Index List (0x0036) Test condition added, total 1
Read Unconfigured Index List (0x0036): Invalid Index (0x11) Test condition complete, 0 left
Read unconfigured index list - Invalid index - test passed Read unconfigured index list - Invalid index - teardown
Index Removed callback

    Index: 0x0000

Read unconfigured index list - Invalid index - teardown complete Read unconfigured index list - Invalid index - done

Read configuration info - Invalid parameters - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Read configuration info - Invalid parameters - setup
Read configuration info - Invalid parameters - setup complete
Read configuration info - Invalid parameters - run
Sending Read Controller Configuration Information (0x0037)
Test condition added, total 1
Read Controller Configuration Information (0x0037): Invalid Parameters (0x0d) Test condition complete, 0 left
Read configuration info - Invalid parameters - test passed
Read configuration info - Invalid parameters - teardown
Index Removed callback

    Index: 0x0000

Read configuration info - Invalid parameters - teardown complete Read configuration info - Invalid parameters - done

Read configuration info - Invalid index - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Read configuration info - Invalid index - setup
Read configuration info - Invalid index - setup complete
Read configuration info - Invalid index - run
Sending Read Controller Configuration Information (0x0037) Test condition added, total 1
Read Controller Configuration Information (0x0037): Invalid Index (0x11) Test condition complete, 0 left
Read configuration info - Invalid index - test passed
Read configuration info - Invalid index - teardown
Index Removed callback

    Index: 0x0000

Read configuration info - Invalid index - teardown complete Read configuration info - Invalid index - done

Read extended index list - Invalid parameters - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Read extended index list - Invalid parameters - setup
Read extended index list - Invalid parameters - setup complete Read extended index list - Invalid parameters - run
Sending Read Extended Controller Index List (0x003c)
Test condition added, total 1
Read Extended Controller Index List (0x003c): Invalid Parameters (0x0d) Test condition complete, 0 left
Read extended index list - Invalid parameters - test passed Read extended index list - Invalid parameters - teardown
Index Removed callback

    Index: 0x0000

Read extended index list - Invalid parameters - teardown complete Read extended index list - Invalid parameters - done

Read extended index list - Invalid index - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Read extended index list - Invalid index - setup
Read extended index list - Invalid index - setup complete Read extended index list - Invalid index - run
Sending Read Extended Controller Index List (0x003c) Test condition added, total 1
Read Extended Controller Index List (0x003c): Invalid Index (0x11) Test condition complete, 0 left
Read extended index list - Invalid index - test passed Read extended index list - Invalid index - teardown
Index Removed callback

    Index: 0x0000

Read extended index list - Invalid index - teardown complete Read extended index list - Invalid index - done

Set powered on - Success - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set powered on - Success - setup
Set powered on - Success - setup complete
Set powered on - Success - run
Registering new settings notification
Test condition added, total 1
Sending Set Powered (0x0005)
Test condition added, total 2
Set Powered (0x0005): Success (0x00)
Test condition complete, 1 left
New settings 0x00000081 received
Unregistering new settings notification
Test condition complete, 0 left
Set powered on - Success - test passed
Set powered on - Success - teardown
New settings event received
Index Removed callback

    Index: 0x0000

Set powered on - Success - teardown complete
Set powered on - Success - done

Set powered on - Invalid parameters 1 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set powered on - Invalid parameters 1 - setup Set powered on - Invalid parameters 1 - setup complete Set powered on - Invalid parameters 1 - run
Sending Set Powered (0x0005)
Test condition added, total 1
Set Powered (0x0005): Invalid Parameters (0x0d) Test condition complete, 0 left
Set powered on - Invalid parameters 1 - test passed Set powered on - Invalid parameters 1 - teardown
Index Removed callback

    Index: 0x0000

Set powered on - Invalid parameters 1 - teardown complete Set powered on - Invalid parameters 1 - done

Set powered on - Invalid parameters 2 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set powered on - Invalid parameters 2 - setup Set powered on - Invalid parameters 2 - setup complete Set powered on - Invalid parameters 2 - run
Sending Set Powered (0x0005)
Test condition added, total 1
Set Powered (0x0005): Invalid Parameters (0x0d) Test condition complete, 0 left
Set powered on - Invalid parameters 2 - test passed Set powered on - Invalid parameters 2 - teardown
Index Removed callback

    Index: 0x0000

Set powered on - Invalid parameters 2 - teardown complete Set powered on - Invalid parameters 2 - done

Set powered on - Invalid parameters 3 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set powered on - Invalid parameters 3 - setup Set powered on - Invalid parameters 3 - setup complete Set powered on - Invalid parameters 3 - run
Sending Set Powered (0x0005)
Test condition added, total 1
Set Powered (0x0005): Invalid Parameters (0x0d) Test condition complete, 0 left
Set powered on - Invalid parameters 3 - test passed Set powered on - Invalid parameters 3 - teardown
Index Removed callback

    Index: 0x0000

Set powered on - Invalid parameters 3 - teardown complete Set powered on - Invalid parameters 3 - done

Set powered on - Invalid index - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set powered on - Invalid index - setup
Set powered on - Invalid index - setup complete
Set powered on - Invalid index - run
Sending Set Powered (0x0005)
Test condition added, total 1
Set Powered (0x0005): Invalid Index (0x11)
Test condition complete, 0 left
Set powered on - Invalid index - test passed
Set powered on - Invalid index - teardown
Index Removed callback

    Index: 0x0000

Set powered on - Invalid index - teardown complete Set powered on - Invalid index - done

Set powered on - Privacy and Advertising - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001be1b
    Current settings: 0x00000200
    Class: 0x000000
    Name: 
    Short name: 

Set powered on - Privacy and Advertising - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set powered on - Privacy and Advertising - setup complete Set powered on - Privacy and Advertising - run
Sending Set Advertising (0x0029)
Test condition added, total 1
Set Advertising (0x0029): Success (0x00)
Test condition complete, 0 left
Set powered on - Privacy and Advertising - test passed Set powered on - Privacy and Advertising - teardown
Index Removed callback

    Index: 0x0000

Set powered on - Privacy and Advertising - teardown complete Set powered on - Privacy and Advertising - done

Set powered off - Success - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set powered off - Success - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set powered off - Success - setup complete
Set powered off - Success - run
Registering new settings notification
Test condition added, total 1
Sending Set Powered (0x0005)
Test condition added, total 2
Set Powered (0x0005): Success (0x00)
Test condition complete, 1 left
New settings 0x00000080 received
Unregistering new settings notification
Test condition complete, 0 left
Set powered off - Success - test passed
Set powered off - Success - teardown
Index Removed callback

    Index: 0x0000

Set powered off - Success - teardown complete
Set powered off - Success - done

Set powered off - Class of Device - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set powered off - Class of Device - setup
Setting device class and powering on Controller powered on
Test setup condition added, total 1 Client set connectable: Success (0x00) Test setup condition complete, 0 left
Set powered off - Class of Device - setup complete Set powered off - Class of Device - run
Registering new settings notification Test condition added, total 1 Registering Class of Device Changed notification Test condition added, total 2
Sending Set Powered (0x0005)
Test condition added, total 3
Set Powered (0x0005): Success (0x00) Test condition complete, 2 left
New Class of Device Changed event received Test condition complete, 1 left
New settings 0x00000080 received Unregistering new settings notification Test condition complete, 0 left
Set powered off - Class of Device - test passed Set powered off - Class of Device - teardown
Index Removed callback

    Index: 0x0000

Set powered off - Class of Device - teardown complete Set powered off - Class of Device - done

Set powered off - Invalid parameters 1 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set powered off - Invalid parameters 1 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set powered off - Invalid parameters 1 - setup complete Set powered off - Invalid parameters 1 - run
Sending Set Powered (0x0005)
Test condition added, total 1
Set Powered (0x0005): Invalid Parameters (0x0d) Test condition complete, 0 left
Set powered off - Invalid parameters 1 - test passed Set powered off - Invalid parameters 1 - teardown
Index Removed callback

    Index: 0x0000

Set powered off - Invalid parameters 1 - teardown complete Set powered off - Invalid parameters 1 - done

Set powered off - Invalid parameters 2 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set powered off - Invalid parameters 2 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set powered off - Invalid parameters 2 - setup complete Set powered off - Invalid parameters 2 - run
Sending Set Powered (0x0005)
Test condition added, total 1
Set Powered (0x0005): Invalid Parameters (0x0d) Test condition complete, 0 left
Set powered off - Invalid parameters 2 - test passed Set powered off - Invalid parameters 2 - teardown
Index Removed callback

    Index: 0x0000

Set powered off - Invalid parameters 2 - teardown complete Set powered off - Invalid parameters 2 - done

Set powered off - Invalid parameters 3 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set powered off - Invalid parameters 3 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set powered off - Invalid parameters 3 - setup complete Set powered off - Invalid parameters 3 - run
Sending Set Powered (0x0005)
Test condition added, total 1
Set Powered (0x0005): Invalid Parameters (0x0d) Test condition complete, 0 left
Set powered off - Invalid parameters 3 - test passed Set powered off - Invalid parameters 3 - teardown
Index Removed callback

    Index: 0x0000

Set powered off - Invalid parameters 3 - teardown complete Set powered off - Invalid parameters 3 - done

Set connectable on - Success 1 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set connectable on - Success 1 - setup
Set connectable on - Success 1 - setup complete
Set connectable on - Success 1 - run
Registering new settings notification
Test condition added, total 1
Sending Set Connectable (0x0007)
Test condition added, total 2
Set Connectable (0x0007): Success (0x00)
Test condition complete, 1 left
New settings 0x00000082 received
Unregistering new settings notification
Test condition complete, 0 left
Set connectable on - Success 1 - test passed
Set connectable on - Success 1 - teardown
Index Removed callback

    Index: 0x0000

Set connectable on - Success 1 - teardown complete Set connectable on - Success 1 - done

Set connectable on - Success 2 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set connectable on - Success 2 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set connectable on - Success 2 - setup complete
Set connectable on - Success 2 - run
Registering new settings notification
Test condition added, total 1
Registering HCI command callback
Test condition added, total 2
Sending Set Connectable (0x0007)
Test condition added, total 3
HCI Command 0x0c1a length 1
Test condition complete, 2 left
Set Connectable (0x0007): Success (0x00)
Test condition complete, 1 left
New settings 0x00000083 received
Unregistering new settings notification
Test condition complete, 0 left
Set connectable on - Success 2 - test passed
Set connectable on - Success 2 - teardown
New settings event received
Index Removed callback

    Index: 0x0000

Set connectable on - Success 2 - teardown complete Set connectable on - Success 2 - done

Set connectable on - Invalid parameters 1 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set connectable on - Invalid parameters 1 - setup Set connectable on - Invalid parameters 1 - setup complete Set connectable on - Invalid parameters 1 - run
Sending Set Connectable (0x0007)
Test condition added, total 1
Set Connectable (0x0007): Invalid Parameters (0x0d) Test condition complete, 0 left
Set connectable on - Invalid parameters 1 - test passed Set connectable on - Invalid parameters 1 - teardown
Index Removed callback

    Index: 0x0000

Set connectable on - Invalid parameters 1 - teardown complete Set connectable on - Invalid parameters 1 - done

Set connectable on - Invalid parameters 2 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set connectable on - Invalid parameters 2 - setup Set connectable on - Invalid parameters 2 - setup complete Set connectable on - Invalid parameters 2 - run
Sending Set Connectable (0x0007)
Test condition added, total 1
Set Connectable (0x0007): Invalid Parameters (0x0d) Test condition complete, 0 left
Set connectable on - Invalid parameters 2 - test passed Set connectable on - Invalid parameters 2 - teardown
Index Removed callback

    Index: 0x0000

Set connectable on - Invalid parameters 2 - teardown complete Set connectable on - Invalid parameters 2 - done

Set connectable on - Invalid parameters 3 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set connectable on - Invalid parameters 3 - setup Set connectable on - Invalid parameters 3 - setup complete Set connectable on - Invalid parameters 3 - run
Sending Set Connectable (0x0007)
Test condition added, total 1
Set Connectable (0x0007): Invalid Parameters (0x0d) Test condition complete, 0 left
Set connectable on - Invalid parameters 3 - test passed Set connectable on - Invalid parameters 3 - teardown
Index Removed callback

    Index: 0x0000

Set connectable on - Invalid parameters 3 - teardown complete Set connectable on - Invalid parameters 3 - done

Set connectable on - Invalid index - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set connectable on - Invalid index - setup Set connectable on - Invalid index - setup complete Set connectable on - Invalid index - run
Sending Set Connectable (0x0007)
Test condition added, total 1
Set Connectable (0x0007): Invalid Index (0x11) Test condition complete, 0 left
Set connectable on - Invalid index - test passed Set connectable on - Invalid index - teardown
Index Removed callback

    Index: 0x0000

Set connectable on - Invalid index - teardown complete Set connectable on - Invalid index - done

Set connectable on (LE) - Success 1 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001be1b
    Current settings: 0x00000200
    Class: 0x000000
    Name: 
    Short name: 

Set connectable on (LE) - Success 1 - setup Set connectable on (LE) - Success 1 - setup complete Set connectable on (LE) - Success 1 - run
Registering new settings notification
Test condition added, total 1
Sending Set Connectable (0x0007)
Test condition added, total 2
Set Connectable (0x0007): Success (0x00) Test condition complete, 1 left
New settings 0x00000202 received Unregistering new settings notification Test condition complete, 0 left
Set connectable on (LE) - Success 1 - test passed Set connectable on (LE) - Success 1 - teardown
Index Removed callback

    Index: 0x0000

Set connectable on (LE) - Success 1 - teardown complete Set connectable on (LE) - Success 1 - done

Set connectable on (LE) - Success 2 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001be1b
    Current settings: 0x00000200
    Class: 0x000000
    Name: 
    Short name: 

Set connectable on (LE) - Success 2 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00) Test setup condition complete, 0 left
Set connectable on (LE) - Success 2 - setup complete Set connectable on (LE) - Success 2 - run
Registering new settings notification
Test condition added, total 1
Sending Set Connectable (0x0007)
Test condition added, total 2
Set Connectable (0x0007): Success (0x00) Test condition complete, 1 left
New settings 0x00000203 received Unregistering new settings notification Test condition complete, 0 left
Set connectable on (LE) - Success 2 - test passed Set connectable on (LE) - Success 2 - teardown
New settings event received
Index Removed callback

    Index: 0x0000

Set connectable on (LE) - Success 2 - teardown complete Set connectable on (LE) - Success 2 - done

Set connectable on (LE) - Success 3 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001be1b
    Current settings: 0x00000200
    Class: 0x000000
    Name: 
    Short name: 

Set connectable on (LE) - Success 3 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00) Test setup condition complete, 0 left
Set connectable on (LE) - Success 3 - setup complete Set connectable on (LE) - Success 3 - run
Registering new settings notification
Test condition added, total 1
Registering HCI command callback
Test condition added, total 2
Sending Set Connectable (0x0007)
Test condition added, total 3
HCI Command 0x200a length 1
HCI Command 0x2006 length 15
Test condition complete, 2 left
HCI Command 0x200a length 1
Set Connectable (0x0007): Success (0x00) Test condition complete, 1 left
New settings 0x00000603 received Unregistering new settings notification Test condition complete, 0 left
Set connectable on (LE) - Success 3 - test passed Set connectable on (LE) - Success 3 - teardown
New settings event received
Index Removed callback

    Index: 0x0000

Set connectable on (LE) - Success 3 - teardown complete Set connectable on (LE) - Success 3 - done

Set connectable off - Success 1 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set connectable off - Success 1 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set connectable off - Success 1 - setup complete
Set connectable off - Success 1 - run
Registering new settings notification
Test condition added, total 1
Sending Set Connectable (0x0007)
Test condition added, total 2
Set Connectable (0x0007): Success (0x00)
Test condition complete, 1 left
New settings 0x00000080 received
Unregistering new settings notification
Test condition complete, 0 left
Set connectable off - Success 1 - test passed
Set connectable off - Success 1 - teardown
Index Removed callback

    Index: 0x0000

Set connectable off - Success 1 - teardown complete Set connectable off - Success 1 - done

Set connectable off - Success 2 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set connectable off - Success 2 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set connectable off - Success 2 - setup complete
Set connectable off - Success 2 - run
Registering new settings notification
Test condition added, total 1
Registering HCI command callback
Test condition added, total 2
Sending Set Connectable (0x0007)
Test condition added, total 3
HCI Command 0x0c1a length 1
Test condition complete, 2 left
Set Connectable (0x0007): Success (0x00)
Test condition complete, 1 left
New settings 0x00000081 received
Unregistering new settings notification
Test condition complete, 0 left
Set connectable off - Success 2 - test passed
Set connectable off - Success 2 - teardown
New settings event received
Index Removed callback

    Index: 0x0000

Set connectable off - Success 2 - teardown complete Set connectable off - Success 2 - done

Set connectable off - Success 3 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set connectable off - Success 3 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set connectable off - Success 3 - setup complete
Set connectable off - Success 3 - run
Registering new settings notification
Test condition added, total 1
Registering HCI command callback
Test condition added, total 2
Sending Set Connectable (0x0007)
Test condition added, total 3
HCI Command 0x0c1a length 1
Test condition complete, 2 left
Set Connectable (0x0007): Success (0x00)
Test condition complete, 1 left
New settings 0x00000081 received
Unregistering new settings notification
Test condition complete, 0 left
Set connectable off - Success 3 - test passed
Set connectable off - Success 3 - teardown
New settings event received
Index Removed callback

    Index: 0x0000

Set connectable off - Success 3 - teardown complete Set connectable off - Success 3 - done

Set connectable off - Success 4 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set connectable off - Success 4 - setup
Initial settings completed
Powering on controller (with added device)
Controller powered on
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set connectable off - Success 4 - setup complete
Set connectable off - Success 4 - run
Registering new settings notification
Test condition added, total 1
Registering HCI command callback
Test condition added, total 2
Sending Set Connectable (0x0007)
Test condition added, total 3
HCI Command 0x0c1a length 1
Test condition complete, 2 left
Set Connectable (0x0007): Success (0x00)
Test condition complete, 1 left
New settings 0x00000081 received
Unregistering new settings notification
Test condition complete, 0 left
Set connectable off - Success 4 - test passed
Set connectable off - Success 4 - teardown
New settings event received
Index Removed callback

    Index: 0x0000

Set connectable off - Success 4 - teardown complete Set connectable off - Success 4 - done

Set connectable off (LE) - Success 1 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001be1b
    Current settings: 0x00000200
    Class: 0x000000
    Name: 
    Short name: 

Set connectable off (LE) - Success 1 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set connectable off (LE) - Success 1 - setup complete Set connectable off (LE) - Success 1 - run
Registering new settings notification
Test condition added, total 1
Sending Set Connectable (0x0007)
Test condition added, total 2
Set Connectable (0x0007): Success (0x00) Test condition complete, 1 left
New settings 0x00000200 received Unregistering new settings notification Test condition complete, 0 left
Set connectable off (LE) - Success 1 - test passed Set connectable off (LE) - Success 1 - teardown
Index Removed callback

    Index: 0x0000

Set connectable off (LE) - Success 1 - teardown complete Set connectable off (LE) - Success 1 - done

Set connectable off (LE) - Success 2 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001be1b
    Current settings: 0x00000200
    Class: 0x000000
    Name: 
    Short name: 

Set connectable off (LE) - Success 2 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set connectable off (LE) - Success 2 - setup complete Set connectable off (LE) - Success 2 - run
Registering new settings notification
Test condition added, total 1
Registering HCI command callback
Test condition added, total 2
Sending Set Connectable (0x0007)
Test condition added, total 3
HCI Command 0x200a length 1
HCI Command 0x2005 length 6
HCI Command 0x2006 length 15
Test condition complete, 2 left
HCI Command 0x200a length 1
Set Connectable (0x0007): Success (0x00) Test condition complete, 1 left
New settings 0x00000601 received Unregistering new settings notification Test condition complete, 0 left
Set connectable off (LE) - Success 2 - test passed Set connectable off (LE) - Success 2 - teardown
New settings event received
Index Removed callback

    Index: 0x0000

Set connectable off (LE) - Success 2 - teardown complete Set connectable off (LE) - Success 2 - done

Set connectable off (LE) - Success 3 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001be1b
    Current settings: 0x00000200
    Class: 0x000000
    Name: 
    Short name: 

Set connectable off (LE) - Success 3 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set connectable off (LE) - Success 3 - setup complete Set connectable off (LE) - Success 3 - run
Registering new settings notification
Test condition added, total 1
Registering HCI command callback
Test condition added, total 2
Sending Set Connectable (0x0007)
Test condition added, total 3
HCI Command 0x2008 length 32
HCI Command 0x200a length 1
HCI Command 0x2005 length 6
HCI Command 0x2006 length 15
Test condition complete, 2 left
HCI Command 0x200a length 1
Set Connectable (0x0007): Success (0x00) Test condition complete, 1 left
New settings 0x00000601 received Unregistering new settings notification Test condition complete, 0 left
Set connectable off (LE) - Success 3 - test passed Set connectable off (LE) - Success 3 - teardown
New settings event received
Index Removed callback

    Index: 0x0000

Set connectable off (LE) - Success 3 - teardown complete Set connectable off (LE) - Success 3 - done

Set connectable off (LE) - Success 4 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001be1b
    Current settings: 0x00000200
    Class: 0x000000
    Name: 
    Short name: 

Set connectable off (LE) - Success 4 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set connectable off (LE) - Success 4 - setup complete Set connectable off (LE) - Success 4 - run
Registering new settings notification
Test condition added, total 1
Registering HCI command callback
Test condition added, total 2
Sending Set Connectable (0x0007)
Test condition added, total 3
HCI Command 0x2008 length 32
HCI Command 0x200a length 1
HCI Command 0x2005 length 6
HCI Command 0x2006 length 15
Test condition complete, 2 left
HCI Command 0x200a length 1
Set Connectable (0x0007): Success (0x00) Test condition complete, 1 left
New settings 0x00000601 received Unregistering new settings notification Test condition complete, 0 left
Set connectable off (LE) - Success 4 - test passed Set connectable off (LE) - Success 4 - teardown
New settings event received
Index Removed callback

    Index: 0x0000

Set connectable off (LE) - Success 4 - teardown complete Set connectable off (LE) - Success 4 - done

Set fast connectable on - Success 1 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set fast connectable on - Success 1 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00) Test setup condition complete, 0 left
Set fast connectable on - Success 1 - setup complete Set fast connectable on - Success 1 - run
Registering new settings notification
Test condition added, total 1
Sending Set Fast Connectable (0x0008)
Test condition added, total 2
Set Fast Connectable (0x0008): Success (0x00) Test condition complete, 1 left
New settings 0x00000087 received Unregistering new settings notification Test condition complete, 0 left
Set fast connectable on - Success 1 - test passed Set fast connectable on - Success 1 - teardown
New settings event received
Index Removed callback

    Index: 0x0000

Set fast connectable on - Success 1 - teardown complete Set fast connectable on - Success 1 - done

Set fast connectable on - Success 2 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set fast connectable on - Success 2 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00) Test setup condition complete, 0 left
Set fast connectable on - Success 2 - setup complete Set fast connectable on - Success 2 - run
Registering new settings notification
Test condition added, total 1
Sending Set Fast Connectable (0x0008)
Test condition added, total 2
Set Fast Connectable (0x0008): Success (0x00) Test condition complete, 1 left
New settings 0x00000085 received Unregistering new settings notification Test condition complete, 0 left
Set fast connectable on - Success 2 - test passed Set fast connectable on - Success 2 - teardown
New settings event received
Index Removed callback

    Index: 0x0000

Set fast connectable on - Success 2 - teardown complete Set fast connectable on - Success 2 - done

Set fast connectable on - Success 3 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set fast connectable on - Success 3 - setup Set fast connectable on - Success 3 - setup complete Set fast connectable on - Success 3 - run
Registering new settings notification
Test condition added, total 1
Sending Set Fast Connectable (0x0008)
Test condition added, total 2
Set Fast Connectable (0x0008): Success (0x00) Test condition complete, 1 left
New settings 0x00000084 received Unregistering new settings notification Test condition complete, 0 left
Set fast connectable on - Success 3 - test passed Set fast connectable on - Success 3 - teardown
Index Removed callback

    Index: 0x0000

Set fast connectable on - Success 3 - teardown complete Set fast connectable on - Success 3 - done

Set fast connectable on - Invalid Params 1 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set fast connectable on - Invalid Params 1 - setup Set fast connectable on - Invalid Params 1 - setup complete Set fast connectable on - Invalid Params 1 - run
Sending Set Fast Connectable (0x0008)
Test condition added, total 1
Set Fast Connectable (0x0008): Invalid Parameters (0x0d) Test condition complete, 0 left
Set fast connectable on - Invalid Params 1 - test passed Set fast connectable on - Invalid Params 1 - teardown
Index Removed callback

    Index: 0x0000

Set fast connectable on - Invalid Params 1 - teardown complete Set fast connectable on - Invalid Params 1 - done

Set fast connectable on - Not Supported 1 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001be1b
    Current settings: 0x00000200
    Class: 0x000000
    Name: 
    Short name: 

Set fast connectable on - Not Supported 1 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set fast connectable on - Not Supported 1 - setup complete Set fast connectable on - Not Supported 1 - run
Sending Set Fast Connectable (0x0008)
Test condition added, total 1
Set Fast Connectable (0x0008): Not Supported (0x0c) Test condition complete, 0 left
Set fast connectable on - Not Supported 1 - test passed Set fast connectable on - Not Supported 1 - teardown
Index Removed callback

    Index: 0x0000

Set fast connectable on - Not Supported 1 - teardown complete Set fast connectable on - Not Supported 1 - done

Set bondable on - Success - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set bondable on - Success - setup
Set bondable on - Success - setup complete
Set bondable on - Success - run
Registering new settings notification
Test condition added, total 1
Sending Set Bondable (0x0009)
Test condition added, total 2
Set Bondable (0x0009): Success (0x00)
Test condition complete, 1 left
New settings 0x00000090 received
Unregistering new settings notification
Test condition complete, 0 left
Set bondable on - Success - test passed
Set bondable on - Success - teardown
Index Removed callback

    Index: 0x0000

Set bondable on - Success - teardown complete
Set bondable on - Success - done

Set bondable on - Invalid parameters 1 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set bondable on - Invalid parameters 1 - setup Set bondable on - Invalid parameters 1 - setup complete Set bondable on - Invalid parameters 1 - run
Sending Set Bondable (0x0009)
Test condition added, total 1
Set Bondable (0x0009): Invalid Parameters (0x0d) Test condition complete, 0 left
Set bondable on - Invalid parameters 1 - test passed Set bondable on - Invalid parameters 1 - teardown
Index Removed callback

    Index: 0x0000

Set bondable on - Invalid parameters 1 - teardown complete Set bondable on - Invalid parameters 1 - done

Set bondable on - Invalid parameters 2 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set bondable on - Invalid parameters 2 - setup Set bondable on - Invalid parameters 2 - setup complete Set bondable on - Invalid parameters 2 - run
Sending Set Bondable (0x0009)
Test condition added, total 1
Set Bondable (0x0009): Invalid Parameters (0x0d) Test condition complete, 0 left
Set bondable on - Invalid parameters 2 - test passed Set bondable on - Invalid parameters 2 - teardown
Index Removed callback

    Index: 0x0000

Set bondable on - Invalid parameters 2 - teardown complete Set bondable on - Invalid parameters 2 - done

Set bondable on - Invalid parameters 3 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set bondable on - Invalid parameters 3 - setup Set bondable on - Invalid parameters 3 - setup complete Set bondable on - Invalid parameters 3 - run
Sending Set Bondable (0x0009)
Test condition added, total 1
Set Bondable (0x0009): Invalid Parameters (0x0d) Test condition complete, 0 left
Set bondable on - Invalid parameters 3 - test passed Set bondable on - Invalid parameters 3 - teardown
Index Removed callback

    Index: 0x0000

Set bondable on - Invalid parameters 3 - teardown complete Set bondable on - Invalid parameters 3 - done

Set bondable on - Invalid index - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set bondable on - Invalid index - setup
Set bondable on - Invalid index - setup complete
Set bondable on - Invalid index - run
Sending Set Bondable (0x0009)
Test condition added, total 1
Set Bondable (0x0009): Invalid Index (0x11)
Test condition complete, 0 left
Set bondable on - Invalid index - test passed
Set bondable on - Invalid index - teardown
Index Removed callback

    Index: 0x0000

Set bondable on - Invalid index - teardown complete Set bondable on - Invalid index - done

Set discoverable on - Invalid parameters 1 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set discoverable on - Invalid parameters 1 - setup Set discoverable on - Invalid parameters 1 - setup complete Set discoverable on - Invalid parameters 1 - run
Sending Set Discoverable (0x0006)
Test condition added, total 1
Set Discoverable (0x0006): Invalid Parameters (0x0d) Test condition complete, 0 left
Set discoverable on - Invalid parameters 1 - test passed Set discoverable on - Invalid parameters 1 - teardown
Index Removed callback

    Index: 0x0000

Set discoverable on - Invalid parameters 1 - teardown complete Set discoverable on - Invalid parameters 1 - done

Set discoverable on - Invalid parameters 2 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set discoverable on - Invalid parameters 2 - setup Set discoverable on - Invalid parameters 2 - setup complete Set discoverable on - Invalid parameters 2 - run
Sending Set Discoverable (0x0006)
Test condition added, total 1
Set Discoverable (0x0006): Invalid Parameters (0x0d) Test condition complete, 0 left
Set discoverable on - Invalid parameters 2 - test passed Set discoverable on - Invalid parameters 2 - teardown
Index Removed callback

    Index: 0x0000

Set discoverable on - Invalid parameters 2 - teardown complete Set discoverable on - Invalid parameters 2 - done

Set discoverable on - Invalid parameters 3 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set discoverable on - Invalid parameters 3 - setup Set discoverable on - Invalid parameters 3 - setup complete Set discoverable on - Invalid parameters 3 - run
Sending Set Discoverable (0x0006)
Test condition added, total 1
Set Discoverable (0x0006): Invalid Parameters (0x0d) Test condition complete, 0 left
Set discoverable on - Invalid parameters 3 - test passed Set discoverable on - Invalid parameters 3 - teardown
Index Removed callback

    Index: 0x0000

Set discoverable on - Invalid parameters 3 - teardown complete Set discoverable on - Invalid parameters 3 - done

Set discoverable on - Invalid parameters 4 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set discoverable on - Invalid parameters 4 - setup Set discoverable on - Invalid parameters 4 - setup complete Set discoverable on - Invalid parameters 4 - run
Sending Set Discoverable (0x0006)
Test condition added, total 1
Set Discoverable (0x0006): Invalid Parameters (0x0d) Test condition complete, 0 left
Set discoverable on - Invalid parameters 4 - test passed Set discoverable on - Invalid parameters 4 - teardown
Index Removed callback

    Index: 0x0000

Set discoverable on - Invalid parameters 4 - teardown complete Set discoverable on - Invalid parameters 4 - done

Set discoverable on - Not powered 1 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set discoverable on - Not powered 1 - setup Set discoverable on - Not powered 1 - setup complete Set discoverable on - Not powered 1 - run
Sending Set Discoverable (0x0006)
Test condition added, total 1
Set Discoverable (0x0006): Not Powered (0x0f) Test condition complete, 0 left
Set discoverable on - Not powered 1 - test passed Set discoverable on - Not powered 1 - teardown
Index Removed callback

    Index: 0x0000

Set discoverable on - Not powered 1 - teardown complete Set discoverable on - Not powered 1 - done

Set discoverable on - Not powered 2 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set discoverable on - Not powered 2 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00) Test setup condition complete, 0 left
Set discoverable on - Not powered 2 - setup complete Set discoverable on - Not powered 2 - run
Sending Set Discoverable (0x0006)
Test condition added, total 1
Set Discoverable (0x0006): Not Powered (0x0f) Test condition complete, 0 left
Set discoverable on - Not powered 2 - test passed Set discoverable on - Not powered 2 - teardown
Index Removed callback

    Index: 0x0000

Set discoverable on - Not powered 2 - teardown complete Set discoverable on - Not powered 2 - done

Set discoverable on - Rejected 1 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set discoverable on - Rejected 1 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set discoverable on - Rejected 1 - setup complete
Set discoverable on - Rejected 1 - run
Sending Set Discoverable (0x0006)
Test condition added, total 1
Set Discoverable (0x0006): Rejected (0x0b)
Test condition complete, 0 left
Set discoverable on - Rejected 1 - test passed
Set discoverable on - Rejected 1 - teardown
Index Removed callback

    Index: 0x0000

Set discoverable on - Rejected 1 - teardown complete Set discoverable on - Rejected 1 - done

Set discoverable on - Rejected 2 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set discoverable on - Rejected 2 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set discoverable on - Rejected 2 - setup complete
Set discoverable on - Rejected 2 - run
Sending Set Discoverable (0x0006)
Test condition added, total 1
Set Discoverable (0x0006): Rejected (0x0b)
Test condition complete, 0 left
Set discoverable on - Rejected 2 - test passed
Set discoverable on - Rejected 2 - teardown
Index Removed callback

    Index: 0x0000

Set discoverable on - Rejected 2 - teardown complete Set discoverable on - Rejected 2 - done

Set discoverable on - Rejected 3 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set discoverable on - Rejected 3 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set discoverable on - Rejected 3 - setup complete
Set discoverable on - Rejected 3 - run
Sending Set Discoverable (0x0006)
Test condition added, total 1
Set Discoverable (0x0006): Rejected (0x0b)
Test condition complete, 0 left
Set discoverable on - Rejected 3 - test passed
Set discoverable on - Rejected 3 - teardown
Index Removed callback

    Index: 0x0000

Set discoverable on - Rejected 3 - teardown complete Set discoverable on - Rejected 3 - done

Set discoverable on - Success 1 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set discoverable on - Success 1 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set discoverable on - Success 1 - setup complete
Set discoverable on - Success 1 - run
Registering new settings notification
Test condition added, total 1
Sending Set Discoverable (0x0006)
Test condition added, total 2
Set Discoverable (0x0006): Success (0x00)
Test condition complete, 1 left
New settings 0x0000008a received
Unregistering new settings notification
Test condition complete, 0 left
Set discoverable on - Success 1 - test passed
Set discoverable on - Success 1 - teardown
Index Removed callback

    Index: 0x0000

Set discoverable on - Success 1 - teardown complete Set discoverable on - Success 1 - done

Set discoverable on - Success 2 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set discoverable on - Success 2 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set discoverable on - Success 2 - setup complete
Set discoverable on - Success 2 - run
Registering new settings notification
Test condition added, total 1
Registering HCI command callback
Test condition added, total 2
Sending Set Discoverable (0x0006)
Test condition added, total 3
HCI Command 0x0c3a length 4
HCI Command 0x0c1a length 1
Test condition complete, 2 left
Set Discoverable (0x0006): Success (0x00)
Test condition complete, 1 left
New settings 0x0000008b received
Unregistering new settings notification
Test condition complete, 0 left
Set discoverable on - Success 2 - test passed
Set discoverable on - Success 2 - teardown
New settings event received
Index Removed callback

    Index: 0x0000

Set discoverable on - Success 2 - teardown complete Set discoverable on - Success 2 - done

Set discoverable on (LE) - Success 1 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001be1b
    Current settings: 0x00000200
    Class: 0x000000
    Name: 
    Short name: 

Set discoverable on (LE) - Success 1 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set discoverable on (LE) - Success 1 - setup complete Set discoverable on (LE) - Success 1 - run
Registering HCI command callback
Test condition added, total 1
Sending Set Discoverable (0x0006)
Test condition added, total 2
HCI Command 0x2008 length 32
Test condition complete, 1 left
Set Discoverable (0x0006): Success (0x00) Test condition complete, 0 left
Set discoverable on (LE) - Success 1 - test passed Set discoverable on (LE) - Success 1 - teardown
Index Removed callback

    Index: 0x0000

Set discoverable on (LE) - Success 1 - teardown complete Set discoverable on (LE) - Success 1 - done

Set discoverable off - Success 1 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set discoverable off - Success 1 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set discoverable off - Success 1 - setup complete
Set discoverable off - Success 1 - run
Sending Set Discoverable (0x0006)
Test condition added, total 1
Set Discoverable (0x0006): Success (0x00)
Test condition complete, 0 left
Set discoverable off - Success 1 - test passed
Set discoverable off - Success 1 - teardown
Index Removed callback

    Index: 0x0000

Set discoverable off - Success 1 - teardown complete Set discoverable off - Success 1 - done

Set discoverable off - Success 2 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set discoverable off - Success 2 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set discoverable off - Success 2 - setup complete
Set discoverable off - Success 2 - run
Registering HCI command callback
Test condition added, total 1
Sending Set Discoverable (0x0006)
Test condition added, total 2
HCI Command 0x0c1a length 1
Test condition complete, 1 left
Set Discoverable (0x0006): Success (0x00)
Test condition complete, 0 left
Set discoverable off - Success 2 - test passed
Set discoverable off - Success 2 - teardown
Index Removed callback

    Index: 0x0000

Set discoverable off - Success 2 - teardown complete Set discoverable off - Success 2 - done

Set limited discoverable on - Success 1 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set limited discoverable on - Success 1 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set limited discoverable on - Success 1 - setup complete Set limited discoverable on - Success 1 - run
Registering HCI command callback
Test condition added, total 1
Sending Set Discoverable (0x0006)
Test condition added, total 2
HCI Command 0x0c3a length 4
HCI Command 0x0c1a length 1
Test condition complete, 1 left
HCI Command 0x0c24 length 3
Set Discoverable (0x0006): Success (0x00) Test condition complete, 0 left
Set limited discoverable on - Success 1 - test passed Set limited discoverable on - Success 1 - teardown
Index Removed callback

    Index: 0x0000

Set limited discoverable on - Success 1 - teardown complete Set limited discoverable on - Success 1 - done

Set limited discoverable on - Success 2 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set limited discoverable on - Success 2 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set limited discoverable on - Success 2 - setup complete Set limited discoverable on - Success 2 - run
Registering HCI command callback
Test condition added, total 1
Sending Set Discoverable (0x0006)
Test condition added, total 2
HCI Command 0x0c3a length 4
Test condition complete, 1 left
HCI Command 0x0c1a length 1
HCI Command 0x0c24 length 3
Set Discoverable (0x0006): Success (0x00) Test condition complete, 0 left
Set limited discoverable on - Success 2 - test passed Set limited discoverable on - Success 2 - teardown
Index Removed callback

    Index: 0x0000

Set limited discoverable on - Success 2 - teardown complete Set limited discoverable on - Success 2 - done

Set limited discoverable on - Success 3 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set limited discoverable on - Success 3 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set limited discoverable on - Success 3 - setup complete Set limited discoverable on - Success 3 - run
Registering HCI command callback
Test condition added, total 1
Sending Set Discoverable (0x0006)
Test condition added, total 2
HCI Command 0x0c3a length 4
HCI Command 0x0c1a length 1
HCI Command 0x0c24 length 3
Test condition complete, 1 left
Set Discoverable (0x0006): Success (0x00) Test condition complete, 0 left
Set limited discoverable on - Success 3 - test passed Set limited discoverable on - Success 3 - teardown
Index Removed callback

    Index: 0x0000

Set limited discoverable on - Success 3 - teardown complete Set limited discoverable on - Success 3 - done

Set limited discoverable on (LE) - Success 1 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001be1b
    Current settings: 0x00000200
    Class: 0x000000
    Name: 
    Short name: 

Set limited discoverable on (LE) - Success 1 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set limited discoverable on (LE) - Success 1 - setup complete Set limited discoverable on (LE) - Success 1 - run
Registering HCI command callback
Test condition added, total 1
Sending Set Discoverable (0x0006)
Test condition added, total 2
HCI Command 0x2008 length 32
Test condition complete, 1 left
Set Discoverable (0x0006): Success (0x00)
Test condition complete, 0 left
Set limited discoverable on (LE) - Success 1 - test passed Set limited discoverable on (LE) - Success 1 - teardown
Index Removed callback

    Index: 0x0000

Set limited discoverable on (LE) - Success 1 - teardown complete Set limited discoverable on (LE) - Success 1 - done

Set link security on - Success 1 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set link security on - Success 1 - setup
Set link security on - Success 1 - setup complete
Set link security on - Success 1 - run
Registering new settings notification
Test condition added, total 1
Sending Set Link Security (0x000a)
Test condition added, total 2
Set Link Security (0x000a): Success (0x00)
Test condition complete, 1 left
New settings 0x000000a0 received
Unregistering new settings notification
Test condition complete, 0 left
Set link security on - Success 1 - test passed
Set link security on - Success 1 - teardown
Index Removed callback

    Index: 0x0000

Set link security on - Success 1 - teardown complete Set link security on - Success 1 - done

Set link security on - Success 2 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set link security on - Success 2 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set link security on - Success 2 - setup complete
Set link security on - Success 2 - run
Registering new settings notification
Test condition added, total 1
Registering HCI command callback
Test condition added, total 2
Sending Set Link Security (0x000a)
Test condition added, total 3
HCI Command 0x0c20 length 1
Test condition complete, 2 left
Set Link Security (0x000a): Success (0x00)
Test condition complete, 1 left
New settings 0x000000a1 received
Unregistering new settings notification
Test condition complete, 0 left
Set link security on - Success 2 - test passed
Set link security on - Success 2 - teardown
New settings event received
Index Removed callback

    Index: 0x0000

Set link security on - Success 2 - teardown complete Set link security on - Success 2 - done

Set link security on - Success 3 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set link security on - Success 3 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set link security on - Success 3 - setup complete
Set link security on - Success 3 - run
Registering new settings notification
Test condition added, total 1
Registering HCI command callback
Test condition added, total 2
Sending Set Powered (0x0005)
Test condition added, total 3
HCI Command 0x0c20 length 1
Test condition complete, 2 left
HCI Command 0x0c13 length 248
Set Powered (0x0005): Success (0x00)
Test condition complete, 1 left
New settings 0x000000a1 received
Unregistering new settings notification
Test condition complete, 0 left
Set link security on - Success 3 - test passed
Set link security on - Success 3 - teardown
New settings event received
Index Removed callback

    Index: 0x0000

Set link security on - Success 3 - teardown complete Set link security on - Success 3 - done

Set link security on - Invalid parameters 1 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set link security on - Invalid parameters 1 - setup Set link security on - Invalid parameters 1 - setup complete Set link security on - Invalid parameters 1 - run
Sending Set Link Security (0x000a)
Test condition added, total 1
Set Link Security (0x000a): Invalid Parameters (0x0d) Test condition complete, 0 left
Set link security on - Invalid parameters 1 - test passed Set link security on - Invalid parameters 1 - teardown
Index Removed callback

    Index: 0x0000

Set link security on - Invalid parameters 1 - teardown complete Set link security on - Invalid parameters 1 - done

Set link security on - Invalid parameters 2 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set link security on - Invalid parameters 2 - setup Set link security on - Invalid parameters 2 - setup complete Set link security on - Invalid parameters 2 - run
Sending Set Link Security (0x000a)
Test condition added, total 1
Set Link Security (0x000a): Invalid Parameters (0x0d) Test condition complete, 0 left
Set link security on - Invalid parameters 2 - test passed Set link security on - Invalid parameters 2 - teardown
Index Removed callback

    Index: 0x0000

Set link security on - Invalid parameters 2 - teardown complete Set link security on - Invalid parameters 2 - done

Set link security on - Invalid parameters 3 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set link security on - Invalid parameters 3 - setup Set link security on - Invalid parameters 3 - setup complete Set link security on - Invalid parameters 3 - run
Sending Set Link Security (0x000a)
Test condition added, total 1
Set Link Security (0x000a): Invalid Parameters (0x0d) Test condition complete, 0 left
Set link security on - Invalid parameters 3 - test passed Set link security on - Invalid parameters 3 - teardown
Index Removed callback

    Index: 0x0000

Set link security on - Invalid parameters 3 - teardown complete Set link security on - Invalid parameters 3 - done

Set link security on - Invalid index - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set link security on - Invalid index - setup Set link security on - Invalid index - setup complete Set link security on - Invalid index - run
Sending Set Link Security (0x000a)
Test condition added, total 1
Set Link Security (0x000a): Invalid Index (0x11) Test condition complete, 0 left
Set link security on - Invalid index - test passed Set link security on - Invalid index - teardown
Index Removed callback

    Index: 0x0000

Set link security on - Invalid index - teardown complete Set link security on - Invalid index - done

Set link security off - Success 1 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set link security off - Success 1 - setup
Initial settings completed
Test setup condition added, total 1 Client set connectable: Success (0x00) Test setup condition complete, 0 left
Set link security off - Success 1 - setup complete Set link security off - Success 1 - run
Registering new settings notification Test condition added, total 1
Sending Set Link Security (0x000a)
Test condition added, total 2
Set Link Security (0x000a): Success (0x00) Test condition complete, 1 left
New settings 0x00000080 received Unregistering new settings notification Test condition complete, 0 left
Set link security off - Success 1 - test passed Set link security off - Success 1 - teardown
Index Removed callback

    Index: 0x0000

Set link security off - Success 1 - teardown complete Set link security off - Success 1 - done

Set link security off - Success 2 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set link security off - Success 2 - setup
Initial settings completed
Test setup condition added, total 1 Client set connectable: Success (0x00) Test setup condition complete, 0 left
Set link security off - Success 2 - setup complete Set link security off - Success 2 - run
Registering new settings notification Test condition added, total 1 Registering HCI command callback
Test condition added, total 2
Sending Set Link Security (0x000a)
Test condition added, total 3
HCI Command 0x0c20 length 1
Test condition complete, 2 left
Set Link Security (0x000a): Success (0x00) Test condition complete, 1 left
New settings 0x00000081 received Unregistering new settings notification Test condition complete, 0 left
Set link security off - Success 2 - test passed Set link security off - Success 2 - teardown
New settings event received
Index Removed callback

    Index: 0x0000

Set link security off - Success 2 - teardown complete Set link security off - Success 2 - done

Set SSP on - Success 1 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set SSP on - Success 1 - setup
Set SSP on - Success 1 - setup complete
Set SSP on - Success 1 - run
Registering new settings notification
Test condition added, total 1
Sending Set Secure Simple Pairing (0x000b) Test condition added, total 2
Set Secure Simple Pairing (0x000b): Success (0x00) Test condition complete, 1 left
New settings 0x000000c0 received Unregistering new settings notification Test condition complete, 0 left
Set SSP on - Success 1 - test passed
Set SSP on - Success 1 - teardown
Index Removed callback

    Index: 0x0000

Set SSP on - Success 1 - teardown complete
Set SSP on - Success 1 - done

Set SSP on - Success 2 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set SSP on - Success 2 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00) Test setup condition complete, 0 left
Set SSP on - Success 2 - setup complete
Set SSP on - Success 2 - run
Registering new settings notification
Test condition added, total 1
Registering HCI command callback
Test condition added, total 2
Sending Set Secure Simple Pairing (0x000b) Test condition added, total 3
HCI Command 0x0c56 length 1
Test condition complete, 2 left
Set Secure Simple Pairing (0x000b): Success (0x00) Test condition complete, 1 left
New settings 0x000000c1 received Unregistering new settings notification Test condition complete, 0 left
Set SSP on - Success 2 - test passed
HCI Command 0x0c52 length 241
Set SSP on - Success 2 - teardown
New settings event received
Index Removed callback

    Index: 0x0000

Set SSP on - Success 2 - teardown complete
Set SSP on - Success 2 - done

Set SSP on - Success 3 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set SSP on - Success 3 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set SSP on - Success 3 - setup complete
Set SSP on - Success 3 - run
Registering new settings notification
Test condition added, total 1
Registering HCI command callback
Test condition added, total 2
Sending Set Powered (0x0005)
Test condition added, total 3
HCI Command 0x0c56 length 1
Test condition complete, 2 left
HCI Command 0x0c13 length 248
HCI Command 0x0c52 length 241
Set Powered (0x0005): Success (0x00)
Test condition complete, 1 left
New settings 0x000000c1 received
Unregistering new settings notification
Test condition complete, 0 left
Set SSP on - Success 3 - test passed
Set SSP on - Success 3 - teardown
New settings event received
Index Removed callback

    Index: 0x0000

Set SSP on - Success 3 - teardown complete
Set SSP on - Success 3 - done

Set SSP on - Invalid parameters 1 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set SSP on - Invalid parameters 1 - setup
Set SSP on - Invalid parameters 1 - setup complete Set SSP on - Invalid parameters 1 - run
Sending Set Secure Simple Pairing (0x000b)
Test condition added, total 1
Set Secure Simple Pairing (0x000b): Invalid Parameters (0x0d) Test condition complete, 0 left
Set SSP on - Invalid parameters 1 - test passed
Set SSP on - Invalid parameters 1 - teardown
Index Removed callback

    Index: 0x0000

Set SSP on - Invalid parameters 1 - teardown complete Set SSP on - Invalid parameters 1 - done

Set SSP on - Invalid parameters 2 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set SSP on - Invalid parameters 2 - setup
Set SSP on - Invalid parameters 2 - setup complete Set SSP on - Invalid parameters 2 - run
Sending Set Secure Simple Pairing (0x000b)
Test condition added, total 1
Set Secure Simple Pairing (0x000b): Invalid Parameters (0x0d) Test condition complete, 0 left
Set SSP on - Invalid parameters 2 - test passed
Set SSP on - Invalid parameters 2 - teardown
Index Removed callback

    Index: 0x0000

Set SSP on - Invalid parameters 2 - teardown complete Set SSP on - Invalid parameters 2 - done

Set SSP on - Invalid parameters 3 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set SSP on - Invalid parameters 3 - setup
Set SSP on - Invalid parameters 3 - setup complete Set SSP on - Invalid parameters 3 - run
Sending Set Secure Simple Pairing (0x000b)
Test condition added, total 1
Set Secure Simple Pairing (0x000b): Invalid Parameters (0x0d) Test condition complete, 0 left
Set SSP on - Invalid parameters 3 - test passed
Set SSP on - Invalid parameters 3 - teardown
Index Removed callback

    Index: 0x0000

Set SSP on - Invalid parameters 3 - teardown complete Set SSP on - Invalid parameters 3 - done

Set SSP on - Invalid index - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set SSP on - Invalid index - setup
Set SSP on - Invalid index - setup complete
Set SSP on - Invalid index - run
Sending Set Secure Simple Pairing (0x000b)
Test condition added, total 1
Set Secure Simple Pairing (0x000b): Invalid Index (0x11) Test condition complete, 0 left
Set SSP on - Invalid index - test passed
Set SSP on - Invalid index - teardown
Index Removed callback

    Index: 0x0000

Set SSP on - Invalid index - teardown complete
Set SSP on - Invalid index - done

Set Secure Connections on - Success 1 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set Secure Connections on - Success 1 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set Secure Connections on - Success 1 - setup complete Set Secure Connections on - Success 1 - run
Registering new settings notification
Test condition added, total 1
Sending Set Secure Connections (0x002d) Test condition added, total 2
Set Secure Connections (0x002d): Success (0x00) Test condition complete, 1 left
New settings 0x000008c0 received Unregistering new settings notification Test condition complete, 0 left
Set Secure Connections on - Success 1 - test passed Set Secure Connections on - Success 1 - teardown
Index Removed callback

    Index: 0x0000

Set Secure Connections on - Success 1 - teardown complete Set Secure Connections on - Success 1 - done

Set Secure Connections on - Success 2 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set Secure Connections on - Success 2 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set Secure Connections on - Success 2 - setup complete Set Secure Connections on - Success 2 - run
Registering new settings notification
Test condition added, total 1
Registering HCI command callback
Test condition added, total 2
Sending Set Secure Connections (0x002d) Test condition added, total 3
HCI Command 0x0c7a length 1
Test condition complete, 2 left
Set Secure Connections (0x002d): Success (0x00) Test condition complete, 1 left
New settings 0x000008c1 received Unregistering new settings notification Test condition complete, 0 left
Set Secure Connections on - Success 2 - test passed Set Secure Connections on - Success 2 - teardown
New settings event received
Index Removed callback

    Index: 0x0000

Set Secure Connections on - Success 2 - teardown complete Set Secure Connections on - Success 2 - done

Set Secure Connections on - Invalid params 1 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set Secure Connections on - Invalid params 1 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set Secure Connections on - Invalid params 1 - setup complete Set Secure Connections on - Invalid params 1 - run
Sending Set Secure Connections (0x002d)
Test condition added, total 1
Set Secure Connections (0x002d): Invalid Parameters (0x0d) Test condition complete, 0 left
Set Secure Connections on - Invalid params 1 - test passed Set Secure Connections on - Invalid params 1 - teardown
Index Removed callback

    Index: 0x0000

Set Secure Connections on - Invalid params 1 - teardown complete Set Secure Connections on - Invalid params 1 - done

Set Secure Connections on - Invalid params 2 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set Secure Connections on - Invalid params 2 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set Secure Connections on - Invalid params 2 - setup complete Set Secure Connections on - Invalid params 2 - run
Sending Set Secure Connections (0x002d)
Test condition added, total 1
Set Secure Connections (0x002d): Invalid Parameters (0x0d) Test condition complete, 0 left
Set Secure Connections on - Invalid params 2 - test passed Set Secure Connections on - Invalid params 2 - teardown
Index Removed callback

    Index: 0x0000

Set Secure Connections on - Invalid params 2 - teardown complete Set Secure Connections on - Invalid params 2 - done

Set Secure Connections on - Invalid params 3 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set Secure Connections on - Invalid params 3 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set Secure Connections on - Invalid params 3 - setup complete Set Secure Connections on - Invalid params 3 - run
Sending Set Secure Connections (0x002d)
Test condition added, total 1
Set Secure Connections (0x002d): Invalid Parameters (0x0d) Test condition complete, 0 left
Set Secure Connections on - Invalid params 3 - test passed Set Secure Connections on - Invalid params 3 - teardown
Index Removed callback

    Index: 0x0000

Set Secure Connections on - Invalid params 3 - teardown complete Set Secure Connections on - Invalid params 3 - done

Set Secure Connections on - Invalid index - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set Secure Connections on - Invalid index - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set Secure Connections on - Invalid index - setup complete Set Secure Connections on - Invalid index - run
Sending Set Secure Connections (0x002d)
Test condition added, total 1
Set Secure Connections (0x002d): Invalid Index (0x11) Test condition complete, 0 left
Set Secure Connections on - Invalid index - test passed Set Secure Connections on - Invalid index - teardown
Index Removed callback

    Index: 0x0000

Set Secure Connections on - Invalid index - teardown complete Set Secure Connections on - Invalid index - done

Set Secure Connections on - Not supported 1 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)

Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Index Added callback

    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x05
    Manufacturer: 0x003f
    Supported settings: 0x000111ff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set Secure Connections on - Not supported 1 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set Secure Connections on - Not supported 1 - setup complete Set Secure Connections on - Not supported 1 - run
Sending Set Secure Connections (0x002d)
Test condition added, total 1
Set Secure Connections (0x002d): Not Supported (0x0c) Test condition complete, 0 left
Set Secure Connections on - Not supported 1 - test passed Set Secure Connections on - Not supported 1 - teardown
Index Removed callback

    Index: 0x0000

Set Secure Connections on - Not supported 1 - teardown complete Set Secure Connections on - Not supported 1 - done

Set Secure Connections on - Not supported 2 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)

Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Bluetooth: hci0: Failed to read codec capabilities (-56)
Index Added callback

    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x05
    Manufacturer: 0x003f
    Supported settings: 0x000111ff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set Secure Connections on - Not supported 2 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set Secure Connections on - Not supported 2 - setup complete Set Secure Connections on - Not supported 2 - run
Sending Set Secure Connections (0x002d)
Test condition added, total 1
Set Secure Connections (0x002d): Not Supported (0x0c) Test condition complete, 0 left
Set Secure Connections on - Not supported 2 - test passed Set Secure Connections on - Not supported 2 - teardown
Index Removed callback

    Index: 0x0000

Set Secure Connections on - Not supported 2 - teardown complete Set Secure Connections on - Not supported 2 - done

Set Secure Connections Only on - Success 1 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set Secure Connections Only on - Success 1 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set Secure Connections Only on - Success 1 - setup complete Set Secure Connections Only on - Success 1 - run
Registering new settings notification
Test condition added, total 1
Sending Set Secure Connections (0x002d)
Test condition added, total 2
Set Secure Connections (0x002d): Success (0x00) Test condition complete, 1 left
New settings 0x000008c0 received
Unregistering new settings notification
Test condition complete, 0 left
Set Secure Connections Only on - Success 1 - test passed Set Secure Connections Only on - Success 1 - teardown
Index Removed callback

    Index: 0x0000

Set Secure Connections Only on - Success 1 - teardown complete Set Secure Connections Only on - Success 1 - done

Set Secure Connections Only on - Success 2 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set Secure Connections Only on - Success 2 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set Secure Connections Only on - Success 2 - setup complete Set Secure Connections Only on - Success 2 - run
Registering new settings notification
Test condition added, total 1
Registering HCI command callback
Test condition added, total 2
Sending Set Secure Connections (0x002d)
Test condition added, total 3
HCI Command 0x0c7a length 1
Test condition complete, 2 left
Set Secure Connections (0x002d): Success (0x00) Test condition complete, 1 left
New settings 0x000008c1 received
Unregistering new settings notification
Test condition complete, 0 left
Set Secure Connections Only on - Success 2 - test passed Set Secure Connections Only on - Success 2 - teardown
New settings event received
Index Removed callback

    Index: 0x0000

Set Secure Connections Only on - Success 2 - teardown complete Set Secure Connections Only on - Success 2 - done

Set High Speed on - Success - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set High Speed on - Success - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set High Speed on - Success - setup complete
Set High Speed on - Success - run
Registering new settings notification
Test condition added, total 1
Sending Set High Speed (0x000c)
Test condition added, total 2
Set High Speed (0x000c): Success (0x00)
Test condition complete, 1 left
New settings 0x000001c0 received
Unregistering new settings notification
Test condition complete, 0 left
Set High Speed on - Success - test passed
Set High Speed on - Success - teardown
Index Removed callback

    Index: 0x0000

Set High Speed on - Success - teardown complete
Set High Speed on - Success - done

Set High Speed on - Invalid parameters 1 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set High Speed on - Invalid parameters 1 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set High Speed on - Invalid parameters 1 - setup complete Set High Speed on - Invalid parameters 1 - run
Sending Set High Speed (0x000c)
Test condition added, total 1
Set High Speed (0x000c): Invalid Parameters (0x0d) Test condition complete, 0 left
Set High Speed on - Invalid parameters 1 - test passed Set High Speed on - Invalid parameters 1 - teardown
Index Removed callback

    Index: 0x0000

Set High Speed on - Invalid parameters 1 - teardown complete Set High Speed on - Invalid parameters 1 - done

Set High Speed on - Invalid parameters 2 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set High Speed on - Invalid parameters 2 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set High Speed on - Invalid parameters 2 - setup complete Set High Speed on - Invalid parameters 2 - run
Sending Set High Speed (0x000c)
Test condition added, total 1
Set High Speed (0x000c): Invalid Parameters (0x0d) Test condition complete, 0 left
Set High Speed on - Invalid parameters 2 - test passed Set High Speed on - Invalid parameters 2 - teardown
Index Removed callback

    Index: 0x0000

Set High Speed on - Invalid parameters 2 - teardown complete Set High Speed on - Invalid parameters 2 - done

Set High Speed on - Invalid parameters 3 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set High Speed on - Invalid parameters 3 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set High Speed on - Invalid parameters 3 - setup complete Set High Speed on - Invalid parameters 3 - run
Sending Set High Speed (0x000c)
Test condition added, total 1
Set High Speed (0x000c): Invalid Parameters (0x0d) Test condition complete, 0 left
Set High Speed on - Invalid parameters 3 - test passed Set High Speed on - Invalid parameters 3 - teardown
Index Removed callback

    Index: 0x0000

Set High Speed on - Invalid parameters 3 - teardown complete Set High Speed on - Invalid parameters 3 - done

Set High Speed on - Invalid index - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set High Speed on - Invalid index - setup
Initial settings completed
Test setup condition added, total 1 Client set connectable: Success (0x00) Test setup condition complete, 0 left
Set High Speed on - Invalid index - setup complete Set High Speed on - Invalid index - run
Sending Set High Speed (0x000c)
Test condition added, total 1
Set High Speed (0x000c): Invalid Index (0x11) Test condition complete, 0 left
Set High Speed on - Invalid index - test passed Set High Speed on - Invalid index - teardown
Index Removed callback

    Index: 0x0000

Set High Speed on - Invalid index - teardown complete Set High Speed on - Invalid index - done

Set Low Energy on - Success 1 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set Low Energy on - Success 1 - setup
Set Low Energy on - Success 1 - setup complete
Set Low Energy on - Success 1 - run
Registering new settings notification
Test condition added, total 1
Sending Set Low Energy (0x000d)
Test condition added, total 2
Set Low Energy (0x000d): Success (0x00)
Test condition complete, 1 left
New settings 0x00000280 received
Unregistering new settings notification
Test condition complete, 0 left
Set Low Energy on - Success 1 - test passed
Set Low Energy on - Success 1 - teardown
Index Removed callback

    Index: 0x0000

Set Low Energy on - Success 1 - teardown complete
Set Low Energy on - Success 1 - done

Set Low Energy on - Success 2 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set Low Energy on - Success 2 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set Low Energy on - Success 2 - setup complete
Set Low Energy on - Success 2 - run
Registering new settings notification
Test condition added, total 1
Registering HCI command callback
Test condition added, total 2
Sending Set Low Energy (0x000d)
Test condition added, total 3
HCI Command 0x0c6d length 2
Test condition complete, 2 left
Set Low Energy (0x000d): Success (0x00)
Test condition complete, 1 left
New settings 0x00000281 received
Unregistering new settings notification
Test condition complete, 0 left
Set Low Energy on - Success 2 - test passed
HCI Command 0x2008 length 32
Set Low Energy on - Success 2 - teardown
New settings event received
Index Removed callback

    Index: 0x0000

Set Low Energy on - Success 2 - teardown complete
Set Low Energy on - Success 2 - done

Set Low Energy on - Success 3 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set Low Energy on - Success 3 - setup
Initial settings completed
Test setup condition added, total 1
Client set connectable: Success (0x00)
Test setup condition complete, 0 left
Set Low Energy on - Success 3 - setup complete
Set Low Energy on - Success 3 - run
Registering new settings notification
Test condition added, total 1
Registering HCI command callback
Test condition added, total 2
Sending Set Powered (0x0005)
Test condition added, total 3
HCI Command 0x0c6d length 2
Test condition complete, 2 left
HCI Command 0x2008 length 32
HCI Command 0x0c13 length 248
Set Powered (0x0005): Success (0x00)
Test condition complete, 1 left
New settings 0x00000281 received
Unregistering new settings notification
Test condition complete, 0 left
Set Low Energy on - Success 3 - test passed
Set Low Energy on - Success 3 - teardown
New settings event received
Index Removed callback

    Index: 0x0000

Set Low Energy on - Success 3 - teardown complete
Set Low Energy on - Success 3 - done

Set Low Energy on - Invalid parameters 1 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set Low Energy on - Invalid parameters 1 - setup Set Low Energy on - Invalid parameters 1 - setup complete Set Low Energy on - Invalid parameters 1 - run
Sending Set Low Energy (0x000d)
Test condition added, total 1
Set Low Energy (0x000d): Invalid Parameters (0x0d) Test condition complete, 0 left
Set Low Energy on - Invalid parameters 1 - test passed Set Low Energy on - Invalid parameters 1 - teardown
Index Removed callback

    Index: 0x0000

Set Low Energy on - Invalid parameters 1 - teardown complete Set Low Energy on - Invalid parameters 1 - done

Set Low Energy on - Invalid parameters 2 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set Low Energy on - Invalid parameters 2 - setup Set Low Energy on - Invalid parameters 2 - setup complete Set Low Energy on - Invalid parameters 2 - run
Sending Set Low Energy (0x000d)
Test condition added, total 1
Set Low Energy (0x000d): Invalid Parameters (0x0d) Test condition complete, 0 left
Set Low Energy on - Invalid parameters 2 - test passed Set Low Energy on - Invalid parameters 2 - teardown
Index Removed callback

    Index: 0x0000

Set Low Energy on - Invalid parameters 2 - teardown complete Set Low Energy on - Invalid parameters 2 - done

Set Low Energy on - Invalid parameters 3 - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

Set Low Energy on - Invalid parameters 3 - setup Set Low Energy on - Invalid parameters 3 - setup complete Set Low Energy on - Invalid parameters 3 - run
Sending Set Low Energy (0x000d)
Test condition added, total 1
Set Low Energy (0x000d): Invalid Parameters (0x0d) Test condition complete, 0 left
Set Low Energy on - Invalid parameters 3 - test passed Set Low Energy on - Invalid parameters 3 - teardown
Index Removed callback

    Index: 0x0000

Set Low Energy on - Invalid parameters 3 - teardown complete Set Low Energy on - Invalid parameters 3 - done

Set Low Energy on - Invalid index - init
Read Version callback

    Status: Success (0x00)
    Version 1.21
  Read Commands callback
    Status: Success (0x00)
  Read Index List callback
    Status: Success (0x00)
  Index Added callback
    Index: 0x0000
  Read Info callback
    Status: Success (0x00)
    Address: 00:AA:01:00:00:00
    Version: 0x09
    Manufacturer: 0x003f
    Supported settings: 0x0001bfff
    Current settings: 0x00000080
    Class: 0x000000
    Name: 
    Short name: 

15,640 lines not shown · raw message

Part of this message is not shown here. View the raw message.