Bluetooth: Enumerate local supported codec and cache details
Subsystems (2)
PATCH v10 1/10 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
---
* 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 | 23 ++++ net/bluetooth/Kconfig | 11 ++ net/bluetooth/hci_core.c | 207 ++++++++++++++++++++++++++++++- 4 files changed, 278 insertions(+), 4 deletions(-)
include/net/bluetooth/hci.h +41 -0
@@ -1307,6 +1307,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 0x100cstruct hci_rp_read_local_pairing_opts {
@@ -1315,6 +1337,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 0x0c1bstruct hci_rp_read_page_scan_activity {__u8 status;
include/net/bluetooth/hci_core.h +23 -0
@@ -131,6 +131,19 @@ struct bdaddr_list {u8 bdaddr_type; }; +#if IS_ENABLED (CONFIG_BT_OFFLOAD_CODECS ) +struct codec_list { +struct list_head list; +u8 id; +__le16 cid; +__le16 vid; +u8 transport; +u8 num_caps; +u32 len; +struct hci_codec_caps caps[]; +}; +#endif +struct bdaddr_list_with_irk {struct list_head list;bdaddr_t bdaddr;
@@ -535,6 +548,9 @@ struct hci_dev {struct list_head pend_le_conns;struct list_head pend_le_reports;struct list_head blocked_keys; +#if IS_ENABLED (CONFIG_BT_OFFLOAD_CODECS ) +struct list_head local_codecs; +#endif struct hci_dev_stats stat;
@@ -1849,4 +1865,11 @@ void hci_copy_identity_address(struct hci_dev *hdev, bdaddr_t *bdaddr,#define SCO_AIRMODE_CVSD 0x0000#define SCO_AIRMODE_TRANSP 0x0003 +#if IS_ENABLED (CONFIG_BT_OFFLOAD_CODECS ) +#define LOCAL_CODEC_ACL_MASK BIT(0) +#define LOCAL_CODEC_SCO_MASK BIT(1) + +#define TRANSPORT_TYPE_MAX 0x04 +#endif +#endif /* __HCI_CORE_H */
net/bluetooth/Kconfig +11 -0
@@ -92,6 +92,17 @@ config BT_LEDS This option selects a few LED triggers for different Bluetooth events. +config BT_OFFLOAD_CODECS + bool "Enable offload codecs" + depends on BT && BT_BREDR + default n + help + This option enables offload codecs if controller supports. + When this option is enabled, user space audio modules can + query offload codecs and can set the codec to be used for + specific use case. + + config BT_MSFTEXT bool "Enable Microsoft extensions" depends on BT
net/bluetooth/hci_core.c +203 -4
237 lines not on this page · raw message
Signature · 1 line
2.17.1
PATCH v10 2/10 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---
* 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_core.c | 78 ++++++++++++++++++++++++++++++++++++- 2 files changed, 106 insertions(+), 1 deletion(-)
include/net/bluetooth/hci.h +29 -0
@@ -1337,6 +1337,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 0x100estruct hci_op_read_local_codec_caps {__u8 id;
net/bluetooth/hci_core.c +77 -1
96 lines not on this page · raw message
Signature · 1 line
2.17.1
PATCH v10 3/10 Bluetooth: btintel: Read supported offload usecases
In reply to Kiran KRead offload usecases supported by controller.
---
* 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 | 16 ++++++++++++++++ drivers/bluetooth/btusb.c | 5 +++++ 3 files changed, 53 insertions(+)
drivers/bluetooth/btintel.c +32 -0
@@ -1272,6 +1272,38 @@ int btintel_set_debug_features(struct hci_dev *hdev, }EXPORT_SYMBOL_GPL (btintel_set_debug_features); +#if IS_ENABLED (CONFIG_BT_OFFLOAD_CODECS ) +int btintel_configure_offload_usecases (struct hci_dev *hdev) +{ +struct sk_buff *skb; +int err =0 ; +struct intel_offload_usecases *usecases; + + skb =__hci_cmd_sync (hdev,0xfc86 ,0 ,NULL ,HCI_INIT_TIMEOUT ); +if (IS_ERR (skb)) { +bt_dev_err (hdev,"Reading offload usecases failed (%ld)" , +PTR_ERR (skb)); +return PTR_ERR (skb); + } + +if (skb->len <sizeof (*usecases)) { + err = -EIO ; + goto error; + } + + usecases = (void *)skb->data; + +if (usecases->status) { + err = -bt_to_errno (skb->data[0 ]); + goto error; + } +error: +kfree_skb (skb); +return err; +} +EXPORT_SYMBOL_GPL (btintel_configure_offload_usecases); +#endif +MODULE_AUTHOR ("Marcel Holtmann <[email protected]>" );MODULE_DESCRIPTION ("Bluetooth support for Intel devices ver " VERSION );MODULE_VERSION (VERSION );
drivers/bluetooth/btintel.h +16 -0
@@ -132,6 +132,13 @@ struct intel_debug_features {__u8 page1[16 ]; } __packed; +#if IS_ENABLED (CONFIG_BT_OFFLOAD_CODECS ) +struct intel_offload_usecases { +__u8 status; +__u8 preset[8 ]; +} __packed; +#endif +#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)
@@ -175,6 +182,9 @@ int btintel_read_debug_features(struct hci_dev *hdev, struct intel_debug_features *features);int btintel_set_debug_features (struct hci_dev *hdev,const struct intel_debug_features *features); +#if IS_ENABLED (CONFIG_BT_OFFLOAD_CODECS ) +int btintel_configure_offload_usecases (struct hci_dev *hdev); +#endif #else static inline int btintel_check_bdaddr (struct hci_dev *hdev)
@@ -307,4 +317,10 @@ static inline int btintel_set_debug_features(struct hci_dev *hdev, return -EOPNOTSUPP; } +#if IS_ENABLED (CONFIG_BT_OFFLOAD_CODECS ) +static int btintel_configure_offload_usecases (struct hci_dev *hdev) +{ +return -EOPNOTSUPP ; +} +#endif #endif
drivers/bluetooth/btusb.c +5 -0
@@ -3008,6 +3008,11 @@ static int btusb_setup_intel_newgen(struct hci_dev *hdev)/* Set DDC mask for available debug features */ btintel_set_debug_features (hdev, &features); +#if IS_ENABLED (CONFIG_BT_OFFLOAD_CODECS ) +/* Read supported usecases and set callbacks to fetch datapath id */ +btintel_configure_offload_usecases (hdev); +#endif +/* Read the Intel version information after loading the FW */ err =btintel_read_version_tlv (hdev, &version);if (err)
Signature · 1 line
2.17.1
PATCH v10 4/10 Bluetooth: Allow querying of supported offload codecs over SCO socket
In reply to Kiran KAdd BT_CODEC option for getsockopt systemcall to get the details of offload codecs supported over SCO socket
---
* changes in v10:
- In getsockopt, prepare data in advance and call copy_to_user istead of calling put_user on each field of struct bt_codec
include/net/bluetooth/bluetooth.h | 20 +++++++ include/net/bluetooth/hci.h | 6 ++ include/net/bluetooth/hci_core.h | 3 + net/bluetooth/sco.c | 95 +++++++++++++++++++++++++++++++ 4 files changed, 124 insertions(+)
include/net/bluetooth/bluetooth.h +20 -0
@@ -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; +__le16 cid; +__le16 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 +6 -0
@@ -2621,6 +2621,12 @@ 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) +#if IS_ENABLED (CONFIG_BT_OFFLOAD_CODECS ) +/* codec transport types */ +#define TRANSPORT_ACL 0x00 +#define TRANSPORT_SCO_ESCO 0x01 +#endif +/* le24 support */ static inline void hci_cpu_to_le24 (__u32 val,__u8 dst[3 ]) {
include/net/bluetooth/hci_core.h +3 -0
@@ -621,6 +621,9 @@ struct hci_dev {int (*set_bdaddr)(struct hci_dev *hdev,const bdaddr_t *bdaddr);void (*cmd_timeout)(struct hci_dev *hdev);bool (*prevent_wake)(struct hci_dev *hdev); +#if IS_ENABLED (CONFIG_BT_OFFLOAD_CODECS ) +int (*get_data_path_id)(struct hci_dev *hdev,__u8 *data_path); +#endif };#define HCI_PHY_HANDLE (handle) (handle & 0xff)
net/bluetooth/sco.c +95 -0
107 lines not on this page · raw message
Signature · 1 line
2.17.1
PATCH v10 5/10 Bluetooth: btintel: Define callback to fetch data_path_id
In reply to Kiran KFor Intel controllers supporting HFP offload usecase, define a callback function to fetch data_path_id
---
* changes on v10:
- new patch due to refactoring
drivers/bluetooth/btintel.c | 10 ++++++++++ 1 file changed, 10 insertions(+)
drivers/bluetooth/btintel.c +10 -0
@@ -1273,6 +1273,13 @@ int btintel_set_debug_features(struct hci_dev *hdev,EXPORT_SYMBOL_GPL (btintel_set_debug_features);#if IS_ENABLED (CONFIG_BT_OFFLOAD_CODECS ) +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 ; +} +int btintel_configure_offload_usecases (struct hci_dev *hdev) {struct sk_buff *skb;
@@ -1297,6 +1304,9 @@ int btintel_configure_offload_usecases(struct hci_dev *hdev) err = -bt_to_errno (skb->data[0 ]); goto error; } + +if (usecases->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
PATCH v10 6/10 Bluetooth: Allow setting of codec for HFP offload usecase
In reply to Kiran KFor HFP offload usecase, controller needs to be configured with codec data and capabilities. This patch uses Bluetooth SIG defined command HCI_CONFIGURE_DATA_PATH to specify vendor specific data and allows userspace modules to set the codec via setsockopt systemcall.
---
* changes in v10:
- patch refactor - having callback definition and usage in the same patch
include/net/bluetooth/bluetooth.h | 2 + include/net/bluetooth/hci.h | 8 ++ include/net/bluetooth/hci_core.h | 3 + net/bluetooth/sco.c | 123 ++++++++++++++++++++++++++++++ 4 files changed, 136 insertions(+)
include/net/bluetooth/bluetooth.h +2 -0
@@ -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 )
include/net/bluetooth/hci.h +8 -0
@@ -1250,6 +1250,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 0x1001struct hci_rp_read_local_version {__u8 status;
include/net/bluetooth/hci_core.h +3 -0
@@ -623,6 +623,9 @@ struct hci_dev {bool (*prevent_wake)(struct hci_dev *hdev);#if IS_ENABLED (CONFIG_BT_OFFLOAD_CODECS )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);#endif };
net/bluetooth/sco.c +123 -0
159 lines not on this page · raw message
Signature · 1 line
2.17.1
PATCH v10 7/10 Bluetooth: btintel: Define a callback to fetch codec config data
In reply to Kiran KDefine 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.
---
* changes in v10:
- new patch due to refactoring
drivers/bluetooth/btintel.c | 49 ++++++++++++++++++++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-)
drivers/bluetooth/btintel.c +48 -1
@@ -1273,6 +1273,51 @@ int btintel_set_debug_features(struct hci_dev *hdev,EXPORT_SYMBOL_GPL (btintel_set_debug_features);#if IS_ENABLED (CONFIG_BT_OFFLOAD_CODECS ) +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 !=SCO_LINK && link !=ESCO_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 ; + 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); +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 */
@@ -1305,8 +1350,10 @@ int btintel_configure_offload_usecases(struct hci_dev *hdev) goto error; } -if (usecases->preset[0 ] &0x03 ) +if (usecases->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
PATCH v10 8/10 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)---
* 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 | 7 +- net/bluetooth/hci_conn.c | 106 ++++++++++++++++++++++++++++-- net/bluetooth/hci_event.c | 48 +++++++++++++- net/bluetooth/sco.c | 13 +++- 6 files changed, 201 insertions(+), 10 deletions(-)
include/net/bluetooth/bluetooth.h +2 -1
@@ -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
@@ -871,6 +871,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 +6 -1
@@ -719,6 +719,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);
@@ -1101,6 +1102,7 @@ static inline struct hci_conn *hci_lookup_le_connect(struct hci_dev *hdev)int hci_disconnect (struct hci_conn *conn,__u8 reason);bool hci_setup_sync (struct hci_conn *conn,__u16 handle); +bool hci_enhanced_setup_sync (struct hci_conn *conn,__u16 handle);void hci_sco_setup (struct hci_conn *conn,__u8 status); struct hci_conn *hci_conn_add(struct hci_dev *hdev, int type, bdaddr_t *dst,
@@ -1125,7 +1127,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,
@@ -1446,6 +1448,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 use_enhanced_sco_conn (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 -4
131 lines not on this page · raw message
net/bluetooth/hci_event.c +46 -2
66 lines not on this page · raw message
net/bluetooth/sco.c +11 -2
@@ -240,7 +240,7 @@ static int sco_connect(struct sock *sk) } 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)) { err =PTR_ERR (hcon); goto done;
@@ -876,9 +876,9 @@ static int sco_sock_setsockopt(struct socket *sock, int level, int optname,u32 opt;#if IS_ENABLED (CONFIG_BT_OFFLOAD_CODECS )struct bt_codecs *codecs; -struct hci_dev *hdev;__u8 buffer[255 ];#endif +struct hci_dev *hdev;BT_DBG ("sk %p" , sk);
@@ -926,6 +926,15 @@ 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 (use_enhanced_sco_conn (hdev) && + voice.setting ==BT_VOICE_TRANSPARENT ) +sco_pi (sk)->codec.id =CODING_FORMAT_TRANSPARENT ;break ;case BT_PKT_STATUS :
Signature · 1 line
2.17.1
Luiz Augusto von Dentz
maintainerRe: [PATCH v10 08/10] Bluetooth: Add support for HCI_Enhanced_Setup_Synchronous_Connection command
Hi Kiran,
Quoted 243 lines · 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 4Enhanced Setup Synchronous Connection (0x01|0x003d) ncmd 1 Status: Success (0x00)Quoted 1 line
HCI Event: Synchronous Connect Complete (
0x2c) plen 17Status: 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)Signed-off-by Kiran K <[email protected]>Reviewed-by Chethan T N <[email protected]>Reviewed-by Srivatsa Ravishankar <[email protected]>---
* changes in v10:
- Fix typos and remove unwanted chunks
* changes in v9:
- Fix review comments, usebt_dev_dbginstead ofBT_DBGinclude/net/bluetooth/bluetooth.h | 3 +- include/net/bluetooth/hci.h | 34 ++++++++++ include/net/bluetooth/hci_core.h | 7 +- net/bluetooth/hci_conn.c | 106 ++++++++++++++++++++++++++++-- net/bluetooth/hci_event.c | 48 +++++++++++++- net/bluetooth/sco.c | 13 +++- 6 files changed, 201 insertions(+), 10 deletions(-)include/net/bluetooth/bluetooth.h +2
-1@@ -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@@ -871,6 +871,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 +6
-1@@ -719,6 +719,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);@@ -1101,6 +1102,7 @@ static inline struct hci_conn *hci_lookup_le_connect(struct hci_dev *hdev)int hci_disconnect (struct hci_conn *conn,__u8 reason);bool hci_setup_sync (struct hci_conn *conn,__u16 handle); +bool hci_enhanced_setup_sync (struct hci_conn *conn,__u16 handle);void hci_sco_setup (struct hci_conn *conn,__u8 status); struct hci_conn *hci_conn_add(struct hci_dev *hdev, int type, bdaddr_t *dst,@@ -1125,7 +1127,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,@@ -1446,6 +1448,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 use_enhanced_sco_conn (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 +90
-0@@ -307,6 +307,96 @@ static bool find_next_esco_param(struct hci_conn *conn,return conn->attempt <= size; } +bool hci_enhanced_setup_sync (struct hci_conn *conn,__u16 handle) +{ +struct hci_dev *hdev = conn->hdev; +struct hci_cp_enhanced_setup_sync_conn cp; +const struct sco_param *param; + +bt_dev_dbg (hdev,"hcon %p" , conn); + + conn->state =BT_CONNECT ; + conn->out = true; + + conn->attempt++; + +memset (&cp,0x00 ,sizeof (cp)); + + cp.handle =cpu_to_le16 (handle); + + cp.tx_bandwidth =cpu_to_le32 (0x00001f40 ); + cp.rx_bandwidth =cpu_to_le32 (0x00001f40 ); + +switch (conn->codec.id) { +case CODING_FORMAT_TRANSPARENT : +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 =0x03 ; + cp.rx_coding_format.id =0x03 ; + cp.tx_codec_frame_size =__cpu_to_le16 (60 ); + cp.rx_codec_frame_size =__cpu_to_le16 (60 ); + cp.in_bandwidth =__cpu_to_le32 (0x1f40 ); + cp.out_bandwidth =__cpu_to_le32 (0x1f40 ); + cp.in_coding_format.id =0x03 ; + cp.out_coding_format.id =0x03 ; + 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_CVSD : +if (lmp_esco_capable (conn->link)) { +if (!find_next_esco_param (conn, esco_param_cvsd, +ARRAY_SIZE (esco_param_cvsd))) +return false; + param = &esco_param_cvsd[conn->attempt -1 ]; + }else { +if (conn->attempt >ARRAY_SIZE (sco_param_cvsd)) +return false; + param = &sco_param_cvsd[conn->attempt -1 ]; + } + cp.tx_coding_format.id =2 ; + cp.rx_coding_format.id =2 ; + cp.tx_codec_frame_size =__cpu_to_le16 (60 ); + cp.rx_codec_frame_size =__cpu_to_le16 (60 ); + cp.in_bandwidth =__cpu_to_le32 (16000 ); + cp.out_bandwidth =__cpu_to_le32 (16000 ); + cp.in_coding_format.id =4 ; + cp.out_coding_format.id =4 ; + 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 =16 ; + cp.out_transport_unit_size =16 ; +break ; +default : +return false; + } + + cp.retrans_effort = param->retrans_effort; + cp.pkt_type =__cpu_to_le16 (param->pkt_type); + cp.max_latency =__cpu_to_le16 (param->max_latency); + +if (hci_send_cmd (hdev,HCI_OP_ENHANCED_SETUP_SYNC_CONN ,sizeof (cp), &cp) <0 ) +return false; + +return true; +} +bool hci_setup_sync (struct hci_conn *conn,__u16 handle) {struct hci_dev *hdev = conn->hdev;@@ -424,10 +514,14 @@ void hci_sco_setup(struct hci_conn *conn, __u8 status)BT_DBG ("hcon %p" , conn);
net/bluetooth/hci_conn.c void hci_sco_setup(struct hci_conn *conn, __u8 status) · line 521
Quoted 10 lines
net/bluetooth/hci_conn.c +5
-3if (!status) { -if (lmp_esco_capable (conn->hdev)) -hci_setup_sync (sco, conn->handle); -else +if (lmp_esco_capable (conn->hdev)) { +if (use_enhanced_sco_conn (conn->hdev)) +hci_enhanced_setup_sync (sco, conn->handle); +else +hci_setup_sync (sco, conn->handle);
Make the check for use_enhanced_sco_conn inside hci_setup_sync and then call it internally there so we don't have to check it in multiple places (afaik we normally use _capable for this sort of macros). Btw since the use of enhanced version won't be conditional to the new Kconfig you must enable it in the emulator so it can be exercised by the CI, also Id just send this one separately alongside the changes to enable it on the emulator.
Quoted 142 lines
net/bluetooth/hci_conn.c +7
-1+ }else {hci_add_sco (sco, conn->handle); + } }else {hci_connect_cfm (sco, status);hci_conn_del (sco);@@ -1319,7 +1413,7 @@ struct hci_conn *hci_connect_acl(struct hci_dev *hdev, bdaddr_t *dst, }struct hci_conn *hci_connect_sco (struct hci_dev *hdev,int type,bdaddr_t *dst, -__u16 setting) +__u16 setting,struct bt_codec *codec) {struct hci_conn *acl;struct hci_conn *sco;@@ -1344,6 +1438,10 @@ struct hci_conn *hci_connect_sco(struct hci_dev *hdev, int type, bdaddr_t *dst,hci_conn_hold (sco); sco->setting = setting; + sco->codec.id = codec->id; + sco->codec.cid = codec->cid; + sco->codec.vid = codec->vid; + sco->codec.data_path = codec->data_path;if (acl->state ==BT_CONNECTED && (sco->state ==BT_OPEN || sco->state ==BT_CLOSED )) {net/bluetooth/hci_event.c +46
-2@@ -2236,6 +2236,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;@@ -3715,6 +3750,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 ;@@ -4401,8 +4440,13 @@ static void hci_sync_conn_complete_evt(struct hci_dev *hdev,if (conn->out) { conn->pkt_type = (hdev->esco_type &SCO_ESCO_MASK ) | (hdev->esco_type &EDR_ESCO_MASK ); -if (hci_setup_sync (conn, conn->link->handle)) - goto unlock; +if (use_enhanced_sco_conn (hdev)) { +if (hci_enhanced_setup_sync (conn, conn->link->handle)) + goto unlock; + }else { +if (hci_setup_sync (conn, conn->link->handle)) + goto unlock; + } } fallthrough;net/bluetooth/sco.c +11
-3@@ -240,7 +240,7 @@ static int sco_connect(struct sock *sk) } 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)) { err =PTR_ERR (hcon); goto done;@@ -876,9 +876,9 @@ static int sco_sock_setsockopt(struct socket *sock, int level, int optname,u32 opt;#if IS_ENABLED (CONFIG_BT_OFFLOAD_CODECS )struct bt_codecs *codecs; -struct hci_dev *hdev;__u8 buffer[255 ];#endif +struct hci_dev *hdev;BT_DBG ("sk %p" , sk);@@ -926,6 +926,15 @@ 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 (use_enhanced_sco_conn (hdev) && + voice.setting ==BT_VOICE_TRANSPARENT ) +sco_pi (sk)->codec.id =CODING_FORMAT_TRANSPARENT ;break ;case BT_PKT_STATUS : --2.17.1
Signature · 1 line
Luiz Augusto von Dentz
RE: [PATCH v10 08/10] Bluetooth: Add support for HCI_Enhanced_Setup_Synchronous_Connection command
Hi Luiz,
Quoted 264 lines
-----Original Message-----
From: Luiz Augusto von Dentz <[email protected]>
Sent: Thursday, July 1, 2021 2:09 AM
To: K, Kiran <[email protected]>
Cc: [email protected]
Subject: Re: [PATCH v10 08/10] Bluetooth: Add support forHCI_Enhanced_Setup_Synchronous_ConnectioncommandHi Kiran,
Quoted 2 lines · Kiran K
< HCI Command: Enhanced Setup Synchronous Connection (0x01|0x003d)
plen 59
Quoted 116 lines
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 4Enhanced Setup Synchronous Connection (0x01|0x003d) ncmd 1 Status: Success (0x00)Quoted 1 line
HCI Event: Synchronous Connect Complete (
0x2c) plen 17Status: 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)Signed-off-by Kiran K <[email protected]>Reviewed-by Chethan T N <[email protected]>Reviewed-by Srivatsa Ravishankar <[email protected]>---
* changes in v10:
- Fix typos and remove unwanted chunks
* changes in v9:
- Fix review comments, usebt_dev_dbginstead ofBT_DBGinclude/net/bluetooth/bluetooth.h | 3 +- include/net/bluetooth/hci.h | 34 ++++++++++ include/net/bluetooth/hci_core.h | 7 +- net/bluetooth/hci_conn.c | 106 ++++++++++++++++++++++++++++-- net/bluetooth/hci_event.c | 48 +++++++++++++- net/bluetooth/sco.c | 13 +++- 6 files changed, 201 insertions(+), 10 deletions(-)include/net/bluetooth/bluetooth.h +2
-1@@ -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@@ -871,6 +871,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 +1
-1@@ -719,6 +719,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); @@ -1101,6 +1102,7 @@ static inline struct hci_conn*hci_lookup_le_connect(struct
hci_dev*hdev)Quoted 7 lines
int
hci_disconnect(struct hci_conn *conn, __u8 reason); boolhci_setup_sync(struct hci_conn *conn, __u16 handle); +boolhci_enhanced_setup_sync(struct hci_conn *conn, __u16 handle);
voidhci_sco_setup(struct hci_conn *conn, __u8 status);struct
hci_conn*hci_conn_add(structhci_dev*hdev, int type,bdaddr_t*dst, @@ -1125,7 +1127,7 @@ structhci_conn*hci_connect_acl(struct
hci_dev*hdev,bdaddr_t*dst,Quoted 3 lines
u8
sec_level, u8auth_type, enumconn_reasonsconn_reason);
structhci_conn*hci_connect_sco(structhci_dev*hdev, int type,bdaddr_t*dst,
Quoted 15 lines
include/net/bluetooth/hci_core.h +2
-1- __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(structhci_conn*conn,__u8sec_level,__u8auth_type, @@ -1446,6 +1448,9 @@ voidhci_conn_del_sysfs(struct hci_conn *conn);
/* Use LL Privacy based address resolution if supported */ #defineuse_ll_privacy(dev)((dev)->le_features[0] &HCI_LE_LL_PRIVACY)include/net/bluetooth/hci_core.h +3
-0+/* Use enhanced synchronous connection if command is supported */ +#define use_enhanced_sco_conn (dev) ((dev)->commands[29] & 0x08) +/* Use ext scanning if set ext scan param and ext scan enable is Quoted 1 line
supported */ #define
use_ext_scan(dev)(((dev)->commands[37] &0x20)&& \
net/bluetooth/hci_conn.c static bool find_next_esco_param(struct hci_conn
Quoted 6 lines
((dev)->commands[37] & 0x40)) diff --git
a/net/bluetooth/hci_conn.cb/net/bluetooth/hci_conn.cindex2b5059a56cda..d4a08b344ad0100644net/bluetooth/hci_conn.c +0
-0@@ -307,6 +307,96 @@ static bool find_next_esco_param(struct hci_conn*conn,
Quoted 77 lines
net/bluetooth/hci_conn.c +74
-0return conn->attempt <= size; } +bool hci_enhanced_setup_sync (struct hci_conn *conn,__u16 handle) { +struct hci_dev *hdev = conn->hdev; +struct hci_cp_enhanced_setup_sync_conn cp; +const struct sco_param *param; + +bt_dev_dbg (hdev,"hcon %p" , conn); + + conn->state =BT_CONNECT ; + conn->out = true; + + conn->attempt++; + +memset (&cp,0x00 ,sizeof (cp)); + + cp.handle =cpu_to_le16 (handle); + + cp.tx_bandwidth =cpu_to_le32 (0x00001f40 ); + cp.rx_bandwidth =cpu_to_le32 (0x00001f40 ); + +switch (conn->codec.id) { +case CODING_FORMAT_TRANSPARENT : +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 =0x03 ; + cp.rx_coding_format.id =0x03 ; + cp.tx_codec_frame_size =__cpu_to_le16 (60 ); + cp.rx_codec_frame_size =__cpu_to_le16 (60 ); + cp.in_bandwidth =__cpu_to_le32 (0x1f40 ); + cp.out_bandwidth =__cpu_to_le32 (0x1f40 ); + cp.in_coding_format.id =0x03 ; + cp.out_coding_format.id =0x03 ; + 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_CVSD : +if (lmp_esco_capable (conn->link)) { +if (!find_next_esco_param (conn, esco_param_cvsd, +ARRAY_SIZE (esco_param_cvsd))) +return false; + param = &esco_param_cvsd[conn->attempt -1 ]; + }else { +if (conn->attempt >ARRAY_SIZE (sco_param_cvsd)) +return false; + param = &sco_param_cvsd[conn->attempt -1 ]; + } + cp.tx_coding_format.id =2 ; + cp.rx_coding_format.id =2 ; + cp.tx_codec_frame_size =__cpu_to_le16 (60 ); + cp.rx_codec_frame_size =__cpu_to_le16 (60 ); + cp.in_bandwidth =__cpu_to_le32 (16000 ); + cp.out_bandwidth =__cpu_to_le32 (16000 ); + cp.in_coding_format.id =4 ; + cp.out_coding_format.id =4 ; + 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 =16 ; + cp.out_transport_unit_size =16 ;net/bluetooth/hci_conn.c static bool find_next_esco_param(struct hci_conn *conn,
Quoted 10 lines
net/bluetooth/hci_conn.c +10
-0+break ; +default : +return false; + } + + cp.retrans_effort = param->retrans_effort; + cp.pkt_type =__cpu_to_le16 (param->pkt_type); + cp.max_latency =__cpu_to_le16 (param->max_latency); + + if (hci_send_cmd(hdev, HCI_OP_ENHANCED_SETUP_SYNC_CONN,sizeof(cp), &cp) < 0)
Quoted 10 lines
net/bluetooth/hci_conn.c +5
-0+return false; + +return true; +} +bool hci_setup_sync (struct hci_conn *conn,__u16 handle) { struct hci_dev *hdev = conn->hdev; @@ -424,10 +514,14 @@ void hci_sco_setup(struct hci_conn *conn, __u8 status) BT_DBG("hcon %p", conn);
Quoted 16 lines
net/bluetooth/hci_conn.c void hci_sco_setup(struct hci_conn *conn, __u8 status) · line 521
Quoted 9 lines
if (!status) {net/bluetooth/hci_conn.c +5
-3-if (lmp_esco_capable (conn->hdev)) -hci_setup_sync (sco, conn->handle); -else +if (lmp_esco_capable (conn->hdev)) { +if (use_enhanced_sco_conn (conn->hdev)) +hci_enhanced_setup_sync (sco, conn->handle); +else +hci_setup_sync (sco, conn->handle);Make the check for
use_enhanced_sco_conninsidehci_setup_syncand then call it internally there so we don't have to check it in multiple places (afaik we normally use_capablefor this sort of macros). Btw since the use of enhanced version won't be conditional to the newKconfigyou must enable it in the emulator so it can be exercised by the CI, also Id just send this one separately alongside the changes to enable it on the emulator.
Ack.
Quoted 149 lines
net/bluetooth/hci_conn.c struct hci_conn *hci_connect_acl(struct hci_dev · line 1415
Quoted 11 lines
net/bluetooth/hci_conn.c +2
-0+ }else {hci_add_sco (sco, conn->handle); + } }else {hci_connect_cfm (sco, status);hci_conn_del (sco);@@ -1319,7 +1413,7 @@ struct hci_conn *hci_connect_acl(struct hci_dev *hdev, bdaddr_t *dst, } struct hci_conn *hci_connect_sco(struct hci_dev *hdev, int type, bdaddr_t*dst,
net/bluetooth/hci_conn.c struct hci_conn *hci_connect_sco(struct
Quoted 7 lines
net/bluetooth/hci_conn.c +2
-1- __u16 setting) + __u16 setting, struct bt_codec + *codec) { struct hci_conn *acl;struct hci_conn *sco;@@ -1344,6 +1438,10 @@ struct hci_conn *hci_connect_sco(struct
hci_dev*hdev, int type,bdaddr_t*dst,net/bluetooth/hci_event.c static void hci_cs_setup_sync_conn(struct
Quoted 15 lines
net/bluetooth/hci_conn.c +4
-1hci_conn_hold (sco); sco->setting = setting; + sco->codec.id = codec->id; + sco->codec.cid = codec->cid; + sco->codec.vid = codec->vid; + sco->codec.data_path = codec->data_path;if (acl->state ==BT_CONNECTED && (sco->state ==BT_OPEN || sco->state ==BT_CLOSED )) { diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c index
1c3018202564..a021f29f12ad100644net/bluetooth/hci_event.c +0
-0@@ -2236,6 +2236,41 @@ static void hci_cs_setup_sync_conn(struct
hci_dev*hdev,__u8status)Quoted 5 lines
net/bluetooth/hci_event.c +2
-0hci_dev_unlock (hdev); } +static void hci_cs_enhanced_setup_sync_conn (struct hci_dev *hdev, +__u8 status) {net/bluetooth/hci_event.c static void hci_cs_setup_sync_conn(struct hci_dev *hdev, __u8 status)
Quoted 10 lines
net/bluetooth/hci_event.c +10
-0+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);net/bluetooth/hci_event.c static void hci_cmd_status_evt(struct hci_dev
Quoted 26 lines
net/bluetooth/hci_event.c +23
-0+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;@@ -3715,6 +3750,10 @@ static void hci_cmd_status_evt(struct hci_dev*hdev, struct
sk_buff*skb,net/bluetooth/hci_event.c static void hci_sync_conn_complete_evt(struct
Quoted 11 lines
net/bluetooth/hci_event.c +4
-0hci_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 ;@@ -4401,8 +4440,13 @@ static void hci_sync_conn_complete_evt(struct
hci_dev*hdev,net/bluetooth/sco.c static int sco_sock_setsockopt(struct socket *sock,
Quoted 30 lines
net/bluetooth/hci_event.c +7
-2if (conn->out) { conn->pkt_type = (hdev->esco_type &SCO_ESCO_MASK ) | (hdev->esco_type &EDR_ESCO_MASK ); -if (hci_setup_sync (conn, conn->link->handle)) - goto unlock; +if (use_enhanced_sco_conn (hdev)) { +if (hci_enhanced_setup_sync (conn, conn->link->handle)) + goto unlock; + }else { +if (hci_setup_sync (conn, conn->link->handle)) + goto unlock; + } } fallthrough;net/bluetooth/sco.c index renamed from net/bluetooth/sco.c +0
-0
4b6ee0b302d7..b44d56eb936a100644net/bluetooth/sco.c +2
-1@@ -240,7 +240,7 @@ static int sco_connect(struct sock *sk) } 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)) { err =PTR_ERR (hcon); goto done;@@ -876,9 +876,9 @@ static int sco_sock_setsockopt(struct socket *sock,int level, int optname,
net/bluetooth/sco.c static int sco_sock_setsockopt(struct socket *sock,
Quoted 11 lines
net/bluetooth/sco.c +1
-1u32 opt;#if IS_ENABLED (CONFIG_BT_OFFLOAD_CODECS )struct bt_codecs *codecs; -struct hci_dev *hdev;__u8 buffer[255 ];#endif +struct hci_dev *hdev;BT_DBG ("sk %p" , sk);@@ -926,6 +926,15 @@ static int sco_sock_setsockopt(struct socket *sock,int level, int optname,
Quoted 15 lines
net/bluetooth/sco.c +10
-0}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 (use_enhanced_sco_conn (hdev) && + voice.setting ==BT_VOICE_TRANSPARENT ) +sco_pi (sk)->codec.id = +CODING_FORMAT_TRANSPARENT ;break ;
Quoted 8 lines
Quoted 4 lines
case
BT_PKT_STATUS:
--
2.17.1--
Luiz Augusto von Dentz
Thanks,
Kiran
PATCH v10 9/10 Bluetooth: Add support for msbc coding format
In reply to Kiran KIn Enhanced_Setup_Synchronous_Command, add support for msbc coding format
---
* changes on v10:
- Fix typos and unwanted chunks
include/net/bluetooth/bluetooth.h | 1 + net/bluetooth/hci_conn.c | 27 +++++++++++++++++++++++++++ 2 files changed, 28 insertions(+)
include/net/bluetooth/bluetooth.h +1 -0
@@ -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 +27 -0
@@ -328,6 +328,33 @@ bool hci_enhanced_setup_sync(struct hci_conn *conn, __u16 handle) cp.rx_bandwidth =cpu_to_le32 (0x00001f40 );switch (conn->codec.id) { +#if IS_ENABLED (CONFIG_BT_OFFLOAD_CODECS ) +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 ; +#endif case CODING_FORMAT_TRANSPARENT :if (!find_next_esco_param (conn, esco_param_msbc,ARRAY_SIZE (esco_param_msbc)))
Signature · 1 line
2.17.1
PATCH v10 10/10 Bluetooth: Add offload feature under experimental flag
In reply to Kiran KAllow user level process to enable / disable codec offload feature through mgmt interface. By default offload codec feature is disabled.
---
* changes in v10:
- new patch added to place offload codec feature under experimental flag
include/net/bluetooth/hci.h | 4 ++ net/bluetooth/mgmt.c | 106 +++++++++++++++++++++++++++++++++++- net/bluetooth/sco.c | 10 ++++ 3 files changed, 119 insertions(+), 1 deletion(-)
include/net/bluetooth/hci.h +4 -0
@@ -331,6 +331,10 @@ enum {HCI_CMD_PENDING ,HCI_FORCE_NO_MITM , +#if IS_ENABLED(CONFIG_BT_OFFLOAD_CODECS) +HCI_OFFLOAD_CODECS_ENABLED , +#endif + __HCI_NUM_FLAGS, };
net/bluetooth/mgmt.c +105 -1
136 lines not on this page · raw message
net/bluetooth/sco.c +10 -0
@@ -964,6 +964,11 @@ static int sco_sock_setsockopt(struct socket *sock, int level, int optname,break ; } +if (!hci_dev_test_flag (hdev,HCI_OFFLOAD_CODECS_ENABLED )) { + err = -EOPNOTSUPP ; +break ; + } +if (!hdev->get_codec_config_data) { err = -EOPNOTSUPP ;break ;
@@ -1163,6 +1168,11 @@ static int sco_sock_getsockopt(struct socket *sock, int level, int optname,break ; } +if (!hci_dev_test_flag (hdev,HCI_OFFLOAD_CODECS_ENABLED )) { + err = -EOPNOTSUPP ; +break ; + } +if (!hdev->get_data_path_id) { err = -EOPNOTSUPP ;break ;
Signature · 1 line
2.17.1
Luiz Augusto von Dentz
maintainerRe: [PATCH v10 10/10] Bluetooth: Add offload feature under experimental flag
Hi Kiran,
Quoted 22 lines · Kiran K
Allow user level process to enable / disable codec offload feature through mgmt interface. By default offload codec feature is disabled.
Signed-off-by Kiran K <[email protected]>Reviewed-by Chethan T N <[email protected]>Reviewed-by Srivatsa Ravishankar <[email protected]>---
* changes in v10:
- new patch added to place offload codec feature under experimental flaginclude/net/bluetooth/hci.h | 4 ++ net/bluetooth/mgmt.c | 106 +++++++++++++++++++++++++++++++++++- net/bluetooth/sco.c | 10 ++++ 3 files changed, 119 insertions(+), 1 deletion(-)include/net/bluetooth/hci.h +0
-0
include/net/bluetooth/hci.h enum { · line 336
Quoted 6 lines
include/net/bluetooth/hci.h +3
-0@@ -331,6 +331,10 @@ enum {HCI_CMD_PENDING ,HCI_FORCE_NO_MITM , +#if IS_ENABLED(CONFIG_BT_OFFLOAD_CODECS) + HCI_OFFLOAD_CODECS_ENABLED, +#endif
That is probably a bad idea as it could lead the enum to assume different values based on what is enabled, besides we don't gain anything by not having the symbol defined all the time.
Quoted 33 lines
include/net/bluetooth/hci.h +1
-0+ __HCI_NUM_FLAGS, };net/bluetooth/mgmt.c +9
-1@@ -3791,6 +3791,14 @@ static const u8 debug_uuid[16] = { };#endif +#if IS_ENABLED (CONFIG_BT_OFFLOAD_CODECS ) +/* 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 , +}; +#endif +/* 671b10b5-42c0-4696-9227-eb28d1b049d6 */ static const u8 simult_central_periph_uuid[16 ] = {0xd6 ,0x49 ,0xb0 ,0xd1 ,0x28 ,0xeb ,0x27 ,0x92 ,@@ -3806,7 +3814,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[62 ];/* Enough space for 3 features */ +char buf[82 ];/* Enough space for 4 features: 2 + 20 * 4 */ struct mgmt_rp_read_exp_features_info *rp = (void *)buf;u16 idx =0 ;u32 flags;
net/bluetooth/mgmt.c static int read_exp_features_info(struct sock *sk, struct hci_dev *hdev, · line 3862
Quoted 5 lines
net/bluetooth/mgmt.c +2
-0@@ -3850,6 +3858,28 @@ static int read_exp_features_info(struct sock *sk, struct hci_dev *hdev, idx++; } +#if IS_ENABLED (CONFIG_BT_OFFLOAD_CODECS ) +if (hdev) {
If we have HCI_OFFLOAD_CODECS_ENABLED defined you can just use IS_ENABLED within the if statement below.
Quoted 48 lines
net/bluetooth/mgmt.c +37
-0+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++; + } +#endif + rp->feature_count =cpu_to_le16 (idx);/* After reading the experimental features information, enable @@ -3892,6 +3922,23 @@ static int exp_debug_feature_changed(bool enabled, struct sock *skip) }#endif +#if IS_ENABLED (CONFIG_BT_OFFLOAD_CODECS ) +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); +} +#endif +static int set_exp_feature (struct sock *sk,struct hci_dev *hdev,void *data,u16 data_len) {
net/bluetooth/mgmt.c static int set_exp_feature(struct sock *sk, struct hci_dev *hdev, · line 4088
Quoted 4 lines
net/bluetooth/mgmt.c +1
-0@@ -4038,6 +4085,63 @@ static int set_exp_feature(struct sock *sk, struct hci_dev *hdev,return err; } +#if IS_ENABLED (CONFIG_BT_OFFLOAD_CODECS )
Ditto.
Quoted 90 lines
net/bluetooth/mgmt.c +56
-0+if (!memcmp (cp->uuid, offload_codecs_uuid,16 )) { +bool val, changed; +int err; + +/* 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; + } +#endif +return mgmt_cmd_status (sk, hdev ? hdev->id :MGMT_INDEX_NONE ,MGMT_OP_SET_EXP_FEATURE ,MGMT_STATUS_NOT_SUPPORTED );net/bluetooth/sco.c +10
-1@@ -964,6 +964,11 @@ static int sco_sock_setsockopt(struct socket *sock, int level, int optname,break ; } +if (!hci_dev_test_flag (hdev,HCI_OFFLOAD_CODECS_ENABLED )) { + err = -EOPNOTSUPP ; +break ; + } +if (!hdev->get_codec_config_data) { err = -EOPNOTSUPP ;break ;@@ -1163,6 +1168,11 @@ static int sco_sock_getsockopt(struct socket *sock, int level, int optname,break ; } +if (!hci_dev_test_flag (hdev,HCI_OFFLOAD_CODECS_ENABLED )) { + err = -EOPNOTSUPP ; +break ; + } +if (!hdev->get_data_path_id) { err = -EOPNOTSUPP ;break ; --2.17.1
Signature · 1 line
Luiz Augusto von Dentz
Marcel Holtmann
maintainerRe: [PATCH v10 10/10] Bluetooth: Add offload feature under experimental flag
Hi Luiz,
Quoted 24 lines
Quoted 24 lines
Allow user level process to enable / disable codec offload feature through mgmt interface. By default offload codec feature is disabled.
Signed-off-by Kiran K <[email protected]>Reviewed-by Chethan T N <[email protected]>Reviewed-by Srivatsa Ravishankar <[email protected]>---
* changes in v10:
- new patch added to place offload codec feature under experimental flaginclude/net/bluetooth/hci.h | 4 ++ net/bluetooth/mgmt.c | 106 +++++++++++++++++++++++++++++++++++- net/bluetooth/sco.c | 10 ++++ 3 files changed, 119 insertions(+), 1 deletion(-)include/net/bluetooth/hci.h +0
-0@@ -331,6 +331,10 @@ enum {HCI_CMD_PENDING , HCI_FORCE_NO_MITM,
Quoted 7 lines
include/net/bluetooth/hci.h enum { · line 336
Quoted 3 lines
include/net/bluetooth/hci.h +3
-0+#if IS_ENABLED (CONFIG_BT_OFFLOAD_CODECS ) + HCI_OFFLOAD_CODECS_ENABLED, +#endif That is probably a bad idea as it could lead the enum to assume different values based on what is enabled, besides we don't gain anything by not having the symbol defined all the time.
While this would work with dev_flags which are internal and not API, I still don’t like it.
There is really no benefit to make this a compile time option. And as far as I remember I never said this needs to be compile time. Actually I rather have this as an experimental setting so that it can be switched on at runtime. Nobody is going to recompile their kernels to test codec offload.
Regards
Marcel
Luiz Augusto von Dentz
maintainerRe: [PATCH v10 10/10] Bluetooth: Add offload feature under experimental flag
Hi Marcel,
Quoted 35 lines · Marcel Holtmann
Hi Luiz,
Quoted 24 lines
Quoted 24 lines
Allow user level process to enable / disable codec offload feature through mgmt interface. By default offload codec feature is disabled.
Signed-off-by Kiran K <[email protected]>Reviewed-by Chethan T N <[email protected]>Reviewed-by Srivatsa Ravishankar <[email protected]>---
* changes in v10:
- new patch added to place offload codec feature under experimental flaginclude/net/bluetooth/hci.h | 4 ++ net/bluetooth/mgmt.c | 106 +++++++++++++++++++++++++++++++++++- net/bluetooth/sco.c | 10 ++++ 3 files changed, 119 insertions(+), 1 deletion(-)include/net/bluetooth/hci.h +0
-0@@ -331,6 +331,10 @@ enum {HCI_CMD_PENDING , HCI_FORCE_NO_MITM,Quoted 7 lines
include/net/bluetooth/hci.h enum { · line 336
Quoted 3 lines
include/net/bluetooth/hci.h +3
-0+#if IS_ENABLED (CONFIG_BT_OFFLOAD_CODECS ) + HCI_OFFLOAD_CODECS_ENABLED, +#endif That is probably a bad idea as it could lead the enum to assume different values based on what is enabled, besides we don't gain anything by not having the symbol defined all the time.
Quoted 3 lines
While this would work with
dev_flagswhich are internal and not API, I still don’t like it.There is really no benefit to make this a compile time option. And as far as I remember I never said this needs to be compile time. Actually I rather have this as an experimental setting so that it can be switched on at runtime. Nobody is going to recompile their kernels to test codec offload.
Initially I was with the same opinion, but the problem is the codecs are read at init sequence and the experimental flags are set at a later stage thus why I suggested a KConfig option until the feature is more mature and we can remove the option altogether.
Quoted 4 lines
Regards
Marcel
Signature · 1 line
Luiz Augusto von Dentz
Marcel Holtmann
maintainerRe: [PATCH v10 10/10] Bluetooth: Add offload feature under experimental flag
Hi Luiz,
Quoted 32 lines
Quoted 32 lines
Quoted 31 lines
Quoted 21 lines
Allow user level process to enable / disable codec offload feature through mgmt interface. By default offload codec feature is disabled.
Signed-off-by Kiran K <[email protected]>Reviewed-by Chethan T N <[email protected]>Reviewed-by Srivatsa Ravishankar <[email protected]>---
* changes in v10:
- new patch added to place offload codec feature under experimental flaginclude/net/bluetooth/hci.h | 4 ++ net/bluetooth/mgmt.c | 106 +++++++++++++++++++++++++++++++++++- net/bluetooth/sco.c | 10 ++++ 3 files changed, 119 insertions(+), 1 deletion(-)include/net/bluetooth/hci.h +0
-0include/net/bluetooth/hci.h enum { · line 336
Quoted 6 lines
include/net/bluetooth/hci.h +3
-0@@ -331,6 +331,10 @@ enum {HCI_CMD_PENDING ,HCI_FORCE_NO_MITM , +#if IS_ENABLED(CONFIG_BT_OFFLOAD_CODECS) + HCI_OFFLOAD_CODECS_ENABLED, +#endifThat is probably a bad idea as it could lead the enum to assume different values based on what is enabled, besides we don't gain anything by not having the symbol defined all the time.
Quoted 8 lines
Quoted 3 lines
While this would work with
dev_flagswhich are internal and not API, I still don’t like it.There is really no benefit to make this a compile time option. And as far as I remember I never said this needs to be compile time. Actually I rather have this as an experimental setting so that it can be switched on at runtime. Nobody is going to recompile their kernels to test codec offload.
Initially I was with the same opinion, but the problem is the codecs are read at init sequence and the experimental flags are set at a later stage thus why I suggested a KConfig option until the feature is more mature and we can remove the option altogether.
I am fine with the codec options being read all the time. I mean having an experimental option to control the use of offload.
Regards
Marcel
Luiz Augusto von Dentz
maintainerRe: [PATCH v10 10/10] Bluetooth: Add offload feature under experimental flag
Hi Marcel,
Quoted 37 lines · Marcel Holtmann
Hi Luiz,
Quoted 34 lines
Quoted 34 lines
Quoted 24 lines
Quoted 24 lines
Allow user level process to enable / disable codec offload feature through mgmt interface. By default offload codec feature is disabled.
Signed-off-by Kiran K <[email protected]>Reviewed-by Chethan T N <[email protected]>Reviewed-by Srivatsa Ravishankar <[email protected]>---
* changes in v10:
- new patch added to place offload codec feature under experimental flaginclude/net/bluetooth/hci.h | 4 ++ net/bluetooth/mgmt.c | 106 +++++++++++++++++++++++++++++++++++- net/bluetooth/sco.c | 10 ++++ 3 files changed, 119 insertions(+), 1 deletion(-)include/net/bluetooth/hci.h +0
-0@@ -331,6 +331,10 @@ enum {HCI_CMD_PENDING , HCI_FORCE_NO_MITM,Quoted 7 lines
include/net/bluetooth/hci.h enum { · line 336
Quoted 3 lines
include/net/bluetooth/hci.h +3
-0+#if IS_ENABLED (CONFIG_BT_OFFLOAD_CODECS ) + HCI_OFFLOAD_CODECS_ENABLED, +#endif That is probably a bad idea as it could lead the enum to assume different values based on what is enabled, besides we don't gain anything by not having the symbol defined all the time.
While this would work with
dev_flagswhich are internal and not API, I still don’t like it.
Quoted 8 lines
Quoted 6 lines
Quoted 1 line
There is really no benefit to make this a compile time option. And as far as I remember I never said this needs to be compile time. Actually I rather have this as an experimental setting so that it can be switched on at runtime. Nobody is going to recompile their kernels to test codec offload.
Initially I was with the same opinion, but the problem is the codecs are read at init sequence and the experimental flags are set at a later stage thus why I suggested a KConfig option until the feature is more mature and we can remove the option altogether.
I am fine with the codec options being read all the time. I mean having an experimental option to control the use of offload.
Alright, then we don't need the Kconfig after all, the experimental flag will only control the use of the codecs e.g. socketopts would not work if the flag is not enabled I assume?
Quoted 4 lines
Regards
Marcel
Signature · 1 line
Luiz Augusto von Dentz
Marcel Holtmann
maintainerRe: [PATCH v10 10/10] Bluetooth: Add offload feature under experimental flag
Hi Luiz,
Quoted 41 lines
Quoted 41 lines
Quoted 40 lines
Quoted 32 lines
Quoted 24 lines
Quoted 24 lines
Allow user level process to enable / disable codec offload feature through mgmt interface. By default offload codec feature is disabled.
Signed-off-by Kiran K <[email protected]>Reviewed-by Chethan T N <[email protected]>Reviewed-by Srivatsa Ravishankar <[email protected]>---
* changes in v10:
- new patch added to place offload codec feature under experimental flaginclude/net/bluetooth/hci.h | 4 ++ net/bluetooth/mgmt.c | 106 +++++++++++++++++++++++++++++++++++- net/bluetooth/sco.c | 10 ++++ 3 files changed, 119 insertions(+), 1 deletion(-)include/net/bluetooth/hci.h +0
-0@@ -331,6 +331,10 @@ enum {HCI_CMD_PENDING , HCI_FORCE_NO_MITM,Quoted 7 lines
include/net/bluetooth/hci.h enum { · line 336
Quoted 3 lines
include/net/bluetooth/hci.h +3
-0+#if IS_ENABLED (CONFIG_BT_OFFLOAD_CODECS ) + HCI_OFFLOAD_CODECS_ENABLED, +#endif That is probably a bad idea as it could lead the enum to assume different values based on what is enabled, besides we don't gain anything by not having the symbol defined all the time.
Quoted 3 lines
While this would work with
dev_flagswhich are internal and not API, I still don’t like it.There is really no benefit to make this a compile time option. And as far as I remember I never said this needs to be compile time. Actually I rather have this as an experimental setting so that it can be switched on at runtime. Nobody is going to recompile their kernels to test codec offload.
Initially I was with the same opinion, but the problem is the codecs are read at init sequence and the experimental flags are set at a later stage thus why I suggested a KConfig option until the feature is more mature and we can remove the option altogether.
Quoted 5 lines
Quoted 1 line
I am fine with the codec options being read all the time. I mean having an experimental option to control the use of offload.
Alright, then we don't need the
Kconfigafter all, the experimental flag will only control the use of the codecs e.g. socketopts would not work if the flag is not enabled I assume?
exactly. It would then return EOPNOTSUPP error. It would be similar to an old kernel where this socket option is not available either.
Regards
Marcel
RE: [PATCH v10 10/10] Bluetooth: Add offload feature under experimental flag
Hi Luiz, Marcel,
Quoted 59 lines
-----Original Message-----
From: Marcel Holtmann <[email protected]>
Sent: Friday, July 23, 2021 12:21 AM
To: Luiz Augusto von Dentz <[email protected]>
Cc: K, Kiran <[email protected]>; [email protected]
Subject: Re: [PATCH v10 10/10] Bluetooth: Add offload feature under experimental flagHi Luiz,
Quoted 13 lines
Quoted 13 lines
Quoted 13 lines
Quoted 13 lines
Quoted 13 lines
Quoted 13 lines
Allow user level process to enable / disable codec offload feature through mgmt interface. By default offload codec feature is disabled.
Signed-off-by Kiran K <[email protected]>Reviewed-by Chethan T N <[email protected]>Reviewed-by Srivatsa Ravishankar<[email protected]>
---
* changes in v10:
- new patch added to place offload codec feature under experimental flagQuoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
include/net/bluetooth/hci.h| 4 ++net/bluetooth/mgmt.c| 106+++++++++++++++++++++++++++++++++++-
Quoted 12 lines
Quoted 12 lines
Quoted 12 lines
Quoted 12 lines
Quoted 12 lines
Quoted 12 lines
net/bluetooth/sco.c| 10 ++++3 files changed, 119 insertions(+), 1 deletion(-)(quoted diff) +0
-0
b/include/net/bluetooth/hci.hindexe20318854900..5ca98d9f64dd100644include/net/bluetooth/hci.h +0
-0@@ -331,6 +331,10 @@ enum {HCI_CMD_PENDING , HCI_FORCE_NO_MITM,Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
Quoted 6 lines
include/net/bluetooth/hci.h enum { · line 335
Quoted 2 lines
include/net/bluetooth/hci.h +2
-0+#if IS_ENABLED (CONFIG_BT_OFFLOAD_CODECS ) + HCI_OFFLOAD_CODECS_ENABLED, #endifThat is probably a bad idea as it could lead the enum to assume different values based on what is enabled, besides we don't gain anything by not having the symbol defined all the time.
While this would work with
dev_flagswhich are internal and not API, Istill don’t like it.
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
There is really no benefit to make this a compile time option. And as far
as I remember I never said this needs to be compile time. Actually I rather have this as an experimental setting so that it can be switched on at runtime. Nobody is going to recompile their kernels to test codec offload.
Quoted 7 lines
Quoted 7 lines
Quoted 5 lines
Initially I was with the same opinion, but the problem is the codecs are read at init sequence and the experimental flags are set at a later stage thus why I suggested a KConfig option until the feature is more mature and we can remove the option altogether.
I am fine with the codec options being read all the time. I mean having an
Quoted 8 lines
experimental option to control the use of offload.
Quoted 4 lines
Alright, then we don't need the
Kconfigafter all, the experimental flag will only control the use of the codecs e.g. socketopts would not work if the flag is not enabled I assume?exactly. It would then return EOPNOTSUPP error. It would be similar to an old kernel where this socket option is not available either.
Ack. I will send the changes in the next patchset.
Quoted 4 lines
Regards
Marcel
Regards,
Kiran
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=508993
---Test result---
Test Summary:
CheckPatch PASS 8.78 seconds GitLint FAIL 1.01 seconds BuildKernel PASS 671.94 seconds TestRunner: Setup PASS 447.72 seconds TestRunner: l2cap-tester PASS 3.26 seconds TestRunner: bnep-tester PASS 2.17 seconds TestRunner: mgmt-tester FAIL 34.15 seconds TestRunner: rfcomm-tester PASS 2.47 seconds TestRunner: sco-tester PASS 2.34 seconds TestRunner: smp-tester PASS 2.51 seconds TestRunner: userchan-tester PASS 2.26 seconds
Details
##############################
Test: CheckPatch - PASS - 8.78 seconds
Run checkpatch.pl script with rule in .checkpatch.conf
##############################
Test: GitLint - FAIL - 1.01 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 - 671.94 seconds
Build Kernel with minimal configuration supports Bluetooth
##############################
Test: TestRunner: Setup - PASS - 447.72 seconds
Setup environment for running Test Runner
##############################
Test: TestRunner: l2cap-tester - PASS - 3.26 seconds Run test-runner with l2cap-tester
Total: 40, Passed: 40 (100.0%), Failed: 0, Not Run: 0
##############################
Test: TestRunner: bnep-tester - PASS - 2.17 seconds Run test-runner with bnep-tester
Total: 1, Passed: 1 (100.0%), Failed: 0, Not Run: 0
##############################
Test: TestRunner: mgmt-tester - FAIL - 34.15 seconds Run test-runner with mgmt-tester
Total: 446, Passed: 436 (97.8%), Failed: 5, Not Run: 5
Failed Test Cases
Read Ext Controller Info 1 Failed 0.028 seconds Read Ext Controller Info 2 Failed 0.032 seconds Read Ext Controller Info 3 Failed 0.028 seconds Read Ext Controller Info 4 Failed 0.020 seconds Read Ext Controller Info 5 Failed 0.028 seconds
##############################
Test: TestRunner: rfcomm-tester - PASS - 2.47 seconds Run test-runner with rfcomm-tester
Total: 9, Passed: 9 (100.0%), Failed: 0, Not Run: 0
##############################
Test: TestRunner: sco-tester - PASS - 2.34 seconds Run test-runner with sco-tester
Total: 8, Passed: 8 (100.0%), Failed: 0, Not Run: 0
##############################
Test: TestRunner: smp-tester - PASS - 2.51 seconds Run test-runner with smp-tester
Total: 8, Passed: 8 (100.0%), Failed: 0, Not Run: 0
##############################
Test: TestRunner: userchan-tester - PASS - 2.26 seconds Run test-runner with userchan-tester
Total: 3, Passed: 3 (100.0%), Failed: 0, Not Run: 0
---
Regards,
Linux Bluetooth
c[?7l[2JSeaBIOS (version 1.13.0-1ubuntu1.1) Booting from ROM..c[?7l[2Jearly console in extract_kernelinput_data: 0x0000000001e762e0input_len: 0x00000000003639a7
output: 0x0000000001000000output_len: 0x00000000011a7178kernel_total_size: 0x0000000001030000needed_size: 0x0000000001200000trampoline_32bit: 0x000000000009d000
Physical KASLR using RDTSC...
Virtual KASLR using RDTSC...
Decompressing Linux... Parsing ELF... Performing relocations... done.
Booting the kernel.
Linux version 5.13.0-rc6-ga9f90acbf6b4 (root@3db5798ffea7) (gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #2 Wed Jun 30 09:10:59 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
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 41 created
Changing into directory /github/workspace
Basic L2CAP Socket - 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: 0x05
Manufacturer: 0x003f
Supported settings: 0x000110ff
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
Index Added callback
Index: 0x0000
Read Info callback
Status: 0x00
Address: 00:AA:01:00:00:00
Version: 0x05
Manufacturer: 0x003f
Supported settings: 0x000110ff
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
Index Added callback
Index: 0x0000
Read Info callback
Status: 0x00
Address: 00:AA:01:00:00:00
Version: 0x05
Manufacturer: 0x003f
Supported settings: 0x000110ff
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
Index Added callback
Index: 0x0000
Read Info callback
Status: 0x00
Address: 00:AA:01:00:00:00
Version: 0x05
Manufacturer: 0x003f
Supported settings: 0x000110ff
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
Index Added callback
Index: 0x0000
Read Info callback
Status: 0x00
Address: 00:AA:01:00:00:00
Version: 0x05
Manufacturer: 0x003f
Supported settings: 0x000110ff
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
Index Added callback
Index: 0x0000
Read Info callback
Status: 0x00
Address: 00:AA:01:00:00:00
Version: 0x05
Manufacturer: 0x003f
Supported settings: 0x000110ff
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
Index Added callback
Index: 0x0000
Read Info callback
Status: 0x00
Address: 00:AA:01:00:00:00
Version: 0x05
Manufacturer: 0x003f
Supported settings: 0x000110ff
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
Index Added callback
Index: 0x0000
Read Info callback
Status: 0x00
Address: 00:AA:01:00:00:00
Version: 0x05
Manufacturer: 0x003f
Supported settings: 0x000110ff
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
Index Added callback
Index: 0x0000
Read Info callback
Status: 0x00
Address: 00:AA:01:00:00:00
Version: 0x05
Manufacturer: 0x003f
Supported settings: 0x000110ff
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
Index Added callback
Index: 0x0000
Read Info callback
Status: 0x00
Address: 00:AA:01:00:00:00
Version: 0x05
Manufacturer: 0x003f
Supported settings: 0x000110ff
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
Index Added callback
Index: 0x0000
Read Info callback
Status: 0x00
Address: 00:AA:01:00:00:00
Version: 0x05
Manufacturer: 0x003f
Supported settings: 0x000110ff
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
Index Added callback
Index: 0x0000
Read Info callback
Status: 0x00
Address: 00:AA:01:00:00:00
Version: 0x05
Manufacturer: 0x003f
Supported settings: 0x000110ff
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
Index Added callback
Index: 0x0000
Read Info callback
Status: 0x00
Address: 00:AA:01:00:00:00
Version: 0x05
Manufacturer: 0x003f
Supported settings: 0x000110ff
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
Index Added callback
Index: 0x0000
Read Info callback
Status: 0x00
Address: 00:AA:01:00:00:00
Version: 0x05
Manufacturer: 0x003f
Supported settings: 0x000110ff
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
Index Added callback
Index: 0x0000
Read Info callback
Status: 0x00
Address: 00:AA:01:00:00:00
Version: 0x05
Manufacturer: 0x003f
Supported settings: 0x000110ff
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
Index Added callback
Index: 0x0000
Read Info callback
Status: 0x00
Address: 00:AA:01:00:00:00
Version: 0x05
Manufacturer: 0x003f
Supported settings: 0x000110ff
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
Index Added callback
Index: 0x0000
Read Info callback
Status: 0x00
Address: 00:AA:01:00:00:00
Version: 0x05
Manufacturer: 0x003f
Supported settings: 0x000110ff
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
Index Added callback
Index: 0x0000
Read Info callback
Status: 0x00
Address: 00:AA:01:00:00:00
Version: 0x05
Manufacturer: 0x003f
Supported settings: 0x000110ff
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
Index Added callback
Index: 0x0000
Read Info callback
Status: 0x00
Address: 00:AA:01:00:00:00
Version: 0x05
Manufacturer: 0x003f
Supported settings: 0x000110ff
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
Index Added callback
Index: 0x0000
Read Info callback
Status: 0x00
Address: 00:AA:01:00:00:00
Version: 0x05
Manufacturer: 0x003f
Supported settings: 0x000110ff
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
Index Added callback
Index: 0x0000
Read Info callback
Status: 0x00
Address: 00:AA:01:00:00:00
Version: 0x05
Manufacturer: 0x003f
Supported settings: 0x000110ff
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:41): GLib-WARNING **: 09:11:08.244: 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:41): GLib-WARNING **: 09:11:08.288: 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:41): GLib-WARNING **: 09:11:08.492: 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:41): GLib-WARNING **: 09:11:08.524: 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.072 seconds Non-connected getpeername - Failure Passed 0.020 seconds L2CAP BR/EDR Client - Success Passed 0.036 seconds L2CAP BR/EDR Client SSP - Success 1 Passed 0.024 seconds L2CAP BR/EDR Client SSP - Success 2 Passed 0.028 seconds L2CAP BR/EDR Client PIN Code - Success Passed 0.020 seconds L2CAP BR/EDR Client - Read Success Passed 0.020 seconds L2CAP BR/EDR Client - Write Success Passed 0.028 seconds L2CAP BR/EDR Client - Invalid PSM 1 Passed 0.020 seconds L2CAP BR/EDR Client - Invalid PSM 2 Passed 0.020 seconds L2CAP BR/EDR Client - Invalid PSM 3 Passed 0.020 seconds L2CAP BR/EDR Client - Socket Shut WR Success Passed 0.024 seconds L2CAP BR/EDR Server - Success Passed 0.028 seconds L2CAP BR/EDR Server - Read Success Passed 0.024 seconds L2CAP BR/EDR Server - Write Success Passed 0.024 seconds L2CAP BR/EDR Server - Security Block Passed 0.020 seconds L2CAP BR/EDR Server - Invalid PSM Passed 0.020 seconds L2CAP BR/EDR Server - Invalid PDU Passed 0.024 seconds L2CAP BR/EDR Server - Invalid Disconnect CID Passed 0.020 seconds L2CAP BR/EDR Server - Invalid Config CID Passed 0.020 seconds L2CAP LE Client - Success Passed 0.036 seconds L2CAP LE Client, Direct Advertising - Success Passed 0.020 seconds L2CAP LE Client SMP - Success Passed 0.032 seconds L2CAP LE Client - Command Reject Passed 0.020 seconds L2CAP LE Client - Connection Reject Passed 0.020 seconds L2CAP LE Client - Close socket 1 Passed 0.020 seconds L2CAP LE Client - Close socket 2 Passed 0.024 seconds L2CAP LE Client - Open two sockets Passed 0.064 seconds L2CAP LE Client - Open two sockets close one Passed 0.032 seconds L2CAP LE Client - Invalid PSM Passed 0.024 seconds L2CAP LE Server - Success Passed 0.024 seconds L2CAP LE Server - Nval SCID Passed 0.028 seconds L2CAP Ext-Flowctl Client - Success Passed 0.024 seconds L2CAP Ext-Flowctl Client, Direct Advertising - Success Passed 0.020 seconds L2CAP Ext-Flowctl Client SMP - Success Passed 0.024 seconds L2CAP Ext-Flowctl Client - Command Reject Passed 0.020 seconds L2CAP Ext-Flowctl Client - Open two sockets Passed 0.032 seconds L2CAP Ext-Flowctl Client - Open two sockets close one Passed 0.036 seconds L2CAP LE ATT Client - Success Passed 0.024 seconds L2CAP LE ATT Server - Success Passed 0.024 seconds
Total: 40, Passed: 40 (100.0%), Failed: 0, Not Run: 0 Overall execution time: 1.11 seconds
Process 41 exited with status 0
reboot: Restarting system
c[?7l[2JSeaBIOS (version 1.13.0-1ubuntu1.1) Booting from ROM..c[?7l[2Jearly console in extract_kernelinput_data: 0x0000000001e762e0input_len: 0x00000000003639a7
output: 0x0000000001000000output_len: 0x00000000011a7178kernel_total_size: 0x0000000001030000needed_size: 0x0000000001200000trampoline_32bit: 0x000000000009d000
Physical KASLR using RDTSC...
Virtual KASLR using RDTSC...
Decompressing Linux... Parsing ELF... Performing relocations... done.
Booting the kernel.
Linux version 5.13.0-rc6-ga9f90acbf6b4 (root@3db5798ffea7) (gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #2 Wed Jun 30 09:10:59 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
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 41 created
Changing into directory /github/workspace
Basic BNEP Socket - 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: 0x05
Manufacturer: 0x003f
Supported settings: 0x000110ff
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.062 seconds
Total: 1, Passed: 1 (100.0%), Failed: 0, Not Run: 0 Overall execution time: 0.0703 seconds Process 41 exited with status 0
reboot: Restarting system
c[?7l[2JSeaBIOS (version 1.13.0-1ubuntu1.1) Booting from ROM..c[?7l[2Jearly console in extract_kernelinput_data: 0x0000000001e762e0input_len: 0x00000000003639a7
output: 0x0000000001000000output_len: 0x00000000011a7178kernel_total_size: 0x0000000001030000needed_size: 0x0000000001200000trampoline_32bit: 0x000000000009d000
Physical KASLR using RDTSC...
Virtual KASLR using RDTSC...
Decompressing Linux... Parsing ELF... Performing relocations... done.
Booting the kernel.
Linux version 5.13.0-rc6-ga9f90acbf6b4 (root@3db5798ffea7) (gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #2 Wed Jun 30 09:10:59 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
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 41 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: 0x0001beff
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)
Index Added callback
Index: 0x0000
Read Info callback
Status: Success (0x00)
Address: 00:AA:01:00:00:00
Version: 0x05
Manufacturer: 0x003f
Supported settings: 0x000110ff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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)
Index Added callback
Index: 0x0000
Read Info callback
Status: Success (0x00)
Address: 00:AA:01:00:00:00
Version: 0x05
Manufacturer: 0x003f
Supported settings: 0x000110ff
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)
Index Added callback
Index: 0x0000
Read Info callback
Status: Success (0x00)
Address: 00:AA:01:00:00:00
Version: 0x05
Manufacturer: 0x003f
Supported settings: 0x000110ff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
Current settings: 0x00000080
Class: 0x000000
Name:
Short name: Expected bit 8 not supported
Expected supported settings: 0x0001beff != 0x0001bfff
Set High Speed on - Success - pre setup failed
Index Removed callback
Index: 0x0000
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: 0x0001beff
Current settings: 0x00000080
Class: 0x000000
Name:
Short name: Expected bit 8 not supported
Expected supported settings: 0x0001beff != 0x0001bfff
Set High Speed on - Invalid parameters 1 - pre setup failed
Index Removed callback
Index: 0x0000
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: 0x0001beff
Current settings: 0x00000080
Class: 0x000000
Name:
Short name: Expected bit 8 not supported
Expected supported settings: 0x0001beff != 0x0001bfff
Set High Speed on - Invalid parameters 2 - pre setup failed
Index Removed callback
Index: 0x0000
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: 0x0001beff
Current settings: 0x00000080
Class: 0x000000
Name:
Short name: Expected bit 8 not supported
Expected supported settings: 0x0001beff != 0x0001bfff
Set High Speed on - Invalid parameters 3 - pre setup failed
Index Removed callback
Index: 0x0000
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: 0x0001beff
Current settings: 0x00000080
Class: 0x000000
Name:
Short name: Expected bit 8 not supported
Expected supported settings: 0x0001beff != 0x0001bfff
Set High Speed on - Invalid index - pre setup failed
Index Removed callback
Index: 0x0000
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
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: 0x0001beff
Current settings: 0x00000080
Class: 0x000000
Name:
Short name: Set Low Energy on - Invalid index - setup Set Low Energy on - Invalid index - setup complete Set Low Energy on - Invalid index - run
Sending Set Low Energy (0x000d)
Test condition added, total 1
Set Low Energy (0x000d): Invalid Index (0x11) Test condition complete, 0 left
Set Low Energy on - Invalid index - test passed Set Low Energy on - Invalid index - teardown
Index Removed callback
Index: 0x0000
Set Low Energy on - Invalid index - teardown complete Set Low Energy on - Invalid index - done
Set Advertising 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: 0x0001beff
Current settings: 0x00000080
Class: 0x000000
Name:
Short name: Set Advertising 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 Advertising on - Success 1 - setup complete
Set Advertising on - Success 1 - run
Registering new settings notification
Test condition added, total 1
Sending Set Advertising (0x0029)
Test condition added, total 2
Set Advertising (0x0029): Success (0x00)
Test condition complete, 1 left
New settings 0x00000680 received
Unregistering new settings notification
Test condition complete, 0 left
Set Advertising on - Success 1 - test passed
Set Advertising on - Success 1 - teardown
Index Removed callback
Index: 0x0000
Set Advertising on - Success 1 - teardown complete Set Advertising on - Success 1 - done
Set Advertising 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: 0x0001beff
Current settings: 0x00000080
Class: 0x000000
Name:
Short name: Set Advertising 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 Advertising on - Success 2 - setup complete
Set Advertising on - Success 2 - run
Registering new settings notification
Test condition added, total 1
Registering HCI command callback
Test condition added, total 2
Sending Set Advertising (0x0029)
Test condition added, total 3
HCI Command 0x2005 length 6
HCI Command 0x2006 length 15
HCI Command 0x200a length 1
Test condition complete, 2 left
Set Advertising (0x0029): Success (0x00)
Test condition complete, 1 left
New settings 0x00000681 received
Unregistering new settings notification
Test condition complete, 0 left
Set Advertising on - Success 2 - test passed
Set Advertising on - Success 2 - teardown
New settings event received
Index Removed callback
Index: 0x0000
Set Advertising on - Success 2 - teardown complete Set Advertising on - Success 2 - done
Set Advertising 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: 0x0001beff
Current settings: 0x00000080
Class: 0x000000
Name:
Short name: Set Advertising 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 Advertising on - Rejected 1 - setup complete
Set Advertising on - Rejected 1 - run
Sending Set Advertising (0x0029)
Test condition added, total 1
Set Advertising (0x0029): Rejected (0x0b)
Test condition complete, 0 left
Set Advertising on - Rejected 1 - test passed
Set Advertising on - Rejected 1 - teardown
Index Removed callback
Index: 0x0000
Set Advertising on - Rejected 1 - teardown complete Set Advertising on - Rejected 1 - done
Set Advertising on - Appearance 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: 0x0001beff
Current settings: 0x00000080
Class: 0x000000
Name:
Short name: Set Advertising on - Appearance 1 - setup
Initial settings completed
Setup sending Set Appearance (0x0043) Test setup condition added, total 1
Test setup condition complete, 0 left
Set Advertising on - Appearance 1 - setup complete Set Advertising on - Appearance 1 - run
Registering HCI command callback
Test condition added, total 1
Sending Set Advertising (0x0029)
Test condition added, total 2
HCI Command 0x2009 length 32
Test condition complete, 1 left
HCI Command 0x2005 length 6
HCI Command 0x2006 length 15
HCI Command 0x200a length 1
Set Advertising (0x0029): Success (0x00) Test condition complete, 0 left
Set Advertising on - Appearance 1 - test passed Set Advertising on - Appearance 1 - teardown
Index Removed callback
Index: 0x0000
Set Advertising on - Appearance 1 - teardown complete Set Advertising on - Appearance 1 - done
Set Advertising on - Local name 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: 0x0001beff
Current settings: 0x00000080
Class: 0x000000
Name:
Short name: 15,090 lines not shown · raw message
Part of this message is not shown here. View the raw message.
Luiz Augusto von Dentz
maintainerHi Kiran,
Quoted 111 lines · Kiran K
Move reading of supported local codecs into a separate init function, query codecs capabilities and cache the data
Signed-off-by Kiran K <[email protected]>Signed-off-by Chethan T N <[email protected]>Signed-off-by Srivatsa Ravishankar <[email protected]>---
* changes in v10:
- defineKconfigto control offload feature at build time
- fix review comments* changes in v9:
- use shortname vnd instead of ven* changes in v8:
- add comments
- split__u8codec_id[5] into {__u8id;__le16cid, vid }
- address review comment related codec caps structure* changes in v7:
- keep codec enumeration call inhci_initinstead 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 datainclude/net/bluetooth/hci.h | 41 ++++++ include/net/bluetooth/hci_core.h | 23 ++++ net/bluetooth/Kconfig | 11 ++ net/bluetooth/hci_core.c | 207 ++++++++++++++++++++++++++++++- 4 files changed, 278 insertions(+), 4 deletions(-)include/net/bluetooth/hci.h +41
-0@@ -1307,6 +1307,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 0x100cstruct hci_rp_read_local_pairing_opts {@@ -1315,6 +1337,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 0x0c1bstruct hci_rp_read_page_scan_activity {__u8 status;include/net/bluetooth/hci_core.h +0
-0
include/net/bluetooth/hci_core.h struct bdaddr_list { · line 139
Quoted 9 lines
include/net/bluetooth/hci_core.h +6
-0@@ -131,6 +131,19 @@ struct bdaddr_list {u8 bdaddr_type; }; +#if IS_ENABLED(CONFIG_BT_OFFLOAD_CODECS) +struct codec_list { + struct list_head list; + u8 id; + __le16 cid; + __le16 vid;
I wonder why you are not storing these fields in host byte order? Looks odd since everything else is using host order.
Quoted 11 lines
include/net/bluetooth/hci_core.h +7
-0+u8 transport; +u8 num_caps; +u32 len; +struct hci_codec_caps caps[]; +}; +#endif +struct bdaddr_list_with_irk {struct list_head list;bdaddr_t bdaddr;
include/net/bluetooth/hci_core.h struct hci_dev { · line 553
Quoted 6 lines
include/net/bluetooth/hci_core.h +3
-0@@ -535,6 +548,9 @@ struct hci_dev {struct list_head pend_le_conns;struct list_head pend_le_reports;struct list_head blocked_keys; +#if IS_ENABLED (CONFIG_BT_OFFLOAD_CODECS ) +struct list_head local_codecs; +#endif
I wonder if this is preferable over just leaving the local_codecs empty as we would probably just save a couple of bytes here but when using preprocessor #if that means we can no longer use IS_ENABLED directly inside the C statements.
include/net/bluetooth/hci_core.h void hci_copy_identity_address(struct hci_dev *hdev, bdaddr_t *bdaddr, · line 1872
Quoted 12 lines
include/net/bluetooth/hci_core.h +5
-0struct hci_dev_stats stat;@@ -1849,4 +1865,11 @@ void hci_copy_identity_address(struct hci_dev *hdev, bdaddr_t *bdaddr,#define SCO_AIRMODE_CVSD 0x0000#define SCO_AIRMODE_TRANSP 0x0003 +#if IS_ENABLED (CONFIG_BT_OFFLOAD_CODECS ) +#define LOCAL_CODEC_ACL_MASK BIT(0) +#define LOCAL_CODEC_SCO_MASK BIT(1) + +#define TRANSPORT_TYPE_MAX 0x04
Ditto, Id just have these defines all the time.
Quoted 10 lines
include/net/bluetooth/hci_core.h +2
-0+#endif +#endif /* __HCI_CORE_H */ net/bluetooth/Kconfig +0
-0@@ -92,6 +92,17 @@ config BT_LEDS This option selects a few LED triggers for different Bluetooth events.
net/bluetooth/Kconfig config BT_LEDS · line 103
Quoted 10 lines
net/bluetooth/Kconfig +9
-0+config BT_OFFLOAD_CODECS + bool "Enable offload codecs" + depends on BT && BT_BREDR + default n + help + This option enables offload codecs if controller supports. + When this option is enabled, user space audio modules can + query offload codecs and can set the codec to be used for + specific use case.
I would have named this BT_HCI_CODECS.
Quoted 203 lines
net/bluetooth/Kconfig +1
-0+ config BT_MSFTEXT bool "Enable Microsoft extensions" depends on BTnet/bluetooth/hci_core.c +180
-4@@ -838,10 +838,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 );@@ -907,6 +903,197 @@ static int hci_init4_req(struct hci_request *req, unsigned long opt)return 0 ; } +#if IS_ENABLED (CONFIG_BT_OFFLOAD_CODECS ) +static int hci_codec_list_add (struct list_head *list, +struct hci_op_read_local_codec_caps *sent, +struct hci_rp_read_local_codec_caps *rp, +void *caps, +__u32 len) +{ +struct codec_list *entry; + + entry =kzalloc (sizeof (*entry) + len,GFP_KERNEL ); +if (!entry) +return -ENOMEM ; + + entry->id = sent->id; +if (sent->id ==0xFF ) { + entry->cid =__le16_to_cpu (sent->cid); + entry->vid =__le16_to_cpu (sent->vid); + } + entry->transport = sent->transport; + entry->len = len; + entry->num_caps = rp->num_caps; +if (rp->num_caps) +memcpy (entry->caps, caps, len); +list_add (&entry->list, list); + +return 0 ; +} + +static void hci_codec_list_clear (struct list_head *codec_list) +{ +struct codec_list *c, *n; + +list_for_each_entry_safe (c, n, codec_list, list) { +list_del (&c->list); +kfree (c); + } +} + +static void hci_read_codec_capabilities (struct hci_dev *hdev,void *codec_id, +__u8 transport,bool is_vnd_codec) +{ +struct hci_op_read_local_codec_caps cmd; +__u8 i; + +memset (&cmd,0 ,sizeof (cmd)); + +if (is_vnd_codec) { +struct hci_vnd_codec *vnd_codec; + + vnd_codec = codec_id; + cmd.id =0xFF ; + cmd.cid = vnd_codec->cid; + cmd.vid = vnd_codec->vid; + }else { + cmd.id = *(__u8 *)codec_id; + } + + cmd.direction =0x00 ; + +for (i =0 ; i <TRANSPORT_TYPE_MAX ; i++) { +if (transport &BIT (i)) { +struct hci_rp_read_local_codec_caps *rp; +struct hci_codec_caps *caps; +struct sk_buff *skb; +__u8 j; +__u32 len; + + cmd.transport = i; + skb =__hci_cmd_sync (hdev,HCI_OP_READ_LOCAL_CODEC_CAPS , +sizeof (cmd), &cmd, +HCI_CMD_TIMEOUT ); +if (IS_ERR (skb)) { +bt_dev_err (hdev,"Failed to read codec capabilities (%ld)" , +PTR_ERR (skb)); +continue ; + } + +if (skb->len <sizeof (*rp)) + goto error; + + rp = (void *)skb->data; + +if (rp->status) + goto error; + +if (!rp->num_caps) { + len =0 ; +/* this codec doesn't have capabilities */ + goto skip_caps_parse; + } + +skb_pull (skb,sizeof (*rp)); + +for (j =0 , len =0 ; j < rp->num_caps; j++) { + caps = (void *)skb->data; +if (skb->len <sizeof (*caps)) + goto error; +if (skb->len < caps->len) + goto error; + len +=sizeof (caps->len) + caps->len; +skb_pull (skb,sizeof (caps->len) + caps->len); + } + +skip_caps_parse: +hci_dev_lock (hdev); +hci_codec_list_add (&hdev->local_codecs, &cmd, rp, + (__u8 *)rp +sizeof (*rp), len); +hci_dev_unlock (hdev); +error: +kfree_skb (skb); + } + } +} + +static void hci_codec_list_parse (struct hci_dev *hdev,__u8 num_codecs, +void *codec_list,bool is_vnd_codec) +{ +__u8 i; + +for (i =0 ; i < num_codecs; i++) { +if (!is_vnd_codec) { +struct hci_std_codecs *codecs = codec_list; + +hci_read_codec_capabilities (hdev, &codecs->codec[i], +LOCAL_CODEC_ACL_MASK , + is_vnd_codec); + }else { +struct hci_vnd_codecs *codecs = codec_list; + +hci_read_codec_capabilities (hdev, &codecs->codec[i], +LOCAL_CODEC_ACL_MASK , + is_vnd_codec); + } + } +} + +static void hci_read_supported_codecs (struct hci_dev *hdev) +{ +struct sk_buff *skb; +struct hci_rp_read_local_supported_codecs *rp; +struct hci_std_codecs *std_codecs; +struct hci_vnd_codecs *vnd_codecs; + + skb =__hci_cmd_sync (hdev,HCI_OP_READ_LOCAL_CODECS ,0 ,NULL , +HCI_CMD_TIMEOUT ); + +if (IS_ERR (skb)) { +bt_dev_err (hdev,"Failed to read local supported codecs (%ld)" , +PTR_ERR (skb)); +return ; + } + +if (skb->len <sizeof (*rp)) + goto error; + + rp = (void *)skb->data; + +if (rp->status) + goto error; + +skb_pull (skb,sizeof (rp->status)); + + std_codecs = (void *)skb->data; + +/* validate codecs length before accessing */ +if (skb->len <flex_array_size (std_codecs, codec, std_codecs->num) + +sizeof (std_codecs->num)) + goto error; + +/* enumerate codec capabilities of standard codecs */ +hci_codec_list_parse (hdev, std_codecs->num, std_codecs, false); + +skb_pull (skb,flex_array_size (std_codecs, codec, std_codecs->num) + +sizeof (std_codecs->num)); + + vnd_codecs = (void *)skb->data; + +/* validate vendor codecs length before accessing */ +if (skb->len < + flex_array_size(vnd_codecs, codec, vnd_codecs->num)
net/bluetooth/hci_core.c static int hci_init4_req(struct hci_request *req, unsigned long opt) · line 1095
Quoted 10 lines
net/bluetooth/hci_core.c +10
-0+ + sizeof(vnd_codecs->num)) + goto error; + +/* enumerate vendor codec capabilities */ +hci_codec_list_parse (hdev, vnd_codecs->num, vnd_codecs, true); + +error: + kfree_skb(skb); +} +#endif
We might as well move these to hci_codec.c so we just enable/disable via Makefile, hci_core.c is getting a little too convoluted handling so many things.
Quoted 39 lines
net/bluetooth/hci_core.c +12
-1static int __hci_init (struct hci_dev *hdev) {int err;@@ -937,6 +1124,12 @@ static int __hci_init(struct hci_dev *hdev)if (err <0 )return err; +#if IS_ENABLED (CONFIG_BT_OFFLOAD_CODECS ) +/* Read local codec list if the HCI command is supported */ +if (hdev->commands[29 ] &0x20 ) +hci_read_supported_codecs (hdev); +#endif +/* 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. @@ -1841,6 +2034,9 @@ 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 ); +#if IS_ENABLED (CONFIG_BT_OFFLOAD_CODECS ) +hci_codec_list_clear (&hdev->local_codecs); +#endif hci_req_sync_unlock (hdev);@@ -3843,6 +4039,9 @@ struct hci_dev *hci_alloc_dev(void)INIT_LIST_HEAD (&hdev->adv_instances);INIT_LIST_HEAD (&hdev->blocked_keys); +#if IS_ENABLED (CONFIG_BT_OFFLOAD_CODECS ) +INIT_LIST_HEAD (&hdev->local_codecs); +#endif INIT_WORK (&hdev->rx_work, hci_rx_work);INIT_WORK (&hdev->cmd_work, hci_cmd_work);INIT_WORK (&hdev->tx_work, hci_tx_work); --2.17.1
Signature · 1 line
Luiz Augusto von Dentz
Hi Luiz,
Quoted 12 lines
Quoted 12 lines
#define
HCI_OP_READ_PAGE_SCAN_ACTIVITY0x0c1bstructhci_rp_read_page_scan_activity { __u8 status;include/net/bluetooth/hci_core.h +0
-0@@ -131,6 +131,19 @@ struct bdaddr_list {u8 bdaddr_type; };
Quoted 9 lines
include/net/bluetooth/hci_core.h struct bdaddr_list { · line 139
Quoted 6 lines
include/net/bluetooth/hci_core.h +6
-0+#if IS_ENABLED(CONFIG_BT_OFFLOAD_CODECS) +struct codec_list { + struct list_head list; + u8 id; + __le16 cid; + __le16 vid;I wonder why you are not storing these fields in host byte order? Looks odd since everything else is using host order.
Ack. I will change this to host order.
Quoted 15 lines
Quoted 15 lines
include/net/bluetooth/hci_core.h +7
-0+u8 transport; +u8 num_caps; +u32 len; +struct hci_codec_caps caps[]; +}; +#endif +struct bdaddr_list_with_irk {struct list_head list;bdaddr_t bdaddr;@@ -535,6 +548,9 @@ struct hci_dev {struct list_head pend_le_conns;struct list_head pend_le_reports;struct list_head blocked_keys;
Quoted 8 lines
include/net/bluetooth/hci_core.h struct hci_dev { · line 553
Quoted 3 lines
include/net/bluetooth/hci_core.h +3
-0+#if IS_ENABLED (CONFIG_BT_OFFLOAD_CODECS ) +struct list_head local_codecs; +#endif I wonder if this is preferable over just leaving the
local_codecsempty as we would probably just save a couple of bytes here but when using preprocessor #if that means we can no longer useIS_ENABLEDdirectly inside the C statements.
Ack.
Quoted 9 lines
include/net/bluetooth/hci_core.h void hci_copy_identity_address(struct hci_dev
Quoted 5 lines
include/net/bluetooth/hci_core.h +0
-0struct hci_dev_stats stat;@@ -1849,4 +1865,11 @@ void hci_copy_identity_address(struct hci_dev*hdev,
bdaddr_t*bdaddr,Quoted 3 lines
include/net/bluetooth/hci_core.h +0
-0#define SCO_AIRMODE_CVSD 0x0000#define SCO_AIRMODE_TRANSP 0x0003
Quoted 7 lines
include/net/bluetooth/hci_core.h void hci_copy_identity_address(struct hci_dev *hdev, bdaddr_t *bdaddr, · line 1872
Quoted 5 lines
include/net/bluetooth/hci_core.h +5
-0+#if IS_ENABLED (CONFIG_BT_OFFLOAD_CODECS ) +#define LOCAL_CODEC_ACL_MASK BIT(0) +#define LOCAL_CODEC_SCO_MASK BIT(1) + +#define TRANSPORT_TYPE_MAX 0x04Ditto, Id just have these defines all the time.
Ack
Quoted 12 lines
Quoted 12 lines
include/net/bluetooth/hci_core.h +2
-0+#endif +#endif /* __HCI_CORE_H */ net/bluetooth/Kconfig index renamed from net/bluetooth/Kconfig +0
-0
e0ab4cd7afc3..1069623f36c4100644net/bluetooth/Kconfig +0
-0@@ -92,6 +92,17 @@ config BT_LEDS This option selects a few LED triggers for different Bluetooth events.
Quoted 11 lines
net/bluetooth/Kconfig config BT_LEDS · line 103
Quoted 9 lines
net/bluetooth/Kconfig +9
-0+config BT_OFFLOAD_CODECS + bool "Enable offload codecs" + depends on BT && BT_BREDR + default n + help + This option enables offload codecs if controller supports. + When this option is enabled, user space audio modules can + query offload codecs and can set the codec to be used for + specific use case.I would have named this
BT_HCI_CODECS.
I believe in 10/10 patch, Marcel and you agreed to not to have Kconfig altogether.
Quoted 249 lines
net/bluetooth/hci_core.c static int hci_init4_req(struct hci_request *req,
Quoted 10 lines
net/bluetooth/Kconfig +1
-0+ config BT_MSFTEXT bool "Enable Microsoft extensions" depends on BTnet/bluetooth/hci_core.c index renamed from net/bluetooth/hci_core.c +0
-0
2560ed2f144d..2657d84e8240100644net/bluetooth/hci_core.c +0
-0@@ -838,10 +838,6 @@ static int hci_init4_req(struct hci_request *req,unsigned long opt)
Quoted 11 lines
net/bluetooth/hci_core.c +0
-4if (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); @@ -907,6 +903,197 @@ static int hci_init4_req(struct
hci_request*req, unsigned long opt)
Quoted 30 lines
return 0;}
net/bluetooth/hci_core.c +27
-0+#if IS_ENABLED (CONFIG_BT_OFFLOAD_CODECS ) +static int hci_codec_list_add (struct list_head *list, +struct hci_op_read_local_codec_caps *sent, +struct hci_rp_read_local_codec_caps *rp, +void *caps, +__u32 len) { +struct codec_list *entry; + + entry =kzalloc (sizeof (*entry) + len,GFP_KERNEL ); +if (!entry) +return -ENOMEM ; + + entry->id = sent->id; +if (sent->id ==0xFF ) { + entry->cid =__le16_to_cpu (sent->cid); + entry->vid =__le16_to_cpu (sent->vid); + } + entry->transport = sent->transport; + entry->len = len; + entry->num_caps = rp->num_caps; +if (rp->num_caps) +memcpy (entry->caps, caps, len); +list_add (&entry->list, list); + +return 0 ; +} +net/bluetooth/hci_core.c static int hci_init4_req(struct hci_request *req, unsigned long opt)
Quoted 10 lines
net/bluetooth/hci_core.c +10
-0+static void hci_codec_list_clear (struct list_head *codec_list) { +struct codec_list *c, *n; + +list_for_each_entry_safe (c, n, codec_list, list) { +list_del (&c->list); +kfree (c); + } +} + +static void hci_read_codec_capabilities(struct hci_dev *hdev, void
*codec_id,Quoted 20 lines
net/bluetooth/hci_core.c +20
-0+ __u8 transport, bool +is_vnd_codec) { +struct hci_op_read_local_codec_caps cmd; +__u8 i; + +memset (&cmd,0 ,sizeof (cmd)); + +if (is_vnd_codec) { +struct hci_vnd_codec *vnd_codec; + + vnd_codec = codec_id; + cmd.id =0xFF ; + cmd.cid = vnd_codec->cid; + cmd.vid = vnd_codec->vid; + }else { + cmd.id = *(__u8 *)codec_id; + } + + cmd.direction =0x00 ; +net/bluetooth/hci_core.c static int hci_init4_req(struct hci_request *req, unsigned long opt)
Quoted 10 lines
net/bluetooth/hci_core.c +10
-0+for (i =0 ; i <TRANSPORT_TYPE_MAX ; i++) { +if (transport &BIT (i)) { +struct hci_rp_read_local_codec_caps *rp; +struct hci_codec_caps *caps; +struct sk_buff *skb; +__u8 j; +__u32 len; + + cmd.transport = i; + skb = __hci_cmd_sync(hdev,
HCI_OP_READ_LOCAL_CODEC_CAPS,net/bluetooth/hci_core.c static int hci_init4_req(struct hci_request *req, unsigned long opt)
Quoted 4 lines
net/bluetooth/hci_core.c +4
-0+sizeof (cmd), &cmd, + HCI_CMD_TIMEOUT); +if (IS_ERR (skb)) { + bt_dev_err(hdev, "Failed to read codec capabilities(%ld)",
Quoted 107 lines
net/bluetooth/hci_core.c +107
-0+ PTR_ERR(skb)); +continue ; + } + +if (skb->len <sizeof (*rp)) + goto error; + + rp = (void *)skb->data; + +if (rp->status) + goto error; + +if (!rp->num_caps) { + len =0 ; +/* this codec doesn't have capabilities */ + goto skip_caps_parse; + } + +skb_pull (skb,sizeof (*rp)); + +for (j =0 , len =0 ; j < rp->num_caps; j++) { + caps = (void *)skb->data; +if (skb->len <sizeof (*caps)) + goto error; +if (skb->len < caps->len) + goto error; + len +=sizeof (caps->len) + caps->len; +skb_pull (skb,sizeof (caps->len) + caps->len); + } + +skip_caps_parse: +hci_dev_lock (hdev); +hci_codec_list_add (&hdev->local_codecs, &cmd, rp, + (__u8 *)rp +sizeof (*rp), len); +hci_dev_unlock (hdev); +error: +kfree_skb (skb); + } + } +} + +static void hci_codec_list_parse (struct hci_dev *hdev,__u8 num_codecs, +void *codec_list,bool is_vnd_codec) +{ +__u8 i; + +for (i =0 ; i < num_codecs; i++) { +if (!is_vnd_codec) { +struct hci_std_codecs *codecs = codec_list; + +hci_read_codec_capabilities (hdev, &codecs->codec[i], +LOCAL_CODEC_ACL_MASK , + is_vnd_codec); + }else { +struct hci_vnd_codecs *codecs = codec_list; + +hci_read_codec_capabilities (hdev, &codecs->codec[i], +LOCAL_CODEC_ACL_MASK , + is_vnd_codec); + } + } +} + +static void hci_read_supported_codecs (struct hci_dev *hdev) { +struct sk_buff *skb; +struct hci_rp_read_local_supported_codecs *rp; +struct hci_std_codecs *std_codecs; +struct hci_vnd_codecs *vnd_codecs; + + skb =__hci_cmd_sync (hdev,HCI_OP_READ_LOCAL_CODECS ,0 ,NULL , +HCI_CMD_TIMEOUT ); + +if (IS_ERR (skb)) { +bt_dev_err (hdev,"Failed to read local supported codecs (%ld)" , +PTR_ERR (skb)); +return ; + } + +if (skb->len <sizeof (*rp)) + goto error; + + rp = (void *)skb->data; + +if (rp->status) + goto error; + +skb_pull (skb,sizeof (rp->status)); + + std_codecs = (void *)skb->data; + +/* validate codecs length before accessing */ +if (skb->len <flex_array_size (std_codecs, codec, std_codecs->num) + +sizeof (std_codecs->num)) + goto error; + +/* enumerate codec capabilities of standard codecs */ +hci_codec_list_parse (hdev, std_codecs->num, std_codecs, + false); + +skb_pull (skb,flex_array_size (std_codecs, codec, std_codecs->num) + +sizeof (std_codecs->num)); + + vnd_codecs = (void *)skb->data; + +/* validate vendor codecs length before accessing */ +if (skb->len < + flex_array_size(vnd_codecs, codec, vnd_codecs->num)net/bluetooth/hci_core.c static int hci_init4_req(struct hci_request *req, unsigned long opt) · line 1095
Quoted 10 lines
net/bluetooth/hci_core.c +10
-0+ + sizeof(vnd_codecs->num)) + goto error; + +/* enumerate vendor codec capabilities */ +hci_codec_list_parse (hdev, vnd_codecs->num, vnd_codecs, true); + +error: + kfree_skb(skb); +} +#endif We might as well move these to
hci_codec.cso we just enable/disable viaMakefile,hci_core.cis getting a little too convoluted handling so many things.Quoted 28 lines
static int __hci_init(struct hci_dev *hdev) { int err;net/bluetooth/hci_core.c +8
-0@@ -937,6 +1124,12 @@ static int __hci_init(struct hci_dev *hdev)if (err <0 )return err; +#if IS_ENABLED (CONFIG_BT_OFFLOAD_CODECS ) +/* Read local codec list if the HCI command is supported */ +if (hdev->commands[29 ] &0x20 ) +hci_read_supported_codecs (hdev);#endif +/* 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. @@ -1841,6 +2034,9 @@ 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 ); +#if IS_ENABLED (CONFIG_BT_OFFLOAD_CODECS ) +hci_codec_list_clear (&hdev->local_codecs); +#endif hci_req_sync_unlock (hdev);@@ -3843,6 +4039,9 @@ struct hci_dev *hci_alloc_dev(void)INIT_LIST_HEAD (&hdev->adv_instances);INIT_LIST_HEAD (&hdev->blocked_keys);
Quoted 13 lines
Quoted 9 lines
net/bluetooth/hci_core.c +3
-1+#if IS_ENABLED (CONFIG_BT_OFFLOAD_CODECS ) +INIT_LIST_HEAD (&hdev->local_codecs); +#endif INIT_WORK (&hdev->rx_work, hci_rx_work);INIT_WORK (&hdev->cmd_work, hci_cmd_work);INIT_WORK (&hdev->tx_work, hci_tx_work); --2.17.1
--
Luiz Augusto von Dentz
Thanks,
Kiran