You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by cc...@apache.org on 2017/01/18 16:55:10 UTC

[1/7] incubator-mynewt-core git commit: nimble/ll: fix and refactor set rpa timeout

Repository: incubator-mynewt-core
Updated Branches:
  refs/heads/develop ae4d7776e -> 607dfa5b2


nimble/ll: fix and refactor set rpa timeout

os_callout_reset return value was not assigned to rc.
Additionally code was refactored to improve readability.


Project: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/commit/f1a94d2a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/tree/f1a94d2a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/diff/f1a94d2a

Branch: refs/heads/develop
Commit: f1a94d2a32b7a93bae5ef6b90e249cb4494202a0
Parents: 8827489
Author: Micha\u0142 Narajowski <mi...@codecoup.pl>
Authored: Tue Jan 10 13:25:59 2017 +0100
Committer: Micha\u0142 Narajowski <mi...@codecoup.pl>
Committed: Wed Jan 18 11:12:08 2017 +0100

----------------------------------------------------------------------
 net/nimble/controller/src/ble_ll_resolv.c | 19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/f1a94d2a/net/nimble/controller/src/ble_ll_resolv.c
----------------------------------------------------------------------
diff --git a/net/nimble/controller/src/ble_ll_resolv.c b/net/nimble/controller/src/ble_ll_resolv.c
index 975f271..65a581e 100644
--- a/net/nimble/controller/src/ble_ll_resolv.c
+++ b/net/nimble/controller/src/ble_ll_resolv.c
@@ -354,21 +354,20 @@ ble_ll_resolv_local_addr_rd(uint8_t *cmdbuf)
 int
 ble_ll_resolv_set_rpa_tmo(uint8_t *cmdbuf)
 {
-    int rc;
     uint16_t tmo_secs;
 
     tmo_secs = le16toh(cmdbuf);
-    if ((tmo_secs > 0) && (tmo_secs <= 0xA1B8)) {
-        g_ble_ll_resolv_data.rpa_tmo = tmo_secs * OS_TICKS_PER_SEC;
-        if (g_ble_ll_resolv_data.addr_res_enabled) {
-            os_callout_reset(&g_ble_ll_resolv_data.rpa_timer,
-                             (int32_t)g_ble_ll_resolv_data.rpa_tmo);
-        }
-    } else {
-        rc = BLE_ERR_INV_HCI_CMD_PARMS;
+    if (!((tmo_secs > 0) && (tmo_secs <= 0xA1B8))) {
+        return BLE_ERR_INV_HCI_CMD_PARMS;
     }
 
-    return rc;
+    if (!g_ble_ll_resolv_data.addr_res_enabled) {
+        return BLE_ERR_CMD_DISALLOWED;
+    }
+
+    g_ble_ll_resolv_data.rpa_tmo = tmo_secs * OS_TICKS_PER_SEC;
+    return os_callout_reset(&g_ble_ll_resolv_data.rpa_timer,
+                            (int32_t)g_ble_ll_resolv_data.rpa_tmo);
 }
 
 /**


[4/7] incubator-mynewt-core git commit: nimble/hci: remove redundant check

Posted by cc...@apache.org.
nimble/hci: remove redundant check


Project: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/commit/88274894
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/tree/88274894
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/diff/88274894

Branch: refs/heads/develop
Commit: 882748946137caa295dcf4f4753720910e8b37f0
Parents: 118e399
Author: Micha\u0142 Narajowski <mi...@codecoup.pl>
Authored: Tue Jan 10 11:43:38 2017 +0100
Committer: Micha\u0142 Narajowski <mi...@codecoup.pl>
Committed: Wed Jan 18 11:12:08 2017 +0100

----------------------------------------------------------------------
 net/nimble/host/src/ble_hs_hci_cmd.c | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/88274894/net/nimble/host/src/ble_hs_hci_cmd.c
----------------------------------------------------------------------
diff --git a/net/nimble/host/src/ble_hs_hci_cmd.c b/net/nimble/host/src/ble_hs_hci_cmd.c
index f8e7dde..3cc3b98 100644
--- a/net/nimble/host/src/ble_hs_hci_cmd.c
+++ b/net/nimble/host/src/ble_hs_hci_cmd.c
@@ -1326,20 +1326,14 @@ int
 ble_hs_hci_cmd_build_set_resolv_priv_addr_timeout(
     uint16_t timeout, uint8_t *dst, int dst_len)
 {
-    int rc;
-
     BLE_HS_DBG_ASSERT(
         dst_len >= BLE_HCI_CMD_HDR_LEN + BLE_HCI_SET_RESOLV_PRIV_ADDR_TO_LEN);
 
     ble_hs_hci_cmd_write_hdr(BLE_HCI_OGF_LE, BLE_HCI_OCF_LE_SET_RPA_TMO,
                        BLE_HCI_SET_RESOLV_PRIV_ADDR_TO_LEN, dst);
 
-    rc = ble_hs_hci_cmd_body_set_resolv_priv_addr_timeout(
+    return ble_hs_hci_cmd_body_set_resolv_priv_addr_timeout(
         timeout, dst + BLE_HCI_CMD_HDR_LEN);
-    if (rc != 0) {
-        return rc;
-    }
-    return 0;
 }
 
 static int


[6/7] incubator-mynewt-core git commit: nimble/pts: update test results for PTS 7.0

Posted by cc...@apache.org.
nimble/pts: update test results for PTS 7.0


Project: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/commit/9d255f91
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/tree/9d255f91
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/diff/9d255f91

Branch: refs/heads/develop
Commit: 9d255f916bbc0bc4f5bfce33eb0f525d63ff948f
Parents: 34d34e1
Author: Micha\u0142 Narajowski <mi...@codecoup.pl>
Authored: Mon Jan 9 09:51:52 2017 +0100
Committer: Micha\u0142 Narajowski <mi...@codecoup.pl>
Committed: Wed Jan 18 14:51:40 2017 +0100

----------------------------------------------------------------------
 net/nimble/host/pts/pts-gap.txt   |  34 +-
 net/nimble/host/pts/pts-gatt.txt  | 629 ++++++++++++++++++---------------
 net/nimble/host/pts/pts-l2cap.txt | 361 ++++++++++---------
 net/nimble/host/pts/pts-sm.txt    | 160 +++++----
 4 files changed, 659 insertions(+), 525 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/9d255f91/net/nimble/host/pts/pts-gap.txt
----------------------------------------------------------------------
diff --git a/net/nimble/host/pts/pts-gap.txt b/net/nimble/host/pts/pts-gap.txt
index dd4a597..e1c81f9 100644
--- a/net/nimble/host/pts/pts-gap.txt
+++ b/net/nimble/host/pts/pts-gap.txt
@@ -1,7 +1,7 @@
 PTS test results for GAP
 
-PTS version: 6.7
-Tested: 29-Nov-2016
+PTS version: 7.0
+Tested: 10-Jan-2017
 
 Results:
 PASS	test passed
@@ -26,7 +26,7 @@ TC_BROB_BCST_BV_01_C	PASS	b adv conn=non
 TC_BROB_BCST_BV_02_C	PASS	b adv conn=non
 TC_BROB_BCST_BV_03_C	PASS	b set irk=<IRK> e.g: 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:11
 				Note: in PTS IXIT please set:
-				TSPX_uit_device_IRK=11000000000000000000000000000000
+				TSPX_iut_device_IRK_for_resolvable_privacy_address_generation_procedure=11000000000000000000000000000000
 				b set adv_data flags=0
 				b adv conn=non disc=non own_addr_type=rpa_pub
 TC_BROB_BCST_BV_04_C	N/A
@@ -100,7 +100,10 @@ TC_CONN_UCON_BV_06_C	PASS	b set adv_data flags=0
 				b set sm_data bonding=1 our_key_dist=7 their_key_dist=7
 				b set irk=<IRK> e.g: 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:11
 				Note: in PTS IXIT please set:
-				TSPX_uit_device_IRK=11000000000000000000000000000000
+				TSPX_iut_device_IRK=11000000000000000000000000000000
+				TSPX_iut_private_address_interval=300000
+				interval can be set in net/nimble/host/syscfg.yml
+				as BLE_RPA_TIMEOUT
 				b adv own_addr_type=rpa_pub
 TC_CONN_ACEP_BV_01_C	PASS	b wl addr=<addr> addr_type=public
 				b conn peer_addr_type=wl
@@ -132,7 +135,8 @@ TC_CONN_CPUP_BV_04_C	PASS	b conn peer_addr=<addr>
 				b term conn=<handle>
 TC_CONN_CPUP_BV_05_C	PASS	b conn peer_addr=<addr>
 				b term conn=<handle>
-TC_CONN_TERM_BV_01_C	PASS	b adv conn=und disc=non
+TC_CONN_TERM_BV_01_C	PASS	<answer NO to role question>
+				b adv conn=und disc=non
 				b term conn=1
 TC_CONN_PRDA_BV_01_C	PASS	b set adv_data flags=0
 				b set sm_data bonding=1 our_key_dist=7 their_key_dist=7
@@ -176,7 +180,8 @@ TC_BOND_BON_BV_03_C	PASS	b set sm_data bonding=1 our_key_dist=7 their_key_dist=7
 				<ok>
 				b adv
 				<ok>
-TC_BOND_BON_BV_04_C	PASS	b conn peer_addr=<addr>
+TC_BOND_BON_BV_04_C	PASS	b set sm_data bonding=1
+				b conn peer_addr=<addr
 				b term conn=<handle>
 				b conn peer_addr=<addr>
 				b sec pair conn=<handle>
@@ -195,14 +200,14 @@ TC_SEC_AUT_BV_12_C	PASS	b set sm_data io_capabilities=1
 				Note: in PTS enter handle for characteristics
 				      value which requires encryption for read
 TC_SEC_AUT_BV_13_C	PASS	Note: in PTS confirm that IUT supports GATT Server
-				b set mitm_flag=1
+				b set sm_data mitm_flag=1
 				b set sm_data io_capabilities=1
 				b conn peer_addr=<addr>
 				b disc svc conn=<handle>
 				Note: in PTS enter handle for characteristics
 				      value which requires authenticated
 				      pairing for read
-				b passkey conn=1 action=3 key=123456
+				b passkey conn=<handle> action=3 key=123456
 				Note: enter '123456' passkey in PTS
 TC_SEC_AUT_BV_14_C	PASS	b set sm_data io_capabilities=1
 				b adv
@@ -211,6 +216,8 @@ TC_SEC_AUT_BV_14_C	PASS	b set sm_data io_capabilities=1
 				      pairing for read
 				b passkey conn=<handle> action=3 key=123456
 				Note: enter '123456' passkey in PTS
+				Note: enter handle for characteristics value which 
+				      requires authentication
 TC_SEC_AUT_BV_15_C	N/A
 TC_SEC_AUT_BV_16_C	N/A
 TC_SEC_AUT_BV_17_C	PASS	b conn peer_addr=<addr>
@@ -221,18 +228,18 @@ TC_SEC_AUT_BV_17_C	PASS	b conn peer_addr=<addr>
 TC_SEC_AUT_BV_18_C	PASS	b adv
 				b disc full conn=<handle>
 				b read conn=<handle> attr=<val_handle>
-				b set sm_data bonding=1
 				b sec start conn=<handle>
 				b read conn=<handle> attr=<val_handle>
 TC_SEC_AUT_BV_19_C	PASS	b conn peer_addr=<addr>
-				b set sm_data bonding=1
 				b sec pair conn=<handle>
+				<ok>
 				b conn peer_addr=<addr>
 				b read conn=<handle> attr=<val_handle>
 				b sec pair conn=<handle>
 				b read conn=<handle> attr=<val_handle>
 				b term conn=<handle>
 TC_SEC_AUT_BV_20_C	PASS	b adv
+				<ok>
 				b adv
 				b read conn=<handle> attr=<val_handle>
 				b set sm_data bonding=1
@@ -243,6 +250,7 @@ TC_SEC_AUT_BV_21_C	PASS	b set sm_data bonding=1
 				b set sm_data their_key_dist=1
 				b conn peer_addr=<addr>
 				b sec pair conn=<handle>
+				<ok>
 				b conn peer_addr=<addr>
 				b sec start conn=<handle>
 				b term conn=<handle>
@@ -250,8 +258,10 @@ TC_SEC_AUT_BV_22_C	PASS	b set sm_data bonding=1
 				b set sm_data our_key_dist=1
 				b set sm_data their_key_dist=1
 				b adv
+				<ok>
 				b adv
 				b sec start conn=1
+				<ok>
 TC_SEC_AUT_BV_23_C	PASS	b set sm_data bonding=1
 				b set sm_data our_key_dist=1
 				b set sm_data their_key_dist=1
@@ -329,7 +339,7 @@ TC_ADV_BV_16_C		PASS	b set adv_data le_role=1
 				b adv
 -------------------------------------------------------------------------------
 
-TC_GAT_BV_01_C		PASS
+TC_GAT_BV_01_C		PASS	<answer NO to role question>
 TC_GAT_BV_02_C		N/A
 TC_GAT_BV_03_C		N/A
 TC_GAT_BV_04_C		N/A
@@ -347,7 +357,7 @@ TC_DM_GIN_BV_01_C	N/A
 TC_DM_LIN_BV_01_C	N/A
 TC_DM_NAD_BV_01_C	N/A
 TC_DM_NAD_BV_02_C	N/A
-TC_DM_LEP_BV_01_C	N/A	PTS errata #15174
+TC_DM_LEP_BV_01_C	N/A	PTS Errata 15174
 TC_DM_LEP_BV_02_C	N/A
 TC_DM_LEP_BV_04_C	N/A
 TC_DM_LEP_BV_05_C	N/A

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/9d255f91/net/nimble/host/pts/pts-gatt.txt
----------------------------------------------------------------------
diff --git a/net/nimble/host/pts/pts-gatt.txt b/net/nimble/host/pts/pts-gatt.txt
index f0b8240..b9916b0 100644
--- a/net/nimble/host/pts/pts-gatt.txt
+++ b/net/nimble/host/pts/pts-gatt.txt
@@ -1,7 +1,7 @@
 PTS test results for GATT
 
-PTS version: 6.7
-Tested: 29-Nov-2016
+PTS version: 7.0
+Tested: 10-Jan-2017
 
 Results:
 PASS	test passed
@@ -12,466 +12,519 @@ N/A	test is disabled due to PICS setup
 -------------------------------------------------------------------------------
 Test Name		Result	Notes
 -------------------------------------------------------------------------------
-TC_GAC_CL_BV_01_C	PASS	b conn peer_addr=<addr>
+GATT/CL/GAC/BV-01-C	PASS	b conn peer_addr=<addr>
 				b mtu conn=<handle>
 				b write conn=<handle> long=1 attr=<val_handle> value=<xx:...>
 				b term conn=<handle>
 -------------------------------------------------------------------------------
 
-TC_GAC_SR_BV_01_C	PASS	b adv
-				b adv
--------------------------------------------------------------------------------
-
-TC_GAD_CL_BV_01_C	PASS	b conn peer_addr=<addr>
+GATT/CL/GAD/BV-01-C	PASS	b conn peer_addr=<addr>
 				b disc svc conn=<handle>
 				b show chr
+				<answer YES>
 				b term conn=<handle>
 				<repeat>
-TC_GAD_CL_BV_02_C	PASS	b conn peer_addr=<addr>
+GATT/CL/GAD/BV-02-C	PASS	b conn peer_addr=<addr>
 				b disc svc conn=<handle> uuid=<uuid>
 				b show chr
+				<answer YES>
 				b term conn=<handle>
 				<repeat>
-TC_GAD_CL_BV_03_C	PASS	b conn peer_addr=<addr>
+GATT/CL/GAD/BV-03-C	PASS	b conn peer_addr=<addr>
 				b find inc_svcs conn=<handle> start=1 end=0xffff
+				<answer YES>
 				b term conn=<handle>
-TC_GAD_CL_BV_04_C	PASS	b conn peer_addr=<addr>
+				<repeat>
+GATT/CL/GAD/BV-04-C	PASS	b conn peer_addr=<addr>
 				b disc svc conn=<handle> uuid=<uuid>
 				b disc chr conn=<handle> start=<start hdl> end=<end hdl>
 				b show chr
+				<answer YES>
 				b term conn=<handle>
 				<repeat>
-TC_GAD_CL_BV_05_C	PASS	b conn peer_addr=<addr>
+GATT/CL/GAD/BV-05-C	PASS	b conn peer_addr=<addr>
 				b disc svc conn=<handle>
 				b disc chr conn=<handle> uuid=<uuid> start=<start hdl> end=<end hdl>
 				b show chr
+				<answer YES>
 				b term conn=<handle>
 				<repeat>
-TC_GAD_CL_BV_06_C	PASS	b conn peer_addr=<addr>
+GATT/CL/GAD/BV-06-C	PASS	b conn peer_addr=<addr>
 				b disc svc conn=<handle>
 				b disc chr conn=<handle> start=<svc-start-hdl> end=<svc-end-hdl>
 				b disc dsc conn=<handle> start=<start hdl> end=<end hdl>
+				<answer YES>
+				b term conn=<handle>
 				<repeat>
-TC_GAD_CL_BV_07_C	N/A	
-TC_GAD_CL_BV_08_C	N/A	
--------------------------------------------------------------------------------
-
-TC_GAD_SR_BV_01_C	PASS	b adv
-TC_GAD_SR_BV_02_C	PASS	b adv
-TC_GAD_SR_BV_03_C	PASS	b adv
-TC_GAD_SR_BV_04_C	PASS	b adv
-				<confirm handles range for services>
-TC_GAD_SR_BV_05_C	PASS	b adv
-TC_GAD_SR_BV_06_C	PASS	b adv
-TC_GAD_SR_BV_07_C	N/A
-TC_GAD_SR_BV_08_C	N/A
+GATT/CL/GAD/BV-07-C	N/A	
+GATT/CL/GAD/BV-08-C	N/A	
 -------------------------------------------------------------------------------
 
-TC_GAR_CL_BV_01_C	PASS	b conn peer_addr=<addr>
+GATT/CL/GAR/BV-01-C	PASS	b conn peer_addr=<addr>
 				b read conn=<handle> attr=<val_handle>
 				b term conn=<handle>
-TC_GAR_CL_BI_01_C	PASS	b conn peer_addr=<addr>
+GATT/CL/GAR/BI-01-C	PASS	b conn peer_addr=<addr>
 				b read conn=<handle> attr=<val_handle>
+				<answer YES>
 				b term conn=<handle>
-TC_GAR_CL_BI_02_C	PASS	b conn peer_addr=<addr>
+GATT/CL/GAR/BI-02-C	PASS	b conn peer_addr=<addr>
 				b read conn=<handle> attr=<val_handle>
+				<answer YES>
 				b term conn=<handle>
-TC_GAR_CL_BI_03_C	PASS	b conn peer_addr=<addr>
+GATT/CL/GAR/BI-03-C	PASS	b conn peer_addr=<addr>
 				b read conn=<handle> attr=<val_handle>
 				b term conn=<handle>
-TC_GAR_CL_BI_04_C	PASS	b conn peer_addr=<addr>
+				<answer YES>
+GATT/CL/GAR/BI-04-C	PASS	b conn peer_addr=<addr>
 				b read conn=<handle> attr=<val_handle>
 				b term conn=<handle>
-TC_GAR_CL_BI_05_C	PASS    b conn peer_addr=<addr>
+				<answer YES>
+GATT/CL/GAR/BI-05-C	PASS    b conn peer_addr=<addr>
 				b read conn=<handle> attr=<val_handle>
+				<answer YES>
 				b term conn=<handle>
-TC_GAR_CL_BV_03_C	PASS	b conn peer_addr=<addr>
+GATT/CL/GAR/BV-03-C	PASS	b conn peer_addr=<addr>
 				b read conn=<handle> uuid=<uuid> start=1 end=0xffff
+				<answer YES>
 				<repeat>
 				b term conn=<handle>
-TC_GAR_CL_BI_06_C	PASS	b conn peer_addr=<addr>
+GATT/CL/GAR/BI-06-C	PASS	b conn peer_addr=<addr>
 				b read conn=<handle> uuid=<uuid> start=<start hdl> end=<end hdl>
 				b term conn=<handle>
-TC_GAR_CL_BI_07_C	PASS	b conn peer_addr=<addr>
+				<answer YES>
+GATT/CL/GAR/BI-07-C	PASS	b conn peer_addr=<addr>
 				b read conn=<handle> uuid=<uuid> start=<start hdl> end=<end hdl>
 				b term conn=<handle>
-TC_GAR_CL_BI_09_C	PASS	b conn peer_addr=<addr>
+				<answer YES>
+GATT/CL/GAR/BI-09-C	PASS	b conn peer_addr=<addr>
 				b read conn=<handle> uuid=<uuid> start=<start hdl> end=<end hdl>
+				<answer YES>
 				b term conn=<handle>
-TC_GAR_CL_BI_10_C	PASS	b conn peer_addr=<addr>
+GATT/CL/GAR/BI-10-C	PASS	b conn peer_addr=<addr>
 				b read conn=<handle> uuid=<uuid> start=<start hdl> end=<end hdl>
 				b term conn=<handle>
-TC_GAR_CL_BI_11_C	PASS    b conn perr_addr=<addr>
+				<answer YES>
+GATT/CL/GAR/BI-11-C	PASS    b conn perr_addr=<addr>
 				b read conn=<handle> start=<start_hdl> end=<end_hdl>
-				b term conn=<handle>	
-TC_GAR_CL_BV_04_C	PASS	b conn peer_addr=<addr>
+				b term conn=<handle>
+				<answer YES>
+GATT/CL/GAR/BV-04-C	PASS	b conn peer_addr=<addr>
 				b read conn=<handle> long=1 attr=<val_handle>
+				<answer YES>
 				<repeat>
 				b term conn=<handle>
-TC_GAR_CL_BI_12_C	PASS	b conn peer_addr=<addr>
+GATT/CL/GAR/BI-12-C	PASS	b conn peer_addr=<addr>
 				b read conn=<handle> long=1 attr=<val_handle>
+				<answer YES>
 				b term conn=<handle>
-TC_GAR_CL_BI_13_C	PASS	b conn_peer_addr=<addr>
+GATT/CL/GAR/BI-13-C	PASS	b conn_peer_addr=<addr>
 				b read conn=<handle> long=1 attr=<val_handle> offset=<offset>
-TC_GAR_CL_BI_14_C	PASS	b conn peer_addr=<addr>
+				<answer YES>
+				b term conn=<handle>
+GATT/CL/GAR/BI-14-C	PASS	b conn peer_addr=<addr>
 				b read conn=<handle> long=1 attr=<val_handle>
 				b term conn=<handle>
-TC_GAR_CL_BI_15_C	PASS	b conn peer_addr=<addr>
+				<answer YES>
+GATT/CL/GAR/BI-15-C	PASS	b conn peer_addr=<addr>
 				b read conn=<handle> long=1 attr=<val_handle>
+				<answer YES>
 				b term conn=<handle>
-TC_GAR_CL_BI_16_C	PASS	b conn peer_addr=<addr>
+GATT/CL/GAR/BI-16-C	PASS	b conn peer_addr=<addr>
 				b read conn=<handle> long=1 attr=<val_handle>
 				b term conn=<handle>
-TC_GAR_CL_BI_17_C	PASS	b conn peer_addr=<addr>
+				<answer YES>
+GATT/CL/GAR/BI-17-C	PASS	b conn peer_addr=<addr>
 				b read conn=<handle> long=1 attr=<val_handle>
+				<answer YES>
 				b term conn=<handle>	
-TC_GAR_CL_BV_05_C	PASS	b conn peer_addr=<addr>
+GATT/CL/GAR/BV-05-C	PASS	b conn peer_addr=<addr>
 				b read conn=<handle> attr=<val_handle1> attr=<val_handle2>
 				b term conn=<handle>
-TC_GAR_CL_BI_18_C	PASS	b conn peer_addr=<addr>
+GATT/CL/GAR/BI-18-C	PASS	b conn peer_addr=<addr>
 				b read conn=<handle> attr=<val_handle1> attr=<val_handle2>
+				<answer YES>
 				b term conn=<handle>
-TC_GAR_CL_BI_19_C	PASS	b conn peer_addr=<addr>
+GATT/CL/GAR/BI-19-C	PASS	b conn peer_addr=<addr>
 				b read conn=<handle> attr=<val_handle1> attr=<val_handle2>
 				b term conn=<handle>
-TC_GAR_CL_BI_20_C	PASS	b conn peer_addr=<addr>
+				<answer YES>
+GATT/CL/GAR/BI-20-C	PASS	b conn peer_addr=<addr>
 				b read conn=<handle> attr=<val_handle1> attr=<val_handle2>
+				<answer YES>
 				b term conn=<handle>
-TC_GAR_CL_BI_21_C	PASS	b conn peer_addr=<addr>
+GATT/CL/GAR/BI-21-C	PASS	b conn peer_addr=<addr>
 				b read conn=<handle> attr=<val_handle1> attr=<val_handle2>
 				b term conn=<handle>
-TC_GAR_CL_BI_22_C	PASS	b conn peer_addr=<addr>
+				<answer YES>
+GATT/CL/GAR/BI-22-C	PASS	b conn peer_addr=<addr>
 				b read conn=<handle> attr=<val_handle1> attr=<val_handle2>
+				<answer YES>
 				b term conn=<handle>
-TC_GAR_CL_BV_06_C	PASS	b conn peer_addr=<addr>
+GATT/CL/GAR/BV-06-C	PASS	b conn peer_addr=<addr>
 				b read conn=<handle> attr=<val_handle>
+				<answer YES>
 				b term conn=<handle>
-TC_GAR_CL_BI_23_C	PASS	b conn peer_addr=<addr>
+GATT/CL/GAR/BI-23-C	PASS	b conn peer_addr=<addr>
 				b read conn=<handle> attr=<val_handle>
+				<answer YES>
 				b term conn=<handle>
-TC_GAR_CL_BI_24_C	PASS	b conn peer_addr=<addr>
+GATT/CL/GAR/BI-24-C	PASS	b conn peer_addr=<addr>
 				b read conn=<handle> attr=<val_handle>
+				<answer YES>
 				b term conn=<handle>
-TC_GAR_CL_BI_25_C	PASS	b conn peer_addr=<addr>
+GATT/CL/GAR/BI-25-C	PASS	b conn peer_addr=<addr>
 				b read conn=<handle> attr=<val_handle>
+				<answer YES>
 				b term conn=<handle>
-TC_GAR_CL_BI_26_C	PASS	b conn peer_addr=<addr>
+GATT/CL/GAR/BI-26-C	PASS	b conn peer_addr=<addr>
 				b read conn=<handle> attr=<val_handle>
 				b term conn=<handle>
-TC_GAR_CL_BI_27_C	PASS	b conn peer_addr=<addr>
+				<answer YES>
+GATT/CL/GAR/BI-27-C	PASS	b conn peer_addr=<addr>
 				b read conn=<handle> attr=<val_handle>
+				<answer YES>
 				b term conn=<handle>	
-TC_GAR_CL_BV_07_C	PASS	b conn peer_addr=<addr>
+GATT/CL/GAR/BV-07-C	PASS	b conn peer_addr=<addr>
 				b read conn=<handle> long=1 attr=<val_handle>
+				<answer YES>
 				<repeat>
 				b term conn=<handle>
-TC_GAR_CL_BI_28_C	PASS	b conn peer_addr=<addr>
+GATT/CL/GAR/BI-28-C	PASS	b conn peer_addr=<addr>
 				b read conn=<handle> long=1 attr=<val_handle>
+				<answer YES>
 				b term conn=<handle>
-TC_GAR_CL_BI_29_C	PASS	b conn_peer_addr=<addr>
+GATT/CL/GAR/BI-29-C	PASS	b conn_peer_addr=<addr>
 				b read conn=<handle> long=1 attr=<val_handle> offset=<offset>
-TC_GAR_CL_BI_30_C	PASS	b conn peer_addr=<addr>
+				<answer YES>
+				b term conn=<handle>
+GATT/CL/GAR/BI-30-C	PASS	b conn peer_addr=<addr>
 				b read conn=<handle> long=1 attr=<val_handle>
 				b term conn=<handle>
-TC_GAR_CL_BI_31_C	PASS	b conn peer_addr=<addr>
+				<answer YES>
+GATT/CL/GAR/BI-31-C	PASS	b conn peer_addr=<addr>
 				b read conn=<handle> long=1 attr=<val_handle>
+				<answer YES>
 				b term conn=<handle>
-TC_GAR_CL_BI_32_C	PASS	b conn peer_addr=<addr>
+GATT/CL/GAR/BI-32-C	PASS	b conn peer_addr=<addr>
 				b read conn=<handle> long=1 attr=<val_handle>
 				b term conn=<handle>
-TC_GAR_CL_BI_33_C	PASS	b conn peer_addr=<addr>
+				<answer YES>
+GATT/CL/GAR/BI-33-C	PASS	b conn peer_addr=<addr>
 				b read conn=<handle> long=1 attr=<val_handle>
+				<answer YES>
 				b term conn=<handle>
-TC_GAR_CL_BI_34_C	N/A
-TC_GAR_CL_BI_35_C	PASS	b conn peer_addr=<addr>
+GATT/CL/GAR/BI-34-C	N/A
+GATT/CL/GAR/BI-35-C	PASS	b conn peer_addr=<addr>
 				b read conn=<handle> long=1 attr=<val_handle>
+				<answer YES>
 				b term conn=<handle>
 -------------------------------------------------------------------------------
 
-TC_GAR_SR_BV_01_C	PASS	b adv
-TC_GAR_SR_BI_01_C	PASS	b adv
-TC_GAR_SR_BI_02_C	PASS	b adv
-				<enter ffff>
-TC_GAR_SR_BI_03_C	N/A
-TC_GAR_SR_BI_04_C	PASS	b adv
-TC_GAR_SR_BI_05_C	PASS	b adv
-TC_GAR_SR_BV_03_C	PASS	b adv
-TC_GAR_SR_BI_06_C	PASS	b adv
-				<enter uuid without READ flag>
-				<enter value handle>
-TC_GAR_SR_BI_07_C	PASS	b adv
-				<enter ffff>
-TC_GAR_SR_BI_08_C	PASS	b adv
-TC_GAR_SR_BI_09_C	N/A
-TC_GAR_SR_BI_10_C	PASS	b adv
-				<enter characteristic with READ|READ_AUTH flags>
-TC_GAR_SR_BI_11_C	PASS	b adv
-				<enter UUID=000000078c26476f89a7a108033a69c7 and appropriate handle>
-TC_GAR_SR_BV_04_C	PASS	b adv
-TC_GAR_SR_BI_12_C	PASS	b adv
-				<enter long value handle without READ flag>
-TC_GAR_SR_BI_13_C	PASS	b adv
-TC_GAR_SR_BI_14_C	PASS	b adv
-				<enter ffff>
-TC_GAR_SR_BI_15_C	N/A
-TC_GAR_SR_BI_16_C	PASS	b adv
-TC_GAR_SR_BI_17_C	PASS	b adv
-TC_GAR_SR_BV_05_C	PASS	b adv
-				NOTE: Probably correct, no confirmation in cmd
-TC_GAR_SR_BI_18_C	PASS	b adv
-				<enter value handle without READ flag>
-TC_GAR_SR_BI_19_C	PASS	b adv
-				<enter ffff>
-TC_GAR_SR_BI_20_C	N/A
-TC_GAR_SR_BI_21_C	PASS	b adv
-TC_GAR_SR_BI_22_C	PASS	b adv
-TC_GAR_SR_BV_06_C	PASS	b adv
-TC_GAR_SR_BI_23_C	PASS	b adv
-				<enter value handle without READ flag>
-TC_GAR_SR_BI_24_C	PASS	b adv
-				<enter ffff>
-TC_GAR_SR_BI_25_C	N/A
-TC_GAR_SR_BI_26_C	PASS	b adv
-TC_GAR_SR_BI_27_C	PASS	b adv
-TC_GAR_SR_BV_07_C	PASS	b adv
-TC_GAR_SR_BV_08_C	PASS	b adv
-TC_GAR_SR_BI_28_C	PASS	b adv
-				<enter desc value handle without READ flag>
-TC_GAR_SR_BI_29_C	PASS	b adv
-TC_GAR_SR_BI_30_C	PASS	b adv
-				<enter ffff>
-TC_GAR_SR_BI_31_C	N/A
-TC_GAR_SR_BI_32_C	PASS	b adv
-TC_GAR_SR_BI_33_C	PASS	b adv
-TC_GAR_SR_BI_34_C	N/A
-TC_GAR_SR_BI_35_C	N/A
--------------------------------------------------------------------------------
-
-TC_GAW_CL_BV_01_C	PASS	b conn peer_addr=<addr>
-				b write no_rsp=1 conn=<handle> attr=<val_handle> value=aa
+GATT/CL/GAW/BV-01-C	PASS	b conn peer_addr=<addr>
+				b write no_rsp=1 conn=<handle> attr=<val_handle> value=<val>
 				b term conn=<handle>
-TC_GAW_CL_BV_02_C	N/A
-TC_GAW_CL_BV_03_C	PASS	b conn peer_addr=<addr>
-				b write conn=<handle> attr=<val_handle> value=aa:bb:cc:dd
+GATT/CL/GAW/BV-02-C	N/A
+GATT/CL/GAW/BV-03-C	PASS	b conn peer_addr=<addr>
+				b write conn=<handle> attr=<val_handle> value=<val>
 				b term conn=<handle>
-TC_GAW_CL_BI_02_C	PASS	b conn peer_addr=<addr>
-				b write conn=<handle> attr=<val_handle> value=aa
+GATT/CL/GAW/BI-02-C	PASS	b conn peer_addr=<addr>
+				b write conn=<handle> attr=<val_handle> value=<val>
 				b term conn=<handle>
-TC_GAW_CL_BI_03_C	PASS	b conn peer_addr=<addr>
-				b write conn=<handle> attr=<val_handle> value=aa
+GATT/CL/GAW/BI-03-C	PASS	b conn peer_addr=<addr>
+				b write conn=<handle> attr=<val_handle> value=<val>
 				b term conn=<handle>
-TC_GAW_CL_BI_04_C	PASS	b conn peer_addr=<addr>
-				b write conn=<handle> attr=<val_handle> value=aa
+GATT/CL/GAW/BI-04-C	PASS	b conn peer_addr=<addr>
+				b write conn=<handle> attr=<val_handle> value=<val>
 				b term conn=<handle>
-TC_GAW_CL_BI_05_C	PASS	b conn peer_addr=<addr>
-				b write conn=<handle> attr=<val_handle> value=aa
+GATT/CL/GAW/BI-05-C	PASS	b conn peer_addr=<addr>
+				b write conn=<handle> attr=<val_handle> value=<val>
 				b term conn=<handle>
-TC_GAW_CL_BI_06_C	PASS	b conn peer_addr=<addr>
-				b write conn=<handle> attr=<val_handle> value=00
+GATT/CL/GAW/BI-06-C	PASS	b conn peer_addr=<addr>
+				b write conn=<handle> attr=<val_handle> value=<val>
 				b term conn=<handle>
-TC_GAW_CL_BV_05_C	PASS	b conn peer_addr=<addr>
-				b write long=1 conn=<handle> attr=<val_handle> value=aa
+GATT/CL/GAW/BV-05-C	PASS	b conn peer_addr=<addr>
+				b write long=1 conn=<handle> attr=<val_handle> value=<val>
 				b term conn=<handle>
-TC_GAW_CL_BI_07_C	PASS	b conn peer_addr=<addr>
-				b write long=1 conn=<handle> attr=<val_handle> value=aa
+GATT/CL/GAW/BI-07-C	PASS	b conn peer_addr=<addr>
+				b write long=1 conn=<handle> attr=<val_handle> value=<val>
 				b term conn=<handle>
-TC_GAW_CL_BI_08_C	PASS	b conn peer_addr=<addr>
-				b write long=1 conn=<handle> attr=<val_handle> value=aa
+GATT/CL/GAW/BI-08-C	PASS	b conn peer_addr=<addr>
+				b write long=1 conn=<handle> attr=<val_handle> value=<val>
 				b term conn=<handle>
-TC_GAW_CL_BI_09_C	PASS	b conn peer_addr=<addr>
+GATT/CL/GAW/BI-09-C	PASS	b conn peer_addr=<addr>
 				b write long=1 conn=<handle> attr=<val_handle> value=<val> offset=<offset>
 				b term conn=1
-TC_GAW_CL_BI_11_C	PASS	b conn peer_addr=<addr>
-				b write long=1 conn=<handle> attr=<val_handle> value=aa
+GATT/CL/GAW/BI-11-C	PASS	b conn peer_addr=<addr>
+				b write long=1 conn=<handle> attr=<val_handle> value=<val>
 				b term conn=<handle>
-TC_GAW_CL_BI_12_C	PASS	b conn peer_addr=<addr>
-				b write long=1 conn=<handle> attr=<val_handle> value=aa
+GATT/CL/GAW/BI-12-C	PASS	b conn peer_addr=<addr>
+				b write long=1 conn=<handle> attr=<val_handle> value=<val>
 				b term conn=<handle>
-TC_GAW_CL_BI_13_C	PASS	b conn peer_addr=<addr>
-				b write long=1 conn=<handle> attr=<val_handle> value=aa
+GATT/CL/GAW/BI-13-C	PASS	b conn peer_addr=<addr>
+				b write long=1 conn=<handle> attr=<val_handle> value=<val>
 				b term conn=<handle>
-TC_GAW_CL_BV_06_C	PASS	b conn peer_addr=<addr>
-				b write long=1 conn=<handle> attr=<val_handle> value=aa
+GATT/CL/GAW/BV-06-C	PASS	b conn peer_addr=<addr>
+				b write long=1 conn=<handle> attr=<val_handle> value=<val>
 				b term conn=<handle>
-TC_GAW_CL_BI_14_C	PASS	b conn peer_addr=<addr>
-				b write long=1 conn=<handle> attr=<val_handle> value=aa
+GATT/CL/GAW/BI-14-C	PASS	b conn peer_addr=<addr>
+				b write long=1 conn=<handle> attr=<val_handle> value=<val>
 				b term conn=<handle>
-TC_GAW_CL_BI_15_C	PASS	b conn peer_addr=<addr>
-				b write long=1 conn=<handle> attr=<val_handle> value=aa
+GATT/CL/GAW/BI-15-C	PASS	b conn peer_addr=<addr>
+				b write long=1 conn=<handle> attr=<val_handle> value=<val>
 				b term conn=<handle>
-TC_GAW_CL_BI_17_C	PASS	b conn peer_addr=<addr>
-				b write long=1 conn=<handle> attr=<val_handle> value=aa
+GATT/CL/GAW/BI-17-C	PASS	b conn peer_addr=<addr>
+				b write long=1 conn=<handle> attr=<val_handle> value=<val>
 				b term conn=<handle>
-TC_GAW_CL_BI_18_C	PASS	b conn peer_addr=<addr>
-				b write long=1 conn=<handle> attr=<val_handle> value=aa
+GATT/CL/GAW/BI-18-C	PASS	b conn peer_addr=<addr>
+				b write long=1 conn=<handle> attr=<val_handle> value=<val>
 				b term conn=<handle>
-TC_GAW_CL_BI_19_C	PASS	b conn peer_addr=<addr>
-				b write conn=<handle> attr=<val_handle> value=aa attr=<val_handle> value=aa
+GATT/CL/GAW/BI-19-C	PASS	b conn peer_addr=<addr>
+				b write long=1 conn=<handle> attr=<val_handle> value=<val>
 				b term conn=<handle>
-TC_GAW_CL_BV_08_C	PASS	b conn peer_addr=<addr>
-				b write conn=<handle> attr=<val_handle> value=aa
+GATT/CL/GAW/BV-08-C	PASS	b conn peer_addr=<addr>
+				b write conn=<handle> attr=<val_handle> value=<val>
 				b term conn=<handle>
-TC_GAW_CL_BI_20_C	PASS	b conn peer_addr=<addr>
-				b write conn=<handle> attr=<val_handle> value=aa
+GATT/CL/GAW/BI-20-C	PASS	b conn peer_addr=<addr>
+				b write conn=<handle> attr=<val_handle> value=<val>
 				b term conn=<handle>
-TC_GAW_CL_BI_21_C	PASS	b conn peer_addr=<addr>
-				b write conn=<handle> attr=<val_handle> value=aa
+GATT/CL/GAW/BI-21-C	PASS	b conn peer_addr=<addr>
+				b write conn=<handle> attr=<val_handle> value=<val>
 				b term conn=<handle>
-TC_GAW_CL_BI_22_C	PASS	b conn peer_addr=<addr>
-				b write conn=<handle> attr=<val_handle> value=aa
+GATT/CL/GAW/BI-22-C	PASS	b conn peer_addr=<addr>
+				b write conn=<handle> attr=<val_handle> value=<val>
 				b term conn=<handle>
-TC_GAW_CL_BI_23_C	PASS	b conn peer_addr=<addr>
-				b write conn=<handle> attr=<val_handle> value=aa
+GATT/CL/GAW/BI-23-C	PASS	b conn peer_addr=<addr>
+				b write conn=<handle> attr=<val_handle> value=<val>
 				b term conn=<handle>
-TC_GAW_CL_BI_24_C	PASS	b conn peer_addr=<addr>
-				b write conn=<handle> attr=<val_handle> value=aa
+GATT/CL/GAW/BI-24-C	PASS	b conn peer_addr=<addr>
+				b write conn=<handle> attr=<val_handle> value=<val>
 				b term conn=<handle>
-TC_GAW_CL_BV_09_C	PASS	b conn peer_addr=<addr>
-				b write long=1 conn=<handle> attr=<val_handle> value=aa
+GATT/CL/GAW/BV-09-C	PASS	b conn peer_addr=<addr>
+				b write long=1 conn=<handle> attr=<val_handle> value=<val>
 				b term conn=<handle>
-TC_GAW_CL_BI_25_C	PASS	b conn peer_addr=<addr>
-				b write long=1 conn=<handle> attr=<val_handle> value=aa
+GATT/CL/GAW/BI-25-C	PASS	b conn peer_addr=<addr>
+				b write long=1 conn=<handle> attr=<val_handle> value=<val>
 				b term conn=<handle>
-TC_GAW_CL_BI_26_C	PASS	b conn peer_addr=<addr>
-				b write long=1 conn=<handle> attr=<val_handle> value=aa
+GATT/CL/GAW/BI-26-C	PASS	b conn peer_addr=<addr>
+				b write long=1 conn=<handle> attr=<val_handle> value=<val>
 				b term conn=<handle>
-TC_GAW_CL_BI_27_C	PASS	b conn peer_addr=<addr>
+GATT/CL/GAW/BI-27-C	PASS	b conn peer_addr=<addr>
 				b write long=1 conn=<handle> attr=<val_handle> value=<val> offset=<offset>
 				b term conn=1
-TC_GAW_CL_BI_29_C	PASS	b conn peer_addr=<addr>
-				b write long=1 conn=<handle> attr=<val_handle> value=aa
+GATT/CL/GAW/BI-29-C	PASS	b conn peer_addr=<addr>
+				b write long=1 conn=<handle> attr=<val_handle> value=<val>
 				b term conn=<handle>
-TC_GAW_CL_BI_30_C	PASS	b conn peer_addr=<addr>
-				b write long=1 conn=<handle> attr=<val_handle> value=aa
+GATT/CL/GAW/BI-30-C	PASS	b conn peer_addr=<addr>
+				b write long=1 conn=<handle> attr=<val_handle> value=<val>
 				b term conn=<handle>
-TC_GAW_CL_BI_31_C	PASS	b conn peer_addr=<addr>
+GATT/CL/GAW/BI-31-C	PASS	b conn peer_addr=<addr>
 				b write long=1 conn=<handle> attr=<val_handle> value=aa
 				b term conn=<handle>
-TC_GAW_CL_BI_32_C	PASS	b conn peer_addr=<addr>
-				b write conn=<handle> attr=<val_handle1> value=<val> attr=<val_handle2> value=<val>
-TC_GAW_CL_BI_33_C	PASS	b conn peer_addr=<addr>
-				b write conn=<handle> attr=<val_handle> value=aa:bb
+GATT/CL/GAW/BI-32-C	PASS	b conn peer_addr=<addr>
+				b write conn=<handle> attr=<val_handle> value=<val> attr=<val_handle> value=<val>
+GATT/CL/GAW/BI-33-C	PASS	b conn peer_addr=<addr>
+				b write conn=<handle> attr=<val_handle> value=<val>
+				b term conn=<handle>
+GATT/CL/GAW/BI-34-C	PASS	b conn peer_addr=<addr>
+				b write long=1 conn=<handle> attr=<val_handle> value=<val>
 				b term conn=<handle>
-TC_GAW_CL_BI_34_C	PASS	b conn peer_addr=<addr>
-				b write long=1 conn=<handle> attr=<val_handle> value=xx:...
+GATT/CL/GAW/BI-35-C	PASS	b conn peer_addr=<addr>
+				b write conn=<handle> attr=<val_handle> value=<val>
 				b term conn=<handle>
-TC_GAW_CL_BI_35_C	PASS	b conn peer_addr=<addr>
-				b write conn=<handle> attr=<val_handle> value=aa:bb
+GATT/CL/GAW/BI-36-C	PASS	b conn peer_addr=<addr>
+				b write long=1 conn=<handle> attr=<val_handle> value=<val>
 				b term conn=<handle>
-TC_GAW_CL_BI_36_C	PASS	b conn peer_addr=<addr>
-				b write long=1 conn=<handle> attr=<val_handle> value=xx:...
+-------------------------------------------------------------------------------
+
+GATT/CL/GAN/BV-01-C	PASS	b conn peer_addr=<addr>
+				b write conn=<handle> attr=<val_handle> value=01:00
+				Note: verify that the notification was received
 				b term conn=<handle>
 -------------------------------------------------------------------------------
 
-TC_GAW_SR_BV_01_C	PASS	b adv
-TC_GAW_SR_BV_02_C	N/A	
-TC_GAW_SR_BI_01_C	N/A	
-TC_GAW_SR_BV_03_C	PASS	b adv
-TC_GAW_SR_BI_02_C	PASS	b adv
+GATT/CL/GAI/BV-01-C	PASS	PTS Errata 15328
+				b conn peer_addr=<addr>
+				b write conn=<handle> attr=<val_handle> value=02:00
+				Note: verify that the indication was received
+				b term conn=<handle>
+-------------------------------------------------------------------------------
+
+GATT/CL/GAS/BV-01-C	PASS	b conn peer_addr=<addr>
+				b term conn=<handle>
+-------------------------------------------------------------------------------
+
+GATT/CL/GAT/BV-01-C	PASS	b conn peer_addr=<addr>
+				b read conn=<handle> attr=<val_handle>
+GATT/CL/GAT/BV-02-C	PASS	b conn peer_addr=<addr>
+				b write conn=<handle> attr=<val_handle> value=<val>
+-------------------------------------------------------------------------------
+
+GATT/CL/GPA/BV-01-C	N/A
+GATT/CL/GPA/BV-02-C	N/A
+GATT/CL/GPA/BV-03-C	N/A
+GATT/CL/GPA/BV-04-C	N/A
+GATT/CL/GPA/BV-05-C	N/A
+GATT/CL/GPA/BV-06-C	N/A
+GATT/CL/GPA/BV-07-C	N/A
+GATT/CL/GPA/BV-08-C	N/A
+GATT/CL/GPA/BV-11-C	N/A
+GATT/CL/GPA/BV-12-C	N/A
+-------------------------------------------------------------------------------
+
+GATT/SR/GAC/BV-01-C	PASS	b adv
+				b adv
+-------------------------------------------------------------------------------
+
+GATT/SR/GAD/BV-01-C	PASS	b adv
+GATT/SR/GAD/BV-02-C	PASS	b adv
+GATT/SR/GAD/BV-03-C	PASS	b adv
+GATT/SR/GAD/BV-04-C	PASS	b adv
+				<confirm handles range for services>
+GATT/SR/GAD/BV-05-C	PASS	b adv
+GATT/SR/GAD/BV-06-C	PASS	b adv
+GATT/SR/GAD/BV-07-C	N/A
+GATT/SR/GAD/BV-08-C	N/A
+-------------------------------------------------------------------------------
+
+GATT/SR/GAR/BV-01-C	PASS	b adv
+GATT/SR/GAR/BI-01-C	PASS	b adv
+GATT/SR/GAR/BI-02-C	PASS	b adv
+				<enter ffff>
+GATT/SR/GAR/BI-03-C	N/A
+GATT/SR/GAR/BI-04-C	PASS	b adv
+GATT/SR/GAR/BI-05-C	PASS	b adv
+GATT/SR/GAR/BV-03-C	PASS	b adv
+GATT/SR/GAR/BI-06-C	PASS	b adv
+				<enter uuid without READ flag>
+				<enter value handle>
+GATT/SR/GAR/BI-07-C	PASS	b adv
+				<enter ffff>
+GATT/SR/GAR/BI-08-C	PASS	b adv
+GATT/SR/GAR/BI-09-C	N/A
+GATT/SR/GAR/BI-10-C	PASS	b adv
+				<enter characteristic with READ|READ_AUTH flags>
+GATT/SR/GAR/BI-11-C	PASS	b adv
+				<enter characteristic wit READ|READ_ENC flags>
+GATT/SR/GAR/BV-04-C	PASS	b adv
+GATT/SR/GAR/BI-12-C	PASS	b adv
+				<enter long value handle without READ flag>
+GATT/SR/GAR/BI-13-C	PASS	b adv
+GATT/SR/GAR/BI-14-C	PASS	b adv
 				<enter ffff>
-TC_GAW_SR_BI_03_C	PASS	b adv
-TC_GAW_SR_BI_04_C	N/A
-TC_GAW_SR_BI_05_C	PASS	b adv
-TC_GAW_SR_BI_06_C	PASS	b adv
-TC_GAW_SR_BV_05_C	PASS	b adv
-TC_GAW_SR_BI_07_C	PASS	b adv
+GATT/SR/GAR/BI-15-C	N/A
+GATT/SR/GAR/BI-16-C	PASS	b adv
+GATT/SR/GAR/BI-17-C	PASS	b adv
+GATT/SR/GAR/BV-05-C	PASS	b adv
+GATT/SR/GAR/BI-18-C	PASS	b adv
+				<enter value handle without READ flag>
+GATT/SR/GAR/BI-19-C	PASS	b adv
 				<enter ffff>
-TC_GAW_SR_BI_08_C	PASS	b adv
+GATT/SR/GAR/BI-20-C	N/A
+GATT/SR/GAR/BI-21-C	PASS	b adv
+GATT/SR/GAR/BI-22-C	PASS	b adv
+GATT/SR/GAR/BV-06-C	PASS	b adv
+GATT/SR/GAR/BI-23-C	PASS	b adv
+				<enter value handle without READ flag>
+GATT/SR/GAR/BI-24-C	PASS	b adv
+				<enter ffff>
+GATT/SR/GAR/BI-25-C	N/A
+GATT/SR/GAR/BI-26-C	PASS	b adv
+GATT/SR/GAR/BI-27-C	PASS	b adv
+GATT/SR/GAR/BV-07-C	PASS	b adv
+GATT/SR/GAR/BV-08-C	PASS	b adv
+GATT/SR/GAR/BI-28-C	PASS	b adv
+				<enter desc value handle without READ flag>
+GATT/SR/GAR/BI-29-C	PASS	b adv
+GATT/SR/GAR/BI-30-C	PASS	b adv
+				<enter ffff>
+GATT/SR/GAR/BI-31-C	N/A
+GATT/SR/GAR/BI-32-C	PASS	b adv
+GATT/SR/GAR/BI-33-C	PASS	b adv
+GATT/SR/GAR/BI-34-C	N/A
+GATT/SR/GAR/BI-35-C	N/A
+-------------------------------------------------------------------------------
+
+GATT/SR/GAW/BV-01-C	PASS	b adv
+GATT/SR/GAW/BV-02-C	N/A	
+GATT/SR/GAW/BI-01-C	N/A	
+GATT/SR/GAW/BV-03-C	PASS	b adv
+GATT/SR/GAW/BI-02-C	PASS	b adv
+				<enter ffff>
+GATT/SR/GAW/BI-03-C	PASS	b adv
+GATT/SR/GAW/BI-04-C	N/A
+GATT/SR/GAW/BI-05-C	PASS	b adv
+GATT/SR/GAW/BI-06-C	PASS	b adv
+GATT/SR/GAW/BV-05-C	PASS	b adv
+GATT/SR/GAW/BI-07-C	PASS	b adv
+				<enter ffff>
+GATT/SR/GAW/BI-08-C	PASS	b adv
 				<enter long value handle without WRITE flag>
-TC_GAW_SR_BI_09_C	PASS	b adv
-TC_GAW_SR_BI_11_C	N/A
-TC_GAW_SR_BI_12_C	PASS	b adv	
-TC_GAW_SR_BI_13_C	PASS	b adv
-TC_GAW_SR_BV_06_C	PASS	b adv
-TC_GAW_SR_BV_10_C	PASS	b adv
-TC_GAW_SR_BI_14_C	PASS	b adv
+GATT/SR/GAW/BI-09-C	PASS	b adv
+GATT/SR/GAW/BI-11-C	N/A
+GATT/SR/GAW/BI-12-C	PASS	b adv	
+GATT/SR/GAW/BI-13-C	PASS	b adv
+GATT/SR/GAW/BV-06-C	PASS	b adv
+GATT/SR/GAW/BV-10-C	PASS	b adv
+GATT/SR/GAW/BI-14-C	PASS	b adv
 				<enter ffff>
-TC_GAW_SR_BI_15_C	PASS	b adv
+GATT/SR/GAW/BI-15-C	PASS	b adv
 				<enter value handle without WRITE flag>
-TC_GAW_SR_BI_17_C	N/A
-TC_GAW_SR_BI_18_C	PASS	b adv
-TC_GAW_SR_BI_19_C	PASS	b adv
-TC_GAW_SR_BV_07_C	PASS	b adv
-TC_GAW_SR_BV_08_C	PASS	b adv
-TC_GAW_SR_BI_20_C	PASS	b adv
+GATT/SR/GAW/BI-17-C	N/A
+GATT/SR/GAW/BI-18-C	PASS	b adv
+GATT/SR/GAW/BI-19-C	PASS	b adv
+GATT/SR/GAW/BV-07-C	PASS	b adv
+GATT/SR/GAW/BV-08-C	PASS	b adv
+GATT/SR/GAW/BI-20-C	PASS	b adv
 				<enter ffff>
-TC_GAW_SR_BI_21_C	PASS	b adv
+GATT/SR/GAW/BI-21-C	PASS	b adv
 				<enter dsc value handle without WRITE flag>
-TC_GAW_SR_BI_22_C	N/A
-TC_GAW_SR_BI_23_C	PASS	b adv
-TC_GAW_SR_BI_24_C	PASS	b adv
-TC_GAW_SR_BV_09_C	PASS	b adv
-TC_GAW_SR_BI_25_C	PASS	b adv
+GATT/SR/GAW/BI-22-C	N/A
+GATT/SR/GAW/BI-23-C	PASS	b adv
+GATT/SR/GAW/BI-24-C	PASS	b adv
+GATT/SR/GAW/BV-09-C	PASS	b adv
+GATT/SR/GAW/BI-25-C	PASS	b adv
 				<enter ffff>
-TC_GAW_SR_BI_26_C	PASS	b adv
+GATT/SR/GAW/BI-26-C	PASS	b adv
 				<enter dsc value handle without WRITE flag>
-TC_GAW_SR_BI_27_C	PASS	b adv
-TC_GAW_SR_BI_29_C	N/A
-TC_GAW_SR_BI_30_C	PASS
-TC_GAW_SR_BI_31_C	PASS	b adv
-TC_GAW_SR_BI_32_C	PASS	b adv
-TC_GAW_SR_BI_33_C	PASS	b adv
-TC_GAW_SR_BI_34_C	PASS	b adv
-TC_GAW_SR_BI_35_C	PASS	b adv
--------------------------------------------------------------------------------
-
-TC_GAN_CL_BV_01_C	PASS	b conn peer_addr=<addr>
-				b write conn=<handle> attr=<val_handle> value=01:00
+GATT/SR/GAW/BI-27-C	PASS	b adv
+GATT/SR/GAW/BI-29-C	N/A
+GATT/SR/GAW/BI-30-C	PASS	b adv
+GATT/SR/GAW/BI-31-C	PASS	b adv
+GATT/SR/GAW/BI-32-C	PASS	b adv
+GATT/SR/GAW/BI-33-C	PASS	b adv
+GATT/SR/GAW/BI-34-C	PASS	b adv
+GATT/SR/GAW/BI-35-C	PASS	b adv
 -------------------------------------------------------------------------------
 
-TC_GAN_SR_BV_01_C	PASS	b adv
-				b chrup attr=25
+GATT/SR/GAN/BV-01-C	PASS	b adv
+				b chrup attr=<val_handle>
 -------------------------------------------------------------------------------
 
-TC_GAI_CL_BV_01_C	PASS	b conn peer_addr=<addr>
-				b write conn=<handle> attr=<val_handle> value=02:00
+GATT/SR/GAI/BV-01-C	PASS	b adv
+				b chrup attr=<val_handle>
 -------------------------------------------------------------------------------
 
-TC_GAI_SR_BV_01_C	PASS	b adv
-				b chrup attr=14
--------------------------------------------------------------------------------
-
-TC_GAS_CL_BV_01_C	PASS	b conn peer_addr=<addr>
-				b term conn=<handle>
--------------------------------------------------------------------------------
-
-TC_GAS_SR_BV_01_C	PASS	b set sm_data bonding=1 our_key_dist=7 their_key_dist=7
+GATT/SR/GAS/BV-01-C	PASS	Note: set TSPX_security_enabled to TRUE
+				b set sm_data bonding=1 our_key_dist=7 their_key_dist=7
 				b adv
-				b svcchg start=1 end=0xffff
 				<click OK>
+				b svcchg start=1 end=0xffff
 				b adv
 				b sec start conn=<handle>
 -------------------------------------------------------------------------------
 
-TC_GAT_CL_BV_01_C	PASS	b conn peer_addr=<addr>
-				b read conn=<handle> attr=<val_handle>
-TC_GAT_CL_BV_02_C	PASS	b conn peer_addr=<addr>
-				b write conn=<handle> attr=<val_handle> value=aa
+GATT/SR/GAT/BV-01-C	PASS	b adv
+				b chrup attr=<val_handle>
 -------------------------------------------------------------------------------
 
-TC_GAT_SR_BV_01_C	PASS	b adv
-				b chrup attr=14
--------------------------------------------------------------------------------
-
-TC_GPA_CL_BV_01_C	N/A
-TC_GPA_CL_BV_02_C	N/A
-TC_GPA_CL_BV_03_C	N/A
-TC_GPA_CL_BV_04_C	N/A
-TC_GPA_CL_BV_05_C	N/A
-TC_GPA_CL_BV_06_C	N/A
-TC_GPA_CL_BV_07_C	N/A
-TC_GPA_CL_BV_08_C	N/A
-TC_GPA_CL_BV_11_C	N/A
-TC_GPA_CL_BV_12_C	N/A
--------------------------------------------------------------------------------
-TC_GPA_SR_BV_01_C	N/A
-TC_GPA_SR_BV_02_C	N/A
-TC_GPA_SR_BV_03_C	N/A
-TC_GPA_SR_BV_04_C	N/A
-TC_GPA_SR_BV_05_C	N/A
-TC_GPA_SR_BV_06_C	N/A
-TC_GPA_SR_BV_07_C	N/A
-TC_GPA_SR_BV_08_C	N/A
-TC_GPA_SR_BV_11_C	N/A
-TC_GPA_SR_BV_12_C	N/A
+GATT/SR/GPA/BV-01-C	N/A
+GATT/SR/GPA/BV-02-C	N/A
+GATT/SR/GPA/BV-03-C	N/A
+GATT/SR/GPA/BV-04-C	N/A
+GATT/SR/GPA/BV-05-C	N/A
+GATT/SR/GPA/BV-06-C	N/A
+GATT/SR/GPA/BV-07-C	N/A
+GATT/SR/GPA/BV-08-C	N/A
+GATT/SR/GPA/BV-11-C	N/A
+GATT/SR/GPA/BV-12-C	N/A
 -------------------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/9d255f91/net/nimble/host/pts/pts-l2cap.txt
----------------------------------------------------------------------
diff --git a/net/nimble/host/pts/pts-l2cap.txt b/net/nimble/host/pts/pts-l2cap.txt
index 045e1ca..c94e9ba 100644
--- a/net/nimble/host/pts/pts-l2cap.txt
+++ b/net/nimble/host/pts/pts-l2cap.txt
@@ -1,7 +1,7 @@
 PTS test results for L2CAP
 
-PTS version: 6.7
-Tested: 21-Nov-2016
+PTS version: 7.0
+Tested: 10-Jan-2017
 
 Results:
 PASS   test passed
@@ -12,173 +12,212 @@ N/A    test is disabled due to PICS setup
 -------------------------------------------------------------------------------
 Test Name		Result	Notes
 -------------------------------------------------------------------------------
-TC_COS_CED_BV_01_C	N/A
-TC_COS_CED_BV_03_C	N/A
-TC_COS_CED_BV_04_C	N/A
-TC_COS_CED_BV_05_C	N/A
-TC_COS_CED_BV_07_C	N/A
-TC_COS_CED_BV_08_C	N/A
-TC_COS_CED_BV_09_C	N/A
-TC_COS_CED_BV_10_C	N/A
-TC_COS_CED_BV_11_C	N/A
-TC_COS_CED_BI_01_C	N/A
-TC_COS_CFD_BV_01_C	N/A
-TC_COS_CFD_BV_02_C	N/A
-TC_COS_CFD_BV_03_C	N/A
-TC_COS_CFD_BV_08_C	N/A
-TC_COS_CFD_BV_09_C	N/A
-TC_COS_CFD_BV_10_C	N/A
-TC_COS_CFD_BV_11_C	N/A
-TC_COS_CFD_BV_12_C	N/A
-TC_COS_CFD_BV_13_C	N/A
-TC_COS_IEX_BV_01_C	N/A
-TC_COS_IEX_BV_02_C	N/A
-TC_COS_ECH_BV_01_C	N/A
-TC_COS_ECH_BV_02_C	N/A
-TC_COS_CFC_BV_01_C	N/A
-TC_COS_CFC_BV_02_C	N/A
-TC_COS_CFC_BV_03_C	N/A
-TC_COS_CFC_BV_04_C	N/A
-TC_COS_CFC_BV_05_C	N/A
-TC_CLS_CLR_BV_01_C	N/A
-TC_CLS_UCD_BV_01_C	N/A
-TC_CLS_UCD_BV_02_C	N/A
-TC_CLS_UCD_BV_03_C	N/A
-TC_EXF_BV_01_C		N/A
-TC_EXF_BV_02_C		N/A
-TC_EXF_BV_03_C		N/A
-TC_EXF_BV_04_C		N/A
-TC_EXF_BV_05_C		N/A
-TC_EXF_BV_06_C		N/A
-TC_CMC_BV_01_C		N/A
-TC_CMC_BV_02_C		N/A
-TC_CMC_BV_03_C		N/A
-TC_CMC_BV_04_C		N/A
-TC_CMC_BV_05_C		N/A
-TC_CMC_BV_06_C		N/A
-TC_CMC_BV_07_C		N/A
-TC_CMC_BV_08_C		N/A
-TC_CMC_BV_09_C		N/A
-TC_CMC_BV_10_C		N/A
-TC_CMC_BV_11_C		N/A
-TC_CMC_BV_12_C		N/A
-TC_CMC_BV_13_C		N/A
-TC_CMC_BV_14_C		N/A
-TC_CMC_BV_15_C		N/A
-TC_CMC_BI_01_C		N/A
-TC_CMC_BI_02_C		N/A
-TC_CMC_BI_03_C		N/A
-TC_CMC_BI_04_C		N/A
-TC_CMC_BI_05_C		N/A
-TC_CMC_BI_06_C		N/A
-TC_FOC_BV_01_C		N/A
-TC_FOC_BV_02_C		N/A
-TC_FOC_BV_03_C		N/A
-TC_OFS_BV_01_C		N/A
-TC_OFS_BV_02_C		N/A
-TC_OFS_BV_03_C		N/A
-TC_OFS_BV_04_C		N/A
-TC_OFS_BV_05_C		N/A
-TC_OFS_BV_06_C		N/A
-TC_OFS_BV_07_C		N/A
-TC_OFS_BV_08_C		N/A
-TC_ERM_BV_01_C		N/A
-TC_ERM_BV_02_C		N/A
-TC_ERM_BV_03_C		N/A
-TC_ERM_BV_05_C		N/A
-TC_ERM_BV_06_C		N/A
-TC_ERM_BV_07_C		N/A
-TC_ERM_BV_08_C		N/A
-TC_ERM_BV_09_C		N/A
-TC_ERM_BV_10_C		N/A
-TC_ERM_BV_11_C		N/A
-TC_ERM_BV_12_C		N/A
-TC_ERM_BV_13_C		N/A
-TC_ERM_BV_14_C		N/A
-TC_ERM_BV_15_C		N/A
-TC_ERM_BV_16_C		N/A
-TC_ERM_BV_17_C		N/A
-TC_ERM_BV_18_C		N/A
-TC_ERM_BV_19_C		N/A
-TC_ERM_BV_20_C		N/A
-TC_ERM_BV_21_C		N/A
-TC_ERM_BV_22_C		N/A
-TC_ERM_BV_23_C		N/A
-TC_ERM_BI_01_C		N/A
-TC_ERM_BI_02_C		N/A
-TC_ERM_BI_03_C		N/A
-TC_ERM_BI_04_C		N/A
-TC_ERM_BI_05_C		N/A
-TC_STM_BV_01_C		N/A
-TC_STM_BV_02_C		N/A
-TC_STM_BV_03_C		N/A
-TC_STM_BV_11_C		N/A
-TC_STM_BV_12_C		N/A
-TC_STM_BV_13_C		N/A
-TC_FIX_BV_01_C		N/A
-TC_FIX_BV_02_C		N/A
-TC_EWC_BV_01_C		N/A
-TC_EWC_BV_02_C		N/A
-TC_EWC_BV_03_C		N/A
-TC_LSC_BV_01_C		N/A
-TC_LSC_BV_02_C		N/A
-TC_LSC_BV_03_C		N/A
-TC_LSC_BI_04_C		N/A
-TC_LSC_BI_05_C		N/A
-TC_LSC_BV_06_C		N/A
-TC_LSC_BV_07_C		N/A
-TC_LSC_BV_08_C		N/A
-TC_LSC_BV_09_C		N/A
-TC_LSC_BI_10_C		N/A
-TC_LSC_BI_11_C		N/A
-TC_LSC_BV_12_C		N/A
-TC_CCH_BV_01_C		N/A
-TC_CCH_BV_02_C		N/A
-TC_CCH_BV_03_C		N/A
-TC_CCH_BV_04_C		N/A
-TC_ECF_BV_01_C		N/A
-TC_ECF_BV_02_C		N/A
-TC_ECF_BV_03_C		N/A
-TC_ECF_BV_04_C		N/A
-TC_ECF_BV_05_C		N/A
-TC_ECF_BV_06_C		N/A
-TC_ECF_BV_07_C		N/A
-TC_ECF_BV_08_C		N/A
-TC_LE_CPU_BV_01_C	PASS	b set adv_data flags=0
+
+L2CAP/COS/CED/BV-01-C	N/A
+L2CAP/COS/CED/BV-03-C	N/A
+L2CAP/COS/CED/BV-04-C	N/A
+L2CAP/COS/CED/BV-05-C	N/A
+L2CAP/COS/CED/BV-07-C	N/A
+L2CAP/COS/CED/BV-08-C	N/A
+L2CAP/COS/CED/BV-09-C	N/A
+L2CAP/COS/CED/BV-10-C	N/A
+L2CAP/COS/CED/BV-11-C	N/A
+L2CAP/COS/CED/BI-01-C	N/A
+-------------------------------------------------------------------------------
+
+L2CAP/COS/CFD/BV-01-C	N/A
+L2CAP/COS/CFD/BV-02-C	N/A
+L2CAP/COS/CFD/BV-03-C	N/A
+L2CAP/COS/CFD/BV-08-C	N/A
+L2CAP/COS/CFD/BV-09-C	N/A
+L2CAP/COS/CFD/BV-10-C	N/A
+L2CAP/COS/CFD/BV-11-C	N/A
+L2CAP/COS/CFD/BV-12-C	N/A
+L2CAP/COS/CFD/BV-13-C	N/A
+-------------------------------------------------------------------------------
+
+L2CAP/COS/IEX/BV-01-C	N/A
+L2CAP/COS/IEX/BV-02-C	N/A
+-------------------------------------------------------------------------------
+
+L2CAP/COS/ECH/BV-01-C	N/A
+L2CAP/COS/ECH/BV-02-C	N/A
+-------------------------------------------------------------------------------
+
+L2CAP/COS/CFC/BV-01-C	N/A
+L2CAP/COS/CFC/BV-02-C	N/A
+L2CAP/COS/CFC/BV-03-C	N/A
+L2CAP/COS/CFC/BV-04-C	N/A
+L2CAP/COS/CFC/BV-05-C	N/A
+-------------------------------------------------------------------------------
+
+L2CAP/CLS/CLR/BV-01-C	N/A
+-------------------------------------------------------------------------------
+
+L2CAP/CLS/UCD/BV-01-C	N/A
+L2CAP/CLS/UCD/BV-02-C	N/A
+L2CAP/CLS/UCD/BV-03-C	N/A
+-------------------------------------------------------------------------------
+
+L2CAP/EXF/BV-01-C		N/A
+L2CAP/EXF/BV-02-C		N/A
+L2CAP/EXF/BV-03-C		N/A
+L2CAP/EXF/BV-04-C		N/A
+L2CAP/EXF/BV-05-C		N/A
+L2CAP/EXF/BV-06-C		N/A
+-------------------------------------------------------------------------------
+
+L2CAP/CMC/BV-01-C		N/A
+L2CAP/CMC/BV-02-C		N/A
+L2CAP/CMC/BV-03-C		N/A
+L2CAP/CMC/BV-04-C		N/A
+L2CAP/CMC/BV-05-C		N/A
+L2CAP/CMC/BV-06-C		N/A
+L2CAP/CMC/BV-07-C		N/A
+L2CAP/CMC/BV-08-C		N/A
+L2CAP/CMC/BV-09-C		N/A
+L2CAP/CMC/BV-10-C		N/A
+L2CAP/CMC/BV-11-C		N/A
+L2CAP/CMC/BV-12-C		N/A
+L2CAP/CMC/BV-13-C		N/A
+L2CAP/CMC/BV-14-C		N/A
+L2CAP/CMC/BV-15-C		N/A
+L2CAP/CMC/BI-01-C		N/A
+L2CAP/CMC/BI-02-C		N/A
+L2CAP/CMC/BI-03-C		N/A
+L2CAP/CMC/BI-04-C		N/A
+L2CAP/CMC/BI-05-C		N/A
+L2CAP/CMC/BI-06-C		N/A
+-------------------------------------------------------------------------------
+
+L2CAP/FOC/BV-01-C		N/A
+L2CAP/FOC/BV-02-C		N/A
+L2CAP/FOC/BV-03-C		N/A
+-------------------------------------------------------------------------------
+
+L2CAP/OFS/BV-01-C		N/A
+L2CAP/OFS/BV-02-C		N/A
+L2CAP/OFS/BV-03-C		N/A
+L2CAP/OFS/BV-04-C		N/A
+L2CAP/OFS/BV-05-C		N/A
+L2CAP/OFS/BV-06-C		N/A
+L2CAP/OFS/BV-07-C		N/A
+L2CAP/OFS/BV-08-C		N/A
+-------------------------------------------------------------------------------
+
+L2CAP/ERM/BV-01-C		N/A
+L2CAP/ERM/BV-02-C		N/A
+L2CAP/ERM/BV-03-C		N/A
+L2CAP/ERM/BV-05-C		N/A
+L2CAP/ERM/BV-06-C		N/A
+L2CAP/ERM/BV-07-C		N/A
+L2CAP/ERM/BV-08-C		N/A
+L2CAP/ERM/BV-09-C		N/A
+L2CAP/ERM/BV-10-C		N/A
+L2CAP/ERM/BV-11-C		N/A
+L2CAP/ERM/BV-12-C		N/A
+L2CAP/ERM/BV-13-C		N/A
+L2CAP/ERM/BV-14-C		N/A
+L2CAP/ERM/BV-15-C		N/A
+L2CAP/ERM/BV-16-C		N/A
+L2CAP/ERM/BV-17-C		N/A
+L2CAP/ERM/BV-18-C		N/A
+L2CAP/ERM/BV-19-C		N/A
+L2CAP/ERM/BV-20-C		N/A
+L2CAP/ERM/BV-21-C		N/A
+L2CAP/ERM/BV-22-C		N/A
+L2CAP/ERM/BV-23-C		N/A
+L2CAP/ERM/BI-01-C		N/A
+L2CAP/ERM/BI-02-C		N/A
+L2CAP/ERM/BI-03-C		N/A
+L2CAP/ERM/BI-04-C		N/A
+L2CAP/ERM/BI-05-C		N/A
+-------------------------------------------------------------------------------
+
+L2CAP/STM/BV-01-C		N/A
+L2CAP/STM/BV-02-C		N/A
+L2CAP/STM/BV-03-C		N/A
+L2CAP/STM/BV-11-C		N/A
+L2CAP/STM/BV-12-C		N/A
+L2CAP/STM/BV-13-C		N/A
+-------------------------------------------------------------------------------
+
+L2CAP/FIX/BV-01-C		N/A
+L2CAP/FIX/BV-02-C		N/A
+-------------------------------------------------------------------------------
+
+L2CAP/EWC/BV-01-C		N/A
+L2CAP/EWC/BV-02-C		N/A
+L2CAP/EWC/BV-03-C		N/A
+-------------------------------------------------------------------------------
+
+L2CAP/LSC/BV-01-C		N/A
+L2CAP/LSC/BV-02-C		N/A
+L2CAP/LSC/BV-03-C		N/A
+L2CAP/LSC/BI-04-C		N/A
+L2CAP/LSC/BI-05-C		N/A
+L2CAP/LSC/BV-06-C		N/A
+L2CAP/LSC/BV-07-C		N/A
+L2CAP/LSC/BV-08-C		N/A
+L2CAP/LSC/BV-09-C		N/A
+L2CAP/LSC/BI-10-C		N/A
+L2CAP/LSC/BI-11-C		N/A
+L2CAP/LSC/BV-12-C		N/A
+-------------------------------------------------------------------------------
+
+L2CAP/CCH/BV-01-C		N/A
+L2CAP/CCH/BV-02-C		N/A
+L2CAP/CCH/BV-03-C		N/A
+L2CAP/CCH/BV-04-C		N/A
+-------------------------------------------------------------------------------
+
+L2CAP/ECF/BV-01-C		N/A
+L2CAP/ECF/BV-02-C		N/A
+L2CAP/ECF/BV-03-C		N/A
+L2CAP/ECF/BV-04-C		N/A
+L2CAP/ECF/BV-05-C		N/A
+L2CAP/ECF/BV-06-C		N/A
+L2CAP/ECF/BV-07-C		N/A
+L2CAP/ECF/BV-08-C		N/A
+-------------------------------------------------------------------------------
+
+L2CAP/LE/CPU/BV-01-C	PASS	b set adv_data flags=0
 				b adv
 				b l2cap update conn=<handle>
-
-TC_LE_CPU_BV_02_C	PASS	b conn peer_addr=<addr>
+L2CAP/LE/CPU/BV-02-C	PASS	b conn peer_addr=<addr>
 				b term conn=<handle>
- 
-TC_LE_CPU_BI_01_C	PASS	b conn peer_addr=<addr>
+L2CAP/LE/CPU/BI-01-C	PASS	b conn peer_addr=<addr>
 				b term conn=<handle>
-
-TC_LE_CPU_BI_02_C	PASS	b set adv_data flags=0
+L2CAP/LE/CPU/BI-02-C	PASS	b set adv_data flags=0
 				b adv
+-------------------------------------------------------------------------------
 
-TC_LE_REJ_BI_01_C	PASS	b set adv_data flags=0
+L2CAP/LE/REJ/BI-01-C	PASS	b set adv_data flags=0
 				b adv
-TC_LE_REJ_BI_02_C	PASS	b set adv_data flags=0
+L2CAP/LE/REJ/BI-02-C	PASS	b set adv_data flags=0
 				b adv
 				b term conn=<handle>
+-------------------------------------------------------------------------------
 
-TC_LE_CFC_BV_01_C	N/A
-TC_LE_CFC_BV_02_C	N/A
-TC_LE_CFC_BV_03_C	N/A
-TC_LE_CFC_BV_04_C	N/A
-TC_LE_CFC_BV_05_C	N/A
-TC_LE_CFC_BV_06_C	N/A
-TC_LE_CFC_BV_07_C	N/A
-TC_LE_CFC_BI_01_C	N/A
-TC_LE_CFC_BV_08_C	N/A
-TC_LE_CFC_BV_09_C	N/A
-TC_LE_CFC_BV_16_C	N/A
-TC_LE_CFC_BV_17_C	N/A
-TC_LE_CFC_BV_18_C	N/A
-TC_LE_CFC_BV_19_C	N/A
-TC_LE_CFC_BV_20_C	N/A
-TC_LE_CFC_BV_21_C	N/A
-TC_LE_CID_BV_01_C	N/A
-TC_LE_CID_BV_02_I	N/A
+L2CAP/LE/CFC/BV-01-C	N/A
+L2CAP/LE/CFC/BV-02-C	N/A
+L2CAP/LE/CFC/BV-03-C	N/A
+L2CAP/LE/CFC/BV-04-C	N/A
+L2CAP/LE/CFC/BV-05-C	N/A
+L2CAP/LE/CFC/BV-06-C	N/A
+L2CAP/LE/CFC/BV-07-C	N/A
+L2CAP/LE/CFC/BI-01-C	N/A
+L2CAP/LE/CFC/BV-08-C	N/A
+L2CAP/LE/CFC/BV-09-C	N/A
+L2CAP/LE/CFC/BV-16-C	N/A
+L2CAP/LE/CFC/BV-17-C	N/A
+L2CAP/LE/CFC/BV-18-C	N/A
+L2CAP/LE/CFC/BV-19-C	N/A
+L2CAP/LE/CFC/BV-20-C	N/A
+L2CAP/LE/CFC/BV-21-C	N/A
 -------------------------------------------------------------------------------
+
+L2CAP/LE/CID/BV-01-C	N/A
+L2CAP/LE/CID/BV-02-C	N/A
+-------------------------------------------------------------------------------
+

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/9d255f91/net/nimble/host/pts/pts-sm.txt
----------------------------------------------------------------------
diff --git a/net/nimble/host/pts/pts-sm.txt b/net/nimble/host/pts/pts-sm.txt
index 7548098..fc42a9c 100644
--- a/net/nimble/host/pts/pts-sm.txt
+++ b/net/nimble/host/pts/pts-sm.txt
@@ -1,7 +1,7 @@
 PTS test results for SM
 
-PTS version: 6.7
-Tested: 15-Nov-2016
+PTS version: 7.0
+Tested: 10-Jan-2017
 
 Results:
 PASS	test passed
@@ -13,103 +13,135 @@ NONE	test result is none
 -------------------------------------------------------------------------------
 Test Name		Result	Notes
 -------------------------------------------------------------------------------
-TC_PROT_BV_01_C		PASS	b conn peer_addr=<addr>
+
+SM/MAS/PROT/BV-01-C	PASS	b conn peer_addr=<addr>
 				b sec pair conn=<handle>
-TC_PROT_BV_02_C		PASS	b adv
-				b adv
-				b sec start conn=<handle>
-TC_JW_BV_01_C		N/A
-TC_JW_BV_02_C		PASS	b adv
-TC_JW_BV_05_C		PASS	b conn peer_addr=<addr>
+-------------------------------------------------------------------------------
+
+SM/SLA/JW/BV-01-C		N/A
+SM/SLA/JW/BV-05-C	PASS	b conn peer_addr=<addr>
 				b sec pair conn=<handle>
 				b term conn=<handle>
-TC_JW_BI_01_C		PASS	b conn peer_addr=<addr>
+SM/MAS/JW/BI-01-C	PASS	b conn peer_addr=<addr>
 				b sec pair conn=<handle>
-TC_JW_BI_02_C		PASS	b adv
-TC_JW_BI_03_C		PASS	b adv
-TC_JW_BI_04_C		PASS	b conn peer_addr=<addr>
+SM/MAS/JW/BI-04-C	PASS	b conn peer_addr=<addr>
 				b sec pair conn=<handle>
-TC_PKE_BV_01_C		PASS	b set sm_data io_capabilities=1
+-------------------------------------------------------------------------------
+
+SM/MAS/PKE/BV-01-C	PASS	b set sm_data io_capabilities=1
 				b conn peer_addr=<addr>
 				b sec pair conn=<handle>
 				b passkey conn=<handle> action=3 key=123456
 				Note: enter '123456' passkey in PTS
-TC_PKE_BV_02_C		PASS	b set sm_data io_capabilities=1
-				b adv
-				b passkey conn=<handle> action=3 key=123456
-				Note: enter '123456' passkey in PTS
-TC_PKE_BV_04_C		PASS	b set sm_data io_capabilities=1
+SM/MAS/PKE/BV-04-C	PASS	b set sm_data io_capabilities=1
 				b conn peer_addr=<addr>
 				b sec pair conn=<handle>
-TC_PKE_BV_05_C		PASS	b set sm_data io_capabilities=1
-				b set sm_data mitm_flag=1
-				b adv
-TC_PKE_BI_01_C		PASS	b set sm_data io_capabilities=1
+SM/MAS/PKE/BI-01-C	PASS	b set sm_data io_capabilities=1
 				b conn peer_addr=<addr>
 				b sec pair conn=<handle>
 				b passkey conn=<handle> action=3 key=123456
 				Note: enter passkey other than '123456' in PTS
-TC_PKE_BI_02_C		PASS	b set sm_data io_capabilities=1
+SM/MAS/PKE/BI-02-C	PASS	b set sm_data io_capabilities=1
 				b conn peer_addr=<addr>
 				b sec pair conn=<handle>
 				b passkey conn=<handle> action=3 key=123456
 				Note: enter '123456' passkey in PTS
-TC_PKE_BI_03_C		PASS	b set sm_data io_capabilities=1
-				b adv
-				b passkey conn=<handle> action=3 key=123456
-				Note: enter passkey other than '123456' in PTS
-TC_OOB_BV_01_C		N/A
-TC_OOB_BV_02_C		N/A
-TC_OOB_BV_03_C		N/A
-TC_OOB_BV_04_C		N/A
-TC_OOB_BV_05_C		PASS	b set sm_data io_capabilities=1
+-------------------------------------------------------------------------------
+
+SM/MAS/OOB/BV-01-C		N/A
+SM/MAS/OOB/BV-03-C		N/A
+SM/MAS/OOB/BV-05-C	PASS	b set sm_data io_capabilities=1
 				b conn peer_addr=<addr>
 				b sec pair conn=<handle>
 				b passkey conn=<handle> action=3 key=123456
 				Note: enter '123456' passkey in PTS
-TC_OOB_BV_06_C		PASS	b set sm_data io_capabilities=1
-				b adv
-				b passkey conn=<handle> action=3 key=123456
-				Note: enter '123456' passkey in PTS
-TC_OOB_BV_07_C		PASS	b conn peer_addr=<addr>
+SM/MAS/OOB/BV-07-C	PASS	b conn peer_addr=<addr>
 				b sec pair conn=<handle>
-TC_OOB_BV_08_C		PASS	b adv
-TC_OOB_BV_09_C		N/A
-TC_OOB_BV_10_C		N/A
-TC_OOB_BI_01_C		N/A
-TC_OOB_BI_02_C		N/A
-TC_EKS_BV_01_C		PASS	b conn peer_addr=<addr>
+SM/MAS/OOB/BV-09-C		N/A
+SM/MAS/OOB/BI-01-C		N/A
+-------------------------------------------------------------------------------
+
+SM/MAS/EKS/BV-01-C	PASS	b conn peer_addr=<addr>
 				b sec pair conn=<handle>
-TC_EKS_BV_02_C		PASS	b adv
-TC_EKS_BI_01_C		PASS	b conn peer_addr=<addr>
+SM/MAS/EKS/BI-01-C	PASS	b conn peer_addr=<addr>
 				b sec pair conn=<handle>
-TC_EKS_BI_02_C		PASS	b adv
-TC_SIGN_BV_01_C		N/A
-TC_SIGN_BV_03_C		N/A
-TC_SIGN_BI_01_C		N/A
-TC_KDU_BV_01_C		PASS	b set sm_data our_key_dist=1
-				b adv
-TC_KDU_BV_02_C		PASS	b set sm_data our_key_dist=2
-				b adv
-TC_KDU_BV_03_C		PASS	b set sm_data our_key_dist=4
-				b adv
-TC_KDU_BV_04_C		PASS	b set sm_data our_key_dist=4
+-------------------------------------------------------------------------------
+
+SM/MAS/SIGN/BV-01-C		N/A
+SM/MAS/SIGN/BV-03-C		N/A
+SM/MAS/SIGN/BI-01-C		N/A
+-------------------------------------------------------------------------------
+
+SM/MAS/KDU/BV-04-C	PASS	b set sm_data our_key_dist=4
 				b conn peer_addr=<addr>
 				b sec pair conn=<handle>
-TC_KDU_BV_05_C		PASS	b set sm_data our_key_dist=2
+SM/MAS/KDU/BV-05-C	PASS	b set sm_data our_key_dist=2
 				b conn peer_addr=<addr>
 				b sec pair conn=<handle>
-TC_KDU_BV_06_C		PASS	b set sm_data our_key_dist=1
+SM/MAS/KDU/BV-06-C	PASS	b set sm_data our_key_dist=1
 				b conn peer_addr=<addr>
 				b sec pair conn=<handle>
-TC_KDU_BV_07_C		PASS	b set sm_data our_key_dist=1
+-------------------------------------------------------------------------------
+
+SM/MAS/SIP/BV-02-C	PASS	b set sm_data io_capabilities=2
+				b conn peer_addr=<addr>
+-------------------------------------------------------------------------------
+
+SM/SLA/PROT/BV-02-C	PASS	b adv
+				b adv
+				b sec start conn=<handle>
+-------------------------------------------------------------------------------
+
+SM/MAS/JW/BV-02-C	PASS	b adv
+SM/SLA/JW/BI-02-C	PASS	b adv
+SM/SLA/JW/BI-03-C	PASS	b adv
+-------------------------------------------------------------------------------
+
+SM/SLA/PKE/BV-02-C	PASS	b set sm_data io_capabilities=1
+				b adv
+				b passkey conn=<handle> action=3 key=123456
+				Note: enter '123456' passkey in PTS
+SM/SLA/PKE/BV-05-C	PASS	b set sm_data io_capabilities=1
+				b set sm_data mitm_flag=1
+				b adv
+SM/SLA/PKE/BI-03-C	PASS	b set sm_data io_capabilities=1
+				b adv
+				b passkey conn=<handle> action=3 key=123456
+				Note: enter passkey other than '123456' in PTS
+-------------------------------------------------------------------------------
+
+SM/SLA/OOB/BV-02-C		N/A
+SM/SLA/OOB/BV-04-C		N/A
+SM/SLA/OOB/BV-06-C	PASS	b set sm_data io_capabilities=1
+				b adv
+				b passkey conn=<handle> action=3 key=123456
+				Note: enter '123456' passkey in PTS
+SM/SLA/OOB/BV-08-C	PASS	b adv
+SM/SLA/OOB/BV-10-C		N/A
+SM/SLA/OOB/BI-02-C		N/A
+-------------------------------------------------------------------------------
+
+SM/SLA/EKS/BV-02-C	PASS	b adv
+SM/SLA/EKS/BI-02-C	PASS	b adv
+-------------------------------------------------------------------------------
+
+SM/SLA/KDU/BV-01-C	PASS	b set sm_data our_key_dist=1
 				b adv
-TC_SIP_BV_01_C		PASS	b set sm_data io_capabilities=2
+SM/SLA/KDU/BV-02-C	PASS	b set sm_data our_key_dist=2
+				b adv
+SM/SLA/KDU/BV-03-C	PASS	b set sm_data our_key_dist=4
+				b adv
+SM/SLA/KDU/BV-07-C	PASS	b set sm_data our_key_dist=1
+				b adv
+-------------------------------------------------------------------------------
+
+SM/SLA/SIP/BV-01-C	PASS	b set sm_data io_capabilities=2
 				b adv
 				b sec start conn=<handle>
-TC_SIP_BV_02_C		PASS	b set sm_data io_capabilities=2
-				b conn peer_addr=<addr>
-TC_SIE_BV_01_C		PASS	b set sm_data bonding=1
+				b passkey conn=1 action=2 key=<passkey>
+-------------------------------------------------------------------------------
+
+SM/SLA/SIE/BV-01-C	PASS	b set sm_data bonding=1
 				b set sm_data our_key_dist=1
 				b adv
 				b adv


[2/7] incubator-mynewt-core git commit: nimble/gatt: fix zero length attribute read

Posted by cc...@apache.org.
nimble/gatt: fix zero length attribute read

It is possible to read with offset equal to the length of the
attribute.

With this patch it is possible to pass GATT/SR/GAR/BV-08-C.


Project: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/commit/118e3993
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/tree/118e3993
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/diff/118e3993

Branch: refs/heads/develop
Commit: 118e3993830495025c037e63b23bd3a2d319bf5b
Parents: e4231b6
Author: Micha\u0142 Narajowski <mi...@codecoup.pl>
Authored: Tue Jan 10 13:58:19 2017 +0100
Committer: Micha\u0142 Narajowski <mi...@codecoup.pl>
Committed: Wed Jan 18 11:12:08 2017 +0100

----------------------------------------------------------------------
 net/nimble/host/src/ble_gatts.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/118e3993/net/nimble/host/src/ble_gatts.c
----------------------------------------------------------------------
diff --git a/net/nimble/host/src/ble_gatts.c b/net/nimble/host/src/ble_gatts.c
index 4a5ddfb..f761a30 100644
--- a/net/nimble/host/src/ble_gatts.c
+++ b/net/nimble/host/src/ble_gatts.c
@@ -334,7 +334,7 @@ ble_gatts_val_access(uint16_t conn_handle, uint16_t attr_handle,
         rc = access_cb(conn_handle, attr_handle, gatt_ctxt, cb_arg);
         if (rc == 0) {
             attr_len = OS_MBUF_PKTLEN(gatt_ctxt->om) - offset;
-            if (attr_len > 0) {
+            if (attr_len >= 0) {
                 os_mbuf_appendfrom(*om, gatt_ctxt->om, offset, attr_len);
             } else {
                 return BLE_ATT_ERR_INVALID_OFFSET;


[3/7] incubator-mynewt-core git commit: bletiny: add read permission to write_no_rsp characteristic for PTS

Posted by cc...@apache.org.
bletiny: add read permission to write_no_rsp characteristic for PTS

With this patch it is possible to pass GATT/SR/GAW/BV-01-C.


Project: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/commit/e4231b64
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/tree/e4231b64
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/diff/e4231b64

Branch: refs/heads/develop
Commit: e4231b64ea5a744c4c238ccc5a85abdbc447a0e8
Parents: ae4d777
Author: Micha\u0142 Narajowski <mi...@codecoup.pl>
Authored: Tue Jan 10 13:57:15 2017 +0100
Committer: Micha\u0142 Narajowski <mi...@codecoup.pl>
Committed: Wed Jan 18 11:12:08 2017 +0100

----------------------------------------------------------------------
 apps/bletiny/src/gatt_svr.c | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/e4231b64/apps/bletiny/src/gatt_svr.c
----------------------------------------------------------------------
diff --git a/apps/bletiny/src/gatt_svr.c b/apps/bletiny/src/gatt_svr.c
index 67b13b2..cce15e4 100644
--- a/apps/bletiny/src/gatt_svr.c
+++ b/apps/bletiny/src/gatt_svr.c
@@ -134,7 +134,7 @@ static const struct ble_gatt_svc_def gatt_svr_svcs[] = {
             }, {
                 .uuid128 = PTS_UUID(PTS_CHR_WRITE_NO_RSP),
                 .access_cb = gatt_svr_access_test,
-                .flags = BLE_GATT_CHR_F_WRITE_NO_RSP,
+                .flags = BLE_GATT_CHR_F_READ | BLE_GATT_CHR_F_WRITE_NO_RSP,
             }, {
                 .uuid128 = PTS_UUID(PTS_CHR_READ_WRITE),
                 .access_cb = gatt_svr_access_test,
@@ -387,11 +387,16 @@ gatt_svr_access_test(uint16_t conn_handle, uint16_t attr_handle,
     case PTS_CHR_WRITE:
     case PTS_CHR_RELIABLE_WRITE:
     case PTS_CHR_WRITE_NO_RSP:
-        assert(ctxt->op == BLE_GATT_ACCESS_OP_WRITE_CHR);
-        rc = gatt_svr_chr_write(ctxt->om,0,
-                                sizeof gatt_svr_pts_static_val,
-                                &gatt_svr_pts_static_val, NULL);
-        return rc;
+        if (ctxt->op == BLE_GATT_ACCESS_OP_WRITE_CHR) {
+            rc = gatt_svr_chr_write(ctxt->om,0,
+                                    sizeof gatt_svr_pts_static_val,
+                                    &gatt_svr_pts_static_val, NULL);
+            return rc;
+        } else if (ctxt->op == BLE_GATT_ACCESS_OP_READ_CHR) {
+            rc = os_mbuf_append(ctxt->om, &gatt_svr_pts_static_val,
+                                sizeof gatt_svr_pts_static_val);
+            return rc == 0 ? 0 : BLE_ATT_ERR_INSUFFICIENT_RES;
+        }
 
     case PTS_CHR_READ_WRITE:
     case PTS_CHR_READ_WRITE_ENC:


[7/7] incubator-mynewt-core git commit: This closes #159.

Posted by cc...@apache.org.
This closes #159.

Merge remote-tracking branch 'michal-narajowski/pts-update' into develop

* michal-narajowski/pts-update:
  nimble/pts: update test results for PTS 7.0
  nimble/privacy: fix set private address timeout
  nimble/ll: fix and refactor set rpa timeout
  nimble/hci: remove redundant check
  nimble/gatt: fix zero length attribute read
  bletiny: add read permission to write_no_rsp characteristic for PTS


Project: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/commit/607dfa5b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/tree/607dfa5b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/diff/607dfa5b

Branch: refs/heads/develop
Commit: 607dfa5b20b88a240d9d1e1ae68c08fd89698c42
Parents: ae4d777 9d255f9
Author: Christopher Collins <cc...@apache.org>
Authored: Wed Jan 18 08:49:01 2017 -0800
Committer: Christopher Collins <cc...@apache.org>
Committed: Wed Jan 18 08:49:01 2017 -0800

----------------------------------------------------------------------
 apps/bletiny/src/gatt_svr.c                 |  17 +-
 net/nimble/controller/src/ble_ll_resolv.c   |  19 +-
 net/nimble/host/pts/pts-gap.txt             |  34 +-
 net/nimble/host/pts/pts-gatt.txt            | 629 ++++++++++++-----------
 net/nimble/host/pts/pts-l2cap.txt           | 361 +++++++------
 net/nimble/host/pts/pts-sm.txt              | 160 +++---
 net/nimble/host/src/ble_gatts.c             |   2 +-
 net/nimble/host/src/ble_hs_hci_cmd.c        |   8 +-
 net/nimble/host/src/ble_hs_pvcy.c           |   6 +-
 net/nimble/host/test/src/ble_hs_test_util.c |  52 +-
 10 files changed, 726 insertions(+), 562 deletions(-)
----------------------------------------------------------------------



[5/7] incubator-mynewt-core git commit: nimble/privacy: fix set private address timeout

Posted by cc...@apache.org.
nimble/privacy: fix set private address timeout

Actually send the hci command after building it.

SET_RPA_TMO should be expected only when test uses RPA and privacy has
not yet been enabled. The Bluetooth stack remembers that privacy is
enabled and does not send SET_RPA_TMO every time. For test purpose
let's track privacy state in here.


Project: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/commit/34d34e1d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/tree/34d34e1d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/diff/34d34e1d

Branch: refs/heads/develop
Commit: 34d34e1d661643a446b542492cd775cb01cf54cb
Parents: f1a94d2
Author: Micha\u0142 Narajowski <mi...@codecoup.pl>
Authored: Tue Jan 10 13:35:23 2017 +0100
Committer: Micha\u0142 Narajowski <mi...@codecoup.pl>
Committed: Wed Jan 18 14:51:40 2017 +0100

----------------------------------------------------------------------
 net/nimble/host/src/ble_hs_pvcy.c           |  6 ++-
 net/nimble/host/test/src/ble_hs_test_util.c | 52 ++++++++++++++++++------
 2 files changed, 45 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/34d34e1d/net/nimble/host/src/ble_hs_pvcy.c
----------------------------------------------------------------------
diff --git a/net/nimble/host/src/ble_hs_pvcy.c b/net/nimble/host/src/ble_hs_pvcy.c
index 8c8552d..3a6d974 100644
--- a/net/nimble/host/src/ble_hs_pvcy.c
+++ b/net/nimble/host/src/ble_hs_pvcy.c
@@ -39,7 +39,11 @@ ble_hs_pvcy_set_addr_timeout(uint16_t timeout)
     rc = ble_hs_hci_cmd_build_set_resolv_priv_addr_timeout(
             timeout, buf, sizeof(buf));
 
-    return rc;
+    if (rc != 0) {
+        return rc;
+    }
+
+    return ble_hs_hci_cmd_tx(buf, NULL, 0, NULL);
 }
 
 static int

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/34d34e1d/net/nimble/host/test/src/ble_hs_test_util.c
----------------------------------------------------------------------
diff --git a/net/nimble/host/test/src/ble_hs_test_util.c b/net/nimble/host/test/src/ble_hs_test_util.c
index 1470fc6..1144431 100644
--- a/net/nimble/host/test/src/ble_hs_test_util.c
+++ b/net/nimble/host/test/src/ble_hs_test_util.c
@@ -614,20 +614,48 @@ ble_hs_test_util_disc(uint8_t own_addr_type, int32_t duration_ms,
                       ble_gap_event_fn *cb, void *cb_arg, int fail_idx,
                       uint8_t fail_status)
 {
+    static bool privacy_enabled;
     int rc;
 
-    ble_hs_test_util_set_ack_seq(((struct ble_hs_test_util_phony_ack[]) {
-        {
-            BLE_HS_TEST_UTIL_LE_OPCODE(BLE_HCI_OCF_LE_SET_SCAN_PARAMS),
-            ble_hs_test_util_exp_hci_status(0, fail_idx, fail_status),
-        },
-        {
-            BLE_HS_TEST_UTIL_LE_OPCODE(BLE_HCI_OCF_LE_SET_SCAN_ENABLE),
-            ble_hs_test_util_exp_hci_status(1, fail_idx, fail_status),
-        },
-
-        { 0 }
-    }));
+    /*
+     * SET_RPA_TMO should be expected only when test uses RPA and privacy has
+     * not yet been enabled. The Bluetooth stack remembers that privacy is
+     * enabled and does not send SET_RPA_TMO every time. For test purpose
+     * let's track privacy state in here.
+     */
+    if ((own_addr_type == BLE_ADDR_TYPE_RPA_PUB_DEFAULT ||
+         own_addr_type == BLE_ADDR_TYPE_RPA_RND_DEFAULT) && !privacy_enabled) {
+        privacy_enabled = true;
+        ble_hs_test_util_set_ack_seq(((struct ble_hs_test_util_phony_ack[]) {
+            {
+                BLE_HS_TEST_UTIL_LE_OPCODE(BLE_HCI_OCF_LE_SET_RPA_TMO),
+                ble_hs_test_util_exp_hci_status(0, fail_idx, fail_status),
+            },
+            {
+                BLE_HS_TEST_UTIL_LE_OPCODE(BLE_HCI_OCF_LE_SET_SCAN_PARAMS),
+                ble_hs_test_util_exp_hci_status(1, fail_idx, fail_status),
+            },
+            {
+                BLE_HS_TEST_UTIL_LE_OPCODE(BLE_HCI_OCF_LE_SET_SCAN_ENABLE),
+                ble_hs_test_util_exp_hci_status(2, fail_idx, fail_status),
+            },
+
+            { 0 }
+        }));
+    } else {
+        ble_hs_test_util_set_ack_seq(((struct ble_hs_test_util_phony_ack[]) {
+            {
+                BLE_HS_TEST_UTIL_LE_OPCODE(BLE_HCI_OCF_LE_SET_SCAN_PARAMS),
+                ble_hs_test_util_exp_hci_status(0, fail_idx, fail_status),
+            },
+            {
+                BLE_HS_TEST_UTIL_LE_OPCODE(BLE_HCI_OCF_LE_SET_SCAN_ENABLE),
+                ble_hs_test_util_exp_hci_status(1, fail_idx, fail_status),
+            },
+
+            { 0 }
+        }));
+    }
 
     rc = ble_gap_disc(own_addr_type, duration_ms, disc_params,
                       cb, cb_arg);