]> granicus.if.org Git - esp-idf/commitdiff
test: modify test cases for bluedroid (backport v3.1)
authorChen Sheng <chensheng@espressif.com>
Tue, 25 Jun 2019 15:19:08 +0000 (23:19 +0800)
committerHe Yin Ling <heyinling@espressif.com>
Tue, 25 Jun 2019 15:19:08 +0000 (23:19 +0800)
.gitlab-ci.yml
components/idf_test/integration_test/INIT_COND_SSC.yml
components/idf_test/integration_test/TC_IT_BLUEDROID_GAP.yml [new file with mode: 0644]
components/idf_test/integration_test/TC_IT_BLUEDROID_GATT.yml [new file with mode: 0644]
components/idf_test/integration_test/TC_IT_BLUEDROID_SMP.yml [new file with mode: 0644]
components/idf_test/integration_test/TC_IT_BTSTK_GAP.yml
components/idf_test/integration_test/TC_IT_BTSTK_GATT.yml
components/idf_test/integration_test/TC_IT_BTSTK_SMP.yml

index abc8ac1059c7edf8259436ed1b6dacade85a04bd..6839218f74751131957ddc7d207fe21b27c88ddd 100644 (file)
@@ -1477,6 +1477,24 @@ IT_010_01:
     - ESP32_IDF
     - SSC_T5_1
 
+IT_010_02:
+  <<: *test_template
+  tags:
+    - ESP32_IDF
+    - SSC_T5_1
+
+IT_010_03:
+  <<: *test_template
+  tags:
+    - ESP32_IDF
+    - SSC_T5_1
+
+IT_010_04:
+  <<: *test_template
+  tags:
+    - ESP32_IDF
+    - SSC_T5_1
+
 IT_011_01:
   <<: *test_template
   tags:
index e9359e2166063d4a8c912850e0f62693bde74ddf..746fa9e83dc5ade71dd3d7db805d080e9e170783 100644 (file)
     - - SSC SSC1 op -W -a start
       - - R SSC1 C +MODE
 
+.dut_init_espnow: &dut_init_espnow
+  LIST_MERGE:
+  - - SSC SSC[1,2] espnow -D
+    - - 'R SSC[1,2] C +ESPNOW:'
+  - - SSC SSC[1,2] espnow -I
+    - - 'R SSC[1,2] C +ESPNOW:'
+
 initial condition:
 - tag: APM1
   <<: *SSC_INIT_COND
-  initial condition detail: AP mode, DHCP on, will autogen a TC with initial condition
-    APSTA1
+  initial condition detail: (SSC) DUT set to SoftAP mode and config SoftAP, enable DHCP server
   check cmd set:
   - ''
   - *dut1_start_wifi
@@ -54,8 +60,7 @@ initial condition:
     - - R SSC1 C +SAP:OK
 - tag: APM2
   <<: *SSC_INIT_COND
-  initial condition detail: AP mode, PC join AP, DHCP on, will autogen a TC with initial
-    condition APSTA2
+  initial condition detail: (SSC) DUT set to SoftAP mode, PC Wi-Fi NIC connected with SoftAP
   check cmd set:
   - ''
   - *dut1_start_wifi
@@ -99,8 +104,7 @@ initial condition:
     - - R PC_COM NC ERROR C +WIFICONN:OK
 - tag: APO1
   <<: *SSC_INIT_COND
-  initial condition detail: AP mode, will NOT autogen a TC with initial condition
-    APSTA1
+  initial condition detail: (SSC) DUT set to SoftAP mode and config SoftAP, enable DHCP server
   check cmd set:
   - ''
   - *dut1_start_wifi
@@ -136,8 +140,7 @@ initial condition:
     - - R SSC1 C +SAP:OK
 - tag: APO2
   <<: *SSC_INIT_COND
-  initial condition detail: AP mode, will NOT autogen a TC with initial condition
-    APSTA2
+  initial condition detail: (SSC) DUT set to SoftAP mode, PC Wi-Fi NIC connected with SoftAP
   check cmd set:
   - ''
   - *dut1_start_wifi
@@ -179,51 +182,9 @@ initial condition:
   - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
       <target_encryption>
     - - R PC_COM NC ERROR C +WIFICONN:OK
-- <<: *SSC_INIT_COND
-  check cmd set:
-  - ''
-  - *dut1_start_wifi
-  - - SSC SSC1 upgrade -Q -t 1
-    - - R SSC1 C BIN_ID,0
-  - - SSC SSC1 upgrade -Q -t 2 -b 0
-    - - R SSC1 C BIN_INFO,0
-  - - SSC SSC1 op -S -o 2
-    - - R SSC1 C +MODE:OK
-  force restore cmd set:
-  - ''
-  - - SSC SSC1 upgrade -R -r 1 -s <ota_bin_size>
-    - - R SSC1 NC ERROR C !!!ready!!!
-  - - SSC SSC1 op -S -o 1
-    - - R SSC1 C +MODE:OK
-  - - SSC SSC1 dhcp -S -o 1
-    - - R SSC1 C +DHCP
-  - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
-    - - R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)
-  - - SOC SOC1 ULISTEN <test_tcp_port1> <pc_ip>
-    - - R SOC_COM L OK
-  - - SOC SOC1 SETOPT REPLY BIN
-    - - R SOC_COM C OK
-  - - SSC SSC1 upgrade -I -b 0 -f 0
-    - - P SSC1 C +UPGRADE:OK
-  - - SSC SSC1 upgrade -U -i <pc_ip> -p <test_tcp_port1> -u <ota_bin>
-    - - P SSC1 C +UPGRADE:SUCCEED
-  - - SSC SSC1 upgrade -R -b 0
-    - - R SSC1 C !!!ready!!!
-  - - SSC SSC1 op -S -o 2
-    - - R SSC1 C +MODE:OK
-  initial condition detail: AP only mode, running BIN0 (located on flash id 0)
-  restore cmd set:
-  - ''
-  - - SSC SSC1 upgrade -Q -t 2 -b 0
-    - - R SSC1 C BIN_INFO,0
-  - - SSC SSC1 upgrade -R -b 0
-    - - R SSC1 C !!!ready!!!
-  - - SSC SSC1 op -S -o 2
-    - - R SSC1 C +MODE:OK
-  tag: APOBIN0
 - tag: APSTA1
   <<: *SSC_INIT_COND
-  initial condition detail: testing ap on sta + ap mode (autogen by APM1)
+  initial condition detail: (SSC) DUT set to STA+SoftAP mode, config SoftAP and enable DHCP server
   check cmd set:
   - ''
   - *dut1_start_wifi
@@ -259,7 +220,7 @@ initial condition:
     - - R SSC1 C +SAP:OK
 - tag: APSTA2
   <<: *SSC_INIT_COND
-  initial condition detail: testing ap on sta + ap mode,  PC join AP (autogen by APM2)
+  initial condition detail: (SSC) DUT set to STA+SoftAP mode, PC Wi-Fi NIC connected with SoftAP
   check cmd set:
   - ''
   - *dut1_start_wifi
@@ -303,7 +264,7 @@ initial condition:
     - - R PC_COM NC ERROR C +WIFICONN:OK
 - tag: APWIFISTO
   <<: *SSC_INIT_COND
-  initial condition detail: AP mode, wifi will stop with initial condition APWIFISTO
+  initial condition detail: (SSC) DUT set to SoftAP mode, stop Wi-Fi
   check cmd set:
   - ''
   - - SSC SSC1 op -Q
@@ -336,10 +297,64 @@ initial condition:
     - - R SSC1 C +MODE:OK
   - - SSC SSC1 op -W -a stop
     - - R SSC1 C +MODE:OK
+- tag: APM2_MDNS
+  <<: *SSC_INIT_COND
+  initial condition detail: (SSC) DUT set to SoftAP mode, PC Wi-Fi NIC connected with SoftAP, restart MDNS
+  check cmd set:
+  - ''
+  - - SSC SSC1 op -Q
+    - - R SSC1 C +CURMODE:2
+  - - SSC SSC1 ap -Q
+    - - R SSC1 RE "\+APCONFIG:%%s,%%s,7,\d+,\d+,4,"%%(<target_ssid>,<target_password>)
+  - - SSC SSC1 ap -L
+    - - R SSC1 RE "\+LSTA:.+,%%s"%%(<pc_ip_wifi>)
+  - - SSC SSC1 dhcp -Q -o 2
+    - - R SSC1 C +DHCP:AP,STARTED
+  - - SSC SSC1 mac -Q -o 2
+    - - R SSC1 P <target_ap_mac>
+  - - SSC SSC1 mdns -T
+    - - R SSC1 C +MDNS:OK
+  - - SSC SSC1 mdns -I
+    - - R SSC1 C +MDNS:OK
+  restore cmd set:
+  - ''
+  - - SSC SSC1 op -S -o 2
+    - - R SSC1 C +MODE:OK
+  - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+    - - R SSC1 C +MAC:AP,OK
+  - - SSC SSC1 dhcp -S -o 2
+    - - R SSC1 C +DHCP
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -n 7
+    - - R SSC1 C +SAP:OK
+  - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
+      <target_encryption>
+    - - R PC_COM NC ERROR C +WIFICONN:OK
+  - - SSC SSC1 mdns -T
+    - - R SSC1 C +MDNS:OK
+  - - SSC SSC1 mdns -I
+    - - R SSC1 C +MDNS:OK
+  force restore cmd set:
+  - ''
+  - - SSC SSC1 reboot
+    - - R SSC1 C !!!ready!!!
+  - - SSC SSC1 op -S -o 2
+    - - R SSC1 C +MODE:OK
+  - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+    - - R SSC1 C +MAC:AP,OK
+  - - SSC SSC1 dhcp -S -o 2
+    - - R SSC1 C +DHCP
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -n 7
+    - - R SSC1 C +SAP:OK
+  - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
+      <target_encryption>
+    - - R PC_COM NC ERROR C +WIFICONN:OK
+  - - SSC SSC1 mdns -T
+    - - R SSC1 C +MDNS:OK
+  - - SSC SSC1 mdns -I
+    - - R SSC1 C +MDNS:OK
 - tag: BLE_CONN2
   <<: *SSC_INIT_COND
-  initial condition detail: 2 DUT which BLE is enabled, DUT1 connected with DUT2,
-    DUT2 created GATT service 0xA000
+  initial condition detail: (SSC) enable BLE one 2 DUTs, GATT service 0xA000 started on DUT2, DUT1 connected with DUT2
   check cmd set:
   - ''
   - - ASSERT
@@ -357,23 +372,27 @@ initial condition:
     - - 'R SSC[1-2] C +BLE:'
   - - SSC SSC[1-2] bleconn -D -z all
     - - 'R SSC[1-2] C +BLECONN:'
+  - - SSC SSC[1-2] blesmp -B -z clear
+    - - R SSC[1-2] C +BLESMP:ClearBond,Success
   - - SSC SSC[1-2] gatts -S -z delete
     - - 'R SSC[1-2] C +GATTS:'
   - - SSC SSC[1-2] gattc -U -z all
     - - R SSC[1-2] C +GATTC:OK
+  - - SSC SSC2 gatts -S -z load -p 0xA0
+    - - R SSC2 C +GATTS:StartService,OK,A000
   - - SSC SSC[1-2] bleadv -D -z stop
-    - - R SSC[1-2] C +BLEADV:OK
+    - - R SSC[1-2] C +BLEADV:Stop
+  - - SSC SSC[1-2] ble -S -z public
+    - - R SSC[1-2] C +BLE:OK
   - - SSC SSC2 bleadv -L -c 0 -t 3
     - - R SSC2 C +BLEADV:SetAdv,OK
   - - SSC SSC2 bleadv -D -z start
-    - - R SSC2 C +BLEADV:OK
-  - - SSC SSC2 gatts -S -z load -p 0xA0
-    - - R SSC2 C +GATTS:StartService,OK,A000
+    - - R SSC2 C +BLEADV:Start,OK
   - - SSC SSC1 gattc -F -r <dut2_bt_mac>
     - - R SSC1 C +GATTC:OK
   - - SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>
-    - - R SSC1 C +BLE:GattcConnect,OK
-      - P SSC2 C +BLE:GattsConnect
+    - - R SSC1 C +BLECONN:GapConnect,OK
+      - P SSC2 C +BLECONN:GapConnect,OK
   force restore cmd set:
   - ''
   - - SSC SSC[1-2] reboot
@@ -385,31 +404,34 @@ initial condition:
     - - 'R SSC[1-2] C +BLE:'
   - - SSC SSC[1-2] bleconn -D -z all
     - - 'R SSC[1-2] C +BLECONN:'
+  - - SSC SSC[1-2] blesmp -B -z clear
+    - - R SSC[1-2] C +BLESMP:ClearBond,Success
   - - SSC SSC[1-2] gatts -S -z delete
     - - 'R SSC[1-2] C +GATTS:'
   - - SSC SSC[1-2] gattc -U -z all
     - - R SSC[1-2] C +GATTC:OK
+  - - SSC SSC2 gatts -S -z load -p 0xA0
+    - - R SSC2 C +GATTS:StartService,OK,A000
   - - SSC SSC[1-2] bleadv -D -z stop
-    - - R SSC[1-2] C +BLEADV:OK
+    - - R SSC[1-2] C +BLEADV:Stop
+  - - SSC SSC[1-2] ble -S -z public
+    - - R SSC[1-2] C +BLE:OK
   - - SSC SSC2 bleadv -L -c 0 -t 3
     - - R SSC2 C +BLEADV:SetAdv,OK
   - - SSC SSC2 bleadv -D -z start
-    - - R SSC2 C +BLEADV:OK
-  - - SSC SSC2 gatts -S -z load -p 0xA0
-    - - R SSC2 C +GATTS:StartService,OK,A000
+    - - R SSC2 C +BLEADV:Start,OK
   - - SSC SSC1 gattc -F -r <dut2_bt_mac>
     - - R SSC1 C +GATTC:OK
   - - SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>
-    - - R SSC1 C +BLE:GattcConnect,OK
-      - P SSC2 C +BLE:GattsConnect
+    - - R SSC1 C +BLECONN:GapConnect,OK
+      - P SSC2 C +BLECONN:GapConnect,OK
   restore post cmd set:
   - ''
   - - SSC SSC1 ram
     - - R SSC1 A <heap_size>:(\d+)
 - tag: BLE_CONN3
   <<: *SSC_INIT_COND
-  initial condition detail: 2 DUT which BLE is enabled, DUT1 connected with DUT2,
-    DUT2 created GATT service 0xA002
+  initial condition detail: (SSC) enable BLE on 2 DUTs, GATT service 0xA002 started on DUT2, DUT1 connected with DUT2
   check cmd set:
   - ''
   - - ASSERT
@@ -427,23 +449,27 @@ initial condition:
     - - 'R SSC[1-2] C +BLE:'
   - - SSC SSC[1-2] bleconn -D -z all
     - - 'R SSC[1-2] C +BLECONN:'
+  - - SSC SSC[1-2] blesmp -B -z clear
+    - - R SSC[1-2] C +BLESMP:ClearBond,Success
   - - SSC SSC[1-2] gatts -S -z delete
     - - 'R SSC[1-2] C +GATTS:'
   - - SSC SSC[1-2] gattc -U -z all
     - - R SSC[1-2] C +GATTC:OK
+  - - SSC SSC2 gatts -S -z load -p 0xA2
+    - - R SSC2 C +GATTS:StartService,OK,A002
   - - SSC SSC[1-2] bleadv -D -z stop
-    - - R SSC[1-2] C +BLEADV:OK
+    - - R SSC[1-2] C +BLEADV:Stop
+  - - SSC SSC[1-2] ble -S -z public
+    - - R SSC[1-2] C +BLE:OK
   - - SSC SSC2 bleadv -L -c 0 -t 3
     - - R SSC2 C +BLEADV:SetAdv,OK
   - - SSC SSC2 bleadv -D -z start
     - - R SSC2 C +BLEADV:OK
-  - - SSC SSC2 gatts -S -z load -p 0xA2
-    - - R SSC2 C +GATTS:StartService,OK,A002
   - - SSC SSC1 gattc -F -r <dut2_bt_mac>
     - - R SSC1 C +GATTC:OK
   - - SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>
-    - - R SSC1 C +BLE:GattcConnect,OK
-      - P SSC2 C +BLE:GattsConnect
+    - - R SSC1 C +BLECONN:GapConnect,OK
+      - P SSC2 C +BLECONN:GapConnect,OK
   force restore cmd set:
   - ''
   - - SSC SSC[1-2] reboot
@@ -455,31 +481,34 @@ initial condition:
     - - 'R SSC[1-2] C +BLE:'
   - - SSC SSC[1-2] bleconn -D -z all
     - - 'R SSC[1-2] C +BLECONN:'
+  - - SSC SSC[1-2] blesmp -B -z clear
+    - - R SSC[1-2] C +BLESMP:ClearBond,Success
   - - SSC SSC[1-2] gatts -S -z delete
     - - 'R SSC[1-2] C +GATTS:'
   - - SSC SSC[1-2] gattc -U -z all
     - - R SSC[1-2] C +GATTC:OK
+  - - SSC SSC2 gatts -S -z load -p 0xA2
+    - - R SSC2 C +GATTS:StartService,OK,A002
   - - SSC SSC[1-2] bleadv -D -z stop
-    - - R SSC[1-2] C +BLEADV:OK
+    - - R SSC[1-2] C +BLEADV:Stop
+  - - SSC SSC[1-2] ble -S -z public
+    - - R SSC[1-2] C +BLE:OK
   - - SSC SSC2 bleadv -L -c 0 -t 3
     - - R SSC2 C +BLEADV:SetAdv,OK
   - - SSC SSC2 bleadv -D -z start
     - - R SSC2 C +BLEADV:OK
-  - - SSC SSC2 gatts -S -z load -p 0xA2
-    - - R SSC2 C +GATTS:StartService,OK,A002
   - - SSC SSC1 gattc -F -r <dut2_bt_mac>
     - - R SSC1 C +GATTC:OK
   - - SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>
-    - - R SSC1 C +BLE:GattcConnect,OK
-      - P SSC2 C +BLE:GattsConnect
+    - - R SSC1 C +BLECONN:GapConnect,OK
+      - P SSC2 C +BLECONN:GapConnect,OK
   restore post cmd set:
   - ''
   - - SSC SSC1 ram
     - - R SSC1 A <heap_size>:(\d+)
 - tag: BLE_CONN4
   <<: *SSC_INIT_COND
-  initial condition detail: 2 DUT which BLE is enabled, create both GATTC and GATTS
-    app on DUT1 and DUT2. DUT1 connected with DUT2. use GATT service A002.
+  initial condition detail: (SSC) enable BLE and create both GATTC and GATTS app on DUT1 and DUT2. DUT1 connected with DUT2. use GATT service A002.
   check cmd set:
   - ''
   - - ASSERT
@@ -497,25 +526,27 @@ initial condition:
     - - 'R SSC[1-2] C +BLE:'
   - - SSC SSC[1-2] bleconn -D -z all
     - - 'R SSC[1-2] C +BLECONN:'
+  - - SSC SSC[1-2] blesmp -B -z clear
+    - - R SSC[1-2] C +BLESMP:ClearBond,Success
   - - SSC SSC[1-2] gatts -S -z delete
     - - 'R SSC[1-2] C +GATTS:'
   - - SSC SSC[1-2] gattc -U -z all
     - - R SSC[1-2] C +GATTC:OK
+  - - SSC SSC[1-2] gatts -S -z load -p 0xA2
+    - - R SSC[1-2] C +GATTS:StartService,OK,A002
   - - SSC SSC[1-2] bleadv -D -z stop
-    - - R SSC[1-2] C +BLEADV:OK
+    - - R SSC[1-2] C +BLEADV:Stop
+  - - SSC SSC[1-2] ble -S -z public
+    - - R SSC[1-2] C +BLE:OK
   - - SSC SSC2 bleadv -L -c 0 -t 3
     - - R SSC2 C +BLEADV:SetAdv,OK
   - - SSC SSC2 bleadv -D -z start
-    - - R SSC2 C +BLEADV:OK
-  - - SSC SSC[1-2] gatts -S -z load -p 0xA2
-    - - R SSC[1-2] C +GATTS:StartService,OK,A002
+    - - R SSC2 C +BLEADV
   - - SSC SSC[1-2] gattc -F -r <dut[2,1]_bt_mac>
     - - R SSC[1-2] C +GATTC:OK
   - - SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>
-    - - R SSC1 C +BLE:GattcConnect,OK
-      - P SSC2 C +BLE:GattsConnect
-  - - SSC SSC2 bleconn -C -p 0x10 -a <dut1_bt_mac>
-    - - R SSC2 C +BLE:GattcOpen,OK
+    - - R SSC1 C +BLECONN:GapConnect,OK
+      - P SSC2 C +BLECONN:GapConnect,OK
   force restore cmd set:
   - ''
   - - SSC SSC[1-2] reboot
@@ -527,33 +558,34 @@ initial condition:
     - - 'R SSC[1-2] C +BLE:'
   - - SSC SSC[1-2] bleconn -D -z all
     - - 'R SSC[1-2] C +BLECONN:'
+  - - SSC SSC[1-2] blesmp -B -z clear
+    - - R SSC[1-2] C +BLESMP:ClearBond,Success
   - - SSC SSC[1-2] gatts -S -z delete
     - - 'R SSC[1-2] C +GATTS:'
   - - SSC SSC[1-2] gattc -U -z all
     - - R SSC[1-2] C +GATTC:OK
+  - - SSC SSC[1-2] gatts -S -z load -p 0xA2
+    - - R SSC[1-2] C +GATTS:StartService,OK,A002
   - - SSC SSC[1-2] bleadv -D -z stop
-    - - R SSC[1-2] C +BLEADV:OK
+    - - R SSC[1-2] C +BLEADV:Stop
+  - - SSC SSC[1-2] ble -S -z public
+    - - R SSC[1-2] C +BLE:OK
   - - SSC SSC2 bleadv -L -c 0 -t 3
     - - R SSC2 C +BLEADV:SetAdv,OK
   - - SSC SSC2 bleadv -D -z start
-    - - R SSC2 C +BLEADV:OK
-  - - SSC SSC[1-2] gatts -S -z load -p 0xA2
-    - - R SSC[1-2] C +GATTS:StartService,OK,A002
+    - - R SSC2 C +BLEADV:Start,OK
   - - SSC SSC[1-2] gattc -F -r <dut[2,1]_bt_mac>
     - - R SSC[1-2] C +GATTC:OK
   - - SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>
-    - - R SSC1 C +BLE:GattcConnect,OK
-      - P SSC2 C +BLE:GattsConnect
-  - - SSC SSC2 bleconn -C -p 0x10 -a <dut1_bt_mac>
-    - - R SSC2 C +BLE:GattcOpen,OK
+    - - R SSC1 C +BLECONN:GapConnect,OK
+      - P SSC2 C +BLECONN:GapConnect,OK
   restore post cmd set:
   - ''
   - - SSC SSC1 ram
     - - R SSC1 A <heap_size>:(\d+)
 - tag: BLE_CONN5
   <<: *SSC_INIT_COND
-  initial condition detail: 5 DUT which BLE is enabled, DUT1 connected with DUT2-5
-    as master, DUT2-5 created GATT service 0xA002
+  initial condition detail: (SSC) enable BLE on 5 DUTs, DUT1 connected with DUT2-5 as master, DUT2-5 use GATT service 0xA002
   check cmd set:
   - ''
   - - ASSERT
@@ -569,23 +601,27 @@ initial condition:
     - - 'R SSC[1-5] C +BLE:'
   - - SSC SSC[1-5] bleconn -D -z all
     - - 'R SSC[1-5] C +BLECONN:'
+  - - SSC SSC[1-5] blesmp -B -z clear
+    - - R SSC[1-5] C +BLESMP:ClearBond,Success
   - - SSC SSC[1-5] gatts -S -z delete
     - - 'R SSC[1-5] C +GATTS:'
   - - SSC SSC[1-5] gattc -U -z all
     - - R SSC[1-5] C +GATTC:OK
+  - - SSC SSC[2-5] gatts -S -z load -p 0xA2
+    - - P SSC[2-5] C +GATTS:StartService,OK,A002
   - - SSC SSC[1-5] bleadv -D -z stop
-    - - R SSC[1-5] C +BLEADV:OK
+    - - R SSC[1-5] C +BLEADV:Stop
+  - - SSC SSC[1-5] ble -S -z public
+    - - R SSC[1-5] C +BLE:OK
   - - SSC SSC[2-5] bleadv -D -z start
     - - P SSC[2-5] C +BLEADV:Start,OK
-  - - SSC SSC[2-5] gatts -S -z load -p 0xA2
-    - - P SSC[2-5] C +GATTS:StartService,OK,A002
   - - SSC SSC1 gattc -F -r <dut2_bt_mac>
     - - R SSC1 C +GATTC:OK
   - - LOOP 4 1 "[2,3,4,5]" "[2,3,4,5]" "[2,3,4,5]"
     - ''
   - - SSC SSC1 bleconn -C -p 0x10 -a <dut{%d}_bt_mac>
-    - - R SSC1 RE "\+BLE:GattcConnect,OK,0010,%%s"%%(<dut{%d}_bt_mac>)
-      - P SSC{%d} C +BLE:GattsConnect
+    - - R SSC1 RE "\+BLECONN:GapConnect,OK,0010,%%s"%%(<dut{%d}_bt_mac>)
+      - P SSC{%d} C +BLECONN:GapConnect,OK
   restore cmd set:
   - ''
   # do wifi disconnect, to prevent wifi reconnect cause bad BLE performance
@@ -599,31 +635,34 @@ initial condition:
     - - 'R SSC[1-5] C +BLE:'
   - - SSC SSC[1-5] bleconn -D -z all
     - - 'R SSC[1-5] C +BLECONN:'
+  - - SSC SSC[1-5] blesmp -B -z clear
+    - - R SSC[1-5] C +BLESMP:ClearBond,Success
   - - SSC SSC[1-5] gatts -S -z delete
     - - 'R SSC[1-5] C +GATTS:'
   - - SSC SSC[1-5] gattc -U -z all
     - - R SSC[1-5] C +GATTC:OK
+  - - SSC SSC[2-5] gatts -S -z load -p 0xA2
+    - - P SSC[2-5] C +GATTS:StartService,OK,A002
   - - SSC SSC[1-5] bleadv -D -z stop
-    - - R SSC[1-5] C +BLEADV:OK
+    - - R SSC[1-5] C +BLEADV:Stop
+  - - SSC SSC[1-5] ble -S -z public
+    - - R SSC[1-5] C +BLE:OK
   - - SSC SSC[2-5] bleadv -D -z start
     - - P SSC[2-5] C +BLEADV:Start,OK
-  - - SSC SSC[2-5] gatts -S -z load -p 0xA2
-    - - P SSC[2-5] C +GATTS:StartService,OK,A002
   - - SSC SSC1 gattc -F -r <dut2_bt_mac>
     - - R SSC1 C +GATTC:OK
   - - LOOP 4 1 "[2,3,4,5]" "[2,3,4,5]" "[2,3,4,5]"
     - ''
   - - SSC SSC1 bleconn -C -p 0x10 -a <dut{%d}_bt_mac>
-    - - R SSC1 RE "\+BLE:GattcConnect,OK,0010,%%s"%%(<dut{%d}_bt_mac>)
-      - P SSC{%d} C +BLE:GattsConnect
+    - - R SSC1 RE "\+BLECONN:GapConnect,OK,0010,%%s"%%(<dut{%d}_bt_mac>)
+      - P SSC{%d} C +BLECONN:GapConnect,OK,
   restore post cmd set:
   - ''
   - - SSC SSC1 ram
     - - R SSC1 A <heap_size>:(\d+)
 - tag: BLE_CONN6
   <<: *SSC_INIT_COND
-  initial condition detail: 5 DUT which BLE is enabled, DUT1 is slave, connected by
-    DUT2-5, DUT1 created GATT service 0xA002
+  initial condition detail: (SSC) enable BLE on 5 DUTs, DUT1 is slave, connected by DUT2-5, DUT1 use GATT service 0xA002
   check cmd set:
   - ''
   - - ASSERT
@@ -641,23 +680,27 @@ initial condition:
     - - 'R SSC[1-5] C +BLE:'
   - - SSC SSC[1-5] bleconn -D -z all
     - - 'R SSC[1-5] C +BLECONN:'
+  - - SSC SSC[1-5] blesmp -B -z clear
+    - - R SSC[1-5] C +BLESMP:ClearBond,Success
   - - SSC SSC[1-5] gatts -S -z delete
     - - 'R SSC[1-5] C +GATTS:'
   - - SSC SSC[1-5] gattc -U -z all
     - - R SSC[1-5] C +GATTC:OK
-  - - SSC SSC[1-5] bleadv -D -z stop
-    - - R SSC[1-5] C +BLEADV:OK
+  - - SSC SSC[1-5] ble -S -z public
+    - - R SSC[1-5] C +BLE:OK
   - - SSC SSC1 gatts -S -z load -p 0xA2
     - - R SSC1 C +GATTS:StartService,OK,A002
-  - - LOOP 4 2 "[2,3,4,5]" "[2,3,4,5]"
+  - - SSC SSC[1-5] bleadv -D -z stop
+    - - R SSC[1-5] C +BLEADV:Stop
+  - - LOOP 4 3 "[2,3,4,5]" "[2,3,4,5]"
     - ''
   - - SSC SSC1 bleadv -D -z start
     - - P SSC1 C +BLEADV:Start,OK
   - - SSC SSC[2-5] gattc -F -r <dut1_bt_mac>
     - - R SSC[2-5] C +GATTC:OK
   - - SSC SSC{%d} bleconn -C -p 0x10 -a <dut1_bt_mac>
-    - - R SSC{%d} RE "\+BLE:GattcConnect,OK,0010,%%s"%%(<dut1_bt_mac>)
-      - P SSC1 C +BLE:GattsConnect
+    - - R SSC{%d} RE "\+BLECONN:GapConnect,OK,0010,%%s"%%(<dut1_bt_mac>)
+      - P SSC1 C +BLECONN:GapConnect,OK
   force restore cmd set:
   - ''
   - - SSC SSC[1-5] reboot
@@ -669,31 +712,36 @@ initial condition:
     - - 'R SSC[1-5] C +BLE:'
   - - SSC SSC[1-5] bleconn -D -z all
     - - 'R SSC[1-5] C +BLECONN:'
+  - - SSC SSC[1-5] blesmp -B -z clear
+    - - R SSC[1-5] C +BLESMP:ClearBond,Success
   - - SSC SSC[1-5] gatts -S -z delete
     - - 'R SSC[1-5] C +GATTS:'
   - - SSC SSC[1-5] gattc -U -z all
     - - R SSC[1-5] C +GATTC:OK
   - - SSC SSC[1-5] bleadv -D -z stop
-    - - R SSC[1-5] C +BLEADV:OK
+    - - R SSC[1-5] C +BLEADV:Stop
+  - - SSC SSC[1-5] ble -S -z public
+    - - R SSC[1-5] C +BLE:OK
   - - SSC SSC1 gatts -S -z load -p 0xA2
     - - R SSC1 C +GATTS:StartService,OK,A002
   - - SSC SSC[2-5] gattc -F -r <dut1_bt_mac>
     - - R SSC[2-5] C +GATTC:OK
-  - - LOOP 4 2 "[2,3,4,5]" "[2,3,4,5]"
+  - - LOOP 4 3 "[2,3,4,5]" "[2,3,4,5]"
     - ''
   - - SSC SSC1 bleadv -D -z start
     - - P SSC1 C +BLEADV:Start,OK
+  - - SSC SSC[2-5] gattc -F -r <dut1_bt_mac>
+    - - R SSC[2-5] C +GATTC:OK
   - - SSC SSC{%d} bleconn -C -p 0x10 -a <dut1_bt_mac>
-    - - R SSC{%d} RE "\+BLE:GattcConnect,OK,0010,%%s"%%(<dut1_bt_mac>)
-      - P SSC1 C +BLE:GattsConnect
+    - - R SSC{%d} RE "\+BLECONN:GapConnect,OK,0010,%%s"%%(<dut1_bt_mac>)
+      - P SSC1 C +BLECONN:GapConnect,OK
   restore post cmd set:
   - ''
   - - SSC SSC1 ram
     - - R SSC1 A <heap_size>:(\d+)
 - tag: BLE_CONN7
   <<: *SSC_INIT_COND
-  initial condition detail: 5 DUT which BLE is enabled, DUT1 connected with DUT2-3
-    as master, connected with DUT4-5 as slave, GATTS created service 0xA002
+  initial condition detail: (SSC) BLE is enable on 5 DUTs, DUT1 connected with DUT2-3 as master, connected with DUT4-5 as slave, use service 0xA002 on GATTS
   check cmd set:
   - ''
   - - ASSERT
@@ -711,12 +759,16 @@ initial condition:
     - - 'R SSC[1-5] C +BLE:'
   - - SSC SSC[1-5] bleconn -D -z all
     - - 'R SSC[1-5] C +BLECONN:'
+  - - SSC SSC[1-5] blesmp -B -z clear
+    - - R SSC[1-5] C +BLESMP:ClearBond,Success
   - - SSC SSC[1-5] gatts -S -z delete
     - - 'R SSC[1-5] C +GATTS:'
   - - SSC SSC[1-5] gattc -U -z all
     - - R SSC[1-5] C +GATTC:OK
   - - SSC SSC[1-5] bleadv -D -z stop
-    - - R SSC[1-5] C +BLEADV:OK
+    - - R SSC[1-5] C +BLEADV:Stop
+  - - SSC SSC[1-5] ble -S -z public
+    - - R SSC[1-5] C +BLE:OK
   - - SSC SSC[1-3] gatts -S -z load -p 0xA2
     - - R SSC[1-3] C +GATTS:StartService,OK,A002
   - - LOOP 2 2 "[4,5]" "[4,5]"
@@ -724,15 +776,15 @@ initial condition:
   - - SSC SSC1 bleadv -D -z start
     - - P SSC1 C +BLEADV:Start,OK
   - - SSC SSC{%d} bleconn -C -p 0x10 -a <dut1_bt_mac>
-    - - R SSC{%d} RE "\+BLE:GattcConnect,OK,0010,%%s"%%(<dut1_bt_mac>)
-      - P SSC1 C +BLE:GattsConnect
+    - - R SSC{%d} RE "\+BLECONN:GapConnect,OK,0010,%%s"%%(<dut1_bt_mac>)
+      - P SSC1 C +BLECONN:GapConnect,OK
   - - SSC SSC[2-3] bleadv -D -z start
     - - P SSC[2-3] C +BLEADV:Start,OK
   - - LOOP 2 1 "[2,3]" "[2,3]" "[2,3]"
     - ''
   - - SSC SSC1 bleconn -C -p 0x10 -a <dut{%d}_bt_mac>
-    - - R SSC1 RE "\+BLE:GattcConnect,OK,0010,%%s"%%(<dut{%d}_bt_mac>)
-      - P SSC{%d} C +BLE:GattsConnect
+    - - R SSC1 RE "\+BLECONN:GapConnect,OK,0010,%%s"%%(<dut{%d}_bt_mac>)
+      - P SSC{%d} C +BLECONN:GapConnect,OK,
   force restore cmd set:
   - ''
   - - SSC SSC[1-5] reboot
@@ -744,12 +796,16 @@ initial condition:
     - - 'R SSC[1-5] C +BLE:'
   - - SSC SSC[1-5] bleconn -D -z all
     - - 'R SSC[1-5] C +BLECONN:'
+  - - SSC SSC[1-5] blesmp -B -z clear
+    - - R SSC[1-5] C +BLESMP:ClearBond,Success
   - - SSC SSC[1-5] gatts -S -z delete
     - - 'R SSC[1-5] C +GATTS:'
   - - SSC SSC[1-5] gattc -U -z all
     - - R SSC[1-5] C +GATTC:OK
   - - SSC SSC[1-5] bleadv -D -z stop
-    - - R SSC[1-5] C +BLEADV:OK
+    - - R SSC[1-5] C +BLEADV:Stop
+  - - SSC SSC[1-5] ble -S -z public
+    - - R SSC[1-5] C +BLE:OK
   - - SSC SSC[1-3] gatts -S -z load -p 0xA2
     - - R SSC[1-3] C +GATTS:StartService,OK,A002
   - - LOOP 2 2 "[4,5]" "[4,5]"
@@ -757,23 +813,22 @@ initial condition:
   - - SSC SSC1 bleadv -D -z start
     - - P SSC1 C +BLEADV:Start,OK
   - - SSC SSC{%d} bleconn -C -p 0x10 -a <dut1_bt_mac>
-    - - R SSC{%d} RE "\+BLE:GattcConnect,OK,0010,%%s"%%(<dut1_bt_mac>)
-      - P SSC1 C +BLE:GattsConnect
+    - - R SSC{%d} RE "\+BLECONN:GapConnect,OK,0010,%%s"%%(<dut1_bt_mac>)
+      - P SSC1 C +BLECONN:GapConnect,OK,
   - - SSC SSC[2-3] bleadv -D -z start
     - - P SSC[2-3] C +BLEADV:Start,OK
   - - LOOP 2 1 "[2,3]" "[2,3]" "[2,3]"
     - ''
   - - SSC SSC1 bleconn -C -p 0x10 -a <dut{%d}_bt_mac>
-    - - R SSC1 RE "\+BLE:GattcConnect,OK,0010,%%s"%%(<dut{%d}_bt_mac>)
-      - P SSC{%d} C +BLE:GattsConnect
+    - - R SSC1 RE "\+BLECONN:GapConnect,OK,0010,%%s"%%(<dut{%d}_bt_mac>)
+      - P SSC{%d} C +BLECONN:GapConnect,OK
   restore post cmd set:
   - ''
   - - SSC SSC1 ram
     - - R SSC1 A <heap_size>:(\d+)
 - tag: BLE_CONN_SMP
   <<: *SSC_INIT_COND
-  initial condition detail: 2 DUT which BLE is enabled, DUT1 connected with DUT2,
-    DUT2 created GATT service 0xA000,DUT2 and DUT1 pairing
+  initial condition detail: (SSC) enable BLE on 2 DUTs, DUT1 connected and paired with DUT2, DUT2 created GATT service 0xA000
   check cmd set:
   - ''
   - - ASSERT
@@ -792,19 +847,21 @@ initial condition:
   - - SSC SSC[1-2] bleconn -D -z all
     - - 'R SSC[1-2] C +BLECONN:'
   - - SSC SSC[1-2] blesmp -B -z clear
-    - - R SSC[1-2] C +BLESMP:ClearBond,Succes
+    - - R SSC[1-2] C +BLESMP:ClearBond,Success
   - - SSC SSC[1-2] gatts -S -z delete
     - - 'R SSC[1-2] C +GATTS:'
   - - SSC SSC[1-2] gattc -U -z all
     - - R SSC[1-2] C +GATTC:OK
   - - SSC SSC[1-2] bleadv -D -z stop
-    - - R SSC[1-2] C +BLEADV:OK
+    - - R SSC[1-2] C +BLEADV:Stop
+  - - SSC SSC2 gatts -S -z load -p 0xA2
+    - - R SSC2 C +GATTS:StartService,OK,A002
+  - - SSC SSC[1-2] ble -S -z public
+    - - R SSC[1-2] C +BLE:OK
   - - SSC SSC2 bleadv -L -c 0 -t 3
     - - R SSC2 C +BLEADV:SetAdv,OK
   - - SSC SSC2 bleadv -D -z start
-    - - R SSC2 C +BLEADV:OK
-  - - SSC SSC2 gatts -S -z load -p 0xA0
-    - - R SSC2 C +GATTS:StartService,OK,A000
+    - - R SSC2 C +BLEADV:Start,OK
   - - SSC SSC2 blesmp -S -z AuthReqMode -v 0x01
     - - P SSC2 C +BLESMP:OK
   - - SSC SSC2 blesmp -S -z IOCAP -v 0x03
@@ -812,11 +869,9 @@ initial condition:
   - - SSC SSC2 blesmp -S -z RspKey -v 0x03
     - - P SSC2 C +BLESMP:OK
   - - SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>
-    - - P SSC1 C +BLE:GattcConnect,OK
-      - P SSC2 C +BLE:GattsConnect
+    - - P SSC1 C +BLECONN:GapConnect,OK
+      - P SSC2 C +BLECONN:GapConnect,OK
   - - SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc
-    - - P SSC1 C +BLESMP:SecReq
-  - - SSC SSC1 blesmp -R -a 1 -r <dut2_bt_mac>
     - - P SSC[1-2] C +BLESMP:AuthComplete,Success,0
   - - SSC SSC1 gattc -F -r <dut2_bt_mac>
     - - R SSC1 C +GATTC:OK
@@ -832,19 +887,21 @@ initial condition:
   - - SSC SSC[1-2] bleconn -D -z all
     - - 'R SSC[1-2] C +BLECONN:'
   - - SSC SSC[1-2] blesmp -B -z clear
-    - - R SSC[1-2] C +BLESMP:ClearBond,Succes
+    - - R SSC[1-2] C +BLESMP:ClearBond,Success
   - - SSC SSC[1-2] gatts -S -z delete
     - - 'R SSC[1-2] C +GATTS:'
   - - SSC SSC[1-2] gattc -U -z all
     - - R SSC[1-2] C +GATTC:OK
   - - SSC SSC[1-2] bleadv -D -z stop
-    - - R SSC[1-2] C +BLEADV:OK
+    - - R SSC[1-2] C +BLEADV:Stop
+  - - SSC SSC2 gatts -S -z load -p 0xA2
+    - - R SSC2 C +GATTS:StartService,OK,A002
+  - - SSC SSC[1-2] ble -S -z public
+    - - R SSC[1-2] C +BLE:OK
   - - SSC SSC2 bleadv -L -c 0 -t 3
     - - R SSC2 C +BLEADV:SetAdv,OK
   - - SSC SSC2 bleadv -D -z start
-    - - R SSC2 C +BLEADV:OK
-  - - SSC SSC2 gatts -S -z load -p 0xA0
-    - - R SSC2 C +GATTS:StartService,OK,A000
+    - - R SSC2 C +BLEADV:Start,OK
   - - SSC SSC2 blesmp -S -z AuthReqMode -v 0x01
     - - P SSC2 C +BLESMP:OK
   - - SSC SSC2 blesmp -S -z IOCAP -v 0x03
@@ -852,11 +909,9 @@ initial condition:
   - - SSC SSC2 blesmp -S -z RspKey -v 0x03
     - - P SSC2 C +BLESMP:OK
   - - SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>
-    - - P SSC1 C +BLE:GattcConnect,OK
-      - P SSC2 C +BLE:GattsConnect
+    - - P SSC1 C +BLECONN:GapConnect,OK
+      - P SSC2 C +BLECONN:GapConnect,OK
   - - SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc
-    - - P SSC1 C +BLESMP:SecReq
-  - - SSC SSC1 blesmp -R -a 1 -r <dut2_bt_mac>
     - - P SSC[1-2] C +BLESMP:AuthComplete,Success,0
   - - SSC SSC1 gattc -F -r <dut2_bt_mac>
     - - R SSC1 C +GATTC:OK
@@ -866,7 +921,7 @@ initial condition:
     - - R SSC1 A <heap_size>:(\d+)
 - tag: BLE_DEINIT1
   <<: *SSC_INIT_COND
-  initial condition detail: 1 DUT which BLE is not enabled
+  initial condition detail: (SSC) DUT deinit BT host
   check cmd set:
   - ''
   - - SSC SSC1 bt -Q
@@ -891,7 +946,7 @@ initial condition:
     - - R SSC1 A <heap_size>:(\d+)
 - tag: BTC_DEINIT1
   <<: *SSC_INIT_COND
-  initial condition detail: 1 DUT which BLE is not enabled
+  initial condition detail: (SSC) DUT deinit BT controller
   check cmd set:
   - ''
   - - SSC SSC1 reboot
@@ -936,7 +991,7 @@ initial condition:
     - - R SSC1 A <heap_size>:(\d+)
 - tag: BLE_INIT1
   <<: *SSC_INIT_COND
-  initial condition detail: 1 DUT which BLE is enabled, no active connection
+  initial condition detail: (SSC) enable BLE on DUT
   check cmd set:
   - ''
   - - SSC SSC1 bt -Q
@@ -955,6 +1010,8 @@ initial condition:
     - - 'R SSC1 C +BLE:'
   - - SSC SSC1 bleconn -D -z all
     - - 'R SSC1 C +BLECONN:'
+  - - SSC SSC[1-2] blesmp -B -z clear
+    - - R SSC[1-2] C +BLESMP:ClearBond,Success
   force restore cmd set:
   - ''
   - - SSC SSC1 reboot
@@ -972,6 +1029,8 @@ initial condition:
     - []
   - - SSC SSC1 bleconn -D -z all
     - - 'R SSC1 C +BLECONN:'
+  - - SSC SSC[1-2] blesmp -B -z clear
+    - - R SSC[1-2] C +BLESMP:ClearBond,Success
   - - SSC SSC1 gatts -S -z delete
     - - 'R SSC1 C +GATTS:'
   - - SSC SSC1 gattc -U -z all
@@ -980,8 +1039,7 @@ initial condition:
     - - R SSC1 A <heap_size>:(\d+)
 - tag: BLE_INIT2
   <<: *SSC_INIT_COND
-  initial condition detail: 2 DUT which BLE is enabled, no active connection, DUT2
-    load service 0xA0 and start adv
+  initial condition detail: (SSC) enable BLE on 2 DUTs, no active connection, DUT2 load service 0xA0 and start adv
   check cmd set:
   - ''
   - - SSC SSC[1-2] bt -Q
@@ -1009,25 +1067,27 @@ initial condition:
     - - 'R SSC[1-2] C +BLE:'
   - - SSC SSC[1-2] bleconn -D -z all
     - - 'R SSC[1-2] C +BLECONN:'
+  - - SSC SSC[1-2] blesmp -B -z clear
+    - - R SSC[1-2] C +BLESMP:ClearBond,Success
   - - SSC SSC[1-2] gatts -S -z delete
     - - 'R SSC[1-2] C +GATTS:'
   - - SSC SSC[1-2] gattc -U -z all
     - - R SSC[1-2] C +GATTC:OK
+  - - SSC SSC[1-2] bleadv -D -z stop
+    - - R SSC[1-2] C +BLEADV:Stop
   - - SSC SSC2 gatts -S -z load -p 0xA0
     - - R SSC2 C +GATTS:StartService,OK,A000
-  - - SSC SSC[1-2] bleadv -D -z stop
-    - - R SSC[1-2] C +BLEADV:OK
+  - - SSC SSC[1-2] ble -S -z public
+    - - R SSC[1-2] C +BLE:OK
   - - SSC SSC2 bleadv -L -c 0 -t 3
     - - R SSC2 C +BLEADV:SetAdv,OK
   - - SSC SSC2 bleadv -D -z start
-    - - R SSC2 C +BLEADV:OK
-
+    - - R SSC2 C +BLEADV:Start,OK
   - - SSC SSC1 ram
     - - R SSC1 A <heap_size>:(\d+)
 - tag: BLE_INIT3
   <<: *SSC_INIT_COND
-  initial condition detail: 2 DUT which BLE is enabled, no active connection, DUT2
-    load service 0xA2 and start adv
+  initial condition detail: (SSC) enable BLE on 2 DUTs, no active connection, DUT2 load service 0xA002 and start adv
   check cmd set:
   - ''
   - - SSC SSC[1-2] bt -Q
@@ -1052,6 +1112,8 @@ initial condition:
     - - 'R SSC[1-2] C +BLE:'
   - - SSC SSC[1-2] bleconn -D -z all
     - - 'R SSC[1-2] C +BLECONN:'
+  - - SSC SSC[1-2] blesmp -B -z clear
+    - - R SSC[1-2] C +BLESMP:ClearBond,Success
   - - SSC SSC[1-2] gatts -S -z delete
     - - 'R SSC[1-2] C +GATTS:'
   - - SSC SSC[1-2] gattc -U -z all
@@ -1059,16 +1121,18 @@ initial condition:
   - - SSC SSC2 gatts -S -z load -p 0xA2
     - - R SSC2 C +GATTS:StartService,OK,A002
   - - SSC SSC[1-2] bleadv -D -z stop
-    - - R SSC[1-2] C +BLEADV:OK
+    - - R SSC[1-2] C +BLEADV:Stop
+  - - SSC SSC[1-2] ble -S -z public
+    - - R SSC[1-2] C +BLE:OK
   - - SSC SSC2 bleadv -L -c 0 -t 3
     - - R SSC2 C +BLEADV:SetAdv,OK
   - - SSC SSC2 bleadv -D -z start
-    - - R SSC2 C +BLEADV:OK
+    - - R SSC2 C +BLEADV:Start,OK
   - - SSC SSC1 ram
     - - R SSC1 A <heap_size>:(\d+)
 - tag: BLE_INIT5
   <<: *SSC_INIT_COND
-  initial condition detail: 5 DUT which BLE is enabled, no active connection
+  initial condition detail: (SSC) enable BLE on 5 DUTs, no active connection
   check cmd set:
   - ''
   - - SSC SSC[1-5] bt -Q
@@ -1096,23 +1160,25 @@ initial condition:
     - - 'R SSC[1-5] C +BLE:'
   - - SSC SSC[1-5] bleconn -D -z all
     - - 'R SSC[1-5] C +BLECONN:'
+  - - SSC SSC[1-5] blesmp -B -z clear
+    - - R SSC[1-5] C +BLESMP:ClearBond,Success
   - - SSC SSC[1-5] gatts -S -z delete
     - - 'R SSC[1-5] C +GATTS:'
   - - SSC SSC[1-2] gattc -U -z all
     - - R SSC[1-2] C +GATTC:OK
-  - - "SSC SSC[2-5] gatts -S -z load -p 0xA0"
-    - ["P SSC[2-5] C +GATTS:StartService,OK,A000"]
+  - - "SSC SSC[2-5] gatts -S -z load -p 0xA2"
+    - ["P SSC[2-5] C +GATTS:StartService,OK,A002"]
   - - SSC SSC[1-5] bleadv -D -z stop
-    - - R SSC[1-5] C +BLEADV:OK
+    - - R SSC[1-5] C +BLEADV:Stop
+  - - SSC SSC[1-5] ble -S -z public
+    - - R SSC[1-5] C +BLE:OK
   - - SSC SSC1 gattc -F -r <dut2_bt_mac>
     - - R SSC1 C +GATTC:OK
   - - SSC SSC1 ram
     - - R SSC1 A <heap_size>:(\d+)
 - tag: BLE_INIT_SMP
   <<: *SSC_INIT_COND
-  initial condition detail: 2 DUT which BLE is enabled, no active connection, DUT2
-    create GATT service 0xA002, DUT2 start adv, SMP enabled on both DUT and DUT1 load
-    default initiator param, DUT2 load default responder param
+  initial condition detail: (SSC) enable BLE on 2 DUTs, no active connection, create GATT service 0xA002 on DUT2, DUT2 start adv, DUT1 load default initiator param, DUT2 load default responder param
   check cmd set:
   - ''
   - - ASSERT
@@ -1130,19 +1196,21 @@ initial condition:
   - - SSC SSC[1-2] bleconn -D -z all
     - - 'R SSC[1-2] C +BLECONN:'
   - - SSC SSC[1-2] blesmp -B -z clear
-    - - R SSC[1-2] C +BLESMP:ClearBond,Succes
+    - - R SSC[1-2] C +BLESMP:ClearBond,Success
   - - SSC SSC[1-2] gatts -S -z delete
     - - 'R SSC[1-2] C +GATTS:'
   - - SSC SSC[1-2] gattc -U -z all
     - - R SSC[1-2] C +GATTC:OK
   - - SSC SSC[1-2] bleadv -D -z stop
-    - - R SSC[1-2] C +BLEADV:OK
+    - - R SSC[1-2] C +BLEADV:Stop
+  - - SSC SSC[1-2] ble -S -z public
+    - - R SSC[1-2] C +BLE:OK
   - - SSC SSC2 gatts -S -z load -p 0xA2
     - - R SSC2 C +GATTS:StartService,OK,A002
   - - SSC SSC2 bleadv -L -c 0 -t 3
     - - R SSC2 C +BLEADV:SetAdv,OK
   - - SSC SSC2 bleadv -D -z start
-    - - R SSC2 C +BLEADV:OK
+    - - R SSC2 C +BLEADV:Start,OK
   - - SSC SSC[1-2] blesmp -L -c [1,0]
     - - R SSC[1-2] C +BLESMP:OK
   - - SSC SSC1 gattc -F -r <dut2_bt_mac>
@@ -1159,19 +1227,21 @@ initial condition:
   - - SSC SSC[1-2] bleconn -D -z all
     - - 'R SSC[1-2] C +BLECONN:'
   - - SSC SSC[1-2] blesmp -B -z clear
-    - - R SSC[1-2] C +BLESMP:ClearBond,Succes
+    - - R SSC[1-2] C +BLESMP:ClearBond,Success
   - - SSC SSC[1-2] gatts -S -z delete
     - - 'R SSC[1-2] C +GATTS:'
   - - SSC SSC[1-2] gattc -U -z all
     - - R SSC[1-2] C +GATTC:OK
   - - SSC SSC[1-2] bleadv -D -z stop
-    - - R SSC[1-2] C +BLEADV:OK
+    - - R SSC[1-2] C +BLEADV:Stop
+  - - SSC SSC[1-2] ble -S -z public
+    - - R SSC[1-2] C +BLE:OK
   - - SSC SSC2 gatts -S -z load -p 0xA2
     - - R SSC2 C +GATTS:StartService,OK,A002
   - - SSC SSC2 bleadv -L -c 0 -t 3
     - - R SSC2 C +BLEADV:SetAdv,OK
   - - SSC SSC2 bleadv -D -z start
-    - - R SSC2 C +BLEADV:OK
+    - - R SSC2 C +BLEADV:Start,OK
   - - SSC SSC[1-2] blesmp -L -c [1,0]
     - - R SSC[1-2] C +BLESMP:OK
   - - SSC SSC1 gattc -F -r <dut2_bt_mac>
@@ -1180,9 +1250,7 @@ initial condition:
     - - R SSC1 A <heap_size>:(\d+)
 - tag: BLE_INIT_SMP5
   <<: *SSC_INIT_COND
-  initial condition detail: 5 DUT which BLE is enabled, no active connection, DUT5
-    create GATT service 0xA000, DUT5 start adv, SMP enabled on both DUT and DUT5 load
-    default initiator param, DUT5 load default responder param
+  initial condition detail: (SSC) enable BLE on 5 DUTs, no active connection, create GATT service 0xA000 on DUT2-5, DUT2-5 start adv, DUT1 load default initiator param, DUT2-5 load default responder param
   check cmd set:
   - ''
   - - ASSERT
@@ -1200,19 +1268,21 @@ initial condition:
   - - SSC SSC[1-5] bleconn -D -z all
     - - 'R SSC[1-5] C +BLECONN:'
   - - SSC SSC[1-5] blesmp -B -z clear
-    - - R SSC[1-5] C +BLESMP:ClearBond,Succes
+    - - R SSC[1-5] C +BLESMP:ClearBond,Success
   - - SSC SSC[1-5] gatts -S -z delete
     - - 'R SSC[1-5] C +GATTS:'
   - - SSC SSC[1-5] gattc -U -z all
     - - R SSC[1-5] C +GATTC:OK
   - - SSC SSC[1-5] bleadv -D -z stop
-    - - R SSC[1-5] C +BLEADV:OK
-  - - SSC SSC[2-5] gatts -S -z load -p 0xA0
-    - - R SSC[2-5] C +GATTS:StartService,OK,A000
+    - - R SSC[1-5] C +BLEADV:Stop
+  - - SSC SSC[1-5] ble -S -z public
+    - - R SSC[1-5] C +BLE:OK
+  - - SSC SSC[2-5] gatts -S -z load -p 0xA2
+    - - R SSC[2-5] C +GATTS:StartService,OK,A002
   - - SSC SSC[2-5] bleadv -L -c 0 -t 3
     - - R SSC[2-5] C +BLEADV:SetAdv,OK
   - - SSC SSC[2-5] bleadv -D -z start
-    - - R SSC[2-5] C +BLEADV:OK
+    - - R SSC[2-5] C +BLEADV:Start,OK
   - - SSC SSC[1-5] blesmp -L -c [1,0]
     - - R SSC[1-5] C +BLESMP:OK
   - - SSC SSC1 gattc -F -r <dut2_bt_mac>
@@ -1226,21 +1296,25 @@ initial condition:
   - - SSC SSC[1-5] bleconn -D -z all
     - - 'R SSC[1-5] C +BLECONN:'
   - - SSC SSC[1-5] blesmp -B -z clear
-    - - R SSC[1-5] C +BLESMP:ClearBond,Succes
+    - - R SSC[1-5] C +BLESMP:ClearBond,Success
   - - SSC SSC[1-5] gatts -S -z delete
     - - 'R SSC[1-5] C +GATTS:'
   - - SSC SSC[1-5] gattc -U -z all
     - - R SSC[1-5] C +GATTC:OK
   - - SSC SSC[1-5] bleadv -D -z stop
-    - - R SSC[1-5] C +BLEADV:OK
-  - - SSC SSC[2-5] gatts -S -z load -p 0xA0
-    - - R SSC[2-5] C +GATTS:StartService,OK,A000
+    - - R SSC[1-5] C +BLEADV:Stop
+  - - SSC SSC[1-5] ble -S -z public
+    - - R SSC[1-5] C +BLE:OK
+  - - SSC SSC[2-5] gatts -S -z load -p 0xA2
+    - - R SSC[2-5] C +GATTS:StartService,OK,A002
   - - SSC SSC[2-5] bleadv -L -c 0 -t 3
     - - R SSC[2-5] C +BLEADV:SetAdv,OK
   - - SSC SSC[2-5] bleadv -D -z start
-    - - R SSC[2-5] C +BLEADV:OK
-  - - SSC SSC[1-5] blesmp -L -c [1,0]
-    - - R SSC[1-5] C +BLESMP:OK
+    - - R SSC[2-5] C +BLEADV:Start,OK
+  - - SSC SSC1 blesmp -L -c 1
+    - - R SSC1 C +BLESMP:OK
+  - - SSC SSC[2-5] blesmp -L -c 0
+    - - R SSC[2-5] C +BLESMP:OK
   # do wifi disconnect, to prevent wifi reconnect cause bad BLE performance
   - - SSC SSC[1-5] sta -D
     - []
@@ -1248,128 +1322,418 @@ initial condition:
     - - R SSC1 C +GATTC:OK
   - - SSC SSC1 ram
     - - R SSC1 A <heap_size>:(\d+)
-- tag: NOW1
+- tag: NOW_STAM1
   <<: *SSC_INIT_COND
-  initial condition detail: one target in AP mode and espnow is de-initialized
+  initial condition detail: (SSC) DUT in sta mode and espnow is de-initialized
   check cmd set:
   - ''
-  - *dut1_start_wifi
   - - SSC SSC1 op -Q
-    - - R SSC1 C +CURMODE:2
-  - - SSC SSC1 mac -Q -o 2
-    - - R SSC1 P <target_ap_mac>
+    - - R SSC1 C +CURMODE:1
+  - - SSC SSC1 sta -D
+    - - 'R SSC1 C +QAP:'
+  - - SSC SSC1 dhcp -Q -o 1
+    - - R SSC1 C +DHCP:STA,STARTED
+  - - SSC SSC1 mac -Q -o 1
+    - - R SSC1 P <target_mac>
   - - SSC SSC1 espnow -D
     - - 'R SSC1 C +ESPNOW:'
   restore cmd set:
   - ''
-  - - SSC SSC1 op -S -o 2
+  - - SSC SSC1 op -S -o 1
     - - R SSC1 C +MODE:OK
-  - - SSC SSC1 mac -S -m <target_ap_mac> -o 2
-    - - R SSC1 C +MAC:AP,OK
+  - - SSC SSC1 sta -D
+    - - 'R SSC1 C +QAP:'
+  - - SSC SSC1 dhcp -S -o 1
+    - - R SSC1 C +DHCP
+  - - SSC SSC1 mac -S -o 1 -m <target_mac>
+    - - R SSC1 C +MAC:STA,OK
   - - SSC SSC1 espnow -D
     - - 'R SSC1 C +ESPNOW:'
   force restore cmd set:
   - ''
-  - - SSC SSC[1-<dev_num>] reboot
-    - - R SSC[1-<dev_num>] C !!!ready!!!
-  - - SSC SSC1 op -S -o 2
+  - - SSC SSC1 reboot
+    - - R SSC1 C !!!ready!!!
+  - - SSC SSC1 op -S -o 1
     - - R SSC1 C +MODE:OK
-  - - SSC SSC1 mac -S -m <target_ap_mac> -o 2
-    - - R SSC1 C +MAC:AP,OK
+  - - SSC SSC1 sta -D
+    - - 'R SSC1 C +QAP:'
+  - - SSC SSC1 dhcp -S -o 1
+    - - R SSC1 C +DHCP
+  - - SSC SSC1 mac -S -o 1 -m <target_mac>
+    - - R SSC1 C +MAC:STA,OK
   - - SSC SSC1 espnow -D
     - - 'R SSC1 C +ESPNOW:'
-  restore post cmd set:
-  - ''
-  - - SSC SSC1 ram
-    - - R SSC1 A <heap_size>:(\d+)
-- tag: NOW2
+- tag: NOW_STAM2
   <<: *SSC_INIT_COND
-  initial condition detail: multiple (<dev_num>) targets in AP mode, espnow is initialized
-    with self role slave
+  initial condition detail: (SSC) DUT in sta mode, join AP and espnow is de-initialized
   check cmd set:
   - ''
-  - *dut1_start_wifi
-  - - SSC SSC[1-<dev_num>] op -Q
-    - - R SSC[1-<dev_num>] C +CURMODE:2
-  - - SSC SSC[1-<dev_num>] mac -Q -o 3
-    - - R SSC[1-<dev_num>] P <target[1-<dev_num>]_ap_mac> P <target[1-<dev_num>]_mac>
-  - - SSC SSC[1-<dev_num>] espnow -D
-    - - 'R SSC[1-<dev_num>] C +ESPNOW:'
-  - - SSC SSC[1-<dev_num>] espnow -I
-    - - R SSC[1-<dev_num>] C +ESPNOW:OK
-  - - SSC SSC[1-<dev_num>] espnow -R -t Set -r 2
-    - - R SSC[1-<dev_num>] C +ESPNOW:OK
+  - - SSC SSC1 op -Q
+    - - R SSC1 C +CURMODE:1
+  - - SSC SSC1 sta -Q
+    - - R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)
+  - - SSC SSC1 dhcp -Q -o 1
+    - - R SSC1 C +DHCP:STA,STARTED
+  - - SSC SSC1 mac -Q -o 1
+    - - R SSC1 P <target_mac>
+  - - SSC SSC1 espnow -D
+    - - 'R SSC1 C +ESPNOW:'
   restore cmd set:
   - ''
-  - - SSC SSC[1-<dev_num>] op -S -o 3
-    - - R SSC[1-<dev_num>] C +MODE:OK
-  - - SSC SSC[1-<dev_num>] mac -S -m <target[1-<dev_num>]_ap_mac> -o 2
-    - - R SSC[1-<dev_num>] C +MAC:AP,OK
-  - - SSC SSC[1-<dev_num>] mac -S -m <target[1-<dev_num>]_mac> -o 1
-    - - R SSC[1-<dev_num>] C +MAC:STA,OK
-  - - SSC SSC[1-<dev_num>] op -S -o 2
-    - - R SSC[1-<dev_num>] C +MODE:OK
-  - - SSC SSC[1-<dev_num>] espnow -D
-    - - 'R SSC[1-<dev_num>] C +ESPNOW:'
-  - - SSC SSC[1-<dev_num>] espnow -I
-    - - R SSC[1-<dev_num>] C +ESPNOW:OK
-  - - SSC SSC[1-<dev_num>] espnow -R -t Set -r 2
-    - - R SSC[1-<dev_num>] C +ESPNOW:OK
+  - - SSC SSC1 op -S -o 1
+    - - R SSC1 C +MODE:OK
+  - - SSC SSC1 dhcp -S -o 1
+    - - R SSC1 C +DHCP
+  - - SSC SSC1 mac -S -o 1 -m <target_mac>
+    - - R SSC1 C +MAC:STA,OK
+  - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+    - - R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)
+  - - SSC SSC1 espnow -D
+    - - 'R SSC1 C +ESPNOW:'
   force restore cmd set:
   - ''
-  - - SSC SSC[1-<dev_num>] reboot
-    - - R SSC[1-<dev_num>] C !!!ready!!!
-  - - SSC SSC[1-<dev_num>] op -S -o 3
-    - - R SSC[1-<dev_num>] C +MODE:OK
-  - - SSC SSC[1-<dev_num>] mac -S -m <target[1-<dev_num>]_ap_mac> -o 2
-    - - R SSC[1-<dev_num>] C +MAC:AP,OK
-  - - SSC SSC[1-<dev_num>] mac -S -m <target[1-<dev_num>]_mac> -o 1
-    - - R SSC[1-<dev_num>] C +MAC:STA,OK
-  - - SSC SSC[1-<dev_num>] op -S -o 2
-    - - R SSC[1-<dev_num>] C +MODE:OK
-  - - SSC SSC[1-<dev_num>] espnow -D
-    - - 'R SSC[1-<dev_num>] C +ESPNOW:'
-  - - SSC SSC[1-<dev_num>] espnow -I
-    - - R SSC[1-<dev_num>] C +ESPNOW:OK
-  - - SSC SSC[1-<dev_num>] espnow -R -t Set -r 2
-    - - R SSC[1-<dev_num>] C +ESPNOW:OK
-  restore post cmd set:
-  - ''
-  - - SSC SSC1 ram
-    - - R SSC1 A <heap_size>:(\d+)
-- tag: None
+  - - SSC SSC1 reboot
+    - - R SSC1 C !!!ready!!!
+  - - SSC SSC1 op -S -o 1
+    - - R SSC1 C +MODE:OK
+  - - SSC SSC1 dhcp -S -o 1
+    - - R SSC1 C +DHCP
+  - - SSC SSC1 mac -S -o 1 -m <target_mac>
+    - - R SSC1 C +MAC:STA,OK
+  - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+    - - R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)
+  - - SSC SSC1 espnow -D
+    - - 'R SSC1 C +ESPNOW:'
+- tag: NOW_APM1
   <<: *SSC_INIT_COND
-  initial condition detail: none
+  initial condition detail: (SSC) DUT1 in AP mode and espnow is de-initialized
   check cmd set:
   - ''
-  - - DELAY 0.1
-    - - dummy
+  - - SSC SSC1 op -Q
+    - - R SSC1 C +CURMODE:2
+  - - SSC SSC1 ap -Q
+    - - R SSC1 RE "\+APCONFIG:%%s,%%s,8,\d+,\d+,4,"%%(<target_ssid>,<target_password>)
+  - - SSC SSC1 dhcp -Q -o 2
+    - - R SSC1 C +DHCP:AP,STARTED
+  - - SSC SSC1 mac -Q -o 2
+    - - R SSC1 P <target_ap_mac>
+  - - SSC SSC1 espnow -D
+    - - 'R SSC1 C +ESPNOW:'
   restore cmd set:
   - ''
-  - - DELAY 0.1
-    - - dummy
+  - - SSC SSC1 op -S -o 2
+    - - R SSC1 C +MODE:OK
+  - - SSC SSC1 dhcp -S -o 2
+    - - R SSC1 C +DHCP
+  - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+    - - R SSC1 C +MAC:AP,OK
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -n 8
+    - - R SSC1 C +SAP:OK
+  - - SSC SSC1 espnow -D
+    - - 'R SSC1 C +ESPNOW:'
   force restore cmd set:
   - ''
   - - SSC SSC1 reboot
     - - R SSC1 C !!!ready!!!
-  restore post cmd set:
-  - ''
-  - - DELAY 0.1
-    - - dummy
-- tag: PAIR1
+  - - SSC SSC1 op -S -o 2
+    - - R SSC1 C +MODE:OK
+  - - SSC SSC1 dhcp -S -o 2
+    - - R SSC1 C +DHCP
+  - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+    - - R SSC1 C +MAC:AP,OK
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -n 8
+    - - R SSC1 C +SAP:OK
+  - - SSC SSC1 espnow -D
+    - - 'R SSC1 C +ESPNOW:'
+- tag: NOW_T2_STAM1
   <<: *SSC_INIT_COND
-  initial condition detail: one target and simple is de-inited
+  initial condition detail: (SSC) two DUTs in sta mode, set same channel and espnow is de-initialized
   check cmd set:
   - ''
-  - - SSC SSC1 sp -D
-    - - R SSC1 C +SP:OK
+  - - SSC SSC[1,2] op -Q
+    - - R SSC[1,2] C +CURMODE:1
+  - - SSC SSC[1,2] sta -D
+    - - 'R SSC[1,2] C +QAP:'
+  - - SSC SSC[1,2] channel -G
+    - - R SSC[1,2] C +CHANNEL:5
+  - - SSC SSC[1,2] dhcp -Q -o 1
+    - - R SSC[1,2] C +DHCP:STA,STARTED
+  - - SSC SSC[1,2] mac -Q -o 1
+    - - R SSC[1,2] P <target[1,2]_mac>
+  - *dut_init_espnow
   restore cmd set:
   - ''
-  - - SSC SSC1 sp -D
-    - - R SSC1 C +SP:OK
+  - - SSC SSC[1,2] op -S -o 1
+    - - R SSC[1,2] C +MODE:OK
+  - - SSC SSC[1,2] sta -D
+    - - 'R SSC[1,2] C +QAP:'
+  - - SSC SSC[1,2] channel -S -c 5
+    - - R SSC[1,2] C +CHANNEL:OK
+  - - SSC SSC[1,2] dhcp -S -o 1
+    - - R SSC[1,2] C +DHCP
+  - - SSC SSC[1,2] mac -S -o 1 -m <target[1,2]_mac>
+    - - R SSC[1,2] C +MAC:STA,OK
+  - *dut_init_espnow
   force restore cmd set:
   - ''
-  - - SSC SSC1 sp -D
+  - - SSC SSC[1,2] reboot
+    - - R SSC[1,2] C !!!ready!!!
+  - - SSC SSC[1,2] op -S -o 1
+    - - R SSC[1,2] C +MODE:OK
+  - - SSC SSC[1,2] sta -D
+    - - 'R SSC[1,2] C +QAP:'
+  - - SSC SSC[1,2] channel -S -c 5
+    - - R SSC[1,2] C +CHANNEL:OK
+  - - SSC SSC[1,2] dhcp -S -o 1
+    - - R SSC[1,2] C +DHCP
+  - - SSC SSC[1,2] mac -S -o 1 -m <target[1,2]_mac>
+    - - R SSC[1,2] C +MAC:STA,OK
+  - *dut_init_espnow
+- tag: NOW_T2_STAM2
+  <<: *SSC_INIT_COND
+  initial condition detail: (SSC) one DUT in sta mode, one DUT in softap mode, station joins softap and espnow is de-initialized
+  check cmd set:
+  - ''
+  - - SSC SSC1 op -Q
+    - - R SSC1 C +CURMODE:1
+  - - SSC SSC2 op -Q
+    - - R SSC2 C +CURMODE:2
+  - - SSC SSC2 ap -Q
+    - - R SSC2 RE "\+APCONFIG:%%s,%%s,8,\d+,\d+,4,"%%(<target_ssid>,<target_password>)
+  - - SSC SSC1 sta -Q
+    - - R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)
+  - - SSC SSC1 dhcp -Q -o 1
+    - - R SSC1 C +DHCP:STA,STARTED
+  - - SSC SSC2 dhcp -Q -o 2
+    - - R SSC2 C +DHCP:AP,STARTED
+  - - SSC SSC1 mac -Q -o 1
+    - - R SSC1 P <target_mac>
+  - - SSC SSC2 mac -Q -o 2
+    - - R SSC2 P <target2_ap_mac>
+  - *dut_init_espnow
+  restore cmd set:
+  - ''
+  - - SSC SSC1 op -S -o 1
+    - - R SSC1 C +MODE:OK
+  - - SSC SSC2 op -S -o 2
+    - - R SSC2 C +MODE:OK
+  - - SSC SSC[1,2] dhcp -S -o [1,2]
+    - - R SSC[1,2] C +DHCP
+  - - SSC SSC1 mac -S -o 1 -m <target_mac>
+    - - R SSC1 C +MAC:STA,OK
+  - - SSC SSC2 mac -S -o 2 -m <target2_ap_mac>
+    - - R SSC2 C +MAC:AP,OK
+  - - SSC SSC2 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -n 8
+    - - R SSC2 C +SAP:OK
+  - - SSC SSC1 sta -C -s <target_ssid> -p <target_password>
+    - - R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)
+  - *dut_init_espnow
+  force restore cmd set:
+  - ''
+  - - SSC SSC[1-2] reboot
+    - - R SSC[1-2] C !!!ready!!!
+  - - SSC SSC[1-2] op -S -o [1,2]
+    - - R SSC[1-2] C +MODE:OK
+  - - SSC SSC[1,2] dhcp -S -o [1,2]
+    - - R SSC[1,2] C +DHCP
+  - - SSC SSC1 mac -S -o 1 -m <target_mac>
+    - - R SSC1 C +MAC:STA,OK
+  - - SSC SSC2 mac -S -o 2 -m <target2_ap_mac>
+    - - R SSC2 C +MAC:AP,OK
+  - - SSC SSC2 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -n 8
+    - - R SSC2 C +SAP:OK
+  - - SSC SSC1 sta -C -s <target_ssid> -p <target_password>
+    - - R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)
+  - *dut_init_espnow
+- tag: NOW_T2_APM1
+  <<: *SSC_INIT_COND
+  initial condition detail: (SSC) 2 DUTs in softap mode, set same channel and espnow is de-initialized
+  check cmd set:
+  - ''
+  - - SSC SSC[1,2] op -Q
+    - - R SSC[1,2] C +CURMODE:2
+  - - SSC SSC[1,2] ap -Q
+    - - R SSC[1,2] RE "\+APCONFIG:%%s,%%s,2,\d+,\d+,4,"%%(<target_ssid>,<target_password>)
+  - - SSC SSC[1,2] dhcp -Q -o 2
+    - - R SSC[1,2] C +DHCP:AP,STARTED
+  - - SSC SSC[1,2] mac -Q -o 2
+    - - R SSC[1,2] P <target[1,2]_ap_mac>
+  - *dut_init_espnow
+  restore cmd set:
+  - ''
+  - - SSC SSC[1,2] op -S -o 2
+    - - R SSC[1,2] C +MODE:OK
+  - - SSC SSC[1,2] dhcp -S -o 2
+    - - R SSC[1,2] C +DHCP
+  - - SSC SSC[1,2] mac -S -o 2 -m <target[1,2]_ap_mac>
+    - - R SSC[1,2] C +MAC:AP,OK
+  - - SSC SSC[1,2] ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -n 2
+    - - R SSC[1,2] C +SAP:OK
+  - *dut_init_espnow
+  force restore cmd set:
+  - ''
+  - - SSC SSC[1,2] reboot
+    - - R SSC[1,2] C !!!ready!!!
+  - - SSC SSC[1,2] op -S -o 2
+    - - R SSC[1,2] C +MODE:OK
+  - - SSC SSC[1,2] dhcp -S -o 2
+    - - R SSC[1,2] C +DHCP
+  - - SSC SSC[1,2] mac -S -o 2 -m <target[1,2]_ap_mac>
+    - - R SSC[1,2] C +MAC:AP,OK
+  - - SSC SSC[1,2] ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -n 2
+    - - R SSC[1,2] C +SAP:OK
+  - *dut_init_espnow
+- tag: NOW_T2_STAAP1
+  <<: *SSC_INIT_COND
+  initial condition detail: (SSC) two DUTs in sta + ap mode, set same channel and espnow is de-initialized
+  check cmd set:
+  - ''
+  - - SSC SSC[1,2] op -Q
+    - - R SSC[1,2] C +CURMODE:3
+  - - SSC SSC[1,2] sta -D
+    - - 'R SSC[1,2] C +QAP:'
+  - - SSC SSC[1,2] ap -Q
+    - - R SSC[1,2] RE "\+APCONFIG:%%s,%%s,8,\d+,\d+,4,"%%(<target_ssid>,<target_password>)
+  - - SSC SSC[1,2] dhcp -Q -o 1
+    - - R SSC[1,2] C +DHCP:STA,STARTED
+  - - SSC SSC[1,2] dhcp -Q -o 2
+    - - R SSC[1,2] C +DHCP:AP,STARTED
+  - - SSC SSC[1,2] mac -Q -o 1
+    - - R SSC[1,2] P <target[1,2]_mac>
+  - - SSC SSC[1,2] mac -Q -o 2
+    - - R SSC[1,2] P <target[1,2]_ap_mac>
+  - *dut_init_espnow
+  restore cmd set:
+  - ''
+  - - SSC SSC[1,2] op -S -o 3
+    - - R SSC[1,2] C +MODE:OK
+  - - SSC SSC[1,2] sta -D
+    - - 'R SSC[1,2] C +QAP:'
+  - - SSC SSC[1,2] dhcp -S -o 1
+    - - R SSC[1,2] C +DHCP
+  - - SSC SSC[1,2] dhcp -S -o 2
+    - - R SSC[1,2] C +DHCP
+  - - SSC SSC[1,2] mac -S -o 1 -m <target[1,2]_mac>
+    - - R SSC[1,2] C +MAC:STA,OK
+  - - SSC SSC[1,2] mac -S -o 2 -m <target[1,2]_ap_mac>
+    - - R SSC[1,2] C +MAC:AP,OK
+  - - SSC SSC[1,2] ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -n 8
+    - - R SSC[1,2] C +SAP:OK
+  - *dut_init_espnow
+  force restore cmd set:
+  - ''
+  - - SSC SSC[1,2] reboot
+    - - R SSC[1,2] C !!!ready!!!
+  - - SSC SSC[1,2] op -S -o 3
+    - - R SSC[1,2] C +MODE:OK
+  - - SSC SSC[1,2] sta -D
+    - - 'R SSC[1,2] C +QAP:'
+  - - SSC SSC[1,2] dhcp -S -o 1
+    - - R SSC[1,2] C +DHCP
+  - - SSC SSC[1,2] dhcp -S -o 2
+    - - R SSC[1,2] C +DHCP
+  - - SSC SSC[1,2] mac -S -o 1 -m <target[1,2]_mac>
+    - - R SSC[1,2] C +MAC:STA,OK
+  - - SSC SSC[1,2] mac -S -o 2 -m <target[1,2]_ap_mac>
+    - - R SSC[1,2] C +MAC:AP,OK
+  - - SSC SSC[1,2] ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -n 8
+    - - R SSC[1,2] C +SAP:OK
+  - *dut_init_espnow
+- tag: NOW_T2_STAAP2
+  <<: *SSC_INIT_COND
+  initial condition detail: (SSC) one DUT in softap mode, one DUT in sta + softap mode, station join softap and espnow is de-initialized
+  check cmd set:
+  - ''
+  - - SSC SSC[1,2] op -Q
+    - - R SSC[1,2] C +CURMODE:3
+  - - SSC SSC2 ap -Q
+    - - R SSC2 RE "\+APCONFIG:%%s,%%s,8,\d+,\d+,4,"%%(<target_ssid>,<target_password>)
+  - - SSC SSC1 sta -Q
+    - - R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)
+  - - SSC SSC1 dhcp -Q -o 1
+    - - R SSC1 C +DHCP:STA,STARTED
+  - - SSC SSC2 dhcp -Q -o 2
+    - - R SSC2 C +DHCP:AP,STARTED
+  - - SSC SSC1 mac -Q -o 1
+    - - R SSC1 P <target_mac>
+  - - SSC SSC2 mac -Q -o 2
+    - - R SSC2 P <target2_ap_mac>
+  - - SSC SSC2 sta -D
+    - - 'R SSC2 C +QAP:'
+  - *dut_init_espnow
+  restore cmd set:
+  - ''
+  - - SSC SSC[1,2] op -S -o 3
+    - - R SSC[1,2] C +MODE:OK
+  - - SSC SSC1 dhcp -S -o 1
+    - - R SSC1 C +DHCP
+  - - SSC SSC2 dhcp -S -o 2
+    - - R SSC2 C +DHCP
+  - - SSC SSC1 mac -S -o 1 -m <target_mac>
+    - - R SSC1 C +MAC:STA,OK
+  - - SSC SSC2 mac -S -o 2 -m <target2_ap_mac>
+    - - R SSC2 C +MAC:AP,OK
+  - - SSC SSC2 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -n 8
+    - - R SSC2 C +SAP:OK
+  - - SSC SSC1 sta -C -s <target_ssid> -p <target_password>
+    - - R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)
+  - - SSC SSC2 sta -D
+    - - 'R SSC2 C +QAP:'
+  - *dut_init_espnow
+  force restore cmd set:
+  - ''
+  - - SSC SSC[1,2] reboot
+    - - R SSC[1,2] C !!!ready!!!
+  - - SSC SSC[1,2] op -S -o 3
+    - - R SSC[1,2] C +MODE:OK
+  - - SSC SSC1 dhcp -S -o 1
+    - - R SSC1 C +DHCP
+  - - SSC SSC2 dhcp -S -o 2
+    - - R SSC2 C +DHCP
+  - - SSC SSC1 mac -S -o 1 -m <target_mac>
+    - - R SSC1 C +MAC:STA,OK
+  - - SSC SSC2 mac -S -o 2 -m <target2_ap_mac>
+    - - R SSC2 C +MAC:AP,OK
+  - - SSC SSC2 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -n 8
+    - - R SSC2 C +SAP:OK
+  - - SSC SSC1 sta -C -s <target_ssid> -p <target_password>
+    - - R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)
+  - - SSC SSC2 sta -D
+    - - 'R SSC2 C +QAP:'
+  - *dut_init_espnow
+- tag: None
+  <<: *SSC_INIT_COND
+  initial condition detail: (SSC) do nothing
+  check cmd set:
+  - ''
+  - - DELAY 0.1
+    - - dummy
+  restore cmd set:
+  - ''
+  - - DELAY 0.1
+    - - dummy
+  force restore cmd set:
+  - ''
+  - - SSC SSC1 reboot
+    - - R SSC1 C !!!ready!!!
+  restore post cmd set:
+  - ''
+  - - DELAY 0.1
+    - - dummy
+- tag: PAIR1
+  <<: *SSC_INIT_COND
+  initial condition detail: (SSC) DUT1 and simple is de-inited
+  check cmd set:
+  - ''
+  - - SSC SSC1 sp -D
+    - - R SSC1 C +SP:OK
+  restore cmd set:
+  - ''
+  - - SSC SSC1 sp -D
+    - - R SSC1 C +SP:OK
+  force restore cmd set:
+  - ''
+  - - SSC SSC1 sp -D
     - - R SSC1 C +SP:OK
   restore post cmd set:
   - ''
@@ -1377,7 +1741,7 @@ initial condition:
     - - R SSC1 A <heap_size>:(\d+)
 - tag: PAIR2
   <<: *SSC_INIT_COND
-  initial condition detail: target1 in AP mode, target2 in STA mode, two targets de-init
+  initial condition detail: (SSC) DUT1 in SoftAP mode, DUT2 in STA mode, two DUTs deinit simple pair
     and init simple pair
   check cmd set:
   - ''
@@ -1425,7 +1789,7 @@ initial condition:
     - - R SSC1 A <heap_size>:(\d+)
 - tag: PAIR3
   <<: *SSC_INIT_COND
-  initial condition detail: target1 and target2 in STA+AP mode, two targets de-init
+  initial condition detail: (SSC) DUT1 and DUT2 set to STA+SoftAP mode, two DUTs deinit simple pair
     and init simple pair
   check cmd set:
   - ''
@@ -1469,7 +1833,7 @@ initial condition:
     - - R SSC1 A <heap_size>:(\d+)
 - tag: STAAP1
   <<: *SSC_INIT_COND
-  initial condition detail: testing sta on sta + ap mode, quit AP (autogen by STAM1)
+  initial condition detail: (SSC) DUT set to STA+SoftAP mode, disconnected from AP, enable DHCP client
   check cmd set:
   - ''
   - *dut1_start_wifi
@@ -1505,8 +1869,7 @@ initial condition:
     - - R SSC1 C +MAC:STA,OK
 - tag: STAAP2
   <<: *SSC_INIT_COND
-  initial condition detail: testing sta on sta + ap mode,  join AP, DHCP on (autogen
-    by STAM2)
+  initial condition detail: (SSC) DUT set to STA+SoftAP mode, connected with AP
   check cmd set:
   - ''
   - *dut1_start_wifi
@@ -1542,8 +1905,7 @@ initial condition:
     - - R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)
 - tag: STAM1
   <<: *SSC_INIT_COND
-  initial condition detail: sta mode, quit AP, DHCP on, will autogen a TC with initial
-    condition STAAP1
+  initial condition detail: (SSC) DUT set to STA mode, disconnected from AP, enable DHCP client
   check cmd set:
   - ''
   - *dut1_start_wifi
@@ -1579,8 +1941,7 @@ initial condition:
     - - R SSC1 C +MAC:STA,OK
 - tag: STAM2
   <<: *SSC_INIT_COND
-  initial condition detail: sta mode, join AP, DHCP on, will autogen a TC with initial
-    condition STAAP2
+  initial condition detail: (SSC) DUT set to STA mode, connected with AP
   check cmd set:
   - ''
   - *dut1_start_wifi
@@ -1614,54 +1975,63 @@ initial condition:
     - - R SSC1 C +MAC:STA,OK
   - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
     - - R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)
-- tag: STAO1
+- tag: STAM2_MDNS
   <<: *SSC_INIT_COND
-  initial condition detail: sta mode, quit AP, will NOT autogen a TC with initial
-    condition STAAP1
+  initial condition detail: (SSC) DUT set to STA mode, connected with AP, restart MDNS
   check cmd set:
   - ''
-  - *dut1_start_wifi
   - - SSC SSC1 op -Q
     - - R SSC1 C +CURMODE:1
-  - - SSC SSC1 sta -D
-    - - 'R SSC1 C +QAP:'
+  - - SSC SSC1 sta -Q
+    - - R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)
   - - SSC SSC1 dhcp -Q -o 1
     - - R SSC1 C +DHCP:STA,STARTED
   - - SSC SSC1 mac -Q -o 1
     - - R SSC1 P <target_mac>
+  - - SSC SSC1 mdns -T
+    - - R SSC1 C +MDNS:OK
+  - - SSC SSC1 mdns -I
+    - - R SSC1 C +MDNS:OK
   restore cmd set:
   - ''
   - - SSC SSC1 op -S -o 1
     - - R SSC1 C +MODE:OK
-  - - SSC SSC1 sta -D
-    - - 'R SSC1 C +QAP:'
   - - SSC SSC1 dhcp -S -o 1
     - - R SSC1 C +DHCP
   - - SSC SSC1 mac -S -o 1 -m <target_mac>
     - - R SSC1 C +MAC:STA,OK
+  - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+    - - R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)
+  - - SSC SSC1 mdns -T
+    - - R SSC1 C +MDNS:OK
+  - - SSC SSC1 mdns -I
+    - - R SSC1 C +MDNS:OK
   force restore cmd set:
   - ''
   - - SSC SSC1 reboot
     - - R SSC1 C !!!ready!!!
   - - SSC SSC1 op -S -o 1
     - - R SSC1 C +MODE:OK
-  - - SSC SSC1 sta -D
-    - - 'R SSC1 C +QAP:'
   - - SSC SSC1 dhcp -S -o 1
     - - R SSC1 C +DHCP
   - - SSC SSC1 mac -S -o 1 -m <target_mac>
     - - R SSC1 C +MAC:STA,OK
-- tag: STAO2
+  - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+    - - R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)
+  - - SSC SSC1 mdns -T
+    - - R SSC1 C +MDNS:OK
+  - - SSC SSC1 mdns -I
+    - - R SSC1 C +MDNS:OK
+- tag: STAO1
   <<: *SSC_INIT_COND
-  initial condition detail: sta mode, join AP, DHCP on, will NOT autogen a TC with
-    initial condition STAAP2
+  initial condition detail: (SSC) DUT set to STA mode, disconnected from AP, enable DHCP client
   check cmd set:
   - ''
   - *dut1_start_wifi
   - - SSC SSC1 op -Q
     - - R SSC1 C +CURMODE:1
-  - - SSC SSC1 sta -Q
-    - - R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)
+  - - SSC SSC1 sta -D
+    - - 'R SSC1 C +QAP:'
   - - SSC SSC1 dhcp -Q -o 1
     - - R SSC1 C +DHCP:STA,STARTED
   - - SSC SSC1 mac -Q -o 1
@@ -1670,62 +2040,63 @@ initial condition:
   - ''
   - - SSC SSC1 op -S -o 1
     - - R SSC1 C +MODE:OK
+  - - SSC SSC1 sta -D
+    - - 'R SSC1 C +QAP:'
   - - SSC SSC1 dhcp -S -o 1
     - - R SSC1 C +DHCP
   - - SSC SSC1 mac -S -o 1 -m <target_mac>
     - - R SSC1 C +MAC:STA,OK
-  - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
-    - - R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)
   force restore cmd set:
   - ''
   - - SSC SSC1 reboot
     - - R SSC1 C !!!ready!!!
   - - SSC SSC1 op -S -o 1
     - - R SSC1 C +MODE:OK
+  - - SSC SSC1 sta -D
+    - - 'R SSC1 C +QAP:'
   - - SSC SSC1 dhcp -S -o 1
     - - R SSC1 C +DHCP
   - - SSC SSC1 mac -S -o 1 -m <target_mac>
     - - R SSC1 C +MAC:STA,OK
-  - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
-    - - R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)
-- tag: STAWIFISTO
+- tag: STAO2
   <<: *SSC_INIT_COND
-  initial condition detail: STA mode,  wifi will stop with initial condition STAWIFISTO
+  initial condition detail: (SSC) DUT set to STA mode, connected with AP
   check cmd set:
   - ''
+  - *dut1_start_wifi
   - - SSC SSC1 op -Q
     - - R SSC1 C +CURMODE:1
-  - - SSC SSC1 op -W -a init
-    - - R SSC1 C +MODE:OK
-  - - SSC SSC1 op -W -a start
-    - - R SSC1 C +MODE:OK
-  - - SSC SSC1 op -W -a stop
-    - - R SSC1 C +MODE:OK
+  - - SSC SSC1 sta -Q
+    - - R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)
+  - - SSC SSC1 dhcp -Q -o 1
+    - - R SSC1 C +DHCP:STA,STARTED
+  - - SSC SSC1 mac -Q -o 1
+    - - R SSC1 P <target_mac>
   restore cmd set:
   - ''
   - - SSC SSC1 op -S -o 1
     - - R SSC1 C +MODE:OK
-  - - SSC SSC1 op -W -a init
-    - - R SSC1 C +MODE:OK
-  - - SSC SSC1 op -W -a start
-    - - R SSC1 C +MODE:OK
-  - - SSC SSC1 op -W -a stop
-    - - R SSC1 C +MODE:OK
+  - - SSC SSC1 dhcp -S -o 1
+    - - R SSC1 C +DHCP
+  - - SSC SSC1 mac -S -o 1 -m <target_mac>
+    - - R SSC1 C +MAC:STA,OK
+  - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+    - - R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)
   force restore cmd set:
   - ''
   - - SSC SSC1 reboot
     - - R SSC1 C !!!ready!!!
   - - SSC SSC1 op -S -o 1
     - - R SSC1 C +MODE:OK
-  - - SSC SSC1 op -W -a init
-    - - R SSC1 C +MODE:OK
-  - - SSC SSC1 op -W -a start
-    - - R SSC1 C +MODE:OK
-  - - SSC SSC1 op -W -a stop
-    - - R SSC1 C +MODE:OK
+  - - SSC SSC1 dhcp -S -o 1
+    - - R SSC1 C +DHCP
+  - - SSC SSC1 mac -S -o 1 -m <target_mac>
+    - - R SSC1 C +MAC:STA,OK
+  - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+    - - R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)
 - tag: T1_ETH
   <<: *SSC_INIT_COND
-  initial condition detail: ethernet is enabled and got IP from AP
+  initial condition detail: (SSC) ethernet is enabled and got IP from AP
   check cmd set:
   - ''
   - - SSC SSC1 eth -N
@@ -1756,8 +2127,7 @@ initial condition:
     - - R SSC1 C +ETHIP:192.168
 - tag: T2O_1
   <<: *SSC_INIT_COND
-  initial condition detail: same as T2_1 but will NOT autogen a TC with initial condition
-    T2_2
+  initial condition detail: (SSC) DUT1 set to SoftAP mode, DUT2 set to STA mode, enable DHCP
   check cmd set:
   - ''
   - *dut1_start_wifi
@@ -1819,8 +2189,7 @@ initial condition:
     - - R SSC2 C +MAC:STA,OK
 - tag: T2_1
   <<: *SSC_INIT_COND
-  initial condition detail: target 1 as SoftAP, target 2 as STA, will autogen a TC
-    with initial condition T2_2
+  initial condition detail: (SSC) DUT1 set to SoftAP mode, DUT2 set to STA mode, enable DHCP
   check cmd set:
   - ''
   - *dut1_start_wifi
@@ -1882,7 +2251,7 @@ initial condition:
     - - R SSC2 C +MAC:STA,OK
 - tag: T2_2
   <<: *SSC_INIT_COND
-  initial condition detail: target 1 as AP+STA, target 2 as AP+STA (autogen)
+  initial condition detail: (SSC) DUT1 and DUT2 set to STA+SoftAP mode, enable DHCP
   check cmd set:
   - ''
   - *dut1_start_wifi
@@ -1942,49 +2311,706 @@ initial condition:
     - - R SSC1 C +MAC:AP,OK
   - - SSC SSC2 mac -S -o 1 -m <target2_mac>
     - - R SSC2 C +MAC:STA,OK
-- tag: T3_PHY1
+- tag: T2_3
   <<: *SSC_INIT_COND
-  initial condition detail: |-
-    1. target 1 and target 2 set to AP+STA mode, target 3 set to STA mode
-    2. all interface of target 2,3 set to 11n ht40
-    3. config softAP of target 1 and target 2
+  initial condition detail: (SSC) DUT1 set to STA+SoftAP mode, DUT2 set to STA+SoftAP mode
   check cmd set:
   - ''
-  - - SSC SSC[1-3] op -Q
-    - - R SSC[1-3] C +CURMODE:3
-  - - SSC SSC[1-3] phy -Q -o 3
-    - - R SSC[1-3] C STA,n,40 C AP,n,40
+  - - SSC SSC1 op -Q
+    - - R SSC1 C +CURMODE:2
+  - - SSC SSC2 op -Q
+    - - R SSC2 C +CURMODE:3
+  - - SSC SSC2 sta -D
+    - - 'R SSC2 C +QAP:'
+  - - SSC SSC2 soc -T
+    - - R SSC2 C +CLOSEALL
+  - - SSC SSC1 dhcp -Q -o 2
+    - - R SSC1 C +DHCP:AP,STARTED
+  - - SSC SSC2 dhcp -Q -o 1
+    - - R SSC2 C +DHCP:STA,STARTED
+  - - SSC SSC1 mac -Q -o 2
+    - - R SSC1 P <target_ap_mac>
+  - - SSC SSC2 mac -Q -o 1
+    - - R SSC2 P <target2_mac>
   restore cmd set:
   - ''
-  - - SSC SSC[1-3] op -S -o 3
-    - - R SSC[1-3] C +MODE:OK
-  - - SSC SSC[1-3] phy -S -o 3 -m n -b 40
-    - - R SSC[1-3] C +PHY:OK
+  - - SSC SSC1 op -S -o 2
+    - - R SSC1 C +MODE:OK
+  - - SSC SSC2 op -S -o 3
+    - - R SSC2 C +MODE:OK
+  - - SSC SSC2 sta -D
+    - - 'R SSC2 C +QAP:'
+  - - SSC SSC2 soc -T
+    - - R SSC2 C +CLOSEALL
+  - - SSC SSC1 dhcp -S -o 2
+    - - R SSC1 C +DHCP
+  - - SSC SSC2 dhcp -S -o 1
+    - - R SSC2 C +DHCP
+  - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+    - - R SSC1 C +MAC:AP,OK
+  - - SSC SSC2 mac -S -o 1 -m <target2_mac>
+    - - R SSC2 C +MAC:STA,OK
   force restore cmd set:
   - ''
-  - - SSC SSC[1-3] reboot
-    - - R SSC[1-3] C !!!ready!!!
-  - - SSC SSC[1-3] op -S -o 3
-    - - R SSC[1-3] C +MODE:OK
-  - - SSC SSC[1-3] phy -S -o 3 -m n -b 40
-    - - R SSC[1-3] C +PHY:OK
-  restore post cmd set:
-  - ''
-  - - SSC SSC1 soc -T
-    - - R SSC1 C +CLOSEALL
-  - - SSC SSC1 sta -R -r 1
-    - - R SSC1 C OK
-  - - SSC SSC1 ram
-    - - R SSC1 A <heap_size>:(\d+)
-- tag: WIFIBTSTOP
-  <<: *SSC_INIT_COND
-  initial condition detail: bt controller and host will be disabled and deinit with
-    initial condition wifibtstop
-  check cmd set:
-  - ''
-  - - SSC SSC1 op -Q
-    - - R SSC1 C +CURMODE:3
-  - - SSC SSC1 op -W -a init
+  - - SSC SSC1 reboot
+    - - R SSC1 C !!!ready!!!
+  - - SSC SSC2 reboot
+    - - R SSC2 C !!!ready!!!
+  - - SSC SSC1 op -S -o 2
+    - - R SSC1 C +MODE:OK
+  - - SSC SSC2 op -S -o 3
+    - - R SSC2 C +MODE:OK
+  - - SSC SSC2 sta -D
+    - - 'R SSC2 C +QAP:'
+  - - SSC SSC2 soc -T
+    - - R SSC2 C +CLOSEALL
+  - - SSC SSC1 dhcp -S -o 2
+    - - R SSC1 C +DHCP
+  - - SSC SSC2 dhcp -S -o 1
+    - - R SSC2 C +DHCP
+  - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+    - - R SSC1 C +MAC:AP,OK
+  - - SSC SSC2 mac -S -o 1 -m <target2_mac>
+    - - R SSC2 C +MAC:STA,OK
+- tag: T2_MDNS
+  <<: *SSC_INIT_COND
+  initial condition detail: (SSC) Both DUT set to STA mode, connected with AP, restart MDNS
+  check cmd set:
+  - ''
+  - - SSC SSC[1-2] op -Q
+    - - R SSC[1-2] C+CURMODE:1
+  - - SSC SSC[1-2] sta -Q
+    - - R SSC[1-2] RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)
+  - - SSC SSC[1-2] dhcp -Q -o 1
+    - - R SSC[1-2] C +DHCP:STA,STARTED
+  - - SSC SSC1 mac -Q -o 1
+    - - R SSC1 P <target_mac>
+  - - SSC SSC2 mac -Q -o 1
+    - - R SSC2 P <target2_mac>
+  - - SSC SSC[1-2] mdns -T
+    - - R SSC[1-2] C +MDNS:OK
+  - - SSC SSC[1-2] mdns -I
+    - - R SSC[1-2] C +MDNS:OK
+  restore cmd set:
+  - ''
+  - - SSC SSC[1-2] op -S -o [1,1]
+    - - R SSC[1-2] C +MODE:OK
+  - - SSC SSC[1-2] dhcp -S -o 1
+    - - R SSC[1-2] C +DHCP
+  - - SSC SSC1 mac -S -o 1 -m <target_mac>
+    - - R SSC1 C +MAC:STA,OK
+  - - SSC SSC2 mac -S -o 1 -m <target2_mac>
+    - - R SSC2 C +MAC:STA,OK
+  - - SSC SSC[1-2] sta -C -s <ap_ssid> -p <ap_password>
+    - - R SSC[1-2] RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)
+  - - SSC SSC[1-2] mdns -T
+    - - R SSC[1-2] C +MDNS:OK
+  - - SSC SSC[1-2] mdns -I
+    - - R SSC[1-2] C +MDNS:OK
+  force restore cmd set:
+  - ''
+  - - SSC SSC[1-2] reboot
+    - - R SSC[1-2] C !!!ready!!!
+  - - SSC SSC[1-2] op -S -o 1
+    - - R SSC[1-2] C +MODE:OK
+  - - SSC SSC[1-2] dhcp -S -o 1
+    - - R SSC[1-2] C +DHCP
+  - - SSC SSC1 mac -S -o 1 -m <target_mac>
+    - - R SSC1 C +MAC:STA,OK
+  - - SSC SSC2 mac -S -o 1 -m <target2_mac>
+    - - R SSC2 C +MAC:STA,OK
+  - - SSC SSC[1-2] sta -C -s <ap_ssid> -p <ap_password>
+    - - R SSC[1-2] RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)
+  - - SSC SSC[1-2] mdns -T
+    - - R SSC[1-2] C +MDNS:OK
+  - - SSC SSC[1-2] mdns -I
+    - - R SSC[1-2] C +MDNS:OK
+- tag: T2_MDNS_MODE1
+  <<: *SSC_INIT_COND
+  initial condition detail: (SSC) DUT1 set to STA mode, DUT2 set to SoftAP mode, DUT1 connected with DUT2, restart MDNS
+  check cmd set:
+  - ''
+  - - SSC SSC1 op -Q
+    - - R SSC1 C+CURMODE:1
+  - - SSC SSC2 op -Q
+    - - R SSC2 C+CURMODE:2
+  - - SSC SSC1 sta -Q
+    - - R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)
+  - - SSC SSC2 ap -Q
+    - - R SSC2 RE "\+APCONFIG:%%s,%%s,7,\d+,\d+,4,"%%(<target_ssid>,<target_password>)
+  - - SSC SSC1 dhcp -Q -o 1
+    - - R SSC1 C +DHCP:STA,STARTED
+  - - SSC SSC2 dhcp -Q -o 2
+    - - R SSC2 C +DHCP:AP,STARTED
+  - - SSC SSC1 mac -Q -o 1
+    - - R SSC1 P <target_mac>
+  - - SSC SSC2 mac -Q -o 2
+    - - R SSC2 P <target2_ap_mac>
+  - - SSC SSC[1-2] mdns -T
+    - - R SSC[1-2] C +MDNS:OK
+  - - SSC SSC[1-2] mdns -I
+    - - R SSC[1-2] C +MDNS:OK
+  restore cmd set:
+  - ''
+  - - SSC SSC[1-2] op -S -o [1,2]
+    - - R SSC[1-2] C +MODE:OK
+  - - SSC SSC[1-2] dhcp -S -o [1,2]
+    - - R SSC[1-2] C +DHCP
+  - - SSC SSC1 mac -S -o 1 -m <target_mac>
+    - - R SSC1 C +MAC:STA,OK
+  - - SSC SSC2 mac -S -o 2 -m <target2_ap_mac>
+    - - R SSC2 C +MAC:AP,OK
+  - - SSC SSC2 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -n 7
+    - - R SSC2 C +SAP:OK
+  - - SSC SSC1 sta -C -s <target_ssid> -p <target_password>
+    - - R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)
+  - - SSC SSC[1-2] mdns -T
+    - - R SSC[1-2] C +MDNS:OK
+  - - SSC SSC[1-2] mdns -I
+    - - R SSC[1-2] C +MDNS:OK
+  force restore cmd set:
+  - ''
+  - - SSC SSC[1-2] reboot
+    - - R SSC[1-2] C !!!ready!!!
+  - - SSC SSC[1-2] op -S -o [1,2]
+    - - R SSC[1-2] C +MODE:OK
+  - - SSC SSC[1-2] dhcp -S -o [1,2]
+    - - R SSC[1-2] C +DHCP
+  - - SSC SSC1 mac -S -o 1 -m <target_mac>
+    - - R SSC1 C +MAC:STA,OK
+  - - SSC SSC2 mac -S -o 2 -m <target2_ap_mac>
+    - - R SSC2 C +MAC:AP,OK
+  - - SSC SSC2 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -n 7
+    - - R SSC2 C +SAP:OK
+  - - SSC SSC1 sta -C -s <target_ssid> -p <target_password>
+    - - R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)
+  - - SSC SSC[1-2] mdns -T
+    - - R SSC[1-2] C +MDNS:OK
+  - - SSC SSC[1-2] mdns -I
+    - - R SSC[1-2] C +MDNS:OK
+- tag: T2_MDNS_MODE2
+  <<: *SSC_INIT_COND
+  initial condition detail: (SSC) DUT1 set to SoftAP mode, DUT2 set to STA mode, DUT1 connected with DUT2, restart MDNS
+  check cmd set:
+  - ''
+  - - SSC SSC1 op -Q
+    - - R SSC1 C+CURMODE:2
+  - - SSC SSC2 op -Q
+    - - R SSC2 C+CURMODE:1
+  - - SSC SSC1 ap -Q
+    - - R SSC1 RE "\+APCONFIG:%%s,%%s,7,\d+,\d+,4,"%%(<target_ssid>,<target_password>)
+  - - SSC SSC2 sta -Q
+    - - R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)
+  - - SSC SSC1 dhcp -Q -o 2
+    - - R SSC1 C +DHCP:AP,STARTED
+  - - SSC SSC2 dhcp -Q -o 1
+    - - R SSC2 C +DHCP:STA,STARTED
+  - - SSC SSC1 mac -Q -o 2
+    - - R SSC1 P <target_ap_mac>
+  - - SSC SSC2 mac -Q -o 1
+    - - R SSC2 P <target2_mac>
+  - - SSC SSC[1-2] mdns -T
+    - - R SSC[1-2] C +MDNS:OK
+  - - SSC SSC[1-2] mdns -I
+    - - R SSC[1-2] C +MDNS:OK
+  restore cmd set:
+  - ''
+  - - SSC SSC[1-2] op -S -o [2,1]
+    - - R SSC[1-2] C +MODE:OK
+  - - SSC SSC[1-2] dhcp -S -o [2,1]
+    - - R SSC[1-2] C +DHCP
+  - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+    - - R SSC1 C +MAC:AP,OK
+  - - SSC SSC2 mac -S -o 1 -m <target2_mac>
+    - - R SSC2 C +MAC:STA,OK
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -n 7
+    - - R SSC1 C +SAP:OK
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - - R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)
+  - - SSC SSC[1-2] mdns -T
+    - - R SSC[1-2] C +MDNS:OK
+  - - SSC SSC[1-2] mdns -I
+    - - R SSC[1-2] C +MDNS:OK
+  force restore cmd set:
+  - ''
+  - - SSC SSC[1-2] reboot
+    - - R SSC[1-2] C !!!ready!!!
+  - - SSC SSC[1-2] op -S -o [2,1]
+    - - R SSC[1-2] C +MODE:OK
+  - - SSC SSC[1-2] dhcp -S -o [2,1]
+    - - R SSC[1-2] C +DHCP
+  - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+    - - R SSC1 C +MAC:AP,OK
+  - - SSC SSC2 mac -S -o 1 -m <target2_mac>
+    - - R SSC2 C +MAC:STA,OK
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -n 7
+    - - R SSC1 C +SAP:OK
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - - R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)
+  - - SSC SSC[1-2] mdns -T
+    - - R SSC[1-2] C +MDNS:OK
+  - - SSC SSC[1-2] mdns -I
+    - - R SSC[1-2] C +MDNS:OK
+- tag: T3_1
+  <<: *SSC_INIT_COND
+  initial condition detail: (SSC) DUT1 set to STA+SoftAP mode, DUT2 and DUT3 set to STA mode
+  check cmd set:
+  - ''
+  - - SSC SSC1 op -Q
+    - - R SSC1 C +CURMODE:3
+  - - SSC SSC[2-3] op -Q
+    - - R SSC[2-3] C +CURMODE:1
+  - - SSC SSC[1-3] sta -D
+    - - 'R SSC[1-3] C +QAP:'
+  - - SSC SSC1 dhcp -S -o 2
+    - - R SSC1 C +DHCP
+  - - SSC SSC[2-3] dhcp -Q -o 1
+    - - R SSC[2-3] C +DHCP:STA,STARTED
+  - - SSC SSC1 mac -Q -o 2
+    - - R SSC1 P <target_ap_mac>
+  - - SSC SSC2 mac -Q -o 1
+    - - R SSC2 P <target2_mac>
+  - - SSC SSC3 mac -Q -o 1
+    - - R SSC3 P <target3_mac>
+  restore cmd set:
+  - ''
+  - - SSC SSC[1-3] op -S -o [3,1,1]
+    - - R SSC[1-3] C +MODE:OK
+  - - SSC SSC[1-3] sta -D
+    - - 'R SSC[1-3] C +QAP:'
+  - - SSC SSC[1-3] dhcp -S -o [2,1,1]
+    - - R SSC[1-3] C +DHCP
+  - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+    - - R SSC1 C +MAC:AP,OK
+  - - SSC SSC2 mac -S -o 1 -m <target2_mac>
+    - - R SSC2 C +MAC:STA,OK
+  - - SSC SSC3 mac -S -o 1 -m <target3_mac>
+    - - R SSC3 C +MAC:STA,OK
+  force restore cmd set:
+  - ''
+  - - SSC SSC[1-3] reboot
+    - - R SSC[1-3] C !!!ready!!!
+  - - SSC SSC[1-3] op -S -o [3,1,1]
+    - - R SSC[1-3] C +MODE:OK
+  - - SSC SSC[1-3] sta -D
+    - - 'R SSC[1-3] C +QAP:'
+  - - SSC SSC[1-3] dhcp -S -o [2,1,1]
+    - - R SSC[1-3] C +DHCP
+  - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+    - - R SSC1 C +MAC:AP,OK
+  - - SSC SSC2 mac -S -o 1 -m <target2_mac>
+    - - R SSC2 C +MAC:STA,OK
+  - - SSC SSC3 mac -S -o 1 -m <target3_mac>
+    - - R SSC3 C +MAC:STA,OK
+- tag: T3_2
+  <<: *SSC_INIT_COND
+  initial condition detail: (SSC) DUT1 set to SoftAP mode, DUT2 as STA mode
+  check cmd set:
+  - ''
+  - - SSC SSC1 op -Q
+    - - R SSC1 C +CURMODE:2
+  - - SSC SSC2 op -Q
+    - - R SSC2 C +CURMODE:1
+  - - SSC SSC3 op -Q
+    - - R SSC3 C +CURMODE:2
+  - - SSC SSC2 sta -D
+    - - 'R SSC2 C +QAP:'
+  - - SSC SSC2 soc -T
+    - - ''
+  - - SSC SSC1 dhcp -Q -o 2
+    - - R SSC1 C +DHCP:AP,STARTED
+  - - SSC SSC2 dhcp -Q -o 1
+    - - R SSC2 C +DHCP:STA,STARTED
+  - - SSC SSC3 dhcp -Q -o 2
+    - - R SSC3 C +DHCP:AP,STARTED
+  - - SSC SSC1 mac -Q -o 2
+    - - R SSC1 P <target_ap_mac>
+  - - SSC SSC2 mac -Q -o 1
+    - - R SSC2 P <target2_mac>
+  - - SSC SSC3 mac -Q -o 2
+    - - R SSC3 P <target3_ap_mac>
+  restore cmd set:
+  - ''
+  - - SSC SSC[1-3] op -S -o [2,1,2]
+    - - R SSC[1-3] C +MODE:OK
+  - - SSC SSC2 sta -D
+    - - 'R SSC2 C +QAP:'
+  - - SSC SSC2 soc -T
+    - - ''
+  - - SSC SSC[1-3] dhcp -S -o [2,1,2]
+    - - R SSC[1-3] C +DHCP
+  - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+    - - R SSC1 C +MAC:AP,OK
+  - - SSC SSC2 mac -S -o 1 -m <target2_mac>
+    - - R SSC2 C +MAC:STA,OK
+  - - SSC SSC3 mac -S -o 2 -m <target3_ap_mac>
+    - - R SSC3 C +MAC:AP,OK
+  force restore cmd set:
+  - ''
+  - - SSC SSC[1-3] reboot
+    - - R SSC[1-3] C !!!ready!!!
+  - - SSC SSC[1-3] op -S -o [2,1,2]
+    - - R SSC[1-3] C +MODE:OK
+  - - SSC SSC2 sta -D
+    - - 'R SSC2 C +QAP:'
+  - - SSC SSC2 soc -T
+    - - ''
+  - - SSC SSC[1-3] dhcp -S -o [2,1,2]
+    - - R SSC[1-3] C +DHCP
+  - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+    - - R SSC1 C +MAC:AP,OK
+  - - SSC SSC2 mac -S -o 1 -m <target2_mac>
+    - - R SSC2 C +MAC:STA,OK
+  - - SSC SSC3 mac -S -o 2 -m <target3_ap_mac>
+    - - R SSC3 C +MAC:AP,OK
+- tag: T3_3
+  <<: *SSC_INIT_COND
+  initial condition detail: (SSC) DUT1 set to SoftAp mode, DUT2-3 set to STA mode
+  check cmd set:
+  - ''
+  - - SSC SSC[1,2,3] op -Q
+    - - R SSC[1,2,3] C +CURMODE:[2,1,1]
+  - - SSC SSC[2,3] sta -D
+    - - 'R SSC[2,3] C +QAP:'
+  restore cmd set:
+  - ''
+  - - SSC SSC[1,2,3] op -S -o [2,1,1]
+    - - R SSC[1,2,3] C +MODE:OK
+  - - SSC SSC[2,3] sta -D
+    - - 'R SSC[2,3] C +QAP:'
+  force restore cmd set:
+  - ''
+  - - SSC SSC[1,2,3] reboot
+    - - R SSC[1,2,3] C !!!ready!!!
+  - - SSC SSC[1,2,3] op -S -o [2,1,1]
+    - - R SSC[1,2,3] C +MODE:OK
+  - - SSC SSC[2,3] sta -D
+    - - 'R SSC[2,3] C +QAP:'
+- tag: T3_MDNS
+  <<: *SSC_INIT_COND
+  initial condition detail: (SSC) All 3 DUTs set to STA mode, connected with AP, restart MDNS
+  check cmd set:
+  - ''
+  - - SSC SSC[1-3] op -Q
+    - - R SSC[1-3] C +CURMODE:1
+  - - SSC SSC[1-3] sta -Q
+    - - R SSC[1-3] RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)
+  - - SSC SSC[1-3] dhcp -Q -o 1
+    - - R SSC[1-3] C +DHCP:STA,STARTED
+  - - SSC SSC1 mac -Q -o 1
+    - - R SSC1 P <target_mac>
+  - - SSC SSC2 mac -Q -o 1
+    - - R SSC2 P <target2_mac>
+  - - SSC SSC3 mac -Q -o 1
+    - - R SSC3 P <target3_mac>
+  - - SSC SSC[1-3] mdns -T
+    - - R SSC[1-3] C +MDNS:OK
+  - - SSC SSC[1-3] mdns -I
+    - - R SSC[1-3] C +MDNS:OK
+  restore cmd set:
+  - ''
+  - - SSC SSC[1-3] op -S -o 1
+    - - R SSC[1-3] C +MODE:OK
+  - - SSC SSC[1-3] dhcp -S -o 1
+    - - R SSC[1-3] C +DHCP
+  - - SSC SSC1 mac -S -o 1 -m <target_mac>
+    - - R SSC1 C +MAC:STA,OK
+  - - SSC SSC2 mac -S -o 1 -m <target2_mac>
+    - - R SSC2 C +MAC:STA,OK
+  - - SSC SSC3 mac -S -o 1 -m <target3_mac>
+    - - R SSC3 C +MAC:STA,OK
+  - - SSC SSC[1-3] sta -C -s <ap_ssid> -p <ap_password>
+    - - R SSC[1-3] RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)
+  - - SSC SSC[1-3] mdns -T
+    - - R SSC[1-3] C +MDNS:OK
+  - - SSC SSC[1-3] mdns -I
+    - - R SSC[1-3] C +MDNS:OK
+  force restore cmd set:
+  - ''
+  - - SSC SSC[1-3] reboot
+    - - R SSC[1-3] C !!!ready!!!
+  - - SSC SSC[1-3] op -S -o 1
+    - - R SSC[1-3] C +MODE:OK
+  - - SSC SSC[1-3] dhcp -S -o 1
+    - - R SSC[1-3] C +DHCP
+  - - SSC SSC1 mac -S -o 1 -m <target_mac>
+    - - R SSC1 C +MAC:STA,OK
+  - - SSC SSC2 mac -S -o 1 -m <target2_mac>
+    - - R SSC2 C +MAC:STA,OK
+  - - SSC SSC3 mac -S -o 1 -m <target3_mac>
+    - - R SSC3 C +MAC:STA,OK
+  - - SSC SSC[1-3] sta -C -s <ap_ssid> -p <ap_password>
+    - - R SSC[1-3] RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)
+  - - SSC SSC[1-3] mdns -T
+    - - R SSC[1-3] C +MDNS:OK
+  - - SSC SSC[1-3] mdns -I
+    - - R SSC[1-3] C +MDNS:OK
+- tag: T3_MDNS_MODE1
+  <<: *SSC_INIT_COND
+  initial condition detail: (SSC) DUT1 and DUT2 set to STA mode, DUT3 set to SoftAP mode, DUT1 and DUT2 connected with DUT3, restart MDNS on all DUTs
+  check cmd set:
+  - ''
+  - - SSC SSC[1-2] op -Q
+    - - R SSC[1-2] C +CURMODE:1
+  - - SSC SSC3 op -Q
+    - - R SSC3 C +CURMODE:2
+  - - SSC SSC[1-2] sta -Q
+    - - R SSC[1-2] RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)
+  - - SSC SSC3 ap -Q
+    - - R SSC3 RE "\+APCONFIG:%%s,%%s,7,\d+,\d+,4,"%%(<target_ssid>,<target_password>)
+  - - SSC SSC[1-2] dhcp -Q -o 1
+    - - R SSC[1-2] C +DHCP:STA,STARTED
+  - - SSC SSC3 dhcp -Q -o 2
+    - - R SSC3 C +DHCP:AP,STARTED
+  - - SSC SSC1 mac -Q -o 1
+    - - R SSC1 P <target_mac>
+  - - SSC SSC2 mac -Q -o 1
+    - - R SSC2 P <target2_mac>
+  - - SSC SSC3 mac -Q -o 2
+    - - R SSC3 P <target3_ap_mac>
+  - - SSC SSC[1-3] mdns -T
+    - - R SSC[1-3] C +MDNS:OK
+  - - SSC SSC[1-3] mdns -I
+    - - R SSC[1-3] C +MDNS:OK
+  restore cmd set:
+  - ''
+  - - SSC SSC[1-3] op -S -o [1,1,2]
+    - - R SSC[1-3] C +MODE:OK
+  - - SSC SSC[1-3] dhcp -S -o [1,1,2]
+    - - R SSC[1-3] C +DHCP
+  - - SSC SSC1 mac -S -o 1 -m <target_mac>
+    - - R SSC1 C +MAC:STA,OK
+  - - SSC SSC2 mac -S -o 1 -m <target2_mac>
+    - - R SSC2 C +MAC:STA,OK
+  - - SSC SSC3 mac -S -o 2 -m <target3_ap_mac>
+    - - R SSC3 C +MAC:AP,OK
+  - - SSC SSC3 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -n 7
+    - - R SSC3 C +SAP:OK
+  - - SSC SSC[1-2] sta -C -s <target_ssid> -p <target_password>
+    - - R SSC[1-2] RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)
+  - - SSC SSC[1-3] mdns -T
+    - - R SSC[1-3] C +MDNS:OK
+  - - SSC SSC[1-3] mdns -I
+    - - R SSC[1-3] C +MDNS:OK
+  force restore cmd set:
+  - ''
+  - - SSC SSC[1-3] reboot
+    - - R SSC[1-3] C !!!ready!!!
+  - - SSC SSC[1-3] op -S -o [1,1,2]
+    - - R SSC[1-3] C +MODE:OK
+  - - SSC SSC[1-3] dhcp -S -o [1,1,2]
+    - - R SSC[1-3] C +DHCP
+  - - SSC SSC1 mac -S -o 1 -m <target_mac>
+    - - R SSC1 C +MAC:STA,OK
+  - - SSC SSC2 mac -S -o 1 -m <target2_mac>
+    - - R SSC2 C +MAC:STA,OK
+  - - SSC SSC3 mac -S -o 2 -m <target3_ap_mac>
+    - - R SSC3 C +MAC:AP,OK
+  - - SSC SSC3 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -n 7
+    - - R SSC3 C +SAP:OK
+  - - SSC SSC[1-2] sta -C -s <target_ssid> -p <target_password>
+    - - R SSC[1-2] RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)
+  - - SSC SSC[1-3] mdns -T
+    - - R SSC[1-3] C +MDNS:OK
+  - - SSC SSC[1-3] mdns -I
+    - - R SSC[1-3] C +MDNS:OK
+- tag: T3_MDNS_MODE2
+  <<: *SSC_INIT_COND
+  initial condition detail: (SSC) DUT1 and DUT3 set to STA mode, DUT2 set to SoftAP mode, DUT1 and DUT3 connected with DUT2, restart MDNS on all DUTs
+  check cmd set:
+  - ''
+  - - SSC SSC1 op -Q
+    - - R SSC1 C +CURMODE:1
+  - - SSC SSC2 op -Q
+    - - R SSC2 C +CURMODE:2
+  - - SSC SSC3 op -Q
+    - - R SSC3 C +CURMODE:1
+  - - SSC SSC1 sta -Q
+    - - R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)
+  - - SSC SSC2 ap -Q
+    - - R SSC2 RE "\+APCONFIG:%%s,%%s,7,\d+,\d+,4,"%%(<target_ssid>,<target_password>)
+  - - SSC SSC3 sta -Q
+    - - R SSC3 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)
+  - - SSC SSC1 dhcp -Q -o 1
+    - - R SSC1 C +DHCP:STA,STARTED
+  - - SSC SSC2 dhcp -Q -o 2
+    - - R SSC2 C +DHCP:AP,STARTED
+  - - SSC SSC3 dhcp -Q -o 1
+    - - R SSC3 C +DHCP:STA,STARTED
+  - - SSC SSC1 mac -Q -o 1
+    - - R SSC1 P <target_mac>
+  - - SSC SSC2 mac -Q -o 2
+    - - R SSC2 P <target2_ap_mac>
+  - - SSC SSC3 mac -Q -o 1
+    - - R SSC3 P <target3_mac>
+  - - SSC SSC[1-3] mdns -T
+    - - R SSC[1-3] C +MDNS:OK
+  - - SSC SSC[1-3] mdns -I
+    - - R SSC[1-3] C +MDNS:OK
+  restore cmd set:
+  - ''
+  - - SSC SSC[1-3] op -S -o [1,2,1]
+    - - R SSC[1-3] C +MODE:OK
+  - - SSC SSC[1-3] dhcp -S -o [1,2,1]
+    - - R SSC[1-3] C +DHCP
+  - - SSC SSC1 mac -S -o 1 -m <target_mac>
+    - - R SSC1 C +MAC:STA,OK
+  - - SSC SSC2 mac -S -o 2 -m <target2_ap_mac>
+    - - R SSC2 C +MAC:AP,OK
+  - - SSC SSC3 mac -S -o 1 -m <target3_mac>
+    - - R SSC3 C +MAC:STA,OK
+  - - SSC SSC2 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -n 7
+    - - R SSC2 C +SAP:OK
+  - - SSC SSC1 sta -C -s <target_ssid> -p <target_password>
+    - - R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)
+  - - SSC SSC3 sta -C -s <target_ssid> -p <target_password>
+    - - R SSC3 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)
+  - - SSC SSC[1-3] mdns -T
+    - - R SSC[1-3] C +MDNS:OK
+  - - SSC SSC[1-3] mdns -I
+    - - R SSC[1-3] C +MDNS:OK
+  force restore cmd set:
+  - ''
+  - - SSC SSC[1-3] reboot
+    - - R SSC[1-3] C !!!ready!!!
+  - - SSC SSC[1-3] op -S -o [1,2,1]
+    - - R SSC[1-3] C +MODE:OK
+  - - SSC SSC[1-3] dhcp -S -o [1,2,1]
+    - - R SSC[1-3] C +DHCP
+  - - SSC SSC1 mac -S -o 1 -m <target_mac>
+    - - R SSC1 C +MAC:STA,OK
+  - - SSC SSC2 mac -S -o 2 -m <target2_ap_mac>
+    - - R SSC2 C +MAC:AP,OK
+  - - SSC SSC3 mac -S -o 1 -m <target3_mac>
+    - - R SSC3 C +MAC:STA,OK
+  - - SSC SSC2 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -n 7
+    - - R SSC2 C +SAP:OK
+  - - SSC SSC1 sta -C -s <target_ssid> -p <target_password>
+    - - R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)
+  - - SSC SSC3 sta -C -s <target_ssid> -p <target_password>
+    - - R SSC3 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)
+  - - SSC SSC[1-3] mdns -T
+    - - R SSC[1-3] C +MDNS:OK
+  - - SSC SSC[1-3] mdns -I
+    - - R SSC[1-3] C +MDNS:OK
+- tag: T3_MDNS_MODE3
+  <<: *SSC_INIT_COND
+  initial condition detail: softap + sta + sta mode, sta join softap, DHCP on, mdns stop
+  check cmd set:
+  - ''
+  - - SSC SSC1 op -Q
+    - - R SSC1 C +CURMODE:2
+  - - SSC SSC2 op -Q
+    - - R SSC2 C +CURMODE:1
+  - - SSC SSC3 op -Q
+    - - R SSC3 C +CURMODE:1
+  - - SSC SSC1 ap -Q
+    - - R SSC1 RE "\+APCONFIG:%%s,%%s,7,\d+,\d+,4,"%%(<target_ssid>,<target_password>)
+  - - SSC SSC2 sta -Q
+    - - R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)
+  - - SSC SSC3 sta -Q
+    - - R SSC3 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)
+  - - SSC SSC1 dhcp -Q -o 2
+    - - R SSC1 C +DHCP:AP,STARTED
+  - - SSC SSC2 dhcp -Q -o 1
+    - - R SSC2 C +DHCP:STA,STARTED
+  - - SSC SSC3 dhcp -Q -o 1
+    - - R SSC3 C +DHCP:STA,STARTED
+  - - SSC SSC1 mac -Q -o 2
+    - - R SSC1 P <target_ap_mac>
+  - - SSC SSC2 mac -Q -o 1
+    - - R SSC2 P <target2_mac>
+  - - SSC SSC3 mac -Q -o 1
+    - - R SSC3 P <target3_mac>
+  - - SSC SSC[1-3] mdns -T
+    - - R SSC[1-3] C +MDNS:OK
+  - - SSC SSC[1-3] mdns -I
+    - - R SSC[1-3] C +MDNS:OK
+  restore cmd set:
+  - ''
+  - - SSC SSC[1-3] op -S -o [2,1,1]
+    - - R SSC[1-3] C +MODE:OK
+  - - SSC SSC[1-3] dhcp -S -o [2,1,1]
+    - - R SSC[1-3] C +DHCP
+  - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+    - - R SSC1 C +MAC:AP,OK
+  - - SSC SSC2 mac -S -o 1 -m <target2_mac>
+    - - R SSC2 C +MAC:STA,OK
+  - - SSC SSC3 mac -S -o 1 -m <target3_mac>
+    - - R SSC3 C +MAC:STA,OK
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -n 7
+    - - R SSC1 C +SAP:OK
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - - R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)
+  - - SSC SSC3 sta -C -s <target_ssid> -p <target_password>
+    - - R SSC3 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)
+  - - SSC SSC[1-3] mdns -T
+    - - R SSC[1-3] C +MDNS:OK
+  - - SSC SSC[1-3] mdns -I
+    - - R SSC[1-3] C +MDNS:OK
+  force restore cmd set:
+  - ''
+  - - SSC SSC[1-3] reboot
+    - - R SSC[1-3] C !!!ready!!!
+  - - SSC SSC[1-3] op -S -o [2,1,1]
+    - - R SSC[1-3] C +MODE:OK
+  - - SSC SSC[1-3] dhcp -S -o [2,1,1]
+    - - R SSC[1-3] C +DHCP
+  - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+    - - R SSC1 C +MAC:AP,OK
+  - - SSC SSC2 mac -S -o 1 -m <target2_mac>
+    - - R SSC2 C +MAC:STA,OK
+  - - SSC SSC3 mac -S -o 1 -m <target3_mac>
+    - - R SSC3 C +MAC:STA,OK
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -n 7
+    - - R SSC1 C +SAP:OK
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - - R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)
+  - - SSC SSC3 sta -C -s <target_ssid> -p <target_password>
+    - - R SSC3 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)
+  - - SSC SSC[1-3] mdns -T
+    - - R SSC[1-3] C +MDNS:OK
+  - - SSC SSC[1-3] mdns -I
+    - - R SSC[1-3] C +MDNS:OK
+- tag: T3_PHY1
+  <<: *SSC_INIT_COND
+  initial condition detail: (SSC) DUT1-2 set to STA+SoftAP mode, DUT3 set to STA mode. All interface of DUT2-3 set to 11n ht40. Set DUT1-2 SoftAP config.
+  check cmd set:
+  - ''
+  - - SSC SSC[1-3] op -Q
+    - - R SSC[1-3] C +CURMODE:3
+  - - SSC SSC[1-3] phy -Q -o 3
+    - - R SSC[1-3] C STA,n,40 C AP,n,40
+  restore cmd set:
+  - ''
+  - - SSC SSC[1-3] op -S -o 3
+    - - R SSC[1-3] C +MODE:OK
+  - - SSC SSC[1-3] phy -S -o 3 -m n -b 40
+    - - R SSC[1-3] C +PHY:OK
+  force restore cmd set:
+  - ''
+  - - SSC SSC[1-3] reboot
+    - - R SSC[1-3] C !!!ready!!!
+  - - SSC SSC[1-3] op -S -o 3
+    - - R SSC[1-3] C +MODE:OK
+  - - SSC SSC[1-3] phy -S -o 3 -m n -b 40
+    - - R SSC[1-3] C +PHY:OK
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 soc -T
+    - - R SSC1 C +CLOSEALL
+  - - SSC SSC1 sta -R -r 1
+    - - R SSC1 C OK
+  - - SSC SSC1 ram
+    - - R SSC1 A <heap_size>:(\d+)
+- tag: WIFIBTSTOP
+  <<: *SSC_INIT_COND
+  initial condition detail: (SSC) deinit Wi-Fi and BT host/controller
+  check cmd set:
+  - ''
+  - - SSC SSC1 op -Q
+    - - R SSC1 C +CURMODE:3
+  - - SSC SSC1 op -W -a init
     - - R SSC1 C +MODE:OK
   - - SSC SSC1 op -W -a start
     - - R SSC1 C +MODE:OK
@@ -2044,7 +3070,7 @@ initial condition:
     - - 'R SSC1 C +BT:'
 - tag: WIFISTO
   <<: *SSC_INIT_COND
-  initial condition detail: wifi will stop with initial condition WIFISTO
+  initial condition detail: (SSC) DUT in STA mode, stop Wi-Fi
   check cmd set:
   - ''
   - - SSC SSC1 op -W -a init
@@ -2073,7 +3099,7 @@ initial condition:
     - - R SSC1 C +MODE:OK
 - tag: BLE_INIT_REBOOT2
   <<: *SSC_INIT_COND
-  initial condition detail: 2 DUT should reboot at first and BLE is enabled, no active connection
+  initial condition detail: (SSC) reboot and enable BLE on DUT1 and DUT2
   check cmd set:
   - ''
   - - SSC SSC[1-2] reboot
@@ -2100,52 +3126,15 @@ initial condition:
     - - 'R SSC[1-2] C +BLE:'
   - - SSC SSC[1-2] bleconn -D -z all
     - - 'R SSC[1-2] C +BLECONN:'
+  - - SSC SSC[1-2] blesmp -B -z clear
+    - - R SSC[1-2] C +BLESMP:ClearBond,Success
   - - SSC SSC[1-2] gatts -S -z delete
     - - 'R SSC[1-2] C +GATTS:'
   - - SSC SSC[1-2] gattc -U -z all
     - - R SSC[1-2] C +GATTC:OK
   - - SSC SSC[1-2] bleadv -D -z stop
-    - - R SSC[1-2] C +BLEADV:OK
+    - - R SSC[1-2] C +BLEADV:Stop
+  - - SSC SSC[1-2] ble -S -z public
+    - - R SSC[1-2] C +BLE:OK
   - - SSC SSC1 ram
     - - R SSC1 A <heap_size>:(\d+)
-- tag: T3_1
-  <<: *SSC_INIT_COND
-  initial condition detail: target 1 as SoftAP + STA, target 2 as SoftAP, target 3 as STA
-      with initial condition T2_2
-  check cmd set:
-  - ''
-  - *dut1_start_wifi
-  - - SSC SSC1 op -Q
-    - - R SSC1 C +CURMODE:3
-  - - SSC SSC2 op -Q
-    - - R SSC2 C +CURMODE:2
-  - - SSC SSC3 op -Q
-    - - R SSC3 C +CURMODE:1
-  - - SSC SSC3 sta -D
-    - - 'R SSC3 C +QAP:'
-  restore cmd set:
-  - ''
-  - - SSC SSC1 op -S -o 3
-    - - R SSC1 C +MODE:OK
-  - - SSC SSC2 op -S -o 2
-    - - R SSC2 C +MODE:OK
-  - - SSC SSC3 op -S -o 1
-    - - R SSC3 C +MODE:OK
-  - - SSC SSC3 sta -D
-    - - 'R SSC3 C +QAP:'
-  force restore cmd set:
-  - ''
-  - - SSC SSC1 reboot
-    - - R SSC1 C !!!ready!!!
-  - - SSC SSC2 reboot
-    - - R SSC2 C !!!ready!!!
-  - - SSC SSC3 reboot
-    - - R SSC3 C !!!ready!!!
-  - - SSC SSC1 op -S -o 3
-    - - R SSC1 C +MODE:OK
-  - - SSC SSC2 op -S -o 2
-    - - R SSC2 C +MODE:OK
-  - - SSC SSC3 op -S -o 1
-    - - R SSC3 C +MODE:OK
-  - - SSC SSC3 sta -D
-    - - 'R SSC3 C +QAP:'
diff --git a/components/idf_test/integration_test/TC_IT_BLUEDROID_GAP.yml b/components/idf_test/integration_test/TC_IT_BLUEDROID_GAP.yml
new file mode 100644 (file)
index 0000000..8a378df
--- /dev/null
@@ -0,0 +1,1213 @@
+.GAP_CASE: &GAP_CASE
+  SDK: ESP32_IDF
+  Test App: SSC_BLE
+  auto test: 'Yes'
+  category: Function
+  test point 1: basic function
+  initial condition: BLE_INIT2
+  test environment: SSC_T2_5
+  execution time: 0
+  module: BLUEDROID
+  sub module: GAP
+  version: v1 (2016-12-31)
+  CI ready: 'Yes'
+  level: Integration
+  allow fail: ''
+
+.set_default_ble_name: &set_default_ble_name
+  LIST_MERGE:
+    - - "SSC SSC1 ble -S -z name -n <dut1_ble_name>"
+      - ["R SSC1 C +BLE:OK"]
+
+.open_capture_nic: &open_capture_nic
+  LIST_MERGE:
+    - - "NIC BLENIC START <bt_capture_nic> bt+capture"
+      - ['R PC_COM C +NIC_START:OK']
+
+.dut1_stop_adv: &dut1_stop_adv
+  LIST_MERGE:
+    - - "SSC SSC1 bleadv -D -z stop"
+      - ["R SSC1 C +BLEADV:"]
+
+.dut1_start_adv: &dut1_start_adv
+  LIST_MERGE:
+    - - "SSC SSC1 bleadv -D -z start"
+      - ["R SSC1 C +BLEADV:Start,OK"]
+
+.dut1_connect_to_dut2: &dut1_connect_to_dut2
+  LIST_MERGE:
+    - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
+      - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
+
+.set_default_adv_data: &set_default_adv_data
+  LIST_MERGE:
+    - - "SSC SSC1 bleadv -D -z stop"
+      - ["R SSC1 C +BLEADV:"]
+    - - "SSC SSC1 bleadv -L -c 0 -t 3"
+      - ["R SSC1 C +BLEADV:SetAdv,OK C +BLEADV:SetScanRes,OK"]
+    - - "SSC SSC1 bleadv -D -z start"
+      - ["R SSC1 C +BLEADV:Start,OK"]
+
+.dut2_stop_adv: &dut2_stop_adv
+  LIST_MERGE:
+    - - "SSC SSC2 bleadv -D -z stop"
+      - ["R SSC2 C +BLEADV:"]
+
+test cases:
+- ID: BLUEDROID_GAP_01003
+  <<: *GAP_CASE
+  test point 2: BLE GAP param device name test
+  summary: ble set long device name for BLUEDROID
+  steps: |
+    1. DUT1 set 32 byte device name A
+    2. stop advertising
+    3. config scan response and start advertising
+    4. DUT2 do active scan
+    5. DUT1 set 33 bytes device name
+    6. stop advertising
+    7. config scan response and start advertising
+    8. DUT2 do active scan
+  expected result: |
+    1. succeed
+    2. succeed
+    3. succeed
+    4. DUT1 mac in scan result (device name is too long)
+    5. failed
+    6. succeed
+    7. succeed
+    8. DUT1 mac in scan result (device name is too long)
+  cmd set:
+  - ""
+  - - "SSC SSC1 ble -S -z name -n <dut1_ble_name_32>"
+    - ["R SSC1 C +BLE:OK"]
+  - *set_default_adv_data
+  - *dut2_stop_adv
+  - - "SSC SSC2 blescan -D -z start -t 3 -c 0 -s 1"
+    - ["R SSC2 P <dut1_bt_mac> C Complete"]
+  - - "SSC SSC1 ble -S -z name -n 123456789012345678901234567890123"
+    - ["R SSC1 C +BLE:ERROR"]
+  - *set_default_adv_data
+  - - "SSC SSC2 blescan -D -z start -t 3 -c 0 -s 1"
+    - ["R SSC2 P <dut1_bt_mac> C Complete"]
+- ID: BLUEDROID_GAP_03003
+  <<: *GAP_CASE
+  test point 2: BLE GAP set advertise param
+  summary: ble set adv parameter own address type for BLUEDROID
+  steps: |
+    1. DUT1 stop advertise
+    2. DUT1 start adv with own address type public
+    3. PC do active scan and capture advertising report
+    4. repeat step 1-3 with own address type random, rpa_public, rpa_random
+    5. repeat step 1-3 with channel map not valid
+  expected result: |
+    1. succeed
+    2. succeed
+    3. get ADV_IND with DUT1 BT MAC
+    4. get ADV_IND with DUT1 BT MAC
+    5. can not get ADV_IND with DUT1 BT MAC
+  initial condition: BLE_INIT1
+  test environment: SSC_T1_3
+  cmd set:
+  - ""
+  - *set_default_ble_name
+  - - "SSC SSC1 bleadv -L -c 0 -t 3 -n 1"
+    - ["R SSC1 C +BLEADV:SetAdv,OK"]
+  - *open_capture_nic
+  - - LOOP 4 3 "[0,2,1,3]" "['PDU','PDU','NPDU','NPDU']"
+  - *dut1_stop_adv
+  - - "SSC SSC1 bleadv -D -z start -t 0 -o {%d}"
+    - ["R SSC1 C +BLEADV:OK"]
+  - - "HCITOOL 2 -i <hci_nic> lescan"
+    - - 'P PC_COM C +HCITOOL:OK'
+      - 'P BLENIC {%s} (HCIEvent.le_sub_event_code="LEAdvReport")(HCIEvent.event_type_0="ADV_IND")(HCIEvent.data_0.NameComplete=<dut1_ble_name>)(HCIEvent.address_0=<dut1_bt_mac>)'
+- ID: BLUEDROID_GAP_03006
+  <<: *GAP_CASE
+  test point 2: BLE GAP set advertise param
+  summary: ble set paramters for SCAN_IND for BLUEDROID
+  steps: |
+    1. DUT1 stop advertise
+    2. DUT1 set incorrect adv interval for SCAN_IND
+    3. PC do active scan and capture advertising report
+    4. repeat step 1-3 with correct adv interval
+  expected result: |
+    1. succeed
+    2. succeed
+    3. can not get SCAN_IND with DUT1 BT MAC
+    4. get SCAN_IND with DUT1 BT MAC
+  initial condition: BLE_INIT1
+  test environment: SSC_T1_3
+  cmd set:
+  - ""
+  - *set_default_ble_name
+  - - "SSC SSC1 bleadv -L -c 0 -t 3"
+    - ["R SSC1 C +BLEADV:SetAdv,OK"]
+  - *open_capture_nic
+  - *dut1_stop_adv
+  - - LOOP 2 2 "['0x20-0x40','0xA0-0xB0']" "['PDU','PDU']"
+    - [""]
+  - - "SSC SSC1 bleadv -D -z start -t 2 -i {%s}"
+    - ["R SSC1 C +BLEADV:OK"]
+  - - "HCITOOL 2 -i <hci_nic> lescan"
+    - - 'P PC_COM C +HCITOOL:OK'
+      - 'P BLENIC {%s} (HCIEvent.le_sub_event_code="LEAdvReport")(HCIEvent.event_type_0="SCAN_IND")(HCIEvent.address_0=<dut1_bt_mac>)'
+- ID: BLUEDROID_GAP_03007
+  <<: *GAP_CASE
+  test point 2: BLE GAP set advertise param
+  summary: ble set paramters for NONCONN_IND for BLUEDROID
+  steps: |
+    1. DUT1 stop advertise
+    2. DUT1 set incorrect adv interval for NONCONN_IND
+    3. PC do active scan and capture advertising report
+    4. repeat step 1-3 with correct adv interval
+  expected result: |
+    1. succeed
+    2. succeed
+    3. can not get SCAN_IND with DUT1 BT MAC
+    4. get SCAN_IND with DUT1 BT MAC
+  initial condition: BLE_INIT1
+  test environment: SSC_T1_3
+  cmd set:
+  - ""
+  - *set_default_ble_name
+  - - "SSC SSC1 bleadv -L -c 0 -t 3"
+    - ["R SSC1 C +BLEADV:SetAdv,OK"]
+  - *open_capture_nic
+  - *dut1_stop_adv
+  - - LOOP 2 2 "['0x20-0x40','0xA0-0xB0']" "['PDU','PDU']"
+    - [""]
+  - - "SSC SSC1 bleadv -D -z start -t 3 -i {%s}"
+    - ["R SSC1 C +BLEADV:OK"]
+  - - "HCITOOL 2 -i <hci_nic> lescan"
+    - - 'P PC_COM C +HCITOOL:OK'
+      - 'P BLENIC {%s} (HCIEvent.le_sub_event_code="LEAdvReport")(HCIEvent.event_type_0="NONCONN_IND")(HCIEvent.address_0=<dut1_bt_mac>)'
+- ID: BLUEDROID_GAP_06001
+  <<: *GAP_CASE
+  test point 2: BLE GAP connect / disconnect
+  summary: ble connect as "client" and "server" for BLUEDROID
+  allow fail: 1/2
+  steps: |
+    1. DUT1 connect to DUT2 as "client"
+    2. DUT1 disconnected with DUT2
+    3. DUT1 start gatt server app
+    4. DUT1 connect to DUT2 as "server"
+  expected result: |
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+  cmd set:
+  - ""
+  - *dut1_connect_to_dut2
+  - - "SSC SSC1 bleconn -D -p 0x10"
+    - ['R SSC1 C +BLE:CLOSE,OK']
+  - - "SSC SSC1 gatts -S -z load -p 0xA0"
+    - ['R SSC1 C +GATTS:LoadProfile,OK']
+  - - "SSC SSC2 bleadv -D -z start"
+    - ['R SSC2 C +BLEADV:OK']
+  - - "SSC SSC1 bleconn -C -p 0xA0 -a <dut2_bt_mac> -z server"
+    - ['R SSC1 C +BLECONN:GapConnect']
+- ID: BLUEDROID_GAP_06002
+  <<: *GAP_CASE
+  test point 2: BLE GAP connect / disconnect
+  summary: ble disconnect as "client" and "server" for BLUEDROID
+  steps: |
+    1. DUT1 connect to DUT2 as "client"
+    2. DUT1 disconnected with DUT2 as "client"
+    3. DUT1 start gatt server app
+    4. DUT1 connect to DUT2 as client
+    5. DUT1 disconnect with DUT2 as "server"
+  expected result: |
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+    5. succeed
+  cmd set:
+  - ""
+  - *dut1_connect_to_dut2
+  - - "SSC SSC1 bleconn -D -p 0x10"
+    - ['R SSC1 C +BLE:CLOSE,OK']
+  - - "SSC SSC2 bleadv -D -z start"
+    - ['R SSC2 C +BLEADV:OK']
+  - - "SSC SSC1 gatts -S -z load -p 0xA0"
+    - ['R SSC1 C +GATTS:LoadProfile,OK']
+  - *dut1_connect_to_dut2
+  - - "SSC SSC1 bleconn -D -p 0x10"
+    - ['R SSC1 C +BLE:CLOSE,OK']
+- ID: BLUEDROID_GAP_06003
+  <<: *GAP_CASE
+  allow fail: 1/2
+  test point 2: BLE GAP connect / disconnect
+  summary: ble connect/disconnect to same connection multiple times for BLUEDROID
+  steps: |
+    1. DUT1 connect to DUT2 as "client"
+    2. DUT1 start gatt server app
+    3. DUT1 connect to DUT2 as "client" again
+    4. DUT1 connect to DUT2 as "server"
+    5. DUT1 disconnected with DUT2 as "client"
+    6. DUT1 disconnected with DUT2 as "server"
+  expected result: |
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+    5. succeed
+    6. succeed
+  cmd set:
+  - ""
+  - *dut1_connect_to_dut2
+  - - "SSC SSC1 gatts -S -z load -p 0xA0"
+    - ['R SSC1 C +GATTS:LoadProfile,OK']
+  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
+    - ['R SSC1 C +BLE:GattcOpen,OK']
+  - - "SSC SSC1 bleconn -C -p 0xA0 -a <dut2_bt_mac> -z server"
+    - ['R SSC1 C +BLE:GattsOpen,OK,00A0']
+  - - "SSC SSC1 bleconn -D -p 0x10"
+    - ['R SSC1 C +BLE:CLOSE,OK']
+  - - "SSC SSC1 bleconn -D -p 0xA0 -z server"
+    - ['R SSC1 C +BLE:GattsClose,OK']
+- ID: BLUEDROID_GAP_06004
+  <<: *GAP_CASE
+  test point 2: BLE GAP connect / disconnect
+  summary: ble connect to invalid address for BLUEDROID
+  allow fail: 2/3
+  steps: |
+    1. DUT1 connect to invalid address
+    2. DUT1 connect to DUT2
+  expected result: |
+    1. failed
+    2. succeed
+  cmd set:
+  - ""
+  - - "SSC SSC1 bleconn -C -p 0x10 -a 24:0a:c4:04:26:50"
+    - ['R SSC1 C +BLECONN:OK']
+  - - DELAY 30
+    - ['R SSC1 C +BLE:GattcOpen,ERROR']
+  - *dut1_connect_to_dut2
+- ID: BLUEDROID_GAP_06005
+  <<: *GAP_CASE
+  test point 2: BLE GAP connect / disconnect
+  summary: ble connect/disconnect event to active app for BLUEDROID
+  steps: |
+    1. DUT1 create gatts app
+    2. DUT1 connect to DUT2 as "client"
+    3. DUT1 do disconnect as "server"
+  expected result: |
+    1. succeed
+    2. succeed, DUT1 and DUT2 gatts get connect event
+    3. DUT1 and DUT2 gatts get disconnect event
+  cmd set:
+  - ""
+  - - "SSC SSC1 gatts -S -z load -p 0xA0"
+    - ['R SSC1 C +GATTS:LoadProfile,OK']
+  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
+    - ['P SSC1 C +BLECONN:GapConnect', 'P SSC2 C +BLECONN:GapConnect']
+  - - "SSC SSC1 bleconn -D -p 0xA0 -z server"
+    - ['P SSC1 C +BLE:GattsClose']
+- ID: BLUEDROID_GAP_07001
+  <<: *GAP_CASE
+  test point 2: BLE GAP update connect parameters
+  summary: update connect parameters by master for BLUEDROID
+  steps: |
+    1. update connect parameters by master
+  expected result: |
+    1. succeed
+  initial condition: BLE_CONN2
+  cmd set:
+  - "BLEFunction/ConnParamUpdate"
+  - - dut = ["SSC1"]
+    - ['']
+  - - interval=["32-64"]
+    - ['']
+  - - latency=["0"]
+    - ['']
+  - - supervision_timeout=["32"]
+    - ['']
+  - - expect_result=["OK"]
+    - ['']
+- ID: BLUEDROID_GAP_07002
+  <<: *GAP_CASE
+  test point 2: BLE GAP update connect parameters
+  summary: update connect parameters by slave for BLUEDROID
+  steps: |
+    1. update connect parameters by slave
+  expected result: |
+    1. succeed
+  initial condition: BLE_CONN2
+  cmd set:
+  - "BLEFunction/ConnParamUpdate"
+  - - dut = ["SSC2"]
+    - ['']
+  - - interval=["32-64"]
+    - ['']
+  - - latency=["0"]
+    - ['']
+  - - supervision_timeout=["32"]
+    - ['']
+  - - expect_result=["OK"]
+    - ['']
+- ID: BLUEDROID_GAP_07003
+  <<: *GAP_CASE
+  test point 2: BLE GAP update connect parameters
+  summary: update invalid connect parameters(timeout<(1+latency)*2*MAX_interval*1.25) for BLUEDROID
+  steps: |
+    1. update invalid connect parameters(timeout<(1+latency)*2*MAX_interval*1.25)
+  expected result: |
+    1. fail
+  initial condition: BLE_CONN2
+  cmd set:
+  - "BLEFunction/ConnParamUpdate"
+  - - dut = ["SSC1"]
+    - ['']
+  - - interval=["7-90"]
+    - ['']
+  - - latency=["1"]
+    - ['']
+  - - supervision_timeout=["41"]
+    - ['']
+  - - expect_result=["ERROR"]
+    - ['']
+- ID: BLUEDROID_GAP_07004
+  <<: *GAP_CASE
+  test point 2: BLE GAP update connect parameters
+  summary: update connnect parameters and interval within allowed range for BLUEDROID
+  steps: |
+    1. DUT1 update connection parametres and interval is 6-128
+    2. DUT1 update connection parametres and interval is 33-3200
+  expected result: |
+    1. succeed
+    2. succeed
+  initial condition: BLE_CONN2
+  cmd set:
+  - "BLEFunction/ConnParamUpdate"
+  - - dut = ["SSC1","SSC1"]
+    - ['']
+  - - interval=["6-128","33-3200"]
+    - ['']
+  - - latency=["0","0"]
+    - ['']
+  - - supervision_timeout=["50","1000"]
+    - ['']
+  - - expect_result=["OK","OK"]
+    - ['']
+- ID: BLUEDROID_GAP_07005
+  <<: *GAP_CASE
+  test point 2: BLE GAP update connect parameters
+  summary: update connect parameters interval and interval out of allowed range for BLUEDROID
+  steps: |
+    1. DUT1 update invalid interval and interval is 16-3201
+    2. DUT1 update invalid interval and interval is 5-64
+  expected result: |
+    1. fail
+    2. fail
+  initial condition: BLE_CONN2
+  cmd set:
+  - "BLEFunction/ConnParamUpdate"
+  - - dut = ["SSC1","SSC1"]
+    - ['']
+  - - interval=["16-3201","5-64"]
+    - ['']
+  - - latency=["0","0"]
+    - ['']
+  - - supervision_timeout=["32","32"]
+    - ['']
+  - - expect_result=["ERROR","ERROR"]
+    - ['']
+- ID: BLUEDROID_GAP_07006
+  <<: *GAP_CASE
+  test point 2: BLE GAP update connect parameters
+  summary: update connect parameters latency and latency within allowed range and timeout<(1+latency)*2*MAX_interval*1.25 for BLUEDROID
+  steps: |
+    1. DUT1 update connect parameters latency and latency within allowed range and timeout<(1+latency)*2*MAX_interval*1.25
+  expected result: |
+    1. fail
+  initial condition: BLE_CONN2
+  cmd set:
+  - "BLEFunction/ConnParamUpdate"
+  - - dut = ["SSC1"]
+    - ['']
+  - - interval=["32-64"]
+    - ['']
+  - - latency=["8"]
+    - ['']
+  - - supervision_timeout=["32"]
+    - ['']
+  - - expect_result=["ERROR"]
+    - ['']
+- ID: BLUEDROID_GAP_07007
+  <<: *GAP_CASE
+  test point 2: BLE GAP update connect parameters
+  summary: update connect parameters latency and latency = 501
+  steps: |
+    1. DUT1 uupdate connect parameters latency and latency = 501
+  expected result: |
+    1. fail
+  initial condition: BLE_CONN2
+  cmd set:
+  - "BLEFunction/ConnParamUpdate"
+  - - dut = ["SSC1"]
+    - ['']
+  - - interval=["6-8"]
+    - ['']
+  - - latency=["501"]
+    - ['']
+  - - supervision_timeout=["1003"]
+    - ['']
+  - - expect_result=["ERROR"]
+    - ['']
+- ID: BLUEDROID_GAP_07008
+  <<: *GAP_CASE
+  test point 2: BLE GAP update connect parameters
+  summary: update connect parameters latency and latency = 500 for BLUEDROID
+  steps: |
+    1. DUT1 update connect parameters latency and latency = 500
+  expected result: |
+    1. succeed
+  initial condition: BLE_CONN2
+  cmd set:
+  - "BLEFunction/ConnParamUpdate"
+  - - dut = ["SSC1"]
+    - ['']
+  - - interval=["6-8"]
+    - ['']
+  - - latency=["500"]
+    - ['']
+  - - supervision_timeout=["1003"]
+    - ['']
+  - - expect_result=["OK"]
+    - ['']
+- ID: BLUEDROID_GAP_07009
+  <<: *GAP_CASE
+  test point 2: BLE GAP update connect parameters
+  summary: update connect parameters timeout and timeout within allowed range and timeout<(1+latency)*2*MAX_interval*1.25 for BLUEDROID
+  steps: |
+    1. DUT1 update connect parameters timeout and timeout within allowed range and timeout<(1+latency)*2*MAX_interval*1.25
+  expected result: |
+    1. fail
+  initial condition: BLE_CONN2
+  cmd set:
+  - "BLEFunction/ConnParamUpdate"
+  - - dut = ["SSC1"]
+    - ['']
+  - - interval=["32-64"]
+    - ['']
+  - - latency=["0"]
+    - ['']
+  - - supervision_timeout=["12"]
+    - ['']
+  - - expect_result=["ERROR"]
+    - ['']
+- ID: BLUEDROID_GAP_07010
+  <<: *GAP_CASE
+  test point 2: BLE GAP update connect parameters
+  summary: update connect parameters timeout and timeout = 9 for BLUEDROID
+  steps: |
+    1. DUT1 update connect parameters timeout and timeout = 9
+  expected result: |
+    1. fail
+  initial condition: BLE_CONN2
+  cmd set:
+  - "BLEFunction/ConnParamUpdate"
+  - - dut = ["SSC1"]
+    - ['']
+  - - interval=["8-10"]
+    - ['']
+  - - latency=["0"]
+    - ['']
+  - - supervision_timeout=["9"]
+    - ['']
+  - - expect_result=["ERROR"]
+    - ['']
+- ID: BLUEDROID_GAP_07011
+  <<: *GAP_CASE
+  test point 2: BLE GAP update connect parameters
+  summary: update connect parameters timeout and timeout within allowed range for BLUEDROID
+  steps: |
+    1. DUT1 update timeout = 10
+    2. DUT1 update timeout = 3200
+  expected result: |
+    1. succeed
+    2. succeed
+  initial condition: BLE_CONN2
+  cmd set:
+  - "BLEFunction/ConnParamUpdate"
+  - - dut = ["SSC1","SSC1"]
+    - ['']
+  - - interval=["8-10","8-10"]
+    - ['']
+  - - latency=["0","0"]
+    - ['']
+  - - supervision_timeout=["10","3200"]
+    - ['']
+  - - expect_result=["OK","OK"]
+    - ['']
+- ID: BLUEDROID_GAP_07012
+  <<: *GAP_CASE
+  test point 2: BLE GAP update connect parameters
+  summary: update connect parameters timeout and timeout = 3201 for BLUEDROID
+  steps: |
+    1. DUT1 update timeout = 3201
+  expected result: |
+    1. fail
+  initial condition: BLE_CONN2
+  cmd set:
+  - "BLEFunction/ConnParamUpdate"
+  - - dut = ["SSC1"]
+    - ['']
+  - - interval=["8-10"]
+    - ['']
+  - - latency=["0"]
+    - ['']
+  - - supervision_timeout=["3201"]
+    - ['']
+  - - expect_result=["ERROR"]
+    - ['']
+- ID: BLUEDROID_GAP_07013
+  <<: *GAP_CASE
+  test point 2: BLE GAP update connect parameters
+  summary: update invalid connect parameters before configure connect param event back for BLUEDROID
+  steps: |
+    1. DUT1 update valid interval
+    2. DUT1 update valid interval
+  expected result: |
+    1.
+    2. succeed
+  initial condition: BLE_CONN2
+  cmd set:
+  - ""
+  - - "SSC SSC1 bleconn -S -z ConnParam -a <dut2_bt_mac>"
+    - ['']
+  - - "SSC SSC1 bleconn -S -z ConnParam -a <dut2_bt_mac> -t 0x40"
+    - ['R SSC1 C pending']
+- ID: BLUEDROID_GAP_07014
+  <<: *GAP_CASE
+  test point 2: BLE GAP update connect parameters
+  summary: update invalid connect param and unpdate valid connect params by master for BLUEDROID
+  steps: |
+    1. DUT1 update invalid connect parameters
+    2. DUT2 update valid connect
+  expected result: |
+    1. fail
+    2. succeed
+  initial condition: BLE_CONN2
+  cmd set:
+  - "BLEFunction/ConnParamUpdate"
+  - - dut = ["SSC1","SSC1"]
+    - ['']
+  - - interval=["32-64","32-64"]
+    - ['']
+  - - latency=["9","0"]
+    - ['']
+  - - supervision_timeout=["32","32"]
+    - ['']
+  - - expect_result=["ERROR","OK"]
+    - ['']
+- ID: BLUEDROID_GAP_07015
+  <<: *GAP_CASE
+  test point 2: BLE GAP update connect parameters
+  summary: update valid connect parameters twice for BLUEDROID
+  allow fail: 1/2
+  steps: |
+    1. DUT1 update valid connect parameters
+    2. DUT1 update valid connect parameters
+  expected result: |
+    1. succeed
+    2. succeed
+  initial condition: BLE_CONN2
+  cmd set:
+  - "BLEFunction/ConnParamUpdate"
+  - - dut = ["SSC1","SSC1"]
+    - ['']
+  - - interval=["7-80","10-100"]
+    - ['']
+  - - latency=["1","0"]
+    - ['']
+  - - supervision_timeout=["41","30"]
+    - ['']
+  - - expect_result=["OK","OK"]
+    - ['']
+- ID: BLUEDROID_GAP_07016
+  <<: *GAP_CASE
+  test point 2: BLE GAP update connect parameters
+  summary: update valid connect parameters(timeout<(1+latency)*2*MAX_interval*1.25) by slave for BLUEDROID
+  steps: |
+    1. DUT2 update valid connect parameters(timeout<(1+latency)*2*MAX_interval*1.25) by slave
+  expected result: |
+    1. fail
+  initial condition: BLE_CONN2
+  cmd set:
+  - "BLEFunction/ConnParamUpdate"
+  - - dut = ["SSC2"]
+    - ['']
+  - - interval=["7-90"]
+    - ['']
+  - - latency=["1"]
+    - ['']
+  - - supervision_timeout=["41"]
+    - ['']
+  - - expect_result=["ERROR"]
+    - ['']
+- ID: BLUEDROID_GAP_07017
+  <<: *GAP_CASE
+  test point 2: BLE GAP update connect parameters
+  summary: update connnect parameters interval within allowed range by slave for BLUEDROID
+  steps: |
+    1. DUT2 update interval 6-128
+    2. DUT2 update interval 21-3200
+  expected result: |
+    1. succeed
+    2. succeed
+  initial condition: BLE_CONN2
+  cmd set:
+  - "BLEFunction/ConnParamUpdate"
+  - - dut = ["SSC2","SSC2"]
+    - ['']
+  - - interval=["6-128","21-3200"]
+    - ['']
+  - - latency=["0","0"]
+    - ['']
+  - - supervision_timeout=["50","1000"]
+    - ['']
+  - - expect_result=["OK","OK"]
+    - ['']
+- ID: BLUEDROID_GAP_07018
+  <<: *GAP_CASE
+  test point 2: BLE GAP update connect parameters
+  summary: update connnect parameters interval out of allowed range by slave for BLUEDROID
+  steps: |
+    1. DUT2 update invalid interval 10-3201
+    2. DUT2 update invalid interval 5-64
+  expected result: |
+    1. fail
+    2. fail
+  initial condition: BLE_CONN2
+  cmd set:
+  - "BLEFunction/ConnParamUpdate"
+  - - dut = ["SSC2","SSC2"]
+    - ['']
+  - - interval=["10-3201","5-64"]
+    - ['']
+  - - latency=["0","0"]
+    - ['']
+  - - supervision_timeout=["32","32"]
+    - ['']
+  - - expect_result=["ERROR","ERROR"]
+    - ['']
+- ID: BLUEDROID_GAP_07019
+  <<: *GAP_CASE
+  test point 2: BLE GAP update connect parameters
+  summary: update connnect parameters and latency within allowed range and timeout<(1+latency)*2*MAX_interval*1.25 by slave for BLUEDROID
+  steps: |
+    1. DUT2 update connnect parameters and latency within allowed range and timeout<(1+latency)*2*MAX_interval*1.25 by slave
+  expected result: |
+    1. fail
+  initial condition: BLE_CONN2
+  cmd set:
+  - "BLEFunction/ConnParamUpdate"
+  - - dut = ["SSC2"]
+    - ['']
+  - - interval=["32-64"]
+    - ['']
+  - - latency=["8"]
+    - ['']
+  - - supervision_timeout=["32"]
+    - ['']
+  - - expect_result=["ERROR"]
+    - ['']
+- ID: BLUEDROID_GAP_07020
+  <<: *GAP_CASE
+  test point 2: BLE GAP update connect parameters
+  summary: update connect parameters latency and latency out of allowed range by slave for BLUEDROID
+  steps: |
+    1. DUT2 update invalid latency = 501
+  expected result: |
+    1. fail
+  initial condition: BLE_CONN2
+  cmd set:
+  - "BLEFunction/ConnParamUpdate"
+  - - dut = ["SSC2"]
+    - ['']
+  - - interval=["6-8"]
+    - ['']
+  - - latency=["501"]
+    - ['']
+  - - supervision_timeout=["1003"]
+    - ['']
+  - - expect_result=["ERROR"]
+    - ['']
+- ID: BLUEDROID_GAP_07021
+  <<: *GAP_CASE
+  test point 2: BLE GAP update connect parameters
+  summary: update valid connect parameters and latency = 500 by slave for BLUEDROID
+  steps: |
+    1. DUT2 update latency = 500
+  expected result: |
+    1. success
+  initial condition: BLE_CONN2
+  cmd set:
+  - "BLEFunction/ConnParamUpdate"
+  - - dut = ["SSC2"]
+    - ['']
+  - - interval=["6-8"]
+    - ['']
+  - - latency=["500"]
+    - ['']
+  - - supervision_timeout=["1003"]
+    - ['']
+  - - expect_result=["OK"]
+    - ['']
+- ID: BLUEDROID_GAP_07022
+  <<: *GAP_CASE
+  test point 2: BLE GAP update connect parameters
+  summary: update connect parameters timeout and timeout = 9 by slave for BLUEDROID
+  steps: |
+    1. DUT2 update connect parameters timeout and timeout = 9
+  expected result: |
+    1. fail
+  initial condition: BLE_CONN2
+  cmd set:
+  - "BLEFunction/ConnParamUpdate"
+  - - dut = ["SSC2"]
+    - ['']
+  - - interval=["8-10"]
+    - ['']
+  - - latency=["0"]
+    - ['']
+  - - supervision_timeout=["9"]
+    - ['']
+  - - expect_result=["ERROR"]
+    - ['']
+- ID: BLUEDROID_GAP_07023
+  <<: *GAP_CASE
+  test point 2: BLE GAP update connect parameters
+  summary: update connect parameters timeout and timeout = 10 by slave for BLUEDROID
+  steps: |
+    1. DUT2 update connect parameters timeout and timeout = 10 by slave
+  expected result: |
+    1. fail
+  initial condition: BLE_CONN2
+  cmd set:
+  - "BLEFunction/ConnParamUpdate"
+  - - dut = ["SSC2"]
+    - ['']
+  - - interval=["8-10"]
+    - ['']
+  - - latency=["0"]
+    - ['']
+  - - supervision_timeout=["10"]
+    - ['']
+  - - expect_result=["OK"]
+    - ['']
+- ID: BLUEDROID_GAP_07024
+  <<: *GAP_CASE
+  test point 2: BLE GAP update connect parameters
+  summary: update connect parameters timeout and timeout = 3200 by slave for BLUEDROID
+  steps: |
+    1. DUT2 update connect parameters timeout and timeout = 3200 by slave
+  expected result: |
+    1. fail
+  initial condition: BLE_CONN2
+  cmd set:
+  - "BLEFunction/ConnParamUpdate"
+  - - dut = ["SSC2"]
+    - ['']
+  - - interval=["8-10"]
+    - ['']
+  - - latency=["0"]
+    - ['']
+  - - supervision_timeout=["3200"]
+    - ['']
+  - - expect_result=["OK"]
+    - ['']
+- ID: BLUEDROID_GAP_07025
+  <<: *GAP_CASE
+  test point 2: BLE GAP update connect parameters
+  summary: update connect parameters timeout and timeout = 3201 by slave for BLUEDROID
+  steps: |
+    1. DUT2 update connect parameters timeout and timeout = 3201 by slave
+  expected result: |
+    1. fail
+  initial condition: BLE_CONN2
+  cmd set:
+  - "BLEFunction/ConnParamUpdate"
+  - - dut = ["SSC2"]
+    - ['']
+  - - interval=["8-10"]
+    - ['']
+  - - latency=["0"]
+    - ['']
+  - - supervision_timeout=["3201"]
+    - ['']
+  - - expect_result=["ERROR"]
+    - ['']
+- ID: BLUEDROID_GAP_07026
+  <<: *GAP_CASE
+  test point 2: BLE GAP update connect parameters
+  summary: update invalid connect parameters before configure connect param event back by slave for BLUEDROID
+  steps: |
+    1. DUT2 update valid interval
+    2. DUT2 update valid interval
+  expected result: |
+    1.
+    2. pending
+  initial condition: BLE_CONN2
+  cmd set:
+  - ""
+  - - "SSC SSC2 bleconn -S -z ConnParam -a <dut1_bt_mac>"
+    - ['']
+  - - "SSC SSC2 bleconn -S -z ConnParam -a <dut1_bt_mac> -t 0x40"
+    - ['R SSC2 C pending']
+- ID: BLUEDROID_GAP_07027
+  <<: *GAP_CASE
+  test point 2: BLE GAP update connect parameters
+  summary: update invalid connect param and update valid connect params by slave for BLUEDROID
+  steps: |
+    1. DUT2 update invalid connect
+    2. DUT2 update valid connect
+  expected result: |
+    1. fail
+    2. succeed
+  initial condition: BLE_CONN2
+  cmd set:
+  - "BLEFunction/ConnParamUpdate"
+  - - dut = ["SSC2","SSC2"]
+    - ['']
+  - - interval=["32-64","32-64"]
+    - ['']
+  - - latency=["0","0"]
+    - ['']
+  - - supervision_timeout=["9","21"]
+    - ['']
+  - - expect_result=["ERROR","OK"]
+    - ['']
+- ID: BLUEDROID_GAP_07028
+  <<: *GAP_CASE
+  test point 2: BLE GAP update connect parameters
+  summary: update valid connect parameters twice by slave for BLUEDROID
+  allow fail: 1/2
+  steps: |
+    1. DUT2 update valid interval
+    2. DUT2 update valid interval
+  expected result: |
+    1. succeed
+    2. succeed
+  initial condition: BLE_CONN2
+  cmd set:
+  - "BLEFunction/ConnParamUpdate"
+  - - dut = ["SSC2","SSC2"]
+    - ['']
+  - - interval=["7-80","10-100"]
+    - ['']
+  - - latency=["1","0"]
+    - ['']
+  - - supervision_timeout=["41","30"]
+    - ['']
+  - - expect_result=["OK","OK"]
+    - ['']
+- ID: BLUEDROID_GAP_07029
+  <<: *GAP_CASE
+  test point 2: BLE GAP update connect parameters
+  summary: update invalid connect param by master and update valid connect params by slave for BLUEDROID
+  steps: |
+    1. DUT1 update invalid connect
+    2. DUT2 update valid connect
+  expected result: |
+    1. fail
+    2. succeed
+  initial condition: BLE_CONN2
+  cmd set:
+  - "BLEFunction/ConnParamUpdate"
+  - - dut = ["SSC1","SSC2"]
+    - ['']
+  - - interval=["32-64","32-64"]
+    - ['']
+  - - latency=["9","0"]
+    - ['']
+  - - supervision_timeout=["32","32"]
+    - ['']
+  - - expect_result=["ERROR","OK"]
+    - ['']
+- ID: BLUEDROID_GAP_07030
+  <<: *GAP_CASE
+  test point 2: BLE GAP update connect parameters
+  summary: update valid connect param by master and update valid connect params by slave for BLUEDROID
+  steps: |
+    1. DUT1 update valid interval
+    2. DUT2 update valid interval
+  expected result: |
+    1. succeed
+    2. succeed
+  initial condition: BLE_CONN2
+  cmd set:
+  - "BLEFunction/ConnParamUpdate"
+  - - dut = ["SSC1","SSC2"]
+    - ['']
+  - - interval=["7-80","10-100"]
+    - ['']
+  - - latency=["1","0"]
+    - ['']
+  - - supervision_timeout=["41","30"]
+    - ['']
+  - - expect_result=["OK","OK"]
+    - ['']
+- ID: BLUEDROID_GAP_07031
+  <<: *GAP_CASE
+  test point 2: BLE GAP update connect parameters
+  summary: update invalid connect param by slave and update valid connect params by master for BLUEDROID
+  steps: |
+    1. DUT1 update invalid connect
+    2. DUT2 update valid connect
+  expected result: |
+    1. fail
+    2. success
+  initial condition: BLE_CONN2
+  cmd set:
+  - "BLEFunction/ConnParamUpdate"
+  - - dut = ["SSC2","SSC1"]
+    - ['']
+  - - interval=["32-64","32-64"]
+    - ['']
+  - - latency=["9","0"]
+    - ['']
+  - - supervision_timeout=["32","32"]
+    - ['']
+  - - expect_result=["ERROR","OK"]
+    - ['']
+- ID: BLUEDROID_GAP_07032
+  <<: *GAP_CASE
+  test point 2: BLE GAP update connect parameters
+  summary: update valid connect param by slave and update valid connect params by master for BLUEDROID
+  allow fail: 1/2
+  steps: |
+    1. DUT2 update valid interval
+    2. DUT1 update valid interval
+  expected result: |
+    1. succeed
+    2. succeed
+  initial condition: BLE_CONN2
+  cmd set:
+  - "BLEFunction/ConnParamUpdate"
+  - - dut = ["SSC2","SSC1"]
+    - ['']
+  - - interval=["7-80","10-100"]
+    - ['']
+  - - latency=["1","0"]
+    - ['']
+  - - supervision_timeout=["41","30"]
+    - ['']
+  - - expect_result=["OK","OK"]
+    - ['']
+- ID: BLUEDROID_GAP_07033
+  <<: *GAP_CASE
+  test point 2: BLE GAP update connect parameters
+  summary: update connect parameters by master after pairing for BLUEDROID
+  steps: |
+    1. DUT1 update connection parameters
+  expected result: |
+    1. succeed
+  initial condition: BLE_CONN_SMP
+  cmd set:
+  - "BLEFunction/ConnParamUpdate"
+  - - dut = ["SSC1"]
+    - ['']
+  - - interval=["32-64"]
+    - ['']
+  - - latency=["0"]
+    - ['']
+  - - supervision_timeout=["32"]
+    - ['']
+  - - expect_result=["OK"]
+    - ['']
+- ID: BLUEDROID_GAP_09001
+  <<: *GAP_CASE
+  test point 2: BLE GAP processing scan data
+  summary: process scan data txp, manufacturer data, interval range, appearence, flag
+  steps: |
+    1. DUT1 set raw adv data tx power, manufacturer data, interval range, apperaence, flag
+    2. DUT1 start adv
+    3. DUT2 do active scan with extended scan data
+  expected result: |
+    1. succeed
+    2. succeed
+    3. scan with the correct adv data
+  cmd set:
+  - ""
+  - *dut1_stop_adv
+  - - "SSC SSC1 bleadv -R -t 1 -r 0x020AEB06FF1112131415051220004000021901020106"
+    - ["R SSC1 C +BLEADV:OK"]
+  - *dut1_start_adv
+  - *dut2_stop_adv
+  - - "SSC SSC2 blescan -D -z start -t 1 -e 1 -c 0 -d 1"
+    - - 'P SSC2 RE "\+BTSCANEXT:%%s,man,0x1112131415"%%(<dut1_bt_mac>)'
+      - 'P SSC2 RE "\+BTSCANEXT:%%s,txp,0xEB"%%(<dut1_bt_mac>)'
+      - 'P SSC2 RE "\+BTSCANEXT:%%s,intrange,0x20004000"%%(<dut1_bt_mac>)'
+      - 'P SSC2 RE "\+BTSCANEXT:%%s,app,0x01"%%(<dut1_bt_mac>)'
+      - 'P SSC2 RE "\+BTSCANEXT:%%s,flag,0x06"%%(<dut1_bt_mac>)'
+      - 'R SSC2 C Complete'
+- ID: BLUEDROID_GAP_09004
+  <<: *GAP_CASE
+  test point 2: BLE GAP processing scan data
+  summary: process combined adv data and scan response data
+  steps: |
+    1. DUT1 set raw adv data manufacturer data
+    2. DUT1 set scan response data tx power, interval range, apperaence, flag
+    2. DUT1 start adv
+    3. DUT2 do active scan with extended scan data 19
+  expected result: |
+    1. succeed
+    2. succeed
+    3. scan with the correct adv data
+  cmd set:
+  - ""
+  - *dut1_stop_adv
+  - - "SSC SSC1 bleadv -R -t 1 -r 0x15FF1011121314151617181910111213141516171819"
+    - ["R SSC1 C +BLEADV:OK"]
+  - - "SSC SSC1 bleadv -R -t 2 -r 0x020AEB051220004000021901020106"
+    - ["R SSC1 C +BLEADV:OK"]
+  - *dut1_start_adv
+  - *dut2_stop_adv
+  - - "SSC SSC2 blescan -D -z start -t 1 -e 1 -d 1"
+    - - 'P SSC2 RE "\+BTSCANEXT:%%s,man,0x1011121314151617181910111213141516171819"%%(<dut1_bt_mac>)'
+      - 'P SSC2 RE "\+BTSCANEXT:%%s,txp,0xEB"%%(<dut1_bt_mac>)'
+      - 'P SSC2 RE "\+BTSCANEXT:%%s,intrange,0x20004000"%%(<dut1_bt_mac>)'
+      - 'P SSC2 RE "\+BTSCANEXT:%%s,app,0x01"%%(<dut1_bt_mac>)'
+      - 'P SSC2 RE "\+BTSCANEXT:%%s,flag,0x06"%%(<dut1_bt_mac>)'
+      - 'R SSC2 C Complete'
+- ID: BLUEDROID_GAP_09007
+  <<: *GAP_CASE
+  test point 2: BLE GAP processing scan data
+  summary: proccess scan data included adv interval
+  steps: |
+    1. DUT1 stop advertise and set short device name
+    2. DUT1 set max interval 0x40 min interval 0x20 for adv data and scan response
+    3. DUT1 start advertising
+    4. DUT2 start scan and processing scan data
+    5. DUT1 stop advertising
+    6. DUT1 set max interval 0x400 min interval 0x200 for adv data and scan response
+    7. DUT1 start advertising
+    8. DUT2 start scan and processing scan data
+  expected result: |
+    1. succeed
+    2. succeed
+    3. succeed
+    4. scan with the correct adv data
+    5. succeed
+    6. succeed
+    7. succeed
+    8. scan with the correct adv data
+  cmd set:
+  - ""
+  - *dut1_stop_adv
+  - *set_default_ble_name
+  - - "SSC SSC1 bleadv -L -c 0 -i 0x20-0x40 -t 3"
+    - ["R SSC1 C +BLEADV:SetAdv,OK"]
+  - *dut1_start_adv
+  - - "SSC SSC2 blescan -D -z start -t 1 -e 1 -c 0 -d 1"
+    - - 'P SSC2 RE "\+BTSCANEXT:%%s,intrange,0x20004000"%%(<dut1_bt_mac>)'
+      - 'R SSC2 C Complete'
+  - *dut1_stop_adv
+  - - "SSC SSC1 bleadv -L -c 0 -i 0x200-0x400 -t 3"
+    - ["R SSC1 C +BLEADV:SetAdv,OK"]
+  - *dut1_start_adv
+  - - "SSC SSC2 blescan -D -z start -t 1 -e 1 -c 0 -d 1"
+    - - 'P SSC2 RE "\+BTSCANEXT:%%s,intrange,0x00020004"%%(<dut1_bt_mac>)'
+      - 'R SSC2 C Complete'
+- ID: BLUEDROID_GAP_13001
+  <<: *GAP_CASE
+  test point 2: BLE GAP param packet data length test
+  summary: gattc set packet data length at valid length (27-251) for BLUEDROID
+  steps: |
+    1. DUT1 connect DUT2
+    2. DUT1 set packet data length
+  expected result: |
+    1. succeed
+    2. succeed
+  cmd set:
+  - ""
+  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
+    - ['R SSC1 C +BLECONN:GapConnect,OK', 'R SSC2 C +BLECONN:GapConnect']
+  - - LOOP 3 1 "[27,200,251]" "[27,200,251]"
+  - - "SSC SSC1 ble -S -z pktLen -a <dut2_bt_mac> -l {%d}"
+    - ["R SSC1 C +BLECONN:UpdatePktLen,OK,{%d}"]
+- ID: BLUEDROID_GAP_13002
+  <<: *GAP_CASE
+  test point 2: BLE GAP param packet data length test
+  summary: gattc set packet data length at invalid length for BLUEDROID
+  steps: |
+    1. DUT1 connect DUT2
+    2. DUT1 set packet data length
+  expected result: |
+    1. succeed
+    2. succeed
+  cmd set:
+  - ""
+  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
+    - ['R SSC1 C +BLECONN:GapConnect,OK', 'R SSC2 C +BLECONN:GapConnect']
+  - - LOOP 2 1 "[26,252]" "[27,251]"
+  - - "SSC SSC1 ble -S -z pktLen -a <dut2_bt_mac> -l {%d}"
+    - ["R SSC1 C +BLECONN:UpdatePktLen,OK,{%d}"]
+- ID: BLUEDROID_GAP_13003
+  <<: *GAP_CASE
+  test point 2: BLE GAP param packet data length test
+  summary: gatts set packet data length at valid length (27-251) for BLUEDROID
+  steps: |
+    1. DUT1 connect DUT2
+    2. DUT1 set packet data length
+  expected result: |
+    1. succeed
+    2. succeed
+  cmd set:
+  - ""
+  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
+    - ['R SSC1 C +BLECONN:GapConnect,OK', 'R SSC2 C +BLECONN:GapConnect']
+  - - LOOP 3 1 "[27,200,251]" "[27,200,251]"
+  - - "SSC SSC2 ble -S -z pktLen -a <dut1_bt_mac> -l {%d}"
+    - ["R SSC2 C +BLECONN:UpdatePktLen,OK,{%d}"]
+- ID: BLUEDROID_GAP_13004
+  <<: *GAP_CASE
+  test point 2: BLE GAP param packet data length test
+  summary: gatts set packet data length at invalid length for BLUEDROID
+  steps: |
+    1. DUT1 connect DUT2
+    2. DUT1 set packet data length
+  expected result: |
+    1. succeed
+    2. succeed
+  cmd set:
+  - ""
+  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
+    - ['R SSC1 C +BLECONN:GapConnect,OK', 'R SSC2 C +BLECONN:GapConnect']
+  - - LOOP 2 1 "[26,252]" "[27,251]"
+  - - "SSC SSC2 ble -S -z pktLen -a <dut1_bt_mac> -l {%d}"
+    - ["R SSC2 C +BLECONN:UpdatePktLen,OK,{%d}"]
+- ID: BLUEDROID_GAP_40001
+  <<: *GAP_CASE
+  auto test: 'No'
+  test point 2: test if BLE work after switch off some sub modules
+  summary: GAP only test for BLUEDROID
+  steps: |
+    1. download GAP only SSC bin on both DUT
+    2. DUT1 set ascii device name
+    3. stop advertising
+    4. config scan response and start advertising
+    5. DUT2 do active scan
+  expected result: |
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+    5. device name in scan result
+  initial condition: None
+  version: v1 (2017-05-19)
+  cmd set:
+  - ""
+  - - "SSC SSC[1-2] reboot"
+    - ['R SSC[1-2] C !!!ready!!!']
+  - - "SSC SSC[1-2] ble -R"
+    - ["R SSC[1-2] C +BLE:OK"]
+  - *set_default_ble_name
+  - *set_default_adv_data
+  - *dut2_stop_adv
+  - - "SSC SSC2 blescan -D -z start -t 3 -c 0"
+    - ["R SSC2 P <dut1_ble_name>"]
+
diff --git a/components/idf_test/integration_test/TC_IT_BLUEDROID_GATT.yml b/components/idf_test/integration_test/TC_IT_BLUEDROID_GATT.yml
new file mode 100644 (file)
index 0000000..afe92cc
--- /dev/null
@@ -0,0 +1,1171 @@
+.GATT_CASE: &GATT_CASE
+  SDK: ESP32_IDF
+  Test App: SSC_BLE
+  auto test: 'Yes'
+  category: Function
+  test point 1: basic function
+  initial condition: BLE_CONN2
+  test environment: SSC_T2_5
+  execution time: 0
+  module: BLUEDROID
+  sub module: GATT
+  version: v1 (2016-12-31)
+  CI ready: 'Yes'
+  level: Integration
+  allow fail: ''
+
+.primary_service_discovery: &primary_service_discovery
+  LIST_MERGE:
+    - - "SSC SSC1 gattc -D -z primaryService -p 0x10 -r <dut2_bt_mac>"
+      - ["R SSC1 C +GATTC:Discover,OK"]
+
+.included_service_connection: &included_primary_service_connection
+  LIST_MERGE:
+    - - "SSC SSC2 gatts -S -z load -p 0xA1"
+      - ["R SSC2 C +GATTS:CreateService,OK,A001"]
+    - - "SSC SSC2 gatts -S -z include -p 0xA1 -i 0xA0"
+      - ["R SSC2 C +GATTS:AddIncludedService,OK"]
+    - - "SSC SSC2 gatts -S -z add -p 0xA1"
+      - ["R SSC2 C +GATTS:StartService,OK,A001"]
+    - - SSC SSC1 gattc -F -r <dut2_bt_mac>
+      - ['R SSC1 C +GATTC:OK']
+    - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
+      - ["R SSC1 C +BLECONN:GapConnect,OK,0010", "R SSC2 C +BLECONN:GapConnect"]
+
+.included_second_service_connection: &included_second_service_connection
+  LIST_MERGE:
+    - - "SSC SSC2 gatts -S -z load -p 0xA4"
+      - ["R SSC2 C +GATTS:StartService,OK,A004"]
+    - - "SSC SSC2 gatts -S -z load -p 0xA1"
+      - ["R SSC2 C +GATTS:CreateService,OK,A001"]
+    - - "SSC SSC1 gatts -S -z add -p 0xA1"
+      - ["R SSC1 C +GATTS:StartService,OK,A001"]
+    - - "SSC SSC2 gatts -S -z include -p 0xA1 -i 0xA4"
+      - ["R SSC2 C +GATTS:AddIncludedService,OK"]
+    - - SSC SSC1 gattc -F -r <dut2_bt_mac>
+      - ['R SSC1 C +GATTC:OK']
+    - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
+      - ["R SSC1 C +BLECONN:GapConnect,OK,0010", "R SSC2 C +BLECONN:GapConnect"]
+
+.table_include_table_service: &table_include_table_service
+  LIST_MERGE:
+    - - "SSC SSC2 gatts -S -z load -p 0xA5 -i 0xA2"
+      - ["R SSC2 C +GATTS:StartService,OK,A005"]
+    - - SSC SSC1 gattc -F -r <dut2_bt_mac>
+      - ['R SSC1 C +GATTC:OK']
+    - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
+      - ["R SSC1 C +BLECONN:GapConnect,OK,0010", "R SSC2 C +BLECONN:GapConnect"]
+
+.table_include_service: &table_include_service
+  LIST_MERGE:
+    - - "SSC SSC2 gatts -S -z load -p 0xA5 -i 0xA0"
+      - ["R SSC2 C +GATTS:StartService,OK,A005"]
+    - - SSC SSC1 gattc -F -r <dut2_bt_mac>
+      - ['R SSC1 C +GATTC:OK']
+    - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
+      - ["R SSC1 C +BLECONN:GapConnect,OK,0010", "R SSC2 C +BLECONN:GapConnect"]
+
+.register_notify_c107: &register_notify_c107
+  LIST_MERGE:
+    - - "SSC SSC1 gattc -N -z register -s 0xA000 -c 0xC107 -p 0x10 -r <dut2_bt_mac>"
+      - ["R SSC1 C +GATTC:RegNotify,OK,0010,A000,C107"]
+
+.register_indicate_c108: &register_indicate_c108
+  LIST_MERGE:
+    - - "SSC SSC1 gattc -N -z register -s 0xA000 -c 0xC108 -p 0x10 -r <dut2_bt_mac>"
+      - ["R SSC1 C +GATTC:RegNotify,OK,0010,A000,C108"]
+
+.stop_adv: &stop_adv
+  LIST_MERGE:
+    - - "SSC SSC2 bleadv -D -z stop"
+      - ["R SSC2 C +BLEADV:Stop"]
+
+test cases:
+- ID: BLUEDROID_GATT_01001
+  <<: *GATT_CASE
+  test point 2: BLE GATT server create service
+  summary: create service, add char and descriptor and start service for BLUEDOID
+  steps: |
+    1. create preset service 0xA000
+  expected result: |
+    1. succeed
+  initial condition: BLE_INIT1
+  test environment: SSC_T1_4
+  cmd set:
+  - ""
+  - - "SSC SSC1 gatts -S -z load -p 0xA0"
+    - ["R SSC1 C +GATTS:StartService,OK,A000"]
+- ID: BLUEDROID_GATT_01002
+  <<: *GATT_CASE
+  test point 2: BLE GATT server create service
+  summary: create service and include another service for BLUEDROID
+  steps: |
+    1. create preset service 0xA000
+    2. create preset service 0xA001
+  expected result: |
+    1. succeed
+    2. succeed
+  initial condition: BLE_INIT1
+  test environment: SSC_T1_4
+  cmd set:
+  - ""
+  - - "SSC SSC1 gatts -S -z load -p 0xA0"
+    - ["R SSC1 C +GATTS:StartService,OK,A000"]
+  - - "SSC SSC1 gatts -S -z load -p 0xA1"
+    - ["R SSC1 C +GATTS:CreateService,OK,A001"]
+  - - "SSC SSC1 gatts -S -z add -p 0xA1"
+    - ["R SSC1 C +GATTS:StartService,OK,A001"]
+- ID: BLUEDROID_GATT_20001
+  <<: *GATT_CASE
+  test point 2: BLE GATT client service / char discovery
+  summary: GATT client discover manual primary service for BLUEDOID
+  steps: |
+    1. DUT2 create preset service 0xA000
+    2. DUT2 create preset service 0xA001
+    3. DUT1 connect to DUT2
+    4. DUT1 do primary service discovery
+  expected result: |
+    1. succeed
+    2. succeed
+    3. succeed
+    4. found service 0xA000 and 0xA001
+  initial condition: BLE_INIT2
+  cmd set:
+  - ""
+  - *included_primary_service_connection
+  - - "SSC SSC1 gattc -D -z primaryService -p 0x10"
+    - ["R SSC1 C +GATTC:DiscoverService,A000 C +GATTC:DiscoverService,A001"]
+  - - SSC SSC1 gattc -F -r <dut2_bt_mac>
+    - ['R SSC1 C +GATTC:OK']
+- ID: BLUEDROID_GATT_20002
+  <<: *GATT_CASE
+  test point 2: BLE GATT client service / char discovery
+  summary: GATT client get manual included service for BLUEDOID
+  steps: |
+    1. DUT2 create preset service 0xA000
+    2. DUT2 create preset service 0xA001
+    3. DUT1 connect to DUT2
+    4. DUT1 do primary service discovery
+    5. DUT1 get included service 0xA000 from service 0xA001
+  expected result: |
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+    5. get included service 0xA000 from service 0xA001
+  initial condition: BLE_INIT2
+  cmd set:
+  - ""
+  - *included_primary_service_connection
+  - - "SSC SSC1 gattc -D -z primaryService -p 0x10"
+    - ["R SSC1 C +GATTC:DiscoverService,A000 A <handle_range>:GATTC:DiscoverService,A001,(\\d+-\\d+)"]
+  - - "SSC SSC1 gattc -D -z includedService -p 0x10 -s 0xA001 -i 0xA000 -q <handle_range> -k 1"
+    - ["R SSC1 C +GATTC:IncludedService,0010,A001,A000"]
+  - - SSC SSC1 gattc -F -r <dut2_bt_mac>
+    - ['R SSC1 C +GATTC:OK']
+- ID: BLUEDROID_GATT_20003
+  <<: *GATT_CASE
+  test point 2: BLE GATT client service / char discovery
+  summary: GATT client discover table primary service (table service include table service) for BLUEDROID
+  steps: |
+    1. DUT2 create preset service 0xA002
+    2. DUT2 create preset service 0xA005
+    3. DUT1 connect to DUT2
+    4. DUT1 do primary service discovery
+  expected result: |
+    1. succeed
+    2. succeed
+    3. succeed
+    4. found service 0xA002 and 0xA005
+  initial condition: BLE_INIT3
+  cmd set:
+  - ""
+  - *table_include_table_service
+  - - "SSC SSC1 gattc -D -z primaryService -p 0x10"
+    - ["R SSC1 C +GATTC:DiscoverService,A002 C +GATTC:DiscoverService,A005"]
+- ID: BLUEDROID_GATT_20004
+  <<: *GATT_CASE
+  test point 2: BLE GATT client service / char discovery
+  summary: GATT client get table included service for BLUEDROID
+  steps: |
+    1. DUT2 create preset service 0xA002
+    2. DUT2 create preset service 0xA005
+    3. DUT1 connect to DUT2
+    4. DUT1 do primary service discovery
+    5. DUT1 get included service 0xA002 from service 0xA005
+  expected result: |
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+    5. get included service 0xA002 from service 0xA005
+  initial condition: BLE_INIT3
+  cmd set:
+  - ""
+  - *table_include_table_service
+  - - "SSC SSC1 gattc -D -z primaryService -p 0x10"
+    - ["R SSC1 C +GATTC:DiscoverService,A002 A <handle_range>:GATTC:DiscoverService,A005,(\\d+-\\d+)"]
+  - - "SSC SSC1 gattc -D -z includedService -p 0x10 -s 0xA005 -i 0xA002 -q <handle_range> -k 1"
+    - ["R SSC1 C +GATTC:IncludedService,0010,A005,A002"]
+- ID: BLUEDROID_GATT_20005
+  <<: *GATT_CASE
+  test point 2: BLE GATT client service / char discovery
+  summary: GATT client discover table primary service (table service include manual service) for BLUEDROID
+  steps: |
+    1. DUT2 create preset service 0xA000
+    2. DUT2 create preset service 0xA005
+    3. DUT1 connect to DUT2
+    4. DUT1 do primary service discovery
+  expected result: |
+    1. succeed
+    2. succeed
+    3. succeed
+    4. found service 0xA000 and 0xA005
+  initial condition: BLE_INIT2
+  cmd set:
+  - ""
+  - *table_include_service
+  - - "SSC SSC1 gattc -D -z primaryService -p 0x10"
+    - ["R SSC1 C +GATTC:DiscoverService,A000 C +GATTC:DiscoverService,A005"]
+- ID: BLUEDROID_GATT_20006
+  <<: *GATT_CASE
+  test point 2: BLE GATT client service / char discovery
+  summary: GATT client get table included manual service for BLUEDROID
+  steps: |
+    1. DUT2 create preset service 0xA000
+    2. DUT2 create preset service 0xA005
+    3. DUT1 connect to DUT2
+    4. DUT1 do primary service discovery
+    5. DUT1 get included service 0xA000 from service 0xA005
+  expected result: |
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+    5. get included service 0xA000 from service 0xA005
+  initial condition: BLE_INIT2
+  cmd set:
+  - ""
+  - *table_include_service
+  - - "SSC SSC1 gattc -D -z primaryService -p 0x10"
+    - ["R SSC1 C +GATTC:DiscoverService,A000 A <handle_range>:GATTC:DiscoverService,A005,(\\d+-\\d+)"]
+  - - "SSC SSC1 gattc -D -z includedService -p 0x10 -s 0xA005 -i 0xA000 -q <handle_range> -k 1"
+    - ["R SSC1 C +GATTC:IncludedService,0010,A005,A000"]
+- ID: BLUEDROID_GATT_21001
+  <<: *GATT_CASE
+  test point 2: BLE GATT client read char and descriptor
+  summary: GATT client read short char for BLUEDROID
+  steps: |
+    1. DUT1 do discover
+    2. GATT client read 1 byte short char
+  expected result: |
+    1. succeed
+    2. read succeed
+  cmd set:
+  - ""
+  - *primary_service_discovery
+  - - "SSC SSC1 gattc -R -z char -s 0xA000 -c 0xC100 -p 0x10"
+    - ["R SSC1 C +GATTC:ReadOnce,0010,A000,C100,1", "R SSC1 C +GATTC:Read,OK,0010,A000,C100"]
+- ID: BLUEDROID_GATT_21002
+  <<: *GATT_CASE
+  test point 2: BLE GATT client read char and descriptor
+  summary: GATT client read long char for BLUEDROID
+  steps: |
+    1. DUT1 do service discovery
+    2. DUT1 GATT client read 256 bytes long char
+  expected result: |
+    1. succeed
+    2. read succeed
+  cmd set:
+  - ""
+  - *primary_service_discovery
+  - - "SSC SSC1 gattc -R -z char -s 0xA000 -c 0xC101 -p 0x10"
+    - ["R SSC1 C +GATTC:ReadOnce,0010,A000,C101,256", "R SSC1 C +GATTC:Read,OK,0010,A000,C101"]
+- ID: BLUEDROID_GATT_21003
+  <<: *GATT_CASE
+  test point 2: BLE GATT client read char and descriptor
+  summary: GATT client read short descriptor for BLUEDROID
+  steps: |
+    1. DUT1 do service discovery
+    2. GATT client read short descriptor
+  expected result: |
+    1. succeed
+    2. read succeed
+  cmd set:
+  - ""
+  - *primary_service_discovery
+  - - "SSC SSC1 gattc -R -z descriptor -s 0xA000 -c 0xC107 -d 0x2902 -p 0x10"
+    - ["R SSC1 C +GATTC:ReadOnce,0010,A000,C107,2902,2", "R SSC1 C +GATTC:ReadDescriptor,OK,0010,A000,C107,2902"]
+- ID: BLUEDROID_GATT_21004
+  <<: *GATT_CASE
+  test point 2: BLE GATT client read char and descriptor
+  summary: GATT client read long descriptor for BLUEDROID
+  steps: |
+    1. DUT1 do service discovery
+    2. GATT client read long descriptor
+  expected result: |
+    1. succeed
+    2. read succeed
+  cmd set:
+  - ""
+  - *primary_service_discovery
+  - - "SSC SSC1 gattc -R -z descriptor -s 0xA000 -c 0xC100 -d 0x2901 -p 0x10"
+    - ["R SSC1 C +GATTC:ReadOnce,0010,A000,C100,2901,2", "R SSC1 C +GATTC:ReadDescriptor,OK,0010,A000,C100,2901"]
+- ID: BLUEDROID_GATT_21005
+  <<: *GATT_CASE
+  test point 2: BLE GATT client read char and descriptor
+  summary: GATT client read short char of an included service for BLUEDROID
+  steps: |
+    1. DUT2 create preset service 0xA000
+    2. DUT2 create preset service 0xA001
+    3. DUT1 connect to DUT2
+    4. DUT1 do discover
+    5. GATT client read 1 byte short char
+  expected result: |
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+    5. succeed
+  initial condition: BLE_INIT2
+  cmd set:
+  - ""
+  - - "SSC SSC2 gatts -S -z load -p 0xA1"
+    - ["R SSC2 C +GATTS:CreateService,OK,A001"]
+  - - SSC SSC1 gattc -F -r <dut2_bt_mac>
+    - ['R SSC1 C +GATTC:OK']
+  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
+    - ["R SSC1 C +BLECONN:GapConnect,OK,0010", "R SSC2 C +BLECONN:GapConnect"]
+  - *primary_service_discovery
+  - - "SSC SSC1 gattc -R -z char -s 0xA000 -c 0xC100 -p 0x10"
+    - ["R SSC1 C +GATTC:ReadOnce,0010,A000,C100,1", "R SSC1 C +GATTC:Read,OK,0010,A000,C100"]
+- ID: BLUEDROID_GATT_21006
+  <<: *GATT_CASE
+  test point 2: BLE GATT client read char and descriptor
+  summary: GATT client read short descriptor or an included service for BLUEDROID
+  allow fail: 1/2
+  steps: |
+    1. DUT2 create preset service 0xA000
+    2. DUT2 create preset service 0xA001
+    3. DUT1 connect to DUT2
+    4. DUT1 do discover
+    5. GATT client read 1 byte short descriptor
+  expected result: |
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+    5. succeed
+  initial condition: BLE_INIT2
+  cmd set:
+  - ""
+  - - "SSC SSC2 gatts -S -z load -p 0xA1"
+    - ["R SSC2 C +GATTS:CreateService,OK,A001"]
+  - - SSC SSC1 gattc -F -r <dut2_bt_mac>
+    - ['R SSC1 C +GATTC:OK']
+  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
+    - ["R SSC1 C +BLECONN:GapConnect,OK,0010", "R SSC2 C +BLECONN:GapConnect"]
+  - *primary_service_discovery
+  - - "SSC SSC1 gattc -R -z descriptor -s 0xA000 -c 0xC107 -d 0x2902 -p 0x10"
+    - ["R SSC1 C +GATTC:ReadOnce,0010,A000,C107,2902,2", "R SSC1 C +GATTC:ReadDescriptor,OK,0010,A000,C107,2902"]
+- ID: BLUEDROID_GATT_22001
+  <<: *GATT_CASE
+  test point 2: BLE GATT client write char and descriptor
+  summary: GATT client write with response to a short char with response for BLUEDROID
+  steps: |
+    1. DUT1 do service discovery
+    2. GATT client write with response to short char with response
+  expected result: |
+    1. succeed
+    2. write succeed
+  cmd set:
+  - ""
+  - *primary_service_discovery
+  - - "SSC SSC1 gattc -W -z char -s 0xA000 -c 0xC102 -p 0x10 -v 0x01"
+    - ["R SSC1 C +GATTC:WriteOnce,0010,A000,C102", "R SSC1 C +GATTC:Write,OK,0010,A000,C102"]
+- ID: BLUEDROID_GATT_22002
+  <<: *GATT_CASE
+  test point 2: BLE GATT client write char and descriptor
+  summary: GATT client write without response to a short char without response for BLUEDROID
+  steps: |
+    1. DUT1 do service discovery
+    2. GATT client write without response to short char without response
+  expected result: |
+    1. succeed
+    2. write succeed
+  cmd set:
+  - ""
+  - *primary_service_discovery
+  - - "SSC SSC1 gattc -W -z char -s 0xA000 -c 0xC103 -p 0x10 -v 0x01 -w 1"
+    - - "P SSC1 C +GATTC:WriteOnce,0010,A000,C103"
+      - "P SSC2 C +GATTS:Write,OK,A000,C103"
+      - "P SSC1 C +GATTC:Write,OK,0010,A000,C103"
+- ID: BLUEDROID_GATT_22003
+  <<: *GATT_CASE
+  test point 2: BLE GATT client write char and descriptor
+  summary: GATT client prepare write and do execute for BLUEDROID
+  steps: |
+    1. DUT1 do service discovery
+    2. GATT client prepare write and do execute
+  expected result: |
+    1. succeed
+    2. write succeed
+  cmd set:
+  - ""
+  - *primary_service_discovery
+  - - "SSC SSC1 gattc -W -z longChar -s 0xA000 -c 0xC110 -p 0x10 -l 256"
+    - ["P SSC1 C +GATTC:Write,OK,0010,A000,C110"]
+- ID: BLUEDROID_GATT_22004
+  <<: *GATT_CASE
+  test point 2: BLE GATT client write char and descriptor
+  summary: GATT client prepare write and do cancel for BLUEDROID
+  steps: |
+    1. DUT1 do service discovery
+    2. GATT client prepare write and do cancel
+  expected result: |
+    1. succeed
+    2. write succeed
+  cmd set:
+  - ""
+  - *primary_service_discovery
+  - - "SSC SSC1 gattc -W -z longChar -s 0xA000 -c 0xC110 -p 0x10 -l 256 -e 0"
+    - ["P SSC1 C +GATTC:Write,OK,0010,A000,C110"]
+  - - "SSC SSC1 gattc -W -z char -s 0xA000 -c 0xC110 -p 0x10 -l 256 -e 0"
+    - ["P SSC1 C +GATTC:Write,OK,0010,A000,C110"]
+- ID: BLUEDROID_GATT_22005
+  <<: *GATT_CASE
+  test point 2: BLE GATT client write char and descriptor
+  summary: GATT client write to a short descriptor for BLUEDROID
+  steps: |
+    1. DUT1 do service discovery
+    2. GATT client write to short descriptor
+  expected result: |
+    1. succeed
+    2. write succeed
+  cmd set:
+  - ""
+  - *primary_service_discovery
+  - - "SSC SSC1 gattc -W -z descriptor -s 0xA000 -c 0xC107 -d 0x2902 -p 0x10 -v 0x0100"
+    - ["R SSC1 C +GATTC:WriteOnce,0010,A000,C107,2902", "R SSC1 C +GATTC:WriteDescriptor,OK,0010,A000,C107,2902"]
+- ID: BLUEDROID_GATT_22006
+  <<: *GATT_CASE
+  test point 2: BLE GATT client write char and descriptor
+  summary: GATT client write to long descriptor and execute for BLUEDROID
+  steps: |
+    1. DUT1 do service discovery
+    2. GATT client write to long descriptor and execute
+  expected result: |
+    1. succeed
+    2. write succeed
+  cmd set:
+  - ""
+  - *primary_service_discovery
+  - - "SSC SSC1 gattc -W -z longDescriptor -s 0xA000 -c 0xC100 -d 0x2901 -p 0x10 -l 256"
+    - ["P SSC1 C +GATTC:WriteDescriptor,OK,0010,A000,C100,2901"]
+- ID: BLUEDROID_GATT_22007
+  <<: *GATT_CASE
+  test point 2: BLE GATT client write char and descriptor
+  summary: GATT client write to long descriptor using write API for BLUEDROID
+  steps: |
+    1. DUT1 do service discovery
+    2. GATT client write to long descriptor and execute
+  expected result: |
+    1. succeed
+    2. write succeed
+  cmd set:
+  - ""
+  - *primary_service_discovery
+  - - "SSC SSC1 gattc -W -z descriptor -s 0xA000 -c 0xC100 -d 0x2901 -p 0x10 -l 256"
+    - ["P SSC1 C +GATTC:WriteDescriptor,OK,0010,A000,C100,2901"]
+- ID: BLUEDROID_GATT_22008
+  <<: *GATT_CASE
+  test point 2: BLE GATT client write char and descriptor
+  summary: GATT client write to an included char for BLUEDROID
+  allow fail: 1/2
+  steps: |
+    1. DUT2 create preset service 0xA000
+    2. DUT2 create preset service 0xA001
+    3. DUT1 connect to DUT2
+    4. DUT1 do discover
+    5. GATT client write with response to short char with response
+  expected result: |
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+    5. succeed
+  initial condition: BLE_INIT2
+  cmd set:
+  - ""
+  - - "SSC SSC2 gatts -S -z load -p 0xA1"
+    - ["R SSC2 C +GATTS:CreateService,OK,A001"]
+  - - SSC SSC1 gattc -F -r <dut2_bt_mac>
+    - ['R SSC1 C +GATTC:OK']
+  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
+    - ["R SSC1 C +BLECONN:GapConnect,OK,0010", "R SSC2 C +BLECONN:GapConnect"]
+  - *primary_service_discovery
+  - - "SSC SSC1 gattc -W -z char -s 0xA000 -c 0xC102 -p 0x10 -v 0x01"
+    - ["R SSC1 C +GATTC:WriteOnce,0010,A000,C102", "R SSC1 C +GATTC:Write,OK,0010,A000,C102"]
+- ID: BLUEDROID_GATT_22009
+  <<: *GATT_CASE
+  test point 2: BLE GATT client write char and descriptor
+  summary: GATT client write to an included descriptor for BLUEDROID
+  steps: |
+    1. DUT2 create preset service 0xA000
+    2. DUT2 create preset service 0xA001
+    3. DUT1 connect to DUT2
+    4. DUT1 do discover
+    5. GATT client write to short descriptor
+  expected result: |
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+    5. succeed
+  initial condition: BLE_INIT2
+  cmd set:
+  - ""
+  - - "SSC SSC2 gatts -S -z load -p 0xA1"
+    - ["R SSC2 C +GATTS:CreateService,OK,A001"]
+  - - SSC SSC1 gattc -F -r <dut2_bt_mac>
+    - ['R SSC1 C +GATTC:OK']
+  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
+    - ["R SSC1 C +BLECONN:GapConnect,OK,0010", "R SSC2 C +BLECONN:GapConnect"]
+  - *primary_service_discovery
+  - - "SSC SSC1 gattc -W -z descriptor -s 0xA000 -c 0xC107 -d 0x2902 -p 0x10 -v 0x0100"
+    - ["R SSC1 C +GATTC:WriteOnce,0010,A000,C107,2902", "R SSC1 C +GATTC:WriteDescriptor,OK,0010,A000,C107,2902"]
+- ID: BLUEDROID_GATT_23001
+  <<: *GATT_CASE
+  test point 2: BLE GATT client receive notify and indication
+  summary: GATT client register/unregister notify for BLUEDROID
+  steps: |
+    1. DUT1 do service discovery
+    2. DUT1 register notify on notification char
+    3. DUT1 register notify on indication char
+  expected result: |
+    1. succeed
+    2. succeed
+    3. succeed
+  cmd set:
+  - ""
+  - *primary_service_discovery
+  - *register_notify_c107
+  - *register_indicate_c108
+  - - "SSC SSC1 gattc -N -z unregister -s 0xA000 -c 0xC107 -p 0x10 -r <dut2_bt_mac>"
+    - ["R SSC1 C +GATTC:UnRegNotify,OK,0010,A000,C107"]
+  - - "SSC SSC1 gattc -N -z unregister -s 0xA000 -c 0xC108 -p 0x10 -r <dut2_bt_mac>"
+    - ["R SSC1 C +GATTC:UnRegNotify,OK,0010,A000,C108"]
+- ID: BLUEDROID_GATT_23002
+  <<: *GATT_CASE
+  test point 2: BLE GATT client receive notify and indication
+  summary: GATT client receive notify for BLUEDROID
+  steps: |
+    1. DUT1 do service discovery
+    2. DUT1 register notify on notification char and write to CCC
+    3. DUT2 do notify
+  expected result: |
+    1. succeed
+    2. succeed
+    3. DUT1 recv notify
+  cmd set:
+  - ""
+  - *primary_service_discovery
+  - *register_notify_c107
+  - - "SSC SSC1 gattc -W -z descriptor -s 0xA000 -c 0xC107 -d 0x2902 -p 0x10 -v 0x0100"
+    - ["R SSC1 C +GATTC:WriteOnce,0010,A000,C107,2902", "R SSC1 C +GATTC:WriteDescriptor,OK,0010,A000,C107,2902"]
+  - - "SSC SSC2 gatts -N -c 0xC107 -p 0xA0 -v 0x01 -r <dut1_bt_mac>"
+    - ["R SSC1 C +GATTC:Notification,0010,A000,C107,1"]
+- ID: BLUEDROID_GATT_23003
+  <<: *GATT_CASE
+  test point 2: BLE GATT client receive notify and indication
+  summary: GATT client receive indication for BLUEDROID
+  steps: |
+    1. DUT1 do service discovery
+    2. DUT1 register notify on inidcation char and write to CCC
+    3. DUT2 do indication
+  expected result: |
+    1. succeed
+    2. succeed
+    3. DUT1 recv indication
+  cmd set:
+  - ""
+  - *primary_service_discovery
+  - *register_indicate_c108
+  - - "SSC SSC1 gattc -W -z descriptor -s 0xA000 -c 0xC108 -d 0x2902 -p 0x10 -v 0x0002"
+    - ["R SSC1 C +GATTC:WriteOnce,0010,A000,C108,2902", "R SSC1 C +GATTC:WriteDescriptor,OK,0010,A000,C108,2902"]
+  - - "SSC SSC2 gatts -I -c 0xC108 -p 0xA0 -v 0x01 -r <dut1_bt_mac>"
+    - ["R SSC1 C +GATTC:Indication,0010,A000,C108,1"]
+- ID: BLUEDROID_GATT_23004
+  <<: *GATT_CASE
+  test point 2: BLE GATT client receive notify and indication
+  summary: GATT client can't receive notification/indication without write to CCC (manual service) for BLUEDROID
+  steps: |
+    1. DUT1 do service discovery
+    2. DUT1 register notify on notify and inidcation char
+    3. DUT2 do notify and indication
+  expected result: |
+    1. succeed
+    2. succeed
+    3. DUT1 can recv notify and indication (this is aganist Spec, but a reasonable behavior in bluedroid)
+  cmd set:
+  - ""
+  - *primary_service_discovery
+  - *register_notify_c107
+  - *register_indicate_c108
+  - - "SSC SSC1 gattc -W -z descriptor -s 0xA000 -c 0xC107 -d 0x2902 -p 0x10 -v 0x0000"
+    - ["R SSC1 C +GATTC:WriteOnce,0010,A000,C107,2902", "R SSC1 C +GATTC:WriteDescriptor,OK,0010,A000,C107,2902"]
+  - - "SSC SSC2 gatts -N -c 0xC107 -p 0xA0 -v 0x01 -r <dut1_bt_mac>"
+    - ["P SSC1 C +GATTC:Notification,0010,A000,C107,1"]
+  - - "SSC SSC2 gatts -I -c 0xC108 -p 0xA0 -v 0x01 -r <dut1_bt_mac>"
+    - ["P SSC1 C +GATTC:Indication,0010,A000,C108,1"]
+- ID: BLUEDROID_GATT_24001
+  <<: *GATT_CASE
+  test point 2: BLE GATT client do invalid read
+  summary: GATT client read to a char without read property for BLUEDROID
+  steps: |
+    1. DUT1 do service discovery
+    2. DUT1 read to a char without read property
+  expected result: |
+    1. succeed
+    2. failed
+  cmd set:
+  - ""
+  - *primary_service_discovery
+  - - "SSC SSC1 gattc -R -z char -s 0xA000 -c 0xC103 -p 0x10"
+    - ["P SSC1 C +GATTC:Read,ERROR"]
+- ID: BLUEDROID_GATT_24002
+  <<: *GATT_CASE
+  test point 2: BLE GATT client do invalid read
+  summary: GATT client read to a descriptor without read property for BLUEDROID
+  steps: |
+    1. DUT1 do service discovery
+    2. DUT1 read to a descriptor without read property
+  expected result: |
+    1. succeed
+    2. failed
+  cmd set:
+  - ""
+  - *primary_service_discovery
+  - - "SSC SSC1 gattc -R -z descriptor -s 0xA000 -c 0xC102 -d 0x2901 -p 0x10"
+    - ["P SSC1 C +GATTC:Read,ERROR"]
+- ID: BLUEDROID_GATT_25001
+  <<: *GATT_CASE
+  test point 2: BLE GATT client do invalid write
+  summary: GATT client write with response to a char without write property for BLUEDROID
+  steps: |
+    1. DUT1 do service discovery
+    2. DUT1 write with response to a char without write property
+  expected result: |
+    1. succeed
+    2. failed
+  cmd set:
+  - ""
+  - *primary_service_discovery
+  - - "SSC SSC1 gattc -W -z char -s 0xA000 -c 0xC100 -p 0x10 -l 1"
+    - ["R SSC1 C +GATTC:Write,ERROR"]
+- ID: BLUEDROID_GATT_25002
+  <<: *GATT_CASE
+  test point 1: basic function
+  test point 2: BLE GATT client do invalid write
+  summary: GATT client write without response to a char without write property for BLUEDROID
+  steps: |
+    1. DUT1 do service discovery
+    2. DUT1 write without response to a char without write property
+  expected result: |
+    1. succeed
+    2. succeed (write without response always succeed)
+  cmd set:
+  - ""
+  - *primary_service_discovery
+  - - "SSC SSC1 gattc -W -z char -s 0xA000 -c 0xC100 -p 0x10 -l 1 -w 1"
+    - ["R SSC1 C +GATTC:Write,OK"]
+- ID: BLUEDROID_GATT_25003
+  <<: *GATT_CASE
+  test point 2: BLE GATT client do invalid write
+  summary: GATT client write to a descriptor without write property for BLUEDROID
+  steps: |
+    1. DUT1 do service discovery
+    2. DUT1 write to a descriptor without write property
+  expected result: |
+    1. succeed
+    2. failed
+  cmd set:
+  - ""
+  - *primary_service_discovery
+  - - "SSC SSC1 gattc -W -z descriptor -s 0xA000 -c 0xC101 -d 0x2901 -p 0x10 -l 1"
+    - ["R SSC1 C +GATTC:Write,ERROR"]
+- ID: BLUEDROID_GATT_25004
+  <<: *GATT_CASE
+  test point 2: BLE GATT client do invalid write
+  summary: GATT client prepare write to a char without write property for BLUEDROID
+  steps: |
+    1. DUT1 do service discovery
+    2. DUT1 prepare write to a char without write property
+  expected result: |
+    1. succeed
+    2. failed
+  cmd set:
+  - ""
+  - *primary_service_discovery
+  - - "SSC SSC1 gattc -W -z longChar -s 0xA000 -c 0xC100 -p 0x10 -l 256"
+    - ["R SSC1 C +GATTC:Write,ERROR"]
+- ID: BLUEDROID_GATT_25005
+  <<: *GATT_CASE
+  test point 2: BLE GATT client do invalid write
+  summary: GATT client prepare write to a descriptor without write property for BLUEDROID
+  steps: |
+    1. DUT1 do service discovery
+    2. DUT1 prepare write to a descriptor without write property
+  expected result: |
+    1. succeed
+    2. failed
+  cmd set:
+  - ""
+  - *primary_service_discovery
+  - - "SSC SSC1 gattc -W -z longDescriptor -s 0xA000 -c 0xC101 -d 0x2901 -p 0x10 -l 256"
+    - ["R SSC1 C +GATTC:Write,ERROR"]
+- ID: BLUEDROID_GATT_25006
+  <<: *GATT_CASE
+  test point 2: BLE GATT client do invalid write
+  summary: GATT client write with response to a char not send response for BLUEDROID
+  steps: |
+    1. DUT1 do service discovery
+    2. DUT1 write with response to a char not send response
+  expected result: |
+    1. succeed
+    2. failed
+  cmd set:
+  - ""
+  - *primary_service_discovery
+  - - "SSC SSC1 gattc -W -z char -s 0xA000 -c 0xC103 -p 0x10 -v 0x01"
+    - ["R SSC1 C +GATTC:Write,ERROR"]
+- ID: BLUEDROID_GATT_25007
+  <<: *GATT_CASE
+  test point 2: BLE GATT client do invalid write
+  summary: GATT client write without response to a char will send response for BLUEDROID
+  steps: |
+    1. DUT1 do service discovery
+    2. DUT1 write without response to a char will send response
+  expected result: |
+    1. succeed
+    2. succeed (write without response always succeed)
+  cmd set:
+  - ""
+  - *primary_service_discovery
+  - - "SSC SSC1 gattc -W -z char -s 0xA000 -c 0xC102 -p 0x10 -v 0x01 -w 1"
+    - ["P SSC1 C +GATTC:WriteOnce"]
+- ID: BLUEDROID_GATT_25013
+  <<: *GATT_CASE
+  test point 2: BLE GATT client do invalid write
+  summary: GATT client write with response to a char created by table not send response
+  steps: |
+    1. DUT1 do service discovery
+    2. DUT1 write with response to auto reply char created by table not send response
+    3. DUT1 write with response to app reply char created by table not send response
+  expected result: |
+    1. succeed
+    2. succeed(BLE Spec do not define the behavior of this case. IDF implementation will return success when GATTC write with response and recv response from remote side)
+    3. failed
+  initial condition: BLE_CONN3
+  cmd set:
+  - ""
+  - *primary_service_discovery
+  - - "SSC SSC1 gattc -W -z char -s 0xA002 -c 0xC303 -p 0x10 -v 0x01 -r <dut2_bt_mac>"
+    - ["R SSC1 C +GATTC:Write,OK,0010,A002,C303"]
+  - - "SSC SSC1 gattc -W -z char -s 0xA002 -c 0xC313 -p 0x10 -v 0x01 -r <dut2_bt_mac>"
+    - ["R SSC1 C +GATTC:Write,ERROR"]
+- ID: BLUEDROID_GATT_26001
+  <<: *GATT_CASE
+  test point 2: BLE GATT client set mtu
+  summary: GATT client config different mtu size for BLUEDOID
+  steps: |
+    1. set mtu size 22
+    2. set mtu size 23
+    3. set mtu size 517
+    4. set mtu size 518
+  expected result: |
+    1. failed
+    2. succeed
+    3. succeed
+    4. failed
+  cmd set:
+  - ""
+  - - "SSC SSC1 bleconn -D -z all"
+    - ["P SSC1 C +BLECONN:GapDisconnect,OK", "P SSC2 C +BLECONN:GapDisconnect,OK"]
+  - - "SSC SSC1 gattc -S -m 22 "
+    - ["R SSC1 C +GATTC:ERROR"]
+  - - "SSC SSC1 gattc -S -m 23"
+    - ["R SSC1 C +GATTC:OK"]
+  - - "SSC SSC1 gattc -S -m 517"
+    - ["R SSC1 C +GATTC:OK"]
+  - - "SSC SSC1 gattc -S -m 518"
+    - ["R SSC1 C +GATTC:ERROR"]
+- ID: BLUEDROID_GATT_26002
+  <<: *GATT_CASE
+  test point 2: BLE GATT server set mtu
+  summary: GATT server config different mtu size for BLUEDOID
+  steps: |
+    1. set mtu size 22
+    2. set mtu size 23
+    3. set mtu size 517
+    4. set mtu size 518
+  expected result: |
+    1. failed
+    2. succeed
+    3. succeed
+    4. failed
+  cmd set:
+  - ""
+  - - "SSC SSC1 bleconn -D -z all"
+    - ["P SSC1 C +BLECONN:GapDisconnect,OK", "P SSC2 C +BLECONN:GapDisconnect,OK"]
+  - - "SSC SSC2 gatts -C -m 22"
+    - ["R SSC2 C +GATTS:ERROR"]
+  - - "SSC SSC2 gatts -C -m 23"
+    - ["R SSC2 C +GATTS:OK"]
+  - - "SSC SSC2 gatts -C -m 517"
+    - ["R SSC2 C +GATTS:OK"]
+  - - "SSC SSC2 gatts -C -m 518"
+    - ["R SSC2 C +GATTS:ERROR"]
+- ID: BLUEDROID_GATT_26004
+  <<: *GATT_CASE
+  test point 2: BLE GATT client config mtu
+  summary: GATT read write on mtu size 261
+  allow fail: 1/2
+  steps: |
+    1. config mtu size 261
+    2. do read
+    3. do write
+  expected result: |
+    1. succeed
+    2. succeed
+    3. succeed
+  cmd set:
+  - ""
+  - - "SSC SSC1 bleconn -D -p 0x10"
+    - ["P SSC1 C +BLECONN:GapDisconnect,OK", "P SSC2 C +BLECONN:GapDisconnect,OK"]
+  - - "SSC SSC1 gattc -S -m 261"
+    - ["R SSC1 C +GATTC:OK"]
+  - - "SSC SSC2 gatts -C -m 261"
+    - ["R SSC2 C +GATTS:OK"]
+  - - "SSC SSC2 bleadv -D -z start"
+    - ['R SSC2 C +BLEADV:OK']
+  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
+    - ['R SSC1 C +BLECONN:GapConnect,OK', 'R SSC2 C +BLECONN:GapConnect']
+  - - "SSC SSC1 gattc -C"
+    - ["R SSC1 C +GATTC:OK","P SSC[1-2] C ConfigMTU,OK,261"]
+  - *primary_service_discovery
+  - - "SSC SSC1 gattc -R -z char -p 0x10 -s 0xA000 -c 0xC101"
+    - ["R SSC1 C +GATTC:ReadOnce,0010,A000,C101,256"]
+  - - "SSC SSC1 gattc -W -z char -p 0x10 -s 0xA000 -c 0xC109 -l 256"
+    - ["R SSC1 C +GATTC:WriteOnce,0010,A000,C109"]
+  - - "SSC SSC1 gattc -W -z longChar -p 0x10 -s 0xA000 -c 0xC110 -l 512"
+    - ["R SSC1 C +GATTC:Write,OK,0010,A000,C110", "P SSC2 C +GATTS:ReliableWrite,OK"]
+- ID: BLUEDROID_GATT_26005
+  <<: *GATT_CASE
+  test point 2: BLE GATT client config mtu
+  summary: GATT read write on mtu size 517 for BLUEDOID
+  allow fail: 1/2
+  steps: |
+    1. config mtu size 517
+    2. do read
+    3. do write
+  expected result: |
+    1. succeed
+    2. succeed
+    3. succeed
+  cmd set:
+  - ""
+  - - "SSC SSC1 bleconn -D  -z all"
+    - ["P SSC1 C +BLECONN:GapDisconnect,OK", "P SSC2 C +BLECONN:GapDisconnect,OK"]
+  - - "SSC SSC1 gattc -S -m 517"
+    - ["R SSC1 C +GATTC:OK"]
+  - - "SSC SSC2 gatts -C -m 517"
+    - ["R SSC2 C +GATTS:OK"]
+  - - "SSC SSC2 bleadv -D -z start"
+    - ['R SSC2 C +BLEADV:OK']
+  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
+    - ['R SSC1 C +BLECONN:GapConnect,OK', 'R SSC2 C +BLECONN:GapConnect,OK']
+  - - "SSC SSC1 gattc -C -r <dut2_bt_mac>"
+    - ["P SSC1 C +GATTC:OK", "P SSC[1-2] C ConfigMTU,OK,517"]
+  - *primary_service_discovery
+  - - "SSC SSC1 gattc -R -z char -p 0x10 -s 0xA000 -c 0xC101"
+    - ["R SSC1 C +GATTC:ReadOnce,0010,A000,C101,256"]
+  - - "SSC SSC1 gattc -W -z char -p 0x10 -s 0xA000 -c 0xC109 -l 256"
+    - ["R SSC1 C +GATTC:WriteOnce,0010,A000,C109"]
+  - - "SSC SSC1 gattc -W -z char -p 0x10 -s 0xA000 -c 0xC109 -l 512"
+    - ["R SSC1 C +GATTC:WriteOnce,0010,A000,C109"]
+- ID: BLUEDROID_GATT_27001
+  <<: *GATT_CASE
+  test point 2: BLE GATT read multiple
+  summary: GATT client read 2 char and 11 char of same service for BLUEDROID
+  steps: |
+    1. DUT1 do discover
+    2. GATT client read 2 char
+    3. GATT client read 11 char
+  expected result: |
+    1. succeed
+    2. succeed
+    3. succeed
+  cmd set:
+  - ""
+  - *primary_service_discovery
+  - - "SSC SSC1 gattc -R -z multiple -u #0xC100##0xC101# -s 0xA000 -r <dut2_bt_mac>"
+    - ['R SSC1 C +GATTC:ReadOnce,22', 'R SSC1 C +GATTC:ReadMultiple,OK']
+  - - "SSC SSC1 gattc -R -z multiple -u #0xC100##0xC101##0xC107##0xC108##0xC109##0xC110##0xC100##0xC101##0xC107##0xC108##0xC109# -s 0xA000"
+    - ['R SSC1 C +GATTC:Read,ERROR']
+- ID: BLUEDROID_GATT_27002
+  <<: *GATT_CASE
+  test point 2: BLE GATT read multiple
+  summary: GATT client read char and descriptor for BLUEDROID
+  steps: |
+    1. DUT1 do discover
+    2. GATT client read all char and descriptor
+  expected result: |
+    1. succeed
+    2. succeed
+  cmd set:
+  - ""
+  - *primary_service_discovery
+  - - "SSC SSC1 gattc -R -z multiple -u 0xA00xC100#0xA00xC101#0xA00xC1000x29010xA00xC1070x2902 -r <dut2_bt_mac>"
+    - ['R SSC1 C +GATTC:ReadOnce', 'R SSC1 C +GATTC:ReadMultiple,OK']
+- ID: BLUEDROID_GATT_30004
+  <<: *GATT_CASE
+  test point 2: BLE GATT multi connection service discovery test
+  summary: do primary service discovery when master and slave both create GATTC and GATTS for BLUEDOID
+  steps: |
+    1. DUT1 do primary service discovery for DUT2
+    2. DUT2 do primary service discovery for DUT1
+  expected result: |
+    1. succeed
+    2. succeed
+  initial condition: BLE_CONN4
+  cmd set:
+  - ""
+  - - "SSC SSC2 bleconn -C -p 0x10 -a <dut1_bt_mac>"
+    - ["R SSC2 C +BLE:GattcOpen,OK"]
+  - - "SSC SSC1 gattc -D -z primaryService -p 0x10 -r <dut2_bt_mac>"
+    - ["R SSC1 C +GATTC:Discover,OK"]
+  - - "SSC SSC2 gattc -D -z primaryService -p 0x10 -r <dut1_bt_mac>"
+    - ["R SSC2 C +GATTC:Discover,OK"]
+- ID: BLUEDROID_GATT_31004
+  <<: *GATT_CASE
+  test point 2: BLE GATT multi connection read test
+  summary: do read when master and slave both create GATTC and GATTS for BLUEDOID
+  steps: |
+    1. DUT1 do primary service discovery for DUT2
+    2. DUT2 do primary service discovery for DUT1
+    3. DUT1 do read on DUT2
+    4. DUT2 do read on DUT1
+  expected result: |
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+  initial condition: BLE_CONN4
+  cmd set:
+  - ""
+  - - "SSC SSC2 bleconn -C -p 0x10 -a <dut1_bt_mac>"
+    - ["R SSC2 C +BLE:GattcOpen,OK"]
+  - - "SSC SSC[1-2] gattc -D -z primaryService -p 0x10 -r <dut[2-1]_bt_mac>"
+    - ["R SSC[1-2] C +GATTC:Discover,OK"]
+  - - "SSC SSC[1-2] gattc -R -z char -s 0xA002 -c 0xC300 -p 0x10 -r <dut[2-1]_bt_mac>"
+    - ["R SSC[1-2] C +GATTC:ReadOnce,0010,A002,C300,1"]
+  - - "SSC SSC[1-2] gattc -R -z char -s 0xA002 -c 0xC301 -p 0x10 -r <dut[2-1]_bt_mac>"
+    - ["R SSC[1-2] C +GATTC:ReadOnce,0010,A002,C301,256"]
+- ID: BLUEDROID_GATT_32004
+  <<: *GATT_CASE
+  test point 2: BLE GATT multi connection write test
+  summary: do write when master and slave both create GATTC and GATTS for BLUEDOID
+  steps: |
+    1. DUT1 do primary service discovery for DUT2
+    2. DUT2 do primary service discovery for DUT1
+    3. DUT1 do write on DUT2
+    4. DUT2 do write on DUT1
+  expected result: |
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+  initial condition: BLE_CONN4
+  cmd set:
+  - ""
+  - - "SSC SSC2 bleconn -C -p 0x10 -a <dut1_bt_mac>"
+    - ["R SSC2 C +BLE:GattcOpen,OK"]
+  - - "SSC SSC[1-2] gattc -D -z primaryService -p 0x10 -r <dut[2-1]_bt_mac>"
+    - ["R SSC[1-2] C +GATTC:Discover,OK"]
+  - - "SSC SSC[1-2] -W -z char -s 0xA002 -c 0xC302 -l 1 -p 0x10 -r <dut[2-1]_bt_mac>"
+    - ["R SSC[1-2] C +GATTC:Write,OK,0010,A002,C302"]
+  - - "SSC SSC[1-2] -W -z char -s 0xA002 -c 0xC304 -l 256 -p 0x10 -r <dut[2-1]_bt_mac>"
+    - ["R SSC[1-2] C +GATTC:Write,OK,0010,A002,C304"]
+- ID: BLUEDROID_GATT_33004
+  <<: *GATT_CASE
+  test point 2: BLE GATT multi connection notify test
+  summary: do notify when master and slave both create GATTC and GATTS for BLUEDOID
+  steps: |
+    1. DUT1 do primary service discovery for DUT2
+    2. DUT2 do primary service discovery for DUT1
+    3. DUT[1-2] do register notify
+    4. DUT1 and DUT2 send notify to each other
+  expected result: |
+    1. succeed
+    2. succeed
+    3. succeed
+    4. receive notification
+  initial condition: BLE_CONN4
+  cmd set:
+  - ""
+  - - "SSC SSC2 bleconn -C -p 0x10 -a <dut1_bt_mac>"
+    - ["R SSC2 C +BLE:GattcOpen,OK"]
+  - - "SSC SSC[1-2] gattc -D -z primaryService -p 0x10 -r <dut[2-1]_bt_mac>"
+    - ["R SSC[1-2] C +GATTC:Discover,OK"]
+  - - "SSC SSC[1-2] gattc -N -z register -s 0xA002 -c 0xC305 -p 0x10 -r <dut[2-1]_bt_mac>"
+    - ["R SSC[1-2] C +GATTC:RegNotify,OK,0010,A002,C305"]
+  - - "SSC SSC[1-2] gatts -N -c 0xC305 -l 1 -p 0xA2 -r <dut[2-1]_bt_mac>"
+    - ['P SSC[1,2] RE "\+GATTC:Notification,0010,A002,C305,1,%%s"%%(<dut[2,1]_bt_mac>)']
+- ID: BLUEDROID_GATT_34004
+  <<: *GATT_CASE
+  test point 2: BLE GATT multi connection indicate test
+  summary: do indicate when master and slave both create GATTC and GATTS for BLUEDOID
+  steps: |
+    1. DUT1 do primary service discovery for DUT2
+    2. DUT2 do primary service discovery for DUT1
+    3. DUT[1-2] do register indication
+    4. DUT1 and DUT2 send notify to each other
+  expected result: |
+    1. succeed
+    2. succeed
+    3. succeed
+    4. receive indication
+  initial condition: BLE_CONN4
+  cmd set:
+  - ""
+  - - "SSC SSC2 bleconn -C -p 0x10 -a <dut1_bt_mac>"
+    - ["R SSC2 C +BLE:GattcOpen,OK"]
+  - - "SSC SSC[1-2] gattc -D -z primaryService -p 0x10 -r <dut[2-1]_bt_mac>"
+    - ["R SSC[1-2] C +GATTC:Discover,OK"]
+  - - "SSC SSC[1-2] gattc -N -z register -s 0xA002 -c 0xC306 -p 0x10 -r <dut[2-1]_bt_mac>"
+    - ["R SSC[1-2] C +GATTC:RegNotify,OK,0010,A002,C306"]
+  - - "SSC SSC[1-2] gatts -I -c 0xC306 -l 1 -p 0xA2 -r <dut[2-1]_bt_mac>"
+    - ['P SSC[1,2] RE "\+GATTC:Indication,0010,A002,C306,1,%%s"%%(<dut[2,1]_bt_mac>)']
+- ID: BLUEDROID_GATT_40001
+  <<: *GATT_CASE
+  auto test: 'No'
+  test point 2: test if BLE work after switch off some sub modules
+  summary: GATTC only and GATTS only test for BLUEDROID
+  steps: |
+    1. download GATTC only bin to DUT1 and GATTS only bin to DUT2
+    2. DUT2 start adv, enable service 0xA000, DUT1 connect to DUT2
+    3. DUT1 connect to DUT2
+    4. DUT1 do primary service discovery
+    5. DUT1 do read
+    6. DUT1 do read descriptor
+    7. DUT1 do write
+    8. DUT1 do write descriptor
+    9. DUT1 register for notify and indication
+    10. DUT2 do notify
+    11. DUT2 do indicate
+  expected result: |
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+    5. succeed
+    6. succeed
+    7. succeed
+    8. succeed
+    9. succeed
+    10. succeed
+    11. succeed
+  initial condition: None
+  execution time: 5
+  CI ready: 'No'
+  cmd set:
+  - ""
+  - - SSC SSC[1-2] reboot
+    - ['R SSC[1-2] C !!!ready!!!']
+  - - SSC SSC[1-2] ble -R
+    - ['R SSC[1-2] C +BLE:OK']
+  - - SSC SSC2 bleadv -D -z start
+    - ['R SSC2 C +BLEADV:OK']
+  - - SSC SSC2 gatts -S -z load -p 0xA0
+    - ['R SSC2 C +GATTS:StartService,OK,A000']
+  - - SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>
+    - ['R SSC1 C +BLECONN:GapConnect,OK', 'R SSC2 C +BLECONN:GapConnect']
+  - *primary_service_discovery
+  - - "SSC SSC1 gattc -R -z char -s 0xA000 -c 0xC100 -p 0x10"
+    - ["R SSC1 C +GATTC:ReadOnce,0010,A000,C100,1", "R SSC1 C +GATTC:Read,OK,0010,A000,C100"]
+  - - "SSC SSC1 gattc -W -z char -s 0xA000 -c 0xC102 -p 0x10 -v 0x01"
+    - ["R SSC1 C +GATTC:WriteOnce,0010,A000,C102", "R SSC1 C +GATTC:Write,OK,0010,A000,C102"]
+  - - "SSC SSC1 gattc -R -z descriptor -s 0xA000 -c 0xC100 -d 0x2901 -p 0x10"
+    - ["R SSC1 C +GATTC:ReadOnce,0010,A000,C100,2901,256", "R SSC1 C +GATTC:ReadDescriptor,OK,0010,A000,C100,2901"]
+  - - "SSC SSC1 gattc -W -z descriptor -s 0xA000 -c 0xC107 -d 0x2902 -p 0x10 -v 0x0100"
+    - ["R SSC1 C +GATTC:WriteOnce,0010,A000,C107,2902", "R SSC1 C +GATTC:WriteDescriptor,OK,0010,A000,C107,2902"]
+  - *register_notify_c107
+  - *register_indicate_c108
+  - - "SSC SSC1 gattc -W -z descriptor -s 0xA000 -c 0xC107 -d 0x2902 -p 0x10 -v 0x0300 -n 1"
+    - ["R SSC1 C +GATTC:WriteOnce,0010,A000,C107,2902", "R SSC1 C +GATTC:WriteDescriptor,OK,0010,A000,C107,2902"]
+  - - "SSC SSC2 gatts -N -c 0xC107 -p 0xA0 -v 0x01"
+    - ["P SSC2 C +GATTS:Done,Notify,A000,C107", "P SSC1 C +GATTC:Notification,0010,A000,C107,1"]
+  - - "SSC SSC2 gatts -I -c 0xC108 -p 0xA0 -v 0x01"
+    - ["P SSC2 C +GATTS:Done,Indicate,A000,C108", "P SSC1 C +GATTC:Indication,0010,A000,C108,1"]
+- ID: BLUEDROID_GATT_40002
+  <<: *GATT_CASE
+  auto test: 'No'
+  test point 2: test if BLE work after switch off some sub modules
+  summary: GATTC_SMP only and GATTS_SMP only test for BLUEDROID
+  steps: |
+    1. download GATTC_SMP bin to DUT1 and GATTS_SMP bin to DUT2
+    2. DUT2 start adv, start service 0xA000, DUT1 connect to DUT2
+    3. DUT1 connect to DUT2
+    4. DUT1 do primary service discovery
+    5. DUT1 do read
+    6. DUT1 do read descriptor
+    7. DUT1 do write
+    8. DUT1 do write descriptor
+    9. DUT1 register for notify and indication
+    10. DUT2 do notify
+    11. DUT2 do indicate
+  expected result: |
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+    5. succeed
+    6. succeed
+    7. succeed
+    8. succeed
+    9. succeed
+    10. succeed
+    11. succeed
+  initial condition: None
+  execution time: 5
+  CI ready: 'No'
+  cmd set:
+  - ""
+  - - SSC SSC[1-2] reboot
+    - ['R SSC[1-2] C !!!ready!!!']
+  - - SSC SSC[1-2] ble -R
+    - ['R SSC[1-2] C +BLE:OK']
+  - - SSC SSC2 bleadv -D -z start
+    - ['R SSC2 C +BLEADV:OK']
+  - - SSC SSC2 gatts -S -z load -p 0xA0
+    - ['R SSC2 C +GATTS:StartService,OK,A000']
+  - - SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>
+    - ['R SSC1 C +BLECONN:GapConnect,OK', 'R SSC2 C +BLECONN:GapConnect']
+  - *primary_service_discovery
+  - - "SSC SSC1 gattc -R -z char -s 0xA000 -c 0xC100 -p 0x10"
+    - ["R SSC1 C +GATTC:ReadOnce,0010,A000,C100,1", "R SSC1 C +GATTC:Read,OK,0010,A000,C100"]
+  - - "SSC SSC1 gattc -W -z char -s 0xA000 -c 0xC102 -p 0x10 -v 0x01"
+    - ["R SSC1 C +GATTC:WriteOnce,0010,A000,C102", "R SSC1 C +GATTC:Write,OK,0010,A000,C102"]
+  - - "SSC SSC1 gattc -R -z descriptor -s 0xA000 -c 0xC100 -d 0x2901 -p 0x10"
+    - ["R SSC1 C +GATTC:ReadOnce,0010,A000,C100,2901,256", "R SSC1 C +GATTC:ReadDescriptor,OK,0010,A000,C100,2901"]
+  - - "SSC SSC1 gattc -W -z descriptor -s 0xA000 -c 0xC107 -d 0x2902 -p 0x10 -v 0x0100"
+    - ["R SSC1 C +GATTC:WriteOnce,0010,A000,C107,2902", "R SSC1 C +GATTC:WriteDescriptor,OK,0010,A000,C107,2902"]
+  - *register_notify_c107
+  - *register_indicate_c108
+  - - "SSC SSC1 gattc -W -z descriptor -s 0xA000 -c 0xC107 -d 0x2902 -p 0x10 -v 0x0300 -n 1"
+    - ["R SSC1 C +GATTC:WriteOnce,0010,A000,C107,2902", "R SSC1 C +GATTC:WriteDescriptor,OK,0010,A000,C107,2902"]
+  - - "SSC SSC2 gatts -N -c 0xC107 -p 0xA0 -v 0x01"
+    - ["P SSC2 C +GATTS:Done,Notify,A000,C107", "P SSC1 C +GATTC:Notification,0010,A000,C107,1"]
+  - - "SSC SSC2 gatts -I -c 0xC108 -p 0xA0 -v 0x01"
+    - ["P SSC2 C +GATTS:Done,Indicate,A000,C108", "P SSC1 C +GATTC:Indication,0010,A000,C108,1"]
\ No newline at end of file
diff --git a/components/idf_test/integration_test/TC_IT_BLUEDROID_SMP.yml b/components/idf_test/integration_test/TC_IT_BLUEDROID_SMP.yml
new file mode 100644 (file)
index 0000000..2bca97e
--- /dev/null
@@ -0,0 +1,606 @@
+.SMP_CASE: &SMP_CASE
+  SDK: ESP32_IDF
+  Test App: SSC_BLE
+  auto test: 'Yes'
+  category: Function
+  test point 1: basic function
+  initial condition: BLE_INIT_SMP
+  test environment: SSC_T2_5
+  execution time: 0
+  module: BLUEDROID
+  sub module: SMP
+  version: v1 (2017-05-26)
+  CI ready: 'Yes'
+  level: Integration
+  allow fail: ''
+
+.just_work_pair: &just_work_pair
+  LIST_MERGE:
+    - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
+      - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
+    - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
+      - ['P SSC[1-2] C +BLESMP:AuthComplete,Success,0']
+
+.slave_passkey_entry_pair: &slave_passkey_entry_pair
+  LIST_MERGE:
+    - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
+      - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
+    - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
+      - ['P SSC2 C +BLESMP:PassKeyReq', 'P SSC1 A <key>:BLESMP:PassKeyNotify,(\d+)']
+    - - "SSC SSC2 blesmp -K -r <dut1_bt_mac> -a 1 -k <key>"
+      - ['P SSC[1-2] C +BLESMP:AuthComplete,Success,0']
+
+.master_passkey_entry_pair: &master_passkey_entry_pair
+  LIST_MERGE:
+    - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
+      - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
+    - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
+      - ['P SSC1 C +BLESMP:PassKeyReq', 'P SSC2 A <key>:BLESMP:PassKeyNotify,(\d+)']
+    - - "SSC SSC1 blesmp -K -r <dut2_bt_mac> -a 1 -k <key>"
+      - ['P SSC[1-2] C +BLESMP:AuthComplete,Success,0']
+
+.both_side_passkey_entry_pair: &both_side_passkey_entry_pair
+  LIST_MERGE:
+    - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
+      - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
+    - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
+      - ['P SSC[1,2] C +BLESMP:PassKeyReq']
+    - - "SSC SSC[1,2] blesmp -K -r <dut[2,1]_bt_mac> -a 1 -k 123456"
+      - ['P SSC[1-2] C +BLESMP:AuthComplete,Success,0']
+
+.numberic_comparision_pair: &numberic_comparision_pair
+  LIST_MERGE:
+    - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
+      - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
+    - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
+      - ['R SSC2 A <key>:BLESMP:NCReq,(\d+)', 'R SSC1 C NCReq P <key>']
+    - - "SSC SSC[1-2] blesmp -C -r <dut[2,1]_bt_mac> -a 1"
+      - ['P SSC[1-2] C +BLESMP:AuthComplete,Success,0']
+
+.check_connection: &check_connection
+  LIST_MERGE:
+    - - "SSC SSC1 gattc -D -z primaryService -p 0x10 -r <dut2_bt_mac>"
+      - ["R SSC1 C +GATTC:Discover,OK"]
+
+.disconnect: &disconnect
+  LIST_MERGE:
+    - - "SSC SSC1 bleconn -D -z all"
+      - ['P SSC1 C +BLECONN:GapDisconnect,OK', 'P SSC2 C +BLECONN:GapDisconnect,OK']
+    - - "SSC SSC2 bleadv -D -z start"
+      - ['P SSC2 C +BLEADV:OK']
+
+.connect: &connect
+  LIST_MERGE:
+    - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
+      - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
+
+.config_just_work: &config_just_work
+  LIST_MERGE:
+    - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x00"
+      - ['P SSC[1-2] C +BLESMP:OK']
+    - - "SSC SSC[1-2] blesmp -S -z IOCAP -v 0x04"
+      - ['P SSC[1-2] C +BLESMP:OK']
+
+.config_master_passkey_entry: &config_master_passkey_entry
+  LIST_MERGE:
+    - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x0C"
+      - ['P SSC[1-2] C +BLESMP:OK']
+    - - "SSC SSC1 blesmp -S -z IOCAP -v 0x02"
+      - ['P SSC1 C +BLESMP:OK']
+    - - "SSC SSC2 blesmp -S -z IOCAP -v 0x04"
+      - ['P SSC2 C +BLESMP:OK']
+
+.config_slave_passkey_entry: &config_slave_passkey_entry
+  LIST_MERGE:
+    - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x04"
+      - ['P SSC[1-2] C +BLESMP:OK']
+    - - "SSC SSC[1-2] blesmp -S -z IOCAP -v 0x04"
+      - ['P SSC[1-2] C +BLESMP:OK']
+
+.config_both_side_passkey_entry: &config_both_side_passkey_entry
+  LIST_MERGE:
+    - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x04"
+      - ['P SSC[1-2] C +BLESMP:OK']
+    - - "SSC SSC[1-2] blesmp -S -z IOCAP -v 0x02"
+      - ['P SSC[1-2] C +BLESMP:OK']
+
+.config_numberic_comparision: &config_numberic_comparision
+  LIST_MERGE:
+    - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x0C"
+      - ['P SSC[1-2] C +BLESMP:OK']
+    - - "SSC SSC[1-2] blesmp -S -z IOCAP -v 0x04"
+      - ['P SSC[1-2] C +BLESMP:OK']
+
+.config_bond_device: &config_bond_device
+  LIST_MERGE:
+    - - "SSC SSC2 blesmp -S -z AuthReqMode -v 0x01"
+      - ['P SSC2 C +BLESMP:OK']
+    - - "SSC SSC2 blesmp -S -z IOCAP -v 0x03"
+      - ['P SSC2 C +BLESMP:OK']
+
+test cases:
+- ID: BLUEDROID_SMP_04001
+  <<: *SMP_CASE
+  test point 2: BLE SMP key test
+  summary: BLE SMP set key size less than required for BLUEDROID
+  allow fail: 1/2
+  steps: |
+    1. set key size 7
+    2. set key size 6
+    3. do just work pair
+  expected result: |
+    1. succeed
+    2. LTK size is 7
+    3. succeed
+  cmd set:
+  - ""
+  - *config_numberic_comparision
+  - - "SSC SSC1 blesmp -S -z KeySize -v 0x07"
+    - ['P SSC1 C +BLESMP:OK']
+  - - "SSC SSC1 blesmp -S -z KeySize -v 0x06"
+    - ['P SSC1 C +BLESMP:OK']
+  - *connect
+  - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
+    - ['R SSC2 A <key>:BLESMP:NCReq,(\d+)', 'R SSC1 C NCReq P <key>']
+  - - "SSC SSC[1-2] blesmp -C -r <dut[2,1]_bt_mac> -a 1"
+    - ['P SSC[1-2] C +BLESMP:Key,LocalLTK,16 C +BLESMP:AuthComplete,Success,0']
+- ID: BLUEDROID_SMP_04002
+  <<: *SMP_CASE
+  test point 2: BLE SMP key test
+  summary: BLE SMP set key size greater than required for BLUEDROID
+  allow fail: 1/2
+  steps: |
+    1. set key size 16
+    2. set key size 17
+    3. do just work pair
+  expected result: |
+    1. succeed
+    2. LTK size is 17
+    3. succeed
+  cmd set:
+  - ""
+  - *config_numberic_comparision
+  - - "SSC SSC1 blesmp -S -z KeySize -v 0x10"
+    - ['P SSC1 C +BLESMP:OK']
+  - - "SSC SSC1 blesmp -S -z KeySize -v 0x11"
+    - ['P SSC1 C +BLESMP:OK']
+  - *connect
+  - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
+    - ['R SSC2 A <key>:BLESMP:NCReq,(\d+)', 'R SSC1 C NCReq P <key>']
+  - - "SSC SSC[1-2] blesmp -C -r <dut[2,1]_bt_mac> -a 1"
+    - ['P SSC[1-2] C +BLESMP:Key,LocalLTK,16 C +BLESMP:AuthComplete,Success,0']
+- ID: BLUEDROID_SMP_05001
+  <<: *SMP_CASE
+  test point 2: BLE SMP unsuccessful pair reply test
+  summary: BLE SMP unsuccessful passkey entry test for BLUEDROID
+  steps: |
+    1. enter passkey entry phase
+    2. entry incorrect passkey and accept
+    3. enter passkey entry phase
+    4. entry correct passkey and reject
+    5. enter passkey entry phase
+    6. send numberic comparision accept
+    7. enter passkey entry phase
+    8. send numberic comparision reject
+  expected result: |
+    1. succeed
+    2. pair failed
+    3. succeed
+    4. pair failed
+    5. succeed
+    6. pair failed
+    7. succeed
+    8. pair failed
+  cmd set:
+  - ""
+  - *config_slave_passkey_entry
+  - - LOOP 2 5 "[1,0]" "['000001','<key>']"
+    - ""
+  - *connect
+  - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
+    - ['P SSC2 C +BLESMP:PassKeyReq', 'P SSC1 A <key>:BLESMP:PassKeyNotify,(\d+)']
+  - - "SSC SSC2 blesmp -K -r <dut1_bt_mac> -a {%d} -k {%s}"
+    - ['P SSC[1-2] C +BLESMP:AuthComplete,Fail']
+  - *disconnect
+  - - LOOP 2 5 "[1,0]"
+    - ""
+  - *connect
+  - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
+    - ['P SSC2 C +BLESMP:PassKeyReq', 'P SSC1 A <key>:BLESMP:PassKeyNotify,(\d+)']
+  - - "SSC SSC[1-2] blesmp -C -r <dut[2,1]_bt_mac> -a {%d}"
+    - ['P SSC[1-2] C +BLESMP:AuthComplete,Fail']
+  - *disconnect
+- ID: BLUEDROID_SMP_05002
+  <<: *SMP_CASE
+  test point 2: BLE SMP unsuccessful pair reply test
+  summary: BLE SMP unsuccessful numberic comparision test for BLUEDROID
+  steps: |
+    1. enter numberic comparision phase
+    2. entry passkey and accept
+    3. enter numberic comparision phase
+    4. send numberic comparision reject
+  expected result: |
+    1. succeed
+    2. pair failed
+    3. succeed
+    4. pair failed
+  cmd set:
+  - ""
+  - *config_numberic_comparision
+  - - LOOP 2 6 "[1,0]"
+    - ""
+  - *connect
+  - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
+    - ['R SSC2 A <key>:BLESMP:NCReq,(\d+)', 'R SSC1 C NCReq P <key>']
+  - - "SSC SSC2 blesmp -K -r <dut1_bt_mac> -a {%d} -k 000001"
+    - []
+  - - DELAY 10
+    - ['P SSC[1-2] C +BLESMP:AuthComplete,Fail']
+  - *disconnect
+  - - LOOP 2 5 "[1,0]" "[0,1]"
+    - ""
+  - *connect
+  - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
+    - ['R SSC2 A <key>:BLESMP:NCReq,(\d+)', 'R SSC1 C NCReq P <key>']
+  - - "SSC SSC[1,2] blesmp -C -r <dut[2,1]_bt_mac> -a [{%d},{%d}]"
+    - ['P SSC[1-2] C +BLESMP:AuthComplete,Fail']
+  - *disconnect
+- ID: BLUEDROID_SMP_06001
+  <<: *SMP_CASE
+  test environment: SSC_T1_4
+  initial condition: BLE_DEINIT1
+  test point 2: BLE SMP use API in abnormal state
+  summary: BLE SMP use API when BLE not initialized, not enabled or not registered callback for BLUEDROID
+  steps: |
+    1. set security parameter
+    2. send security response
+    3. send passkey reply
+    4. send confirm reply
+    5. init BLE
+    6. set security parameter
+    7. send security response
+    8. send passkey reply
+    9. send confirm reply
+    10. init BLE
+    11. set security parameter
+    12. send security response
+    13. send passkey reply
+    14. send confirm reply
+  expected result: |
+    1. failed
+    2. failed
+    3. failed
+    4. failed
+    5. succeed
+    6. failed
+    7. failed
+    8. failed
+    9. failed
+    10. succeed
+    11. failed
+    12. failed
+    13. failed
+    14. failed
+  cmd set:
+  - ""
+  - - "SSC SSC1 blesmp -S -z AuthReqMode -v 0x0C"
+    - ['P SSC1 C +BLESMP:ERROR']
+  - - "SSC SSC1 blesmp -R -a 1 -r <dut1_bt_mac>"
+    - ['P SSC1 C +BLESMP:ERROR']
+  - - "SSC SSC1 blesmp -K -r <dut1_bt_mac> -a 1 -k 123456"
+    - ['P SSC1 C +BLESMP:ERROR']
+  - - "SSC SSC1 blesmp -C -r <dut1_bt_mac> -a 1"
+    - ['P SSC1 C +BLESMP:ERROR']
+  - - SSC SSC1 bt -D -z init
+    - ['R SSC1 C +BT:']
+  - - "SSC SSC1 blesmp -S -z AuthReqMode -v 0x0C"
+    - ['P SSC1 C +BLESMP']
+  - - "SSC SSC1 blesmp -R -a 1 -r <dut1_bt_mac>"
+    - ['P SSC1 C +BLESMP']
+  - - "SSC SSC1 blesmp -K -r <dut1_bt_mac> -a 1 -k 123456"
+    - ['P SSC1 C +BLESMP']
+  - - "SSC SSC1 blesmp -C -r <dut1_bt_mac> -a 1"
+    - ['P SSC1 C +BLESMP']
+  - - SSC SSC1 bt -D -z enable
+    - ['R SSC1 C +BT:']
+  - - "SSC SSC1 blesmp -S -z AuthReqMode -v 0x0C"
+    - ['P SSC1 C +BLESMP']
+  - - "SSC SSC1 blesmp -R -a 1 -r <dut1_bt_mac>"
+    - ['P SSC1 C +BLESMP']
+  - - "SSC SSC1 blesmp -K -r <dut1_bt_mac> -a 1 -k 123456"
+    - ['P SSC1 C +BLESMP']
+  - - "SSC SSC1 blesmp -C -r <dut1_bt_mac> -a 1"
+    - ['P SSC1 C +BLESMP']
+- ID: BLUEDROID_SMP_07002
+  <<: *SMP_CASE
+  test point 2: BLE SMP no bond test and repairing
+  summary: BLE SMP just work pairing and reboot for BLUEDROID
+  steps: |
+    1. DUT1 and DUT2 SMP with just work pair
+    2. DUT1 reboot
+    3. DUT1 connect to DUT2
+    4. DUT2 send auth request
+  expected result: |
+    1. succeed
+    2. succeed
+    3. succeed
+    4. failed
+  cmd set:
+  - ""
+  - *config_just_work
+  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
+    - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
+  - - "SSC SSC1 blesmp -E -r <dut2_bt_mac> -z Enc"
+    - ['P SSC[1-2] C +BLESMP:AuthComplete,Success,0']
+  - - "SSC SSC1 reboot"
+    - ['P SSC2 C +BLECONN:GapDisconnect,OK']
+  - - "SSC SSC1 ble -R"
+    - ['R SSC1 C +BLE:']
+  - - "SSC SSC2 bleadv -D -z start"
+    - ['R SSC2 C +BLEADV:OK']
+  - *slave_passkey_entry_pair
+- ID: BLUEDROID_SMP_07005
+  <<: *SMP_CASE
+  test point 2: BLE SMP no bond test and repairing
+  summary: BLE SMP initiator with master passkey entry and reconnect for BLUEDROID
+  steps: |
+    1. DUT1 and DUT2 SMP with master passkey entry
+    2. DUT1 disconnect
+    3. DUT1 connect to DUT2
+    4. DUT2 send auth request
+  expected result: |
+    1. succeed
+    2. succeed
+    3. connect succeed
+    4. succeed
+  cmd set:
+  - ""
+  - *config_master_passkey_entry
+  - *master_passkey_entry_pair
+  - *disconnect
+  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
+    - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect']
+  - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
+    - ['P SSC[1-2] C +BLESMP:AuthComplete,Success,0']
+- ID: BLUEDROID_SMP_07006
+  <<: *SMP_CASE
+  test point 2: BLE SMP no bond test and repairing
+  summary: BLE SMP initiator with master passkey entry and reboot for BLUEDROID
+  steps: |
+    1. DUT1 and DUT2 SMP bond with lagecy pairing
+    2. DUT1 reboot
+    3. DUT1 connect to DUT2
+    4. DUT2 send auth requst
+  expected result: |
+    1. succeed
+    2. succeed
+    3. connect succeed
+    4. fail
+  cmd set:
+  - ""
+  - *config_master_passkey_entry
+  - *master_passkey_entry_pair
+  - - "SSC SSC1 reboot"
+    - ['P SSC2 C +BLECONN:GapDisconnect,OK']
+  - - "SSC SSC1 ble -R"
+    - ['R SSC1 C +BLE:']
+  - - "SSC SSC2 bleadv -D -z start"
+    - ['R SSC2 C +BLEADV:OK']
+  - *numberic_comparision_pair
+- ID: BLUEDROID_SMP_07007
+  <<: *SMP_CASE
+  test point 2: BLE SMP no bond test and repairing
+  summary: BLE SMP initiator numberic comparision and reconnect for BLUEDROID
+  steps: |
+    1. DUT1 and DUT2 SMP with numberic comparision
+    2. DUT1 disconnect
+    3. DUT1 connect to DUT2
+    4. DUT2 send auth requst
+  expected result: |
+    1. succeed
+    2. succeed
+    3. connect succeed
+    4. succeed
+  cmd set:
+  - ""
+  - *config_numberic_comparision
+  - *numberic_comparision_pair
+  - *disconnect
+  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
+    - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect']
+  - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
+    - ['P SSC[1-2] C +BLESMP:AuthComplete,Success,0']
+- ID: BLUEDROID_SMP_07008
+  <<: *SMP_CASE
+  test point 2: BLE SMP no bond test and repairing
+  summary: BLE SMP initiator numberic comparision and reboot for BLUEDROID
+  steps: |
+    1. DUT1 and DUT2 SMP with numberic comparision
+    2. DUT1 disconnect
+    3. DUT1 and DUT2 reboot
+    4. DUT2 send auth requst
+  expected result: |
+    1. succeed
+    2. succeed
+    3. connect succeed
+    4. failed
+  cmd set:
+  - ""
+  - *config_numberic_comparision
+  - *numberic_comparision_pair
+  - - "SSC SSC1 reboot"
+    - ['P SSC2 C +BLECONN:GapDisconnect,OK']
+  - - "SSC SSC1 ble -R"
+    - ['R SSC1 C +BLE:']
+  - - "SSC SSC2 bleadv -D -z start"
+    - ['R SSC2 C +BLEADV:OK']
+  - *numberic_comparision_pair
+- ID: BLUEDROID_SMP_08001
+  <<: *SMP_CASE
+  test point 2: BLE SMP bond item management test
+  summary: BLE SMP get bond list and number without bond device for BLUEDROID
+  steps: |
+    1. DUT1 get bond list
+    2. DUT1 get bond number
+  expected result: |
+    1. succeed
+    2. succeed
+  cmd set:
+  - ""
+  - - "SSC SSC1 blesmp -B -z getlist -n 1"
+    - ['P SSC1 C +BLESMP:GetBondList,OK,0']
+  - - "SSC SSC1 blesmp -B -z getnum"
+    - ['P SSC1 C +BLESMP:GetBondNum,0']
+- ID: BLUEDROID_SMP_08002
+  <<: *SMP_CASE
+  test point 2: BLE SMP bond item management test
+  summary: BLE SMP remove bond after connected
+  steps: |
+   1. DUT2 set AuthReqMode and RspKey
+   2. pairing
+   3. remove bond
+  expected result: |
+   1. Succeed
+   2. Succeed
+   3. Succeed
+  cmd set:
+  - ""
+  - *config_bond_device
+  - - "SSC SSC2 bleadv -D -z start"
+    - ['R SSC2 C +BLEADV:Start,OK']
+  - *connect
+  - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
+    - ['P SSC1 C +BLESMP:AuthComplete,Success,0','P SSC2 C +BLESMP:AuthComplete,Success,0']
+  - - "SSC SSC1 blesmp -B -z getnum"
+    - ['P SSC1 C +BLESMP:GetBondNum,1']
+  - - "SSC SSC1 blesmp -B -z remove -r <dut2_bt_mac>"
+    - ['P SSC1 RE "\+BLESMP:RemoveBond,Success,%%s"%%(<dut2_bt_mac>)']
+- ID: BLUEDROID_SMP_08003
+  <<: *SMP_CASE
+  test point 2: BLE SMP bond item management test
+  summary: BLE SMP get bond list and number when pairing and after reboot for BLUEDROID
+  steps: |
+   1. all slaves set AuthReqMode and RspKey
+   2. do pairing
+   3. master and slave get bond list and num
+   4. reboot
+   5. master and slave get bond list and num
+   6. slave remove bond device
+  expected result: |
+   1. Succeed
+   2. Succeed
+   3. Succeed
+   4. succeed
+   5. succeed
+   6. succeed
+  test environment: SSC_T5_1
+  initial condition: BLE_INIT_SMP5
+  allow fail: 3/5
+  cmd set:
+  - ""
+  - - "SSC SSC[2-5] blesmp -S -z AuthReqMode -v 0x01"
+    - ['P SSC[2-5] C +BLESMP:OK']
+  - - "SSC SSC[2-5] blesmp -S -z IOCAP -v 0x03"
+    - ['P SSC[2-5] C +BLESMP:OK']
+  - - "SSC SSC[2-5] blesmp -S -z RspKey -v 0x03"
+    - ['P SSC[2-5] C +BLESMP:OK']
+  - - LOOP 4 4 "[2,3,4,5]" "[2,3,4,5]" "[2,3,4,5]" "[2,3,4,5]" "[2,3,4,5]" "[2,3,4,5]" "[2,3,4,5]"
+    - ""
+  - - "SSC SSC{%d} bleadv -D -z start"
+    - ['R SSC{%d} C +BLEADV:Start,OK']
+  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut{%d}_bt_mac>"
+    - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC{%d} C +BLECONN:GapConnect']
+  - - "SSC SSC{%d} blesmp -E -r <dut1_bt_mac> -z Enc"
+    - ['P SSC1 C +BLESMP:SecReq']
+  - - "SSC SSC1 blesmp -R -a 1 -r <dut{%d}_bt_mac>"
+    - ['P SSC1 C +BLESMP:AuthComplete,Success,0','P SSC{%d} C +BLESMP:AuthComplete,Success,0']
+  - - "SSC SSC1 blesmp -B -z getlist -n 4"
+    - ['P SSC1 C +BLESMP:GetBondList,OK,4']
+  - - "SSC SSC1 blesmp -B -z getnum"
+    - ['P SSC1 C +BLESMP:GetBondNum,4']
+  - - "SSC SSC2 blesmp -B -z getnum"
+    - ['P SSC2 C +BLESMP:GetBondNum,1']
+  - - "SSC SSC[1-2] reboot"
+    - ['R SSC[1-2] C !!!ready!!!']
+  - - "SSC SSC[1-2] ble -R"
+    - ["R SSC[1-2] C +BLE:OK"]
+  - - "SSC SSC1 blesmp -B -z getnum"
+    - ['P SSC1 C +BLESMP:GetBondNum,4']
+  - - "SSC SSC2 blesmp -B -z getnum"
+    - ['P SSC2 C +BLESMP:GetBondNum,1']
+  - - "SSC SSC2 blesmp -B -z remove -r <dut1_bt_mac>"
+    - ['P SSC2 RE "\+BLESMP:RemoveBond,Success,%%s"%%(<dut1_bt_mac>)']
+- ID: BLUEDROID_SMP_08004
+  <<: *SMP_CASE
+  test point 2: BLE SMP bond item management test
+  summary: BLE SMP remove bond which not bond for BLUEDROID
+  steps: |
+   1. DUT1 remove bond
+  expected result: |
+   1. failed
+  cmd set:
+  - ""
+  - - "SSC SSC1 blesmp -B -z remove -r <dut2_bt_mac>"
+    - ['P SSC1 C +BLESMP:RemoveBond,Fail']
+- ID: BLUEDROID_SMP_08005
+  <<: *SMP_CASE
+  test point 2: BLE SMP remove bond
+  summary: BLE SMP bond 15/16 devices and get list
+  steps: |
+   1. DUT2 set AuthReqMode and RspKey
+   2. DUT2 set static random address
+   3. DUT1 and DUT2 do pairing
+   4. loop step 2 and step3 16 times
+   5. get bond list and bond num
+   6. DUT2 set static random address
+   7. DUT1 and DUT2 do pairing
+   8. get bond list and bond num
+  expected result: |
+   1. Succeed
+   2. Succeed
+   3. Succeed
+   4. succeed
+   5. succeed
+   6. succeed
+   7. succeed
+   8. succeed
+  cmd set:
+  - ""
+  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x01"
+    - ['P SSC[1-2] C +BLESMP:OK']
+  - - "SSC SSC[1-2] blesmp -S -z IOCAP -v 0x03"
+    - ['P SSC[1-2] C +BLESMP:OK']
+  - - "SSC SSC[1-2] blesmp -S -z RspKey -v 0x03"
+    - ['P SSC[1-2] C +BLESMP:OK']
+  - - LOOP 15 7 "range(0,15)" "range(0,15)" "range(0,15)"
+    - ""
+  - - "SSC SSC2 bleadv -D -z stop"
+    - ['R SSC2 C +BLEADV:Stop,OK']
+  - - "SSC SSC2 ble -S -z randAddr -a c0:9b:0e:36:6d:7{%x} -r 1"
+    - ["R SSC2 C +BLECONN:SetRandAddr,OK"]
+  - - "SSC SSC2 bleadv -D -z start -o 1"
+    - ['R SSC2 C +BLEADV:Start,OK']
+  - - "SSC SSC1 bleconn -C -p 0x10 -a c0:9b:0e:36:6d:7{%x} -r 1"
+    - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect']
+  - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
+    - ['P SSC1 C +BLESMP:SecReq']
+  - - "SSC SSC1 blesmp -R -a 1 -r c0:9b:0e:36:6d:7{%x}"
+    - ['P SSC1 C +BLESMP:AuthComplete,Success,0','P SSC2 C +BLESMP:AuthComplete,Success,0']
+  - - "SSC SSC1 bleconn -D -z all"
+    - ['P SSC1 C +BLE:CLOSE', 'P SSC2 C +BLECONN:GapDisconnect,OK']
+  - - "SSC SSC1 blesmp -B -z getlist -n 16"
+    - ['P SSC1 C +BLESMP:GetBondList,OK,15']
+  - - "SSC SSC2 ble -S -z randAddr -a c1:0a:d3:25:7a:cf -r 1"
+    - ["R SSC2 C +BLECONN:SetRandAddr,OK"]
+  - - "SSC SSC2 bleadv -D -z stop"
+    - ['R SSC2 C +BLEADV:Stop,OK']
+  - - "SSC SSC2 bleadv -D -z start -o 1"
+    - ['R SSC2 C +BLEADV:Start,OK']
+  - - "SSC SSC1 bleconn -C -p 0x10 -a c1:0a:d3:25:7a:cf -r 1"
+    - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect']
+  - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
+    - ['P SSC1 C +BLESMP:SecReq']
+  - - "SSC SSC1 blesmp -R -a 1 -r c1:0a:d3:25:7a:cf"
+    - ['P SSC1 C +BLESMP:AuthComplete,Success,0','P SSC2 C +BLESMP:AuthComplete,Success,0']
+  - - "SSC SSC1 blesmp -B -z getlist -n 16"
+    - ['P SSC1 C +BLESMP:GetBondList,OK,15']
index 764e6695341f583f003139b5ee9ed9270c41fa13..3089ac9c5320be7b7fb3d365fd138c6dfdf9e8e9 100644 (file)
@@ -4,7 +4,7 @@
   auto test: 'Yes'
   category: Function
   test point 1: basic function
-  initial condition: BLE_INIT2
+  initial condition: BLE_INIT3
   test environment: SSC_T2_5
   execution time: 0
   module: BT Stack
 .dut1_stop_adv: &dut1_stop_adv
   LIST_MERGE:
     - - "SSC SSC1 bleadv -D -z stop"
-      - ["R SSC1 C +BLEADV:Stop,OK"]
+      - ["R SSC1 C +BLEADV:"]
 
 .dut2_stop_adv: &dut2_stop_adv
   LIST_MERGE:
     - - "SSC SSC2 bleadv -D -z stop"
-      - ["R SSC2 C +BLEADV:Stop,OK"]
+      - ["R SSC2 C +BLEADV:"]
 
 .dut1_start_adv: &dut1_start_adv
   LIST_MERGE:
@@ -37,7 +37,7 @@
 .set_default_adv_data: &set_default_adv_data
   LIST_MERGE:
     - - "SSC SSC1 bleadv -D -z stop"
-      - ["R SSC1 C +BLEADV:Stop,OK"]
+      - ["R SSC1 C +BLEADV:"]
     - - "SSC SSC1 bleadv -L -c 0 -t 3"
       - ["R SSC1 C +BLEADV:SetAdv,OK C +BLEADV:SetScanRes,OK"]
     - - "SSC SSC1 bleadv -D -z start"
@@ -51,7 +51,7 @@
 .dut1_connect_to_dut2: &dut1_connect_to_dut2
   LIST_MERGE:
     - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-      - ['R SSC1 C +BLE:GattcConnect,OK', 'R SSC2 C +BLE:GattsConnect']
+      - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
 
 test cases:
 - ID: BTSTK_GAP_01001
@@ -71,11 +71,14 @@ test cases:
   cmd set:
   - ""
   - *set_default_ble_name
-  - *set_default_adv_data
+  - - "SSC SSC1 bleadv -D -z stop"
+    - ["R SSC1 C +BLEADV:"]
+  - - "SSC SSC1 bleadv -L -c 0 -t 3 -n 1"
+    - ["R SSC1 C +BLEADV:SetAdv,OK C +BLEADV:SetScanRes,OK"]
+  - - "SSC SSC1 bleadv -D -z start"
+    - ["R SSC1 C +BLEADV:Start,OK"]
   - *dut2_stop_adv
-  - - "SSC SSC2 blescan -L -c 0"
-    - ["R SSC2 C +BLESCAN:SetScanParam,OK"]
-  - - "SSC SSC2 blescan -D -z start -t 3"
+  - - "SSC SSC2 blescan -D -z start -t 3 -c 0"
     - ["R SSC2 P <dut1_ble_name>"]
 - ID: BTSTK_GAP_01002
   <<: *GAP_CASE
@@ -95,51 +98,15 @@ test cases:
   - ""
   - - "SSC SSC1 ble -S -z name -n <dut1_ble_name_hex>"
     - ["R SSC1 C +BLE:OK"]
-  - *set_default_adv_data
+  - - "SSC SSC1 bleadv -D -z stop"
+    - ["R SSC1 C +BLEADV:"]
+  - - "SSC SSC1 bleadv -L -c 0 -t 3 -n 1"
+    - ["R SSC1 C +BLEADV:SetAdv,OK C +BLEADV:SetScanRes,OK"]
+  - - "SSC SSC1 bleadv -D -z start"
+    - ["R SSC1 C +BLEADV:Start,OK"]
   - *dut2_stop_adv
-  - - "SSC SSC2 blescan -L -c 0"
-    - ["R SSC2 C +BLESCAN:SetScanParam,OK"]
-  - - "SSC SSC2 blescan -D -z start -t 3"
+  - - "SSC SSC2 blescan -D -z start -t 3 -c 0"
     - ["R SSC2 P <dut1_ble_name_hex>"]
-- ID: BTSTK_GAP_01003
-  <<: *GAP_CASE
-  test point 2: BLE GAP param device name test
-  summary: ble set long device name
-  steps: |
-    1. DUT1 set 32 byte device name A
-    2. stop advertising
-    3. config scan response and start advertising
-    4. DUT2 do active scan
-    5. DUT1 set 33 bytes device name
-    6. stop advertising
-    7. config scan response and start advertising
-    8. DUT2 do active scan
-  expected result: |
-    1. succeed
-    2. succeed
-    3. succeed
-    4. DUT1 mac in scan result (device name is too long)
-    5. failed
-    6. succeed
-    7. succeed
-    8. DUT1 mac in scan result (device name is too long)
-  cmd set:
-  - ""
-  - - "SSC SSC1 ble -S -z name -n <dut1_ble_name_32>"
-    - ["R SSC1 C +BLE:OK"]
-  - *set_default_adv_data
-  - *dut2_stop_adv
-  - - "SSC SSC2 blescan -L -c 0 -s 1"
-    - ["R SSC2 C +BLESCAN:SetScanParam,OK"]
-  - - "SSC SSC2 blescan -D -z start -t 3"
-    - ["R SSC2 P <dut1_bt_mac> C Complete"]
-  - - "SSC SSC1 ble -S -z name -n 123456789012345678901234567890123"
-    - ["R SSC1 C +BLE:ERROR"]
-  - *set_default_adv_data
-  - - "SSC SSC2 blescan -L -c 0 -s 1"
-    - ["R SSC2 C +BLESCAN:SetScanParam,OK"]
-  - - "SSC SSC2 blescan -D -z start -t 3"
-    - ["R SSC2 P <dut1_bt_mac> C Complete"]
 - ID: BTSTK_GAP_02001
   <<: *GAP_CASE
   test point 2: BLE GAP config advertising data
@@ -190,30 +157,27 @@ test cases:
   test point 2: BLE GAP config advertising data
   summary: ble set advertising data / scan response include Tx power
   steps: |
-    1. DUT1 stop advertise and set short device name
-    2. DUT1 set include Tx power for adv data and scan response
-    3. DUT1 start advertising
-    4. PC do active scan and capture advertising report
-    5. DUT1 stop advertising
-    6. DUT1 set not include Tx power for adv data and scan response
-    7. DUT1 start advertising
-    8. PC do active scan and capture advertising report
+    1. DUT1 set include Tx power for adv data and scan response
+    2. DUT1 start advertising
+    3. PC do active scan and capture advertising report
+    4. DUT1 stop advertising
+    5. DUT1 set not include Tx power for adv data and scan response
+    6. DUT1 start advertising
+    7. PC do active scan and capture advertising report
   expected result: |
     1. succeed
     2. succeed
-    3. succeed
-    4. get Tx power in ADV_IND and SCAN_RSP
+    3. get Tx power in ADV_IND and SCAN_RSP
+    4. succeed
     5. succeed
     6. succeed
-    7. succeed
-    8. do not have Tx power in ADV_IND and SCAN_RSP
+    7. do not have Tx power in ADV_IND and SCAN_RSP
   initial condition: BLE_INIT1
   test environment: SSC_T1_3
   version: v2 (2016-03-01)
   cmd set:
   - ""
   - *dut1_stop_adv
-  - *set_default_ble_name
   - - "SSC SSC1 bleadv -L -c 0 -x 1 -t 3"
     - ["R SSC1 C +BLEADV:SetAdv,OK"]
   - *dut1_start_adv
@@ -230,57 +194,12 @@ test cases:
     - - 'P PC_COM C +HCITOOL:OK'
       - 'P BLENIC PDU (HCIEvent.le_sub_event_code="LEAdvReport")(HCIEvent.event_type_0="ADV_IND")(HCIEvent.address_0=<dut1_bt_mac>)(!HCIEvent.data_0.TxPower)'
       - 'P BLENIC PDU (HCIEvent.le_sub_event_code="LEAdvReport")(HCIEvent.event_type_0="SCAN_RSP")(HCIEvent.address_0=<dut1_bt_mac>)(!HCIEvent.data_0.TxPower)'
-- ID: BTSTK_GAP_02003
-  <<: *GAP_CASE
-  test point 2: BLE GAP config advertising data
-  summary: ble set advertising data / scan response adv interval
-  steps: |
-    1. DUT1 stop advertise and set short device name
-    2. DUT1 set max interval 0x40 min interval 0x20 for adv data and scan response
-    3. DUT1 start advertising
-    4. PC do active scan and capture advertising report
-    5. DUT1 stop advertising
-    6. DUT1 set max interval 0x400 min interval 0x200 for adv data and scan response
-    7. DUT1 start advertising
-    8. PC do active scan and capture advertising report
-  expected result: |
-    1. succeed
-    2. succeed
-    3. succeed
-    4. get interval 0x40 0x20 in ADV_IND and SCAN_RSP
-    5. succeed
-    6. succeed
-    7. succeed
-    8. get interval 0x400 0x200 in ADV_IND and SCAN_RSP
-  initial condition: BLE_INIT1
-  test environment: SSC_T1_3
-  version: v2 (2016-03-01)
-  cmd set:
-  - ""
-  - *dut1_stop_adv
-  - *set_default_ble_name
-  - - "SSC SSC1 bleadv -L -c 0 -i 0x20-0x40 -t 3"
-    - ["R SSC1 C +BLEADV:SetAdv,OK"]
-  - *dut1_start_adv
-  - *open_capture_nic
-  - - "HCITOOL 2 -i <hci_nic> lescan"
-    - - 'P PC_COM C +HCITOOL:OK'
-      - 'P BLENIC PDU (HCIEvent.le_sub_event_code="LEAdvReport")(HCIEvent.event_type_0="ADV_IND")(HCIEvent.address_0=<dut1_bt_mac>)(HCIEvent.data_0.SlaveConnIntervalRange="0x0020-0x0040")'
-      - 'P BLENIC PDU (HCIEvent.le_sub_event_code="LEAdvReport")(HCIEvent.event_type_0="SCAN_RSP")(HCIEvent.address_0=<dut1_bt_mac>)(HCIEvent.data_0.SlaveConnIntervalRange="0x0020-0x0040")'
-  - *dut1_stop_adv
-  - - "SSC SSC1 bleadv -L -c 0 -i 0x200-0x400 -t 3"
-    - ["R SSC1 C +BLEADV:SetAdv,OK"]
-  - *dut1_start_adv
-  - - "HCITOOL 2 -i <hci_nic> lescan"
-    - - 'P PC_COM C +HCITOOL:OK'
-      - 'P BLENIC PDU (HCIEvent.le_sub_event_code="LEAdvReport")(HCIEvent.event_type_0="ADV_IND")(HCIEvent.address_0=<dut1_bt_mac>)(HCIEvent.data_0.SlaveConnIntervalRange="0x0200-0x0400")'
-      - 'P BLENIC PDU (HCIEvent.le_sub_event_code="LEAdvReport")(HCIEvent.event_type_0="SCAN_RSP")(HCIEvent.address_0=<dut1_bt_mac>)(HCIEvent.data_0.SlaveConnIntervalRange="0x0200-0x0400")'
 - ID: BTSTK_GAP_02004
   <<: *GAP_CASE
   test point 2: BLE GAP config advertising data
   summary: ble set advertising data / scan response appearance
   steps: |
-    1. DUT1 stop advertise and set short device name
+    1. DUT1 stop advertise
     2. DUT1 set appearance to 0 for adv data and scan response
     3. DUT1 start advertising
     4. PC do active scan and capture advertising report
@@ -303,7 +222,6 @@ test cases:
   cmd set:
   - ""
   - *dut1_stop_adv
-  - *set_default_ble_name
   - - "SSC SSC1 bleadv -L -c 0 -a 0 -t 3"
     - ["R SSC1 C +BLEADV:SetAdv,OK"]
   - *dut1_start_adv
@@ -325,7 +243,7 @@ test cases:
   test point 2: BLE GAP config advertising data
   summary: ble set advertising data / scan response manufacturer data
   steps: |
-    1. DUT1 stop advertise and set short device name
+    1. DUT1 stop advertise
     2. DUT1 set manufacturer to 0x12345678 for adv data and scan response
     3. DUT1 start advertising
     4. PC do active scan and capture advertising report
@@ -340,7 +258,6 @@ test cases:
   cmd set:
   - ""
   - *dut1_stop_adv
-  - *set_default_ble_name
   - - "SSC SSC1 bleadv -L -c 0 -m 0x12345678 -t 3"
     - ["R SSC1 C +BLEADV:SetAdv,OK"]
   - *dut1_start_adv
@@ -354,11 +271,11 @@ test cases:
   test point 2: BLE GAP config advertising data
   summary: ble set advertising data / scan response manufacturer length not equal to real lenght
   steps: |
-    1. DUT1 stop advertise and set short device name
+    1. DUT1 stop advertise
     2. DUT1 set manufacturer 0x12345678 and length 3 for adv data and scan response
     3. DUT1 start advertising
     4. PC do active scan and capture advertising report
-    5. DUT1 stop advertise and set short device name
+    5. DUT1 stop advertise
     6. DUT1 set manufacturer 0x12345678 and length 10 for adv data and scan response
     7. DUT1 start advertising
     8. PC do active scan and capture advertising report
@@ -377,7 +294,6 @@ test cases:
   cmd set:
   - ""
   - *dut1_stop_adv
-  - *set_default_ble_name
   - - "SSC SSC1 bleadv -L -c 0 -m 0x12345678 -t 3 -l 3"
     - ["R SSC1 C +BLEADV:SetAdv,OK"]
   - *dut1_start_adv
@@ -387,7 +303,6 @@ test cases:
       - 'P BLENIC PDU (HCIEvent.le_sub_event_code="LEAdvReport")(HCIEvent.event_type_0="ADV_IND")(HCIEvent.address_0=<dut1_bt_mac>)(HCIEvent.data_0.ManufacturerSpecificData="0x12345678")'
       - 'P BLENIC PDU (HCIEvent.le_sub_event_code="LEAdvReport")(HCIEvent.event_type_0="SCAN_RSP")(HCIEvent.address_0=<dut1_bt_mac>)(HCIEvent.data_0.ManufacturerSpecificData="0x12345678")'
   - *dut1_stop_adv
-  - *set_default_ble_name
   - - "SSC SSC1 bleadv -L -c 0 -m 0x12345678 -t 3 -l 10"
     - ["R SSC1 C +BLEADV:SetAdv,OK"]
   - *dut1_start_adv
@@ -416,8 +331,7 @@ test cases:
   cmd set:
   - ""
   - *dut1_stop_adv
-  - *set_default_ble_name
-  - - "SSC SSC1 bleadv -L -c 0 -n 0 -d 0x1234123456 -t 3"
+  - - "SSC SSC1 bleadv -L -c 0 -n 0 -d 0x1234123456 -t 3 -p -f 0 -x 0"
     - ["R SSC1 C +BLEADV:SetAdv,OK"]
   - *dut1_start_adv
   - *open_capture_nic
@@ -453,8 +367,7 @@ test cases:
   cmd set:
   - ""
   - *dut1_stop_adv
-  - *set_default_ble_name
-  - - "SSC SSC1 bleadv -L -c 0 -n 0 -d 0x1234123456 -t 3 -l 3"
+  - - "SSC SSC1 bleadv -L -c 0 -d 0x1234123456 -t 3 -l 3"
     - ["R SSC1 C +BLEADV:SetAdv,OK"]
   - *dut1_start_adv
   - *open_capture_nic
@@ -463,8 +376,7 @@ test cases:
       - 'P BLENIC PDU (HCIEvent.le_sub_event_code="LEAdvReport")(HCIEvent.event_type_0="ADV_IND")(HCIEvent.address_0=<dut1_bt_mac>)(HCIEvent.data_0.ServiceData16BitUUID="1234123456")'
       - 'P BLENIC PDU (HCIEvent.le_sub_event_code="LEAdvReport")(HCIEvent.event_type_0="SCAN_RSP")(HCIEvent.address_0=<dut1_bt_mac>)(HCIEvent.data_0.ServiceData16BitUUID="1234123456")'
   - *dut1_stop_adv
-  - *set_default_ble_name
-  - - "SSC SSC1 bleadv -L -c 0 -n 0 -d 0x1234123456 -t 3 -l 10"
+  - - "SSC SSC1 bleadv -L -c 0 -d 0x1234123456 -t 3 -l 10"
     - ["R SSC1 C +BLEADV:SetAdv,OK"]
   - *dut1_start_adv
   - *open_capture_nic
@@ -553,7 +465,7 @@ test cases:
   test point 2: BLE GAP set advertise param
   summary: ble set adv parameter adv_type
   steps: |
-    1. DUT1 stop advertise and set short device name
+    1. DUT1 stop advertise
     2. DUT1 start adv with adv_type ADV_IND
     3. PC do active scan and capture advertising report
     4. repeat step 1-3 with adv_type ADV_TYPE_DIRECT_IND_HIGH
@@ -572,9 +484,8 @@ test cases:
   test environment: SSC_T1_3
   cmd set:
   - ""
-  - *set_default_ble_name
   - - "SSC SSC1 bleadv -L -c 0 -t 3"
-    - ["R SSC1 C +BLEADV:SetAdv,OK"]
+    - ["R SSC1 C +BLEADV:SetAdv,OK C +BLEADV:SetScanRes,OK"]
   - *open_capture_nic
   - *dut1_stop_adv
   - - "SSC SSC1 bleadv -D -z start -t 0"
@@ -582,11 +493,13 @@ test cases:
   - - "HCITOOL 2 -i <hci_nic> lescan"
     - - 'P PC_COM C +HCITOOL:OK'
       - 'P BLENIC PDU (HCIEvent.le_sub_event_code="LEAdvReport")(HCIEvent.event_type_0="ADV_IND")(HCIEvent.address_0=<dut1_bt_mac>)'
+  - *dut1_stop_adv
   - - "SSC SSC1 bleadv -D -z start -t 1 -y 0 -b <hci_nic_mac>"
     - ["R SSC1 C +BLEADV:OK"]
   - - "HCITOOL 2 -i <hci_nic> lescan"
     - - 'P PC_COM C +HCITOOL:OK'
       - 'P BLENIC PDU (HCIEvent.le_sub_event_code="LEAdvReport")(HCIEvent.event_type_0="ADV_DIRECT_IND")(HCIEvent.address_0=<dut1_bt_mac>)'
+  - *dut1_stop_adv
   - - "SSC SSC1 bleadv -L -c 0 -i 0x00B0-0x0200 -t 3"
     - ["R SSC1 C +BLEADV:OK"]
   - - "SSC SSC1 bleadv -D -z start -t 2 -i 0x00B0-0x0200"
@@ -594,6 +507,7 @@ test cases:
   - - "HCITOOL 2 -i <hci_nic> lescan"
     - - 'P PC_COM C +HCITOOL:OK'
       - 'P BLENIC PDU (HCIEvent.le_sub_event_code="LEAdvReport")(HCIEvent.event_type_0="ADV_SCAN_IND")(HCIEvent.address_0=<dut1_bt_mac>)'
+  - *dut1_stop_adv
   - - "SSC SSC1 bleadv -D -z start -t 3 -i 0x00B0-0x0200"
     - ["R SSC1 C +BLEADV:OK"]
   - - "HCITOOL 2 -i <hci_nic> lescan"
@@ -628,9 +542,8 @@ test cases:
   allow fail: 1/2
   cmd set:
   - ""
-  - *set_default_ble_name
   - - "SSC SSC1 bleadv -L -c 0 -t 3"
-    - ["R SSC1 C +BLEADV:SetAdv,OK"]
+    - ["R SSC1 C +BLEADV:SetAdv,OK C +BLEADV:SetScanRes,OK"]
   - *open_capture_nic
   - - LOOP 7 3 "[1,2,3,4,5,6,7]" "['PDU','PDU','PDU','PDU','PDU','PDU','PDU']"
   - *dut1_stop_adv
@@ -641,37 +554,6 @@ test cases:
       - 'P BLENIC {%s} (HCIEvent.le_sub_event_code="LEAdvReport")(HCIEvent.event_type_0="ADV_IND")(HCIEvent.address_0=<dut1_bt_mac>)'
   - - "SSC SSC1 bleadv -D -z start -t 0 -h 8"
     - ["R SSC1 C +BLEADV:Start,ERROR"]
-- ID: BTSTK_GAP_03003
-  <<: *GAP_CASE
-  test point 2: BLE GAP set advertise param
-  summary: ble set adv parameter own address type
-  steps: |
-    1. DUT1 stop advertise
-    2. DUT1 start adv with own address type public
-    3. PC do active scan and capture advertising report
-    4. repeat step 1-3 with own address type random, rpa_public, rpa_random
-    5. repeat step 1-3 with channel map not valid
-  expected result: |
-    1. succeed
-    2. succeed
-    3. get ADV_IND with DUT1 BT MAC
-    4. get ADV_IND with DUT1 BT MAC
-    5. can not get ADV_IND with DUT1 BT MAC
-  initial condition: BLE_INIT1
-  test environment: SSC_T1_3
-  cmd set:
-  - ""
-  - *set_default_ble_name
-  - - "SSC SSC1 bleadv -L -c 0 -t 3"
-    - ["R SSC1 C +BLEADV:SetAdv,OK"]
-  - *open_capture_nic
-  - - LOOP 4 3 "[0,2,1,3]" "['PDU','PDU','NPDU','NPDU']"
-  - *dut1_stop_adv
-  - - "SSC SSC1 bleadv -D -z start -t 0 -o {%d}"
-    - ["R SSC1 C +BLEADV:OK"]
-  - - "HCITOOL 2 -i <hci_nic> lescan"
-    - - 'P PC_COM C +HCITOOL:OK'
-      - 'P BLENIC {%s} (HCIEvent.le_sub_event_code="LEAdvReport")(HCIEvent.event_type_0="ADV_IND")(HCIEvent.data_0.NameComplete=<dut1_ble_name>)(HCIEvent.address_0=<dut1_bt_mac>)'
 - ID: BTSTK_GAP_03004
   <<: *GAP_CASE
   test point 2: BLE GAP set advertise param
@@ -691,9 +573,8 @@ test cases:
   allow fail: 2/3
   cmd set:
   - ""
-  - *set_default_ble_name
   - - "SSC SSC1 bleadv -L -c 0 -t 3"
-    - ["R SSC1 C +BLEADV:SetAdv,OK"]
+    - ["R SSC1 C +BLEADV:SetAdv,OK C +BLEADV:SetScanRes,OK"]
   - *open_capture_nic
   - *dut1_stop_adv
   - - LOOP 2 2 "[0,1]" "['=','!=']"
@@ -726,71 +607,12 @@ test cases:
     - ['']
   - - deviation = 0.3
     - ['']
-- ID: BTSTK_GAP_03006
-  <<: *GAP_CASE
-  test point 2: BLE GAP set advertise param
-  summary: ble set paramters for SCAN_IND
-  steps: |
-    1. DUT1 stop advertise
-    2. DUT1 set incorrect adv interval for SCAN_IND
-    3. PC do active scan and capture advertising report
-    4. repeat step 1-3 with correct adv interval
-  expected result: |
-    1. succeed
-    2. succeed
-    3. can not get SCAN_IND with DUT1 BT MAC
-    4. get SCAN_IND with DUT1 BT MAC
-  initial condition: BLE_INIT1
-  test environment: SSC_T1_3
-  cmd set:
-  - ""
-  - *set_default_ble_name
-  - - "SSC SSC1 bleadv -L -c 0 -t 3"
-    - ["R SSC1 C +BLEADV:SetAdv,OK"]
-  - *open_capture_nic
-  - *dut1_stop_adv
-  - - LOOP 2 2 "['0x20-0x40','0xA0-0xB0']" "['PDU','PDU']"
-    - [""]
-  - - "SSC SSC1 bleadv -D -z start -t 2 -i {%s}"
-    - ["R SSC1 C +BLEADV:OK"]
-  - - "HCITOOL 2 -i <hci_nic> lescan"
-    - - 'P PC_COM C +HCITOOL:OK'
-      - 'P BLENIC {%s} (HCIEvent.le_sub_event_code="LEAdvReport")(HCIEvent.event_type_0="SCAN_IND")(HCIEvent.address_0=<dut1_bt_mac>)'
-- ID: BTSTK_GAP_03007
-  <<: *GAP_CASE
-  test point 2: BLE GAP set advertise param
-  summary: ble set paramters for NONCONN_IND
-  steps: |
-    1. DUT1 stop advertise
-    2. DUT1 set incorrect adv interval for NONCONN_IND
-    3. PC do active scan and capture advertising report
-    4. repeat step 1-3 with correct adv interval
-  expected result: |
-    1. succeed
-    2. succeed
-    3. can not get SCAN_IND with DUT1 BT MAC
-    4. get SCAN_IND with DUT1 BT MAC
-  initial condition: BLE_INIT1
-  test environment: SSC_T1_3
-  cmd set:
-  - ""
-  - *set_default_ble_name
-  - - "SSC SSC1 bleadv -L -c 0 -t 3"
-    - ["R SSC1 C +BLEADV:SetAdv,OK"]
-  - *open_capture_nic
-  - *dut1_stop_adv
-  - - LOOP 2 2 "['0x20-0x40','0xA0-0xB0']" "['PDU','PDU']"
-    - [""]
-  - - "SSC SSC1 bleadv -D -z start -t 3 -i {%s}"
-    - ["R SSC1 C +BLEADV:OK"]
-  - - "HCITOOL 2 -i <hci_nic> lescan"
-    - - 'P PC_COM C +HCITOOL:OK'
-      - 'P BLENIC {%s} (HCIEvent.le_sub_event_code="LEAdvReport")(HCIEvent.event_type_0="NONCONN_IND")(HCIEvent.address_0=<dut1_bt_mac>)'
 - ID: BTSTK_GAP_03008
   <<: *GAP_CASE
   test point 2: BLE GAP set advertise param
   summary: ble adv with random address and RPA_PUBLIC
   initial condition: BLE_INIT_SMP
+  CI ready: "No"
   steps: |
     1. DUT2 set random address
     2. DUT2 adv with RPA_PUBLIC
@@ -801,6 +623,8 @@ test cases:
     3. succeed
   cmd set:
   - ""
+  - - "SSC SSC1 bleadv -L -c 0 -t 3 -n 1"
+    - ["R SSC1 C +BLEADV:SetAdv,OK C +BLEADV:SetScanRes,OK"]
   - - "SSC SSC2 bleadv -D -z stop"
     - ["R SSC2 C +BLEADV:Stop,OK"]
   - - "SSC SSC2 ble -S -z privacy -p 1"
@@ -808,9 +632,7 @@ test cases:
   - - "SSC SSC2 bleadv -D -z start -t 0 -o 2"
     - ["R SSC2 C +BLEADV:OK"]
   - - "SSC SSC1 blescan -D -z start"
-    - ["R SSC1 P <dut2_bt_mac> C Complete"]
-  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-    - ["R SSC1 C +BLE:GattcConnect,OK", "R SSC2 C +BLE:GattsConnect"]
+    - ["R SSC1 NP <dut2_bt_mac> C InquiryComplete"]
 - ID: BTSTK_GAP_03009
   <<: *GAP_CASE
   test point 2: BLE GAP set advertise param
@@ -834,30 +656,34 @@ test cases:
     7. succeed
   cmd set:
   - ""
+  - - "SSC SSC2 ble -S -z name -n <dut1_ble_name>"
+    - ["R SSC2 C +BLE:OK"]
   - - "SSC SSC2 blesmp -S -z AuthReqMode -v 0x01"
     - ['P SSC2 C +BLESMP:OK']
   - - "SSC SSC2 blesmp -S -z IOCAP -v 0x03"
     - ['P SSC2 C +BLESMP:OK']
-  - - "SSC SSC2 blesmp -S -z RspKey -v 0x03"
-    - ['P SSC2 C +BLESMP:OK']
+  - - "SSC SSC[1-2] blesmp -S -z RspKey -v 0x02"
+    - ['P SSC[1-2] C +BLESMP:OK']
+  - - "SSC SSC[1-2] blesmp -S -z InitKey -v 0x02"
+    - ['P SSC[1-2] C +BLESMP:OK']
+  - - "SSC SSC2 bleadv -L -c 0 -n 1"
+    - ["R SSC2 C +BLEADV:SetAdv,OK"]
   - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-    - ['P SSC1 C +BLE:GattcConnect,OK', 'P SSC2 C +BLE:GattsConnect']
+    - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
   - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
-    - ['P SSC1 C +BLESMP:SecReq']
-  - - "SSC SSC1 blesmp -R -a 1 -r <dut2_bt_mac>"
     - ['P SSC[1-2] C +BLESMP:AuthComplete,Success,0']
   - - "SSC SSC1 bleconn -D -z all"
-    - ['P SSC1 C +BLE:GattcDisconnect,OK', 'P SSC2 C +BLE:GattsDisconnect,OK']
+    - ['P SSC1 C +BLECONN:GapDisconnect,OK', 'P SSC2 C +BLECONN:GapDisconnect,OK']
   - - "SSC SSC2 ble -S -z privacy -p 1"
     - ["R SSC2 C +BLECONN:SetResAddr,Success"]
   - - "SSC SSC2 bleadv -D -z stop"
-    - ["R SSC2 C +BLEADV:OK"]
+    - ["R SSC2 C +BLEADV:"]
   - - "SSC SSC2 bleadv -D -z start -o 2"
     - ["R SSC2 C +BLEADV:OK"]
   - - "SSC SSC1 blescan -D -z start"
     - ["R SSC1 P <dut2_bt_mac> C Complete"]
   - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-    - ["R SSC1 C +BLE:GattcConnect,OK", "R SSC2 C +BLE:GattsConnect"]
+    - ["R SSC1 C +BLECONN:GapConnect,OK", "R SSC2 C +BLECONN:GapConnect,OK"]
 - ID: BTSTK_GAP_03010
   <<: *GAP_CASE
   CI ready: "No"  # can't restore to use public address after set to use private address
@@ -876,14 +702,17 @@ test cases:
   - ""
   - - "SSC SSC2 bleadv -D -z stop"
     - ["R SSC2 C +BLEADV:Stop,OK"]
+  - *set_default_ble_name
+  - - "SSC SSC2 ble -S -z randAddr -a <static_device_addr> -r 1"
+    - ["R SSC2 C +BLECONN:SetRandAddr,OK"]
   - - "SSC SSC2 ble -S -z privacy -p 1"
     - ["R SSC2 C +BLECONN:SetResAddr,Success"]
+  - - "SSC SSC2 bleadv -L -c 0 -n 1"
+    - ["R SSC2 C +BLEADV:SetAdv,OK"]
   - - "SSC SSC2 bleadv -D -z start -t 0 -o 3"
     - ["R SSC2 C +BLEADV:OK"]
   - - "SSC SSC1 blescan -D -z start"
-    - ["R SSC1 P <dut2_bt_mac> C Complete"]
-  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-    - ["R SSC1 C +BLE:GattcConnect,OK", "R SSC2 C +BLE:GattsConnect"]
+    - ["R SSC1 NP <dut2_bt_mac> C Complete"]
 - ID: BTSTK_GAP_03011
   <<: *GAP_CASE
   CI ready: "No"  # can't restore to use public address after set to use private address
@@ -912,30 +741,49 @@ test cases:
     9. succeed
   cmd set:
   - ""
-  - - "SSC SSC2 blesmp -S -z AuthReqMode -v 0x01"
-    - ['P SSC2 C +BLESMP:OK']
-  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x03"
-    - ['P SSC2 C +BLESMP:OK']
-  - - "SSC SSC2 blesmp -S -z RspKey -v 0x03"
-    - ['P SSC2 C +BLESMP:OK']
+  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x01"
+    - ['P SSC[1-2] C +BLESMP:OK']
+  - - "SSC SSC[1-2] blesmp -S -z IOCAP -v 0x02"
+    - ['P SSC[1-2] C +BLESMP:OK']
+  - - "SSC SSC[1-2] blesmp -S -z RspKey -v 0x02"
+    - ['P SSC[1-2] C +BLESMP:OK']
   - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-    - ['P SSC1 C +BLE:GattcConnect,OK', 'P SSC2 C +BLE:GattsConnect']
+    - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
   - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
-    - ['P SSC1 C +BLESMP:SecReq']
-  - - "SSC SSC1 blesmp -R -a 1 -r <dut2_bt_mac>"
     - ['P SSC[1-2] C +BLESMP:AuthComplete,Success,0']
   - - "SSC SSC1 bleconn -D -z all"
-    - ['P SSC1 C +BLE:GattcDisconnect,OK', 'P SSC2 C +BLE:GattsDisconnect,OK']
+    - ['P SSC1 C +BLECONN:GapDisconnect,OK', 'P SSC2 C +BLECONN:GapDisconnect,OK']
+  - - "SSC SSC2 ble -S -z randAddr -a <static_device_addr> -r 1"
+    - ["R SSC2 C +BLECONN:SetRandAddr,OK"]
   - - "SSC SSC2 ble -S -z privacy -p 1"
     - ["R SSC2 C +BLECONN:SetResAddr,Success"]
   - - "SSC SSC2 bleadv -D -z stop"
-    - ["R SSC2 C +BLEADV:OK"]
+    - ["R SSC2 C +BLEADV:"]
   - - "SSC SSC2 bleadv -D -z start -o 3"
     - ["R SSC2 C +BLEADV:OK"]
   - - "SSC SSC1 blescan -D -z start"
     - ["R SSC1 P <dut2_bt_mac> C Complete"]
   - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-    - ["R SSC1 C +BLE:GattcConnect,OK", "R SSC2 C +BLE:GattsConnect"]
+    - ["R SSC1 C +BLECONN:GapConnect,OK", "R SSC2 C +BLECONN:GapConnect,OK"]
+- ID: BTSTK_GAP_03012
+  <<: *GAP_CASE
+  test point 2: BLE GAP set advertise param
+  summary: set ble adv peer_address_type as RPA_PUBLIC and RPA_RANDOM
+  initial condition: BLE_INIT_SMP
+  steps: |
+    1. DUT1 set peer address and peer address type RPA_PUBLIC
+    2. DUT1 set peer address and peer address type RPA_RANDOM
+  expected result: |
+    1. succeed
+    2. succeed
+  cmd set:
+  - ""
+  - - "SSC SSC1 bleadv -D -z stop"
+    - ["R SSC1 C +BLEADV:"]
+  - - "SSC SSC1 bleadv -D -z start -b <dut2_bt_mac> -y 2"
+    - ["R SSC1 C +BLEADV:Start,ERROR"]
+  - - "SSC SSC1 bleadv -D -z start -b <dut2_bt_mac> -y 3"
+    - ["R SSC1 C +BLEADV:Start,ERROR"]
 - ID: BTSTK_GAP_04001
   <<: *GAP_CASE
   test point 2: BLE GAP set scan param
@@ -961,16 +809,12 @@ test cases:
     - ["R SSC1 C +BLEADV:SetScanRes,OK"]
   - *dut1_start_adv
   - *dut2_stop_adv
-  - - "SSC SSC2 blescan -L -c 0 -s 0"
-    - ["R SSC2 C +BLESCAN:SetScanParam,OK"]
-  - - "SSC SSC2 blescan -D -z start -t 3 -e 2"
+  - - "SSC SSC2 blescan -D -z start -t 3 -e 2 -c 0 -s 0"
     - - 'P SSC2 RE "\+BTSCANEXT:%%s,man,0x1011121314151617181910111213141516171819"%%(<dut1_bt_mac>)'
       - 'R SSC2 NRE "\+BTSCANEXT:%%s,txp,0xEB"%%(<dut1_bt_mac>) C Complete'
   - - "SSC SSC2 blescan -D -z stop"
     - ['R SSC2 C +BLESCAN']
-  - - "SSC SSC2 blescan -L -c 0 -s 1"
-    - ["R SSC2 C +BLESCAN:SetScanParam,OK"]
-  - - "SSC SSC2 blescan -D -z start -t 3 -e 1"
+  - - "SSC SSC2 blescan -D -z start -t 3 -e 1 -c 0 -s 1"
     - - 'P SSC2 RE "\+BTSCANEXT:%%s,man,0x1011121314151617181910111213141516171819"%%(<dut1_bt_mac>)'
       - 'P SSC2 RE "\+BTSCANEXT:%%s,txp,0xEB"%%(<dut1_bt_mac>)'
       - 'R SSC2 C Complete'
@@ -978,6 +822,7 @@ test cases:
   <<: *GAP_CASE
   test point 2: BLE GAP set scan param
   summary: ble set scan own address type (not test if own address work as expected)
+  CI ready: "No"
   steps: |
     1. DUT1 start advertising
     2. DUT2 set own addr type (public, random, rpa_public, rpa_random)
@@ -990,20 +835,25 @@ test cases:
     4. error
   cmd set:
   - ""
-  - *set_default_ble_name
   - *dut1_stop_adv
   - - "SSC SSC1 bleadv -L -c 0 -t 3"
     - ["R SSC1 C +BLEADV:SetScanRes,OK"]
   - *dut1_start_adv
   - *dut2_stop_adv
-  - - LOOP 4 2 "[0,1,2,3]"
-    - ['']
-  - - "SSC SSC2 blescan -L -c 0 -s 1 -o {%d}"
-    - ["R SSC2 C +BLESCAN:SetScanParam,OK"]
-  - - "SSC SSC2 blescan -D -z start -t 1"
+  - - "SSC SSC2 blescan -D -z start -t 1 -c 0 -s 1 -o 0"
+    - ['R SSC2 P <dut1_bt_mac> C Complete']
+  - - "SSC SSC2 ble -S -z privacy -p 1"
+    - ["R SSC2 C +BLECONN:SetResAddr,Success"]
+  - - "SSC SSC2 blescan -D -z start -t 1 -c 0 -s 1 -o 2"
+    - ['R SSC2 P <dut1_bt_mac> C Complete']
+  - - "SSC SSC2 ble -S -z randAddr -a <static_device_addr> -r 1"
+    - ["R SSC2 C +BLECONN:SetRandAddr,OK"]
+  - - "SSC SSC2 blescan -D -z start -t 1 -c 0 -s 1 -o 1"
+    - ['R SSC2 P <dut1_bt_mac> C Complete']
+  - - "SSC SSC2 ble -S -z privacy -p 1"
+    - ["R SSC2 C +BLECONN:SetResAddr,Success"]
+  - - "SSC SSC2 blescan -D -z start -t 1 -c 0 -s 1 -o 3"
     - ['R SSC2 P <dut1_bt_mac> C Complete']
-  - - "SSC SSC2 blescan -L -c 0 -o 4"
-    - ["R SSC2 C +BLESCAN:SetScanParam,ERROR"]
 - ID: BTSTK_GAP_04003
   <<: *GAP_CASE
   test point 2: BLE GAP set scan param
@@ -1020,17 +870,19 @@ test cases:
     4. error
   cmd set:
   - ""
-  - - "SSC SSC2 bleadv -D -z start"
-    - ["R SSC2 C +BLEADV:OK"]
   - *dut1_stop_adv
-  - - "SSC SSC1 blescan -L -c 0 -s 1 -i 0x0004 -w 0x0004"
-    - ["R SSC1 C +BLESCAN:SetScanParam,OK"]
-  - - "SSC SSC1 blescan -L -c 0 -s 1 -i 0x4000 -w 0x4000"
-    - ["R SSC1 C +BLESCAN:SetScanParam,OK"]
-  - - "SSC SSC1 blescan -L -c 0 -s 1 -i 0x0003 -w 0x0003"
-    - ["R SSC1 C +BLESCAN:SetScanParam,ERROR"]
-  - - "SSC SSC1 blescan -L -c 0 -s 1 -i 0x4001 -i 0x4001"
-    - ["R SSC1 C +BLESCAN:SetScanParam,ERROR"]
+  - - "SSC SSC1 blescan -D -z start -c 0 -s 1 -i 0x0004 -w 0x0004"
+    - ["R SSC1 C +BLESCAN:Start,OK"]
+  - - "SSC SSC1 blescan -D -z stop"
+    - ["R SSC1 C +BLESCAN:Stop,OK"]
+  - - "SSC SSC1 blescan -D -z start -c 0 -s 1 -i 0x4000 -w 0x4000"
+    - ["R SSC1 C +BLESCAN:Start,OK"]
+  - - "SSC SSC1 blescan -D -z stop"
+    - ["R SSC1 C +BLESCAN:Stop,OK"]
+  - - "SSC SSC1 blescan -D -z start -c 0 -s 1 -i 0x0003 -w 0x0003"
+    - ["R SSC1 C +BLESCAN:Start,ERROR"]
+  - - "SSC SSC1 blescan -D -z start -c 0 -s 1 -i 0x4001 -w 0x4001"
+    - ["R SSC1 C +BLESCAN:Start,ERROR"]
 - ID: BTSTK_GAP_04004
   <<: *GAP_CASE
   test point 2: BLE GAP set scan param
@@ -1043,927 +895,86 @@ test cases:
   expected result: |
     1. succeed
     2. succeed
-    3. fail
-    4. fail
-  initial condition: BLE_INIT1
-  test environment: SSC_T1_4
-  cmd set:
-  - ""
-  - - "SSC SSC1 blescan -L -c 0 -w 0x0004 -i 0x0004"
-    - ["R SSC1 C +BLESCAN:SetScanParam,OK"]
-  - - "SSC SSC1 blescan -L -c 0 -w 0x4000 -i 0x4000"
-    - ["R SSC1 C +BLESCAN:SetScanParam,OK"]
-  - - "SSC SSC1 blescan -L -c 0 -w 0x0003 -i 0x0003"
-    - ["R SSC1 C +BLESCAN:SetScanParam,ERROR"]
-  - - "SSC SSC1 blescan -L -c 0 -w 0x4001 -i 0x4001"
-    - ["R SSC1 C +BLESCAN:SetScanParam,ERROR"]
-- ID: BTSTK_GAP_05001
-  <<: *GAP_CASE
-  test point 2: BLE GAP start stop adv / scan
-  summary: stop and start adv in wrong state
-  steps: |
-    1. DUT1 stop adv
-    2. DUT1 stop adv
-    3. DUT2 do passive scan
-    4. DUT1 start adv
-    5. DUT1 start adv
-    6. DUT2 do passive scan
-  expected result: |
-    1. succeed
-    2. succeed
-    3. DUT1 not in scan result
-    4. succeed
-    5. succeed
-    6. DUT1 in scan result
-  initial condition: BLE_INIT2
-  cmd set:
-  - ""
-  - *dut1_stop_adv
-  - *dut1_stop_adv
-  - - "SSC SSC2 blescan -L -c 0"
-    - ["R SSC2 C +BLESCAN:SetScanParam,OK"]
-  - - "SSC SSC2 blescan -D -z start -t 1"
-    - ["R SSC2 NP <dut1_bt_mac> C Complete"]
-  - *dut1_start_adv
-  - *dut1_start_adv
-  - - "SSC SSC2 blescan -L -c 0"
-    - ["R SSC2 C +BLESCAN:SetScanParam,OK"]
-  - - "SSC SSC2 blescan -D -z start -t 1"
-    - ["R SSC2 P <dut1_bt_mac> C Complete"]
-- ID: BTSTK_GAP_05002
-  <<: *GAP_CASE
-  test point 2: BLE GAP start stop adv / scan
-  summary: cancel scan when scanning or not scanning
-  steps: |
-    1. DUT1 start scanning for 3 seconds
-    2. DUT1 stop scanning
-    3. DUT1 stop scanning
-  expected result: |
-    1. succeed
-    2. succeed
-    3. failed
-  initial condition: BLE_INIT1
-  test environment: SSC_T1_4
-  cmd set:
-  - ""
-  - - "SSC SSC1 blescan -L -c 0"
-    - ["R SSC1 C +BLESCAN:SetScanParam,OK"]
-  - - "SSC SSC1 blescan -D -z start -t 3"
-    - ["R SSC1 C +BLESCAN:OK"]
-  - - "SSC SSC1 blescan -D -z stop"
-    - ["R SSC1 C +BLESCAN:Stop,OK"]
-  - - "SSC SSC1 blescan -D -z stop"
-    - ["R SSC1 C +BLESCAN:Stop,ERROR"]
-- ID: BTSTK_GAP_06001
-  <<: *GAP_CASE
-  test point 2: BLE GAP connect / disconnect
-  summary: ble connect as "client" and "server"
-  allow fail: 1/2
-  steps: |
-    1. DUT1 connect to DUT2 as "client"
-    2. DUT1 disconnected with DUT2
-    3. DUT1 start gatt server app
-    4. DUT1 connect to DUT2 as "server"
-  expected result: |
-    1. succeed
-    2. succeed
-    3. succeed
-    4. succeed
-  cmd set:
-  - ""
-  - *dut1_connect_to_dut2
-  - - "SSC SSC1 bleconn -D -p 0x10"
-    - ['R SSC1 C +BLE:CLOSE,OK']
-  - - "SSC SSC1 gatts -S -z load -p 0xA0"
-    - ['R SSC1 C +GATTS:LoadProfile,OK']
-  - - "SSC SSC2 bleadv -D -z start"
-    - ['R SSC2 C +BLEADV:OK']
-  - - "SSC SSC1 bleconn -C -p 0xA0 -a <dut2_bt_mac> -z server"
-    - ['R SSC1 C +BLE:GattsConnect']
-- ID: BTSTK_GAP_06002
-  <<: *GAP_CASE
-  test point 2: BLE GAP connect / disconnect
-  summary: ble disconnect as "client" and "server"
-  steps: |
-    1. DUT1 connect to DUT2 as "client"
-    2. DUT1 disconnected with DUT2 as "client"
-    3. DUT1 start gatt server app
-    4. DUT1 connect to DUT2 as client
-    5. DUT1 disconnect with DUT2 as "server"
-  expected result: |
-    1. succeed
-    2. succeed
-    3. succeed
-    4. succeed
-    5. succeed
-  cmd set:
-  - ""
-  - *dut1_connect_to_dut2
-  - - "SSC SSC1 bleconn -D -p 0x10"
-    - ['R SSC1 C +BLE:CLOSE,OK']
-  - - "SSC SSC2 bleadv -D -z start"
-    - ['R SSC2 C +BLEADV:OK']
-  - - "SSC SSC1 gatts -S -z load -p 0xA0"
-    - ['R SSC1 C +GATTS:LoadProfile,OK']
-  - *dut1_connect_to_dut2
-  - - "SSC SSC1 bleconn -D -p 0x10"
-    - ['R SSC1 C +BLE:CLOSE,OK']
-- ID: BTSTK_GAP_06003
-  <<: *GAP_CASE
-  allow fail: 1/2
-  test point 2: BLE GAP connect / disconnect
-  summary: ble connect/disconnect to same connection multiple times
-  steps: |
-    1. DUT1 connect to DUT2 as "client"
-    2. DUT1 start gatt server app
-    3. DUT1 connect to DUT2 as "client" again
-    4. DUT1 connect to DUT2 as "server"
-    5. DUT1 disconnected with DUT2 as "client"
-    6. DUT1 disconnected with DUT2 as "server"
-  expected result: |
-    1. succeed
-    2. succeed
-    3. succeed
-    4. succeed
-    5. succeed
-    6. succeed
-  cmd set:
-  - ""
-  - *dut1_connect_to_dut2
-  - - "SSC SSC1 gatts -S -z load -p 0xA0"
-    - ['R SSC1 C +GATTS:LoadProfile,OK']
-  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-    - ['R SSC1 C +BLE:GattcOpen,OK']
-  - - "SSC SSC1 bleconn -C -p 0xA0 -a <dut2_bt_mac> -z server"
-    - ['R SSC1 C +BLE:GattsOpen,OK,00A0']
-  - - "SSC SSC1 bleconn -D -p 0x10"
-    - ['R SSC1 C +BLE:CLOSE,OK']
-  - - "SSC SSC1 bleconn -D -p 0xA0 -z server"
-    - ['R SSC1 C +BLE:GattsClose,OK']
-- ID: BTSTK_GAP_06004
-  <<: *GAP_CASE
-  test point 2: BLE GAP connect / disconnect
-  summary: ble connect to invalid address
-  allow fail: 2/3
-  steps: |
-    1. DUT1 connect to invalid address
-    2. DUT1 connect to DUT2
-  expected result: |
-    1. failed
-    2. succeed
-  cmd set:
-  - ""
-  - - "SSC SSC1 bleconn -C -p 0x10 -a 24:0a:c4:04:26:50"
-    - ['R SSC1 C +BLECONN:OK']
-  - - DELAY 30
-    - ['R SSC1 C +BLE:GattcOpen,ERROR']
-  - *dut1_connect_to_dut2
-- ID: BTSTK_GAP_06005
-  <<: *GAP_CASE
-  test point 2: BLE GAP connect / disconnect
-  summary: ble connect/disconnect event to active app
-  steps: |
-    1. DUT1 create gatts app
-    2. DUT1 connect to DUT2 as "client"
-    3. DUT1 do disconnect as "server"
-  expected result: |
-    1. succeed
-    2. succeed, DUT1 and DUT2 gatts get connect event
-    3. DUT1 and DUT2 gatts get disconnect event
-  cmd set:
-  - ""
-  - - "SSC SSC1 gatts -S -z load -p 0xA0"
-    - ['R SSC1 C +GATTS:LoadProfile,OK']
-  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-    - ['P SSC1 C +BLE:GattcConnect C +BLE:GattsConnect', 'P SSC2 C +BLE:GattsConnect']
-  - - "SSC SSC1 bleconn -D -p 0xA0 -z server"
-    - ['P SSC1 C +BLE:GattsClose']
-- ID: BTSTK_GAP_07001
-  <<: *GAP_CASE
-  test point 2: BLE GAP update connect parameters
-  summary: update connect parameters by master
-  steps: |
-    1. update connect parameters by master
-  expected result: |
-    1. succeed
-  initial condition: BLE_CONN2
-  cmd set:
-  - "BLEFunction/ConnParamUpdate"
-  - - dut = ["SSC1"]
-    - ['']
-  - - interval=["32-64"]
-    - ['']
-  - - latency=["0"]
-    - ['']
-  - - supervision_timeout=["32"]
-    - ['']
-  - - expect_result=["OK"]
-    - ['']
-- ID: BTSTK_GAP_07002
-  <<: *GAP_CASE
-  test point 2: BLE GAP update connect parameters
-  summary: update connect parameters by slave
-  steps: |
-    1. update connect parameters by slave
-  expected result: |
-    1. succeed
-  initial condition: BLE_CONN2
-  cmd set:
-  - "BLEFunction/ConnParamUpdate"
-  - - dut = ["SSC2"]
-    - ['']
-  - - interval=["32-64"]
-    - ['']
-  - - latency=["0"]
-    - ['']
-  - - supervision_timeout=["32"]
-    - ['']
-  - - expect_result=["OK"]
-    - ['']
-- ID: BTSTK_GAP_07003
-  <<: *GAP_CASE
-  test point 2: BLE GAP update connect parameters
-  summary: update invalid connect parameters(timeout<(1+latency)*2*MAX_interval*1.25)
-  steps: |
-    1. update invalid connect parameters(timeout<(1+latency)*2*MAX_interval*1.25)
-  expected result: |
-    1. fail
-  initial condition: BLE_CONN2
-  cmd set:
-  - "BLEFunction/ConnParamUpdate"
-  - - dut = ["SSC1"]
-    - ['']
-  - - interval=["7-90"]
-    - ['']
-  - - latency=["1"]
-    - ['']
-  - - supervision_timeout=["41"]
-    - ['']
-  - - expect_result=["ERROR"]
-    - ['']
-- ID: BTSTK_GAP_07004
-  <<: *GAP_CASE
-  test point 2: BLE GAP update connect parameters
-  summary: update connnect parameters and interval within allowed range
-  steps: |
-    1. DUT1 update connection parametres and interval is 6-128
-    2. DUT1 update connection parametres and interval is 33-3200
-  expected result: |
-    1. succeed
-    2. succeed
-  initial condition: BLE_CONN2
-  cmd set:
-  - "BLEFunction/ConnParamUpdate"
-  - - dut = ["SSC1","SSC1"]
-    - ['']
-  - - interval=["6-128","33-3200"]
-    - ['']
-  - - latency=["0","0"]
-    - ['']
-  - - supervision_timeout=["50","1000"]
-    - ['']
-  - - expect_result=["OK","OK"]
-    - ['']
-- ID: BTSTK_GAP_07005
-  <<: *GAP_CASE
-  test point 2: BLE GAP update connect parameters
-  summary: update connect parameters interval and interval out of allowed range
-  steps: |
-    1. DUT1 update invalid interval and interval is 16-3201
-    2. DUT1 update invalid interval and interval is 5-64
-  expected result: |
-    1. fail
-    2. fail
-  initial condition: BLE_CONN2
-  cmd set:
-  - "BLEFunction/ConnParamUpdate"
-  - - dut = ["SSC1","SSC1"]
-    - ['']
-  - - interval=["16-3201","5-64"]
-    - ['']
-  - - latency=["0","0"]
-    - ['']
-  - - supervision_timeout=["32","32"]
-    - ['']
-  - - expect_result=["ERROR","ERROR"]
-    - ['']
-- ID: BTSTK_GAP_07006
-  <<: *GAP_CASE
-  test point 2: BLE GAP update connect parameters
-  summary: update connect parameters latency and latency within allowed range and timeout<(1+latency)*2*MAX_interval*1.25
-  steps: |
-    1. DUT1 update connect parameters latency and latency within allowed range and timeout<(1+latency)*2*MAX_interval*1.25
-  expected result: |
-    1. fail
-  initial condition: BLE_CONN2
-  cmd set:
-  - "BLEFunction/ConnParamUpdate"
-  - - dut = ["SSC1"]
-    - ['']
-  - - interval=["32-64"]
-    - ['']
-  - - latency=["8"]
-    - ['']
-  - - supervision_timeout=["32"]
-    - ['']
-  - - expect_result=["ERROR"]
-    - ['']
-- ID: BTSTK_GAP_07007
-  <<: *GAP_CASE
-  test point 2: BLE GAP update connect parameters
-  summary: update connect parameters latency and latency = 501
-  steps: |
-    1. DUT1 uupdate connect parameters latency and latency = 501
-  expected result: |
-    1. fail
-  initial condition: BLE_CONN2
-  cmd set:
-  - "BLEFunction/ConnParamUpdate"
-  - - dut = ["SSC1"]
-    - ['']
-  - - interval=["6-8"]
-    - ['']
-  - - latency=["501"]
-    - ['']
-  - - supervision_timeout=["1003"]
-    - ['']
-  - - expect_result=["ERROR"]
-    - ['']
-- ID: BTSTK_GAP_07008
-  <<: *GAP_CASE
-  test point 2: BLE GAP update connect parameters
-  summary: update connect parameters latency and latency = 500
-  steps: |
-    1. DUT1 update connect parameters latency and latency = 500
-  expected result: |
-    1. succeed
-  initial condition: BLE_CONN2
-  cmd set:
-  - "BLEFunction/ConnParamUpdate"
-  - - dut = ["SSC1"]
-    - ['']
-  - - interval=["6-8"]
-    - ['']
-  - - latency=["500"]
-    - ['']
-  - - supervision_timeout=["1003"]
-    - ['']
-  - - expect_result=["OK"]
-    - ['']
-- ID: BTSTK_GAP_07009
-  <<: *GAP_CASE
-  test point 2: BLE GAP update connect parameters
-  summary: update connect parameters timeout and timeout within allowed range and timeout<(1+latency)*2*MAX_interval*1.25
-  steps: |
-    1. DUT1 update connect parameters timeout and timeout within allowed range and timeout<(1+latency)*2*MAX_interval*1.25
-  expected result: |
-    1. fail
-  initial condition: BLE_CONN2
-  cmd set:
-  - "BLEFunction/ConnParamUpdate"
-  - - dut = ["SSC1"]
-    - ['']
-  - - interval=["32-64"]
-    - ['']
-  - - latency=["0"]
-    - ['']
-  - - supervision_timeout=["12"]
-    - ['']
-  - - expect_result=["ERROR"]
-    - ['']
-- ID: BTSTK_GAP_07010
-  <<: *GAP_CASE
-  test point 2: BLE GAP update connect parameters
-  summary: update connect parameters timeout and timeout = 9
-  steps: |
-    1. DUT1 update connect parameters timeout and timeout = 9
-  expected result: |
-    1. fail
-  initial condition: BLE_CONN2
-  cmd set:
-  - "BLEFunction/ConnParamUpdate"
-  - - dut = ["SSC1"]
-    - ['']
-  - - interval=["8-10"]
-    - ['']
-  - - latency=["0"]
-    - ['']
-  - - supervision_timeout=["9"]
-    - ['']
-  - - expect_result=["ERROR"]
-    - ['']
-- ID: BTSTK_GAP_07011
-  <<: *GAP_CASE
-  test point 2: BLE GAP update connect parameters
-  summary: update connect parameters timeout and timeout within allowed range
-  steps: |
-    1. DUT1 update timeout = 10
-    2. DUT1 update timeout = 3200
-  expected result: |
-    1. succeed
-    2. succeed
-  initial condition: BLE_CONN2
-  cmd set:
-  - "BLEFunction/ConnParamUpdate"
-  - - dut = ["SSC1","SSC1"]
-    - ['']
-  - - interval=["8-10","8-10"]
-    - ['']
-  - - latency=["0","0"]
-    - ['']
-  - - supervision_timeout=["10","3200"]
-    - ['']
-  - - expect_result=["OK","OK"]
-    - ['']
-- ID: BTSTK_GAP_07012
-  <<: *GAP_CASE
-  test point 2: BLE GAP update connect parameters
-  summary: update connect parameters timeout and timeout = 3201
-  steps: |
-    1. DUT1 update timeout = 3201
-  expected result: |
-    1. fail
-  initial condition: BLE_CONN2
-  cmd set:
-  - "BLEFunction/ConnParamUpdate"
-  - - dut = ["SSC1"]
-    - ['']
-  - - interval=["8-10"]
-    - ['']
-  - - latency=["0"]
-    - ['']
-  - - supervision_timeout=["3201"]
-    - ['']
-  - - expect_result=["ERROR"]
-    - ['']
-- ID: BTSTK_GAP_07013
-  <<: *GAP_CASE
-  test point 2: BLE GAP update connect parameters
-  summary: update invalid connect parameters before configure connect param event back
-  steps: |
-    1. DUT1 update valid interval
-    2. DUT1 update valid interval
-  expected result: |
-    1.
-    2. succeed
-  initial condition: BLE_CONN2
-  cmd set:
-  - ""
-  - - "SSC SSC1 bleconn -S -z ConnParam -a <dut2_bt_mac>"
-    - ['']
-  - - "SSC SSC1 bleconn -S -z ConnParam -a <dut2_bt_mac> -t 0x40"
-    - ['R SSC1 C pending']
-- ID: BTSTK_GAP_07014
-  <<: *GAP_CASE
-  test point 2: BLE GAP update connect parameters
-  summary: update invalid connect param and unpdate valid connect params by master
-  steps: |
-    1. DUT1 update invalid connect parameters
-    2. DUT2 update valid connect
-  expected result: |
-    1. fail
-    2. succeed
-  initial condition: BLE_CONN2
-  cmd set:
-  - "BLEFunction/ConnParamUpdate"
-  - - dut = ["SSC1","SSC1"]
-    - ['']
-  - - interval=["32-64","32-64"]
-    - ['']
-  - - latency=["9","0"]
-    - ['']
-  - - supervision_timeout=["32","32"]
-    - ['']
-  - - expect_result=["ERROR","OK"]
-    - ['']
-- ID: BTSTK_GAP_07015
-  <<: *GAP_CASE
-  test point 2: BLE GAP update connect parameters
-  summary: update valid connect parameters twice
-  allow fail: 1/2
-  steps: |
-    1. DUT1 update valid connect parameters
-    2. DUT1 update valid connect parameters
-  expected result: |
-    1. succeed
-    2. succeed
-  initial condition: BLE_CONN2
-  cmd set:
-  - "BLEFunction/ConnParamUpdate"
-  - - dut = ["SSC1","SSC1"]
-    - ['']
-  - - interval=["7-80","10-100"]
-    - ['']
-  - - latency=["1","0"]
-    - ['']
-  - - supervision_timeout=["41","30"]
-    - ['']
-  - - expect_result=["OK","OK"]
-    - ['']
-- ID: BTSTK_GAP_07016
-  <<: *GAP_CASE
-  test point 2: BLE GAP update connect parameters
-  summary: update valid connect parameters(timeout<(1+latency)*2*MAX_interval*1.25) by slave
-  steps: |
-    1. DUT2 update valid connect parameters(timeout<(1+latency)*2*MAX_interval*1.25) by slave
-  expected result: |
-    1. fail
-  initial condition: BLE_CONN2
-  cmd set:
-  - "BLEFunction/ConnParamUpdate"
-  - - dut = ["SSC2"]
-    - ['']
-  - - interval=["7-90"]
-    - ['']
-  - - latency=["1"]
-    - ['']
-  - - supervision_timeout=["41"]
-    - ['']
-  - - expect_result=["ERROR"]
-    - ['']
-- ID: BTSTK_GAP_07017
-  <<: *GAP_CASE
-  test point 2: BLE GAP update connect parameters
-  summary: update connnect parameters interval within allowed range by slave
-  steps: |
-    1. DUT2 update interval 6-128
-    2. DUT2 update interval 21-3200
-  expected result: |
-    1. succeed
-    2. succeed
-  initial condition: BLE_CONN2
-  cmd set:
-  - "BLEFunction/ConnParamUpdate"
-  - - dut = ["SSC2","SSC2"]
-    - ['']
-  - - interval=["6-128","21-3200"]
-    - ['']
-  - - latency=["0","0"]
-    - ['']
-  - - supervision_timeout=["50","1000"]
-    - ['']
-  - - expect_result=["OK","OK"]
-    - ['']
-- ID: BTSTK_GAP_07018
-  <<: *GAP_CASE
-  test point 2: BLE GAP update connect parameters
-  summary: update connnect parameters interval out of allowed range by slave
-  steps: |
-    1. DUT2 update invalid interval 10-3201
-    2. DUT2 update invalid interval 5-64
-  expected result: |
-    1. fail
-    2. fail
-  initial condition: BLE_CONN2
-  cmd set:
-  - "BLEFunction/ConnParamUpdate"
-  - - dut = ["SSC2","SSC2"]
-    - ['']
-  - - interval=["10-3201","5-64"]
-    - ['']
-  - - latency=["0","0"]
-    - ['']
-  - - supervision_timeout=["32","32"]
-    - ['']
-  - - expect_result=["ERROR","ERROR"]
-    - ['']
-- ID: BTSTK_GAP_07019
-  <<: *GAP_CASE
-  test point 2: BLE GAP update connect parameters
-  summary: update connnect parameters and latency within allowed range and timeout<(1+latency)*2*MAX_interval*1.25 by slave
-  steps: |
-    1. DUT2 update connnect parameters and latency within allowed range and timeout<(1+latency)*2*MAX_interval*1.25 by slave
-  expected result: |
-    1. fail
-  initial condition: BLE_CONN2
-  cmd set:
-  - "BLEFunction/ConnParamUpdate"
-  - - dut = ["SSC2"]
-    - ['']
-  - - interval=["32-64"]
-    - ['']
-  - - latency=["8"]
-    - ['']
-  - - supervision_timeout=["32"]
-    - ['']
-  - - expect_result=["ERROR"]
-    - ['']
-- ID: BTSTK_GAP_07020
-  <<: *GAP_CASE
-  test point 2: BLE GAP update connect parameters
-  summary: update connect parameters latency and latency out of allowed range by slave
-  steps: |
-    1. DUT2 update invalid latency = 501
-  expected result: |
-    1. fail
-  initial condition: BLE_CONN2
-  cmd set:
-  - "BLEFunction/ConnParamUpdate"
-  - - dut = ["SSC2"]
-    - ['']
-  - - interval=["6-8"]
-    - ['']
-  - - latency=["501"]
-    - ['']
-  - - supervision_timeout=["1003"]
-    - ['']
-  - - expect_result=["ERROR"]
-    - ['']
-- ID: BTSTK_GAP_07021
-  <<: *GAP_CASE
-  test point 2: BLE GAP update connect parameters
-  summary: update valid connect parameters and latency = 500 by slave
-  steps: |
-    1. DUT2 update latency = 500
-  expected result: |
-    1. success
-  initial condition: BLE_CONN2
-  cmd set:
-  - "BLEFunction/ConnParamUpdate"
-  - - dut = ["SSC2"]
-    - ['']
-  - - interval=["6-8"]
-    - ['']
-  - - latency=["500"]
-    - ['']
-  - - supervision_timeout=["1003"]
-    - ['']
-  - - expect_result=["OK"]
-    - ['']
-- ID: BTSTK_GAP_07022
-  <<: *GAP_CASE
-  test point 2: BLE GAP update connect parameters
-  summary: update connect parameters timeout and timeout = 9 by slave
-  steps: |
-    1. DUT2 update connect parameters timeout and timeout = 9
-  expected result: |
-    1. fail
-  initial condition: BLE_CONN2
-  cmd set:
-  - "BLEFunction/ConnParamUpdate"
-  - - dut = ["SSC2"]
-    - ['']
-  - - interval=["8-10"]
-    - ['']
-  - - latency=["0"]
-    - ['']
-  - - supervision_timeout=["9"]
-    - ['']
-  - - expect_result=["ERROR"]
-    - ['']
-- ID: BTSTK_GAP_07023
-  <<: *GAP_CASE
-  test point 2: BLE GAP update connect parameters
-  summary: update connect parameters timeout and timeout = 10 by slave
-  steps: |
-    1. DUT2 update connect parameters timeout and timeout = 10 by slave
-  expected result: |
-    1. fail
-  initial condition: BLE_CONN2
-  cmd set:
-  - "BLEFunction/ConnParamUpdate"
-  - - dut = ["SSC2"]
-    - ['']
-  - - interval=["8-10"]
-    - ['']
-  - - latency=["0"]
-    - ['']
-  - - supervision_timeout=["10"]
-    - ['']
-  - - expect_result=["OK"]
-    - ['']
-- ID: BTSTK_GAP_07024
-  <<: *GAP_CASE
-  test point 2: BLE GAP update connect parameters
-  summary: update connect parameters timeout and timeout = 3200 by slave
-  steps: |
-    1. DUT2 update connect parameters timeout and timeout = 3200 by slave
-  expected result: |
-    1. fail
-  initial condition: BLE_CONN2
-  cmd set:
-  - "BLEFunction/ConnParamUpdate"
-  - - dut = ["SSC2"]
-    - ['']
-  - - interval=["8-10"]
-    - ['']
-  - - latency=["0"]
-    - ['']
-  - - supervision_timeout=["3200"]
-    - ['']
-  - - expect_result=["OK"]
-    - ['']
-- ID: BTSTK_GAP_07025
-  <<: *GAP_CASE
-  test point 2: BLE GAP update connect parameters
-  summary: update connect parameters timeout and timeout = 3201 by slave
-  steps: |
-    1. DUT2 update connect parameters timeout and timeout = 3201 by slave
-  expected result: |
-    1. fail
-  initial condition: BLE_CONN2
-  cmd set:
-  - "BLEFunction/ConnParamUpdate"
-  - - dut = ["SSC2"]
-    - ['']
-  - - interval=["8-10"]
-    - ['']
-  - - latency=["0"]
-    - ['']
-  - - supervision_timeout=["3201"]
-    - ['']
-  - - expect_result=["ERROR"]
-    - ['']
-- ID: BTSTK_GAP_07026
-  <<: *GAP_CASE
-  test point 2: BLE GAP update connect parameters
-  summary: update invalid connect parameters before configure connect param event back by slave
-  steps: |
-    1. DUT2 update valid interval
-    2. DUT2 update valid interval
-  expected result: |
-    1.
-    2. pending
-  initial condition: BLE_CONN2
-  cmd set:
-  - ""
-  - - "SSC SSC2 bleconn -S -z ConnParam -a <dut1_bt_mac>"
-    - ['']
-  - - "SSC SSC2 bleconn -S -z ConnParam -a <dut1_bt_mac> -t 0x40"
-    - ['R SSC2 C pending']
-- ID: BTSTK_GAP_07027
-  <<: *GAP_CASE
-  test point 2: BLE GAP update connect parameters
-  summary: update invalid connect param and update valid connect params by slave
-  steps: |
-    1. DUT2 update invalid connect
-    2. DUT2 update valid connect
-  expected result: |
-    1. fail
-    2. succeed
-  initial condition: BLE_CONN2
-  cmd set:
-  - "BLEFunction/ConnParamUpdate"
-  - - dut = ["SSC2","SSC2"]
-    - ['']
-  - - interval=["32-64","32-64"]
-    - ['']
-  - - latency=["0","0"]
-    - ['']
-  - - supervision_timeout=["9","21"]
-    - ['']
-  - - expect_result=["ERROR","OK"]
-    - ['']
-- ID: BTSTK_GAP_07028
-  <<: *GAP_CASE
-  test point 2: BLE GAP update connect parameters
-  summary: update valid connect parameters twice by slave
-  allow fail: 1/2
-  steps: |
-    1. DUT2 update valid interval
-    2. DUT2 update valid interval
-  expected result: |
-    1. succeed
-    2. succeed
-  initial condition: BLE_CONN2
-  cmd set:
-  - "BLEFunction/ConnParamUpdate"
-  - - dut = ["SSC2","SSC2"]
-    - ['']
-  - - interval=["7-80","10-100"]
-    - ['']
-  - - latency=["1","0"]
-    - ['']
-  - - supervision_timeout=["41","30"]
-    - ['']
-  - - expect_result=["OK","OK"]
-    - ['']
-- ID: BTSTK_GAP_07029
-  <<: *GAP_CASE
-  test point 2: BLE GAP update connect parameters
-  summary: update invalid connect param by master and update valid connect params by slave
-  steps: |
-    1. DUT1 update invalid connect
-    2. DUT2 update valid connect
-  expected result: |
-    1. fail
-    2. succeed
-  initial condition: BLE_CONN2
-  cmd set:
-  - "BLEFunction/ConnParamUpdate"
-  - - dut = ["SSC1","SSC2"]
-    - ['']
-  - - interval=["32-64","32-64"]
-    - ['']
-  - - latency=["9","0"]
-    - ['']
-  - - supervision_timeout=["32","32"]
-    - ['']
-  - - expect_result=["ERROR","OK"]
-    - ['']
-- ID: BTSTK_GAP_07030
-  <<: *GAP_CASE
-  test point 2: BLE GAP update connect parameters
-  summary: update valid connect param by master and update valid connect params by slave
-  steps: |
-    1. DUT1 update valid interval
-    2. DUT2 update valid interval
-  expected result: |
-    1. succeed
-    2. succeed
-  initial condition: BLE_CONN2
-  cmd set:
-  - "BLEFunction/ConnParamUpdate"
-  - - dut = ["SSC1","SSC2"]
-    - ['']
-  - - interval=["7-80","10-100"]
-    - ['']
-  - - latency=["1","0"]
-    - ['']
-  - - supervision_timeout=["41","30"]
-    - ['']
-  - - expect_result=["OK","OK"]
-    - ['']
-- ID: BTSTK_GAP_07031
-  <<: *GAP_CASE
-  test point 2: BLE GAP update connect parameters
-  summary: update invalid connect param by slave and update valid connect params by master
-  steps: |
-    1. DUT1 update invalid connect
-    2. DUT2 update valid connect
-  expected result: |
-    1. fail
-    2. success
-  initial condition: BLE_CONN2
+    3. fail
+    4. fail
+  initial condition: BLE_INIT1
+  test environment: SSC_T1_4
   cmd set:
-  - "BLEFunction/ConnParamUpdate"
-  - - dut = ["SSC2","SSC1"]
-    - ['']
-  - - interval=["32-64","32-64"]
-    - ['']
-  - - latency=["9","0"]
-    - ['']
-  - - supervision_timeout=["32","32"]
-    - ['']
-  - - expect_result=["ERROR","OK"]
-    - ['']
-- ID: BTSTK_GAP_07032
+  - ""
+  - - "SSC SSC1 blescan -D -z start -c 0 -w 0x0004 -i 0x0004"
+    - ["R SSC1 C +BLESCAN:Start,OK"]
+  - - "SSC SSC1 blescan -D -z stop"
+    - ["R SSC1 C +BLESCAN:Stop,OK"]
+  - - "SSC SSC1 blescan -D -z start -c 0 -w 0x4000 -i 0x4000"
+    - ["R SSC1 C +BLESCAN:Start,OK"]
+  - - "SSC SSC1 blescan -D -z stop"
+    - ["R SSC1 C +BLESCAN:Stop,OK"]
+  - - "SSC SSC1 blescan -D -z start -c 0 -w 0x0003 -i 0x0003"
+    - ["R SSC1 C +BLESCAN:Start,ERROR"]
+  - - "SSC SSC1 blescan -D -z start -c 0 -w 0x4001 - 0x4001"
+    - ["R SSC1 C +BLESCAN:Start,ERROR"]
+- ID: BTSTK_GAP_05001
   <<: *GAP_CASE
-  test point 2: BLE GAP update connect parameters
-  summary: update valid connect param by slave and update valid connect params by master
-  allow fail: 1/2
+  test point 2: BLE GAP start stop adv / scan
+  summary: stop and start adv in wrong state
+  CI ready: "No"
   steps: |
-    1. DUT2 update valid interval
-    2. DUT1 update valid interval
+    1. DUT1 stop adv
+    2. DUT1 stop adv
+    3. DUT2 do passive scan
+    4. DUT1 start adv
+    5. DUT1 start adv
+    6. DUT2 do passive scan
   expected result: |
     1. succeed
     2. succeed
-  initial condition: BLE_CONN2
+    3. DUT1 not in scan result
+    4. succeed
+    5. succeed
+    6. DUT1 in scan result
   cmd set:
-  - "BLEFunction/ConnParamUpdate"
-  - - dut = ["SSC2","SSC1"]
-    - ['']
-  - - interval=["7-80","10-100"]
-    - ['']
-  - - latency=["1","0"]
-    - ['']
-  - - supervision_timeout=["41","30"]
-    - ['']
-  - - expect_result=["OK","OK"]
-    - ['']
-- ID: BTSTK_GAP_07033
+  - ""
+  - *dut1_stop_adv
+  - *dut1_stop_adv
+  - - "SSC SSC2 blescan -D -z start -t 1 -c 0"
+    - ["R SSC2 NP <dut1_bt_mac> C Complete"]
+  - *dut1_start_adv
+  - - "SSC SSC1 bleadv -D -z start"
+    - ["R SSC1 C +BLEADV:Start"]
+  - - "SSC SSC2 blescan -D -z start -t 1 -c 0"
+    - ["R SSC2 P <dut1_bt_mac> C Complete"]
+- ID: BTSTK_GAP_05002
   <<: *GAP_CASE
-  test point 2: BLE GAP update connect parameters
-  summary: update connect parameters by master after pairing
+  test point 2: BLE GAP start stop adv / scan
+  summary: cancel scan when scanning or not scanning
   steps: |
-    1. DUT1 update connection parameters
+    1. DUT1 start scanning for 3 seconds
+    2. DUT1 stop scanning
+    3. DUT1 stop scanning
   expected result: |
     1. succeed
-  initial condition: BLE_CONN_SMP
+    2. succeed
+    3. failed
+  initial condition: BLE_INIT1
+  test environment: SSC_T1_4
   cmd set:
-  - "BLEFunction/ConnParamUpdate"
-  - - dut = ["SSC1"]
-    - ['']
-  - - interval=["32-64"]
-    - ['']
-  - - latency=["0"]
-    - ['']
-  - - supervision_timeout=["32"]
-    - ['']
-  - - expect_result=["OK"]
-    - ['']
+  - ""
+  - - "SSC SSC1 blescan -D -z start -t 3 -c 0"
+    - ["R SSC1 C +BLESCAN:OK"]
+  - - "SSC SSC1 blescan -D -z stop"
+    - ["R SSC1 C +BLESCAN:Stop,OK"]
+  - - "SSC SSC1 blescan -D -z stop"
+    - ["R SSC1 C +BLESCAN:Stop,ERROR"]
 - ID: BTSTK_GAP_08001
   <<: *GAP_CASE
   test point 2: BLE GAP operation without init/enable BT or register callback
   summary: do adv, scan, set name when BT is deinit
   steps: |
     1. DUT1 do adv
-    2. DUT1 do scan
-    3. DUT1 do set name
+    2. DUT1 do set name
   expected result: |
     1. fail
     2. fail
-    3. fail
   initial condition: BLE_DEINIT1
   test environment: SSC_T1_4
   cmd set:
@@ -1972,10 +983,6 @@ test cases:
     - ["R SSC1 C +BLEADV"]
   - - "SSC SSC1 bleadv -D -z start"
     - ["R SSC1 C +BLEADV"]
-  - - "SSC SSC1 blescan -L -c 0"
-    - ["R SSC1 C +BLESCAN"]
-  - - "SSC SSC1 blescan -D -z start"
-    - ["R SSC1 C +BLESCAN"]
   - - "SSC SSC1 ble -S -z name -n abcde"
     - ["R SSC1 C +BLE"]
 - ID: BTSTK_GAP_08002
@@ -1985,13 +992,11 @@ test cases:
   steps: |
     1. DUT1 do init
     2. DUT1 do adv
-    3. DUT1 do scan
-    4. DUT2 do set name
+    3. DUT2 do set name
   expected result: |
     1. succeed
     2. fail
     3. fail
-    4. fail
   initial condition: BLE_DEINIT1
   test environment: SSC_T1_4
   cmd set:
@@ -2002,10 +1007,6 @@ test cases:
     - ["R SSC1 C +BLEADV"]
   - - "SSC SSC1 bleadv -D -z start"
     - ["R SSC1 C +BLEADV"]
-  - - "SSC SSC1 blescan -L -c 0"
-    - ["R SSC1 C +BLESCAN"]
-  - - "SSC SSC1 blescan -D -z start"
-    - ["R SSC1 C +BLESCAN"]
   - - "SSC SSC1 ble -S -z name -n abcde"
     - ["R SSC1 C +BLE"]
 - ID: BTSTK_GAP_08003
@@ -2015,13 +1016,11 @@ test cases:
   steps: |
     1. DUT1 do init and enable
     2. DUT1 do adv
-    3. DUT1 do scan
-    4. DUT2 do set name
+    3. DUT2 do set name
   expected result: |
     1. succeed
     2. fail
     3. fail
-    4. fail
   initial condition: BLE_DEINIT1
   test environment: SSC_T1_4
   cmd set:
@@ -2032,40 +1031,8 @@ test cases:
     - ["R SSC1 C +BLEADV"]
   - - "SSC SSC1 bleadv -D -z start"
     - ["R SSC1 C +BLEADV"]
-  - - "SSC SSC1 blescan -L -c 0"
-    - ["R SSC1 C +BLESCAN"]
-  - - "SSC SSC1 blescan -D -z start"
-    - ["R SSC1 C +BLESCAN"]
   - - "SSC SSC1 ble -S -z name -n abcde"
     - ["R SSC1 C +BLE"]
-- ID: BTSTK_GAP_09001
-  <<: *GAP_CASE
-  test point 2: BLE GAP processing scan data
-  summary: process scan data txp, manufacturer data, interval range, appearence, flag
-  steps: |
-    1. DUT1 set raw adv data tx power, manufacturer data, interval range, apperaence, flag
-    2. DUT1 start adv
-    3. DUT2 do active scan with extended scan data 19
-  expected result: |
-    1. succeed
-    2. succeed
-    3. scan with the correct adv data
-  cmd set:
-  - ""
-  - - "SSC SSC2 blescan -L -c 0 -d 1"
-    - ["R SSC2 C +BLESCAN:SetScanParam,OK"]
-  - *dut1_stop_adv
-  - - "SSC SSC1 bleadv -R -t 1 -r 0x020AEB06FF1112131415051220004000021901020106"
-    - ["R SSC1 C +BLEADV:OK"]
-  - *dut1_start_adv
-  - *dut2_stop_adv
-  - - "SSC SSC2 blescan -D -z start -t 1 -e 1"
-    - - 'P SSC2 RE "\+BTSCANEXT:%%s,man,0x1112131415"%%(<dut1_bt_mac>)'
-      - 'P SSC2 RE "\+BTSCANEXT:%%s,txp,0xEB"%%(<dut1_bt_mac>)'
-      - 'P SSC2 RE "\+BTSCANEXT:%%s,intrange,0x20004000"%%(<dut1_bt_mac>)'
-      - 'P SSC2 RE "\+BTSCANEXT:%%s,app,0x01"%%(<dut1_bt_mac>)'
-      - 'P SSC2 RE "\+BTSCANEXT:%%s,flag,0x06"%%(<dut1_bt_mac>)'
-      - 'R SSC2 C Complete'
 - ID: BTSTK_GAP_09002
   <<: *GAP_CASE
   test point 2: BLE GAP processing scan data
@@ -2082,18 +1049,17 @@ test cases:
     4. scan with the correct adv data
   cmd set:
   - ""
-  - *dut1_stop_adv
   - *dut2_stop_adv
-  - - "SSC SSC2 blescan -L -c 0 -d 1"
-    - ["R SSC2 C +BLESCAN:SetScanParam,OK"]
-  - - LOOP 4 3 "['0302ABCD','0303ABCD','0504ABCDABCD','0505ABCDABCD',]" "['insrv16,0xABCD','srv16,0xABCD','insrv32,0xABCDABCD','srv32,0xABCDABCD']"
+  - - LOOP 4 4 "['0302ABCD','0303ABCD','0504ABCDABCD','0505ABCDABCD',]" "['insrv16,0xABCD','srv16,0xABCD','insrv32,0xABCDABCD','srv32,0xABCDABCD']"
+  - *dut1_stop_adv
   - - "SSC SSC1 bleadv -R -t 1 -r 0x{%s}"
     - ["R SSC1 C +BLEADV:OK"]
   - *dut1_start_adv
-  - - "SSC SSC2 blescan -D -z start -t 1 -e 1"
+  - - "SSC SSC2 blescan -D -z start -t 1 -e 1 -c 0 -d 1"
     - - 'P SSC2 RE "\+BTSCANEXT:%%s,{%s}"%%(<dut1_bt_mac>)'
       - 'R SSC2 C Complete'
-  - - LOOP 2 3 "['1106ABCDABCDABCDABCDABCDABCDABCDABCD','1107ABCDABCDABCDABCDABCDABCDABCDABCD']" "['insrv128,0xABCDABCDABCDABCDABCDABCDABCDABCD','srv128,0xABCDABCDABCDABCDABCDABCDABCDABCD']"
+  - - LOOP 2 4 "['1106ABCDABCDABCDABCDABCDABCDABCDABCD','1107ABCDABCDABCDABCDABCDABCDABCDABCD']" "['insrv128,0xABCDABCDABCDABCDABCDABCDABCDABCD','srv128,0xABCDABCDABCDABCDABCDABCDABCDABCD']"
+  - *dut1_stop_adv
   - - "SSC SSC1 bleadv -R -t 1 -r 0x{%s}"
     - ["R SSC1 C +BLEADV:OK"]
   - *dut1_start_adv
@@ -2116,47 +1082,14 @@ test cases:
     4. scan with the correct adv data
   cmd set:
   - ""
-  - *dut1_stop_adv
   - *dut2_stop_adv
-  - - "SSC SSC2 blescan -L -c 0 -d 1"
-    - ["R SSC2 C +BLESCAN:SetScanParam,OK"]
-  - - LOOP 3 3 "['0416ABCDEF','0620ABCDABCDEF','1221ABCDABCDABCDABCDABCDABCDABCDABCDEF',]" "['srvdata,0xABCDEF','srvdata32,0xABCDABCDEF','srvdata128,0xABCDABCDABCDABCDABCDABCDABCDABCDEF']"
+  - - LOOP 3 4 "['0416ABCDEF','0620ABCDABCDEF','1221ABCDABCDABCDABCDABCDABCDABCDABCDEF',]" "['srvdata16,0xABCDEF','srvdata32,0xABCDABCDEF','srvdata128,0xABCDABCDABCDABCDABCDABCDABCDABCDEF']"
   - - "SSC SSC1 bleadv -R -t 1 -r 0x{%s}"
     - ["R SSC1 C +BLEADV:OK"]
-  - *dut1_start_adv
-  - - "SSC SSC2 blescan -D -z start -t 1 -e 1"
-    - - 'P SSC2 RE "\+BTSCANEXT:%%s,{%s}"%%(<dut1_bt_mac>)'
-      - 'R SSC2 C Complete'
-- ID: BTSTK_GAP_09004
-  <<: *GAP_CASE
-  test point 2: BLE GAP processing scan data
-  summary: process combined adv data and scan response data
-  steps: |
-    1. DUT1 set raw adv data manufacturer data
-    2. DUT1 set scan response data tx power, interval range, apperaence, flag
-    2. DUT1 start adv
-    3. DUT2 do active scan with extended scan data 19
-  expected result: |
-    1. succeed
-    2. succeed
-    3. scan with the correct adv data
-  cmd set:
-  - ""
   - *dut1_stop_adv
-  - - "SSC SSC2 blescan -L -c 0 -d 1"
-    - ["R SSC2 C +BLESCAN:SetScanParam,OK"]
-  - - "SSC SSC1 bleadv -R -t 1 -r 0x15FF1011121314151617181910111213141516171819"
-    - ["R SSC1 C +BLEADV:OK"]
-  - - "SSC SSC1 bleadv -R -t 2 -r 0x020AEB051220004000021901020106"
-    - ["R SSC1 C +BLEADV:OK"]
   - *dut1_start_adv
-  - *dut2_stop_adv
-  - - "SSC SSC2 blescan -D -z start -t 1 -e 1"
-    - - 'P SSC2 RE "\+BTSCANEXT:%%s,man,0x1011121314151617181910111213141516171819"%%(<dut1_bt_mac>)'
-      - 'P SSC2 RE "\+BTSCANEXT:%%s,txp,0xEB"%%(<dut1_bt_mac>)'
-      - 'P SSC2 RE "\+BTSCANEXT:%%s,intrange,0x20004000"%%(<dut1_bt_mac>)'
-      - 'P SSC2 RE "\+BTSCANEXT:%%s,app,0x01"%%(<dut1_bt_mac>)'
-      - 'P SSC2 RE "\+BTSCANEXT:%%s,flag,0x06"%%(<dut1_bt_mac>)'
+  - - "SSC SSC2 blescan -D -z start -t 1 -e 1 -c 0 -d 1"
+    - - 'P SSC2 RE "\+BTSCANEXT:%%s,{%s}"%%(<dut1_bt_mac>)'
       - 'R SSC2 C Complete'
 - ID: BTSTK_GAP_09005
   <<: *GAP_CASE
@@ -2183,21 +1116,19 @@ test cases:
   cmd set:
   - ""
   - *dut1_stop_adv
-  - - "SSC SSC2 blescan -L -c 0 -d 1"
-    - ["R SSC2 C +BLESCAN:SetScanParam,OK"]
   - - "SSC SSC1 ble -S -z name -n abcde"
     - ["R SSC1 C +BLE"]
   - - "SSC SSC1 bleadv -L -c 0 -n 1 -t 3"
     - ["R SSC1 C +BLEADV:SetAdv,OK"]
   - *dut1_start_adv
-  - - "SSC SSC2 blescan -D -z start -t 1 -e 1"
+  - - "SSC SSC2 blescan -D -z start -t 1 -e 1 -c 0 -d 1"
     - - 'P SSC2 RE "\+BTSCAN:INQ,%%s,abcde"%%(<dut1_bt_mac>)'
       - 'R SSC2 C Complete'
   - *dut1_stop_adv
   - - "SSC SSC1 bleadv -L -c 0 -n 0 -t 3"
     - ["R SSC1 C +BLEADV:SetAdv,OK"]
   - *dut1_start_adv
-  - - "SSC SSC2 blescan -D -z start -t 1 -e 1"
+  - - "SSC SSC2 blescan -D -z start -t 1 -e 1 -c 0 -d 1"
     - - 'P SSC2 RE "\+BTSCAN:INQ,%%s,NULL"%%(<dut1_bt_mac>)'
       - 'R SSC2 C Complete'
 - ID: BTSTK_GAP_09006
@@ -2225,63 +1156,19 @@ test cases:
   cmd set:
   - ""
   - *dut1_stop_adv
-  - - "SSC SSC2 blescan -L -c 0 -d 1"
-    - ["R SSC2 C +BLESCAN:SetScanParam,OK"]
-  - *set_default_ble_name
   - - "SSC SSC1 bleadv -L -c 0 -x 1 -t 3"
     - ["R SSC1 C +BLEADV:SetAdv,OK"]
   - *dut1_start_adv
-  - - "SSC SSC2 blescan -D -z start -t 1 -e 1"
+  - - "SSC SSC2 blescan -D -z start -t 1 -e 1 -c 0 -d 1"
     - - 'P SSC2 RE "\+BTSCANEXT:%%s,txp,0x03"%%(<dut1_bt_mac>)'
       - 'R SSC2 C Complete'
   - *dut1_stop_adv
   - - "SSC SSC1 bleadv -L -c 0 -x 0 -t 3"
     - ["R SSC1 C +BLEADV:SetAdv,OK"]
   - *dut1_start_adv
-  - - "SSC SSC2 blescan -D -z start -t 1 -e 1"
+  - - "SSC SSC2 blescan -D -z start -t 1 -e 1 -c 0 -d 1"
     - - 'R SSC2 NRE "\+BTSCANEXT:%%s,txp,0x03"%%(<dut1_bt_mac>)'
       - 'R SSC2 C Complete'
-- ID: BTSTK_GAP_09007
-  <<: *GAP_CASE
-  test point 2: BLE GAP processing scan data
-  summary: proccess scan data included adv interval
-  steps: |
-    1. DUT1 stop advertise and set short device name
-    2. DUT1 set max interval 0x40 min interval 0x20 for adv data and scan response
-    3. DUT1 start advertising
-    4. DUT2 start scan and processing scan data
-    5. DUT1 stop advertising
-    6. DUT1 set max interval 0x400 min interval 0x200 for adv data and scan response
-    7. DUT1 start advertising
-    8. DUT2 start scan and processing scan data
-  expected result: |
-    1. succeed
-    2. succeed
-    3. succeed
-    4. scan with the correct adv data
-    5. succeed
-    6. succeed
-    7. succeed
-    8. scan with the correct adv data
-  cmd set:
-  - ""
-  - *dut1_stop_adv
-  - - "SSC SSC2 blescan -L -c 0 -d 1"
-    - ["R SSC2 C +BLESCAN:SetScanParam,OK"]
-  - *set_default_ble_name
-  - - "SSC SSC1 bleadv -L -c 0 -i 0x20-0x40 -t 3"
-    - ["R SSC1 C +BLEADV:SetAdv,OK"]
-  - *dut1_start_adv
-  - - "SSC SSC2 blescan -D -z start -t 1 -e 1"
-    - - 'P SSC2 RE "\+BTSCANEXT:%%s,intrange,0x20004000"%%(<dut1_bt_mac>)'
-      - 'R SSC2 C Complete'
-  - *dut1_stop_adv
-  - - "SSC SSC1 bleadv -L -c 0 -i 0x200-0x400 -t 3"
-    - ["R SSC1 C +BLEADV:SetAdv,OK"]
-  - *dut1_start_adv
-  - - "SSC SSC2 blescan -D -z start -t 1 -e 1"
-    - - 'P SSC2 RE "\+BTSCANEXT:%%s,intrange,0x00020004"%%(<dut1_bt_mac>)'
-      - 'R SSC2 C Complete'
 - ID: BTSTK_GAP_09008
   <<: *GAP_CASE
   test point 2: BLE GAP processing scan data
@@ -2307,20 +1194,17 @@ test cases:
   cmd set:
   - ""
   - *dut1_stop_adv
-  - - "SSC SSC2 blescan -L -c 0 -d 1"
-    - ["R SSC2 C +BLESCAN:SetScanParam,OK"]
-  - *set_default_ble_name
   - - "SSC SSC1 bleadv -L -c 0 -a 0 -t 3"
-    - ["R SSC1 C +BLEADV:SetAdv,OK"]
+    - ["R SSC1 C +BLEADV:SetAdv,OK C +BLEADV:SetScanRes,OK"]
   - *dut1_start_adv
-  - - "SSC SSC2 blescan -D -z start -t 1 -e 1"
+  - - "SSC SSC2 blescan -D -z start -t 1 -e 1 -c 0 -d 1"
     - - 'P SSC2 NRE "\+BTSCANEXT:%%s,app,0x0100"%%(<dut1_bt_mac>)'
       - 'R SSC2 C Complete'
   - *dut1_stop_adv
   - - "SSC SSC1 bleadv -L -c 0 -a 1 -t 3"
     - ["R SSC1 C +BLEADV:SetAdv,OK"]
   - *dut1_start_adv
-  - - "SSC SSC2 blescan -D -z start -t 1 -e 1"
+  - - "SSC SSC2 blescan -D -z start -t 1 -e 1 -c 0 -d 1"
     - - 'P SSC2 RE "\+BTSCANEXT:%%s,app,0x0100"%%(<dut1_bt_mac>)'
       - 'R SSC2 C Complete'
 - ID: BTSTK_GAP_09009
@@ -2340,13 +1224,10 @@ test cases:
   cmd set:
   - ""
   - *dut1_stop_adv
-  - - "SSC SSC2 blescan -L -c 0 -d 1"
-    - ["R SSC2 C +BLESCAN:SetScanParam,OK"]
-  - *set_default_ble_name
   - - "SSC SSC1 bleadv -L -c 0 -m 0x12345678 -t 3"
     - ["R SSC1 C +BLEADV:SetAdv,OK"]
   - *dut1_start_adv
-  - - "SSC SSC2 blescan -D -z start -t 1 -e 1"
+  - - "SSC SSC2 blescan -D -z start -t 1 -e 1 -c 0 -d 1"
     - - 'P SSC2 RE "\+BTSCANEXT:%%s,man,0x12345678"%%(<dut1_bt_mac>)'
       - 'R SSC2 C Complete'
 - ID: BTSTK_GAP_09010
@@ -2366,14 +1247,11 @@ test cases:
   cmd set:
   - ""
   - *dut1_stop_adv
-  - - "SSC SSC2 blescan -L -c 0 -d 1"
-    - ["R SSC2 C +BLESCAN:SetScanParam,OK"]
-  - *set_default_ble_name
   - - "SSC SSC1 bleadv -L -c 0 -n 0 -d 0x1234123456 -t 3"
     - ["R SSC1 C +BLEADV:SetAdv,OK"]
   - *dut1_start_adv
-  - - "SSC SSC2 blescan -D -z start -t 1 -e 1"
-    - - 'P SSC2 RE "\+BTSCANEXT:%%s,srvdata,0x1234123456"%%(<dut1_bt_mac>)'
+  - - "SSC SSC2 blescan -D -z start -t 1 -e 1 -c 0 -d 1"
+    - - 'P SSC2 RE "\+BTSCANEXT:%%s,srvdata16,0x1234123456"%%(<dut1_bt_mac>)'
       - 'R SSC2 C Complete'
 - ID: BTSTK_GAP_09011
   <<: *GAP_CASE
@@ -2392,12 +1270,10 @@ test cases:
   cmd set:
   - ""
   - *dut1_stop_adv
-  - - "SSC SSC2 blescan -L -c 0 -d 1"
-    - ["R SSC2 C +BLESCAN:SetScanParam,OK"]
   - - "SSC SSC1 bleadv -L -c 0 -n 0 -x 0 -i 0x00-0x00 -s ABCD,ABCDDCBA,12349B5F8000008000100000ABCD0000 -t 3"
     - ["R SSC1 C +BLEADV:SetAdv,OK"]
   - *dut1_start_adv
-  - - "SSC SSC2 blescan -D -z start -t 1 -e 1"
+  - - "SSC SSC2 blescan -D -z start -t 1 -e 1 -c 0 -d 1"
     - - 'P SSC2 RE "\+BTSCANEXT:%%s,srv16,0xABCD"%%(<dut1_bt_mac>)'
       - 'P SSC2 RE "\+BTSCANEXT:%%s,srv32,0xABCDDCBA"%%(<dut1_bt_mac>)'
       - 'P SSC2 RE "\+BTSCANEXT:%%s,srv128,0x12349B5F8000008000100000ABCD0000"%%(<dut1_bt_mac>)'
@@ -2423,7 +1299,7 @@ test cases:
     - ["R SSC1 C +BLEADV:SetAdv,OK"]
   - - "SSC SSC1 bleadv -D -z start"
     - ["R SSC1 C +BLEADV:Start,OK"]
-  - - "SSC SSC2 blescan -D -z start"
+  - - "SSC SSC2 blescan -D -z start -c 0"
     - - 'P SSC2 RE "\+BTSCAN:INQ,%%s"%%(<dut1_bt_mac>)'
       - 'R SSC2 C Complete'
 - ID: BTSTK_GAP_09013
@@ -2489,20 +1365,18 @@ test cases:
   cmd set:
   - ""
   - *dut1_stop_adv
-  - *set_default_ble_name
   - - "SSC SSC1 bleadv -L -c 0 -n 0 -d 0x1234123456 -t 3 -l 4"
     - ["R SSC1 C +BLEADV:SetAdv,OK"]
   - *dut1_start_adv
   - - "SSC SSC2 blescan -D -z start -t 1 -e 1"
-    - - 'P SSC2 RE "\+BTSCANEXT:%%s,srvdata,0x1234123456"%%(<dut1_bt_mac>)'
+    - - 'P SSC2 RE "\+BTSCANEXT:%%s,srvdata16,0x1234123456"%%(<dut1_bt_mac>)'
       - 'R SSC2 C Complete'
   - *dut1_stop_adv
-  - *set_default_ble_name
   - - "SSC SSC1 bleadv -L -c 0 -n 0 -d 0x1234123456 -t 3 -l 10"
     - ["R SSC1 C +BLEADV:SetAdv,OK"]
   - *dut1_start_adv
   - - "SSC SSC2 blescan -D -z start -t 1 -e 1"
-    - - 'P SSC2 RE "\+BTSCANEXT:%%s,srvdata,0x1234123456"%%(<dut1_bt_mac>)'
+    - - 'P SSC2 RE "\+BTSCANEXT:%%s,srvdata16,0x1234123456"%%(<dut1_bt_mac>)'
       - 'R SSC2 C Complete'
 - ID: BTSTK_GAP_09015
   <<: *GAP_CASE
@@ -2560,18 +1434,19 @@ test cases:
     3. succeed
   initial condition: BLE_INIT5
   test environment: SSC_T5_1
+  allow fail: 3/5
   cmd set:
   - ""
   - - "SSC SSC[2-4] bleadv -D -z start"
     - ["P SSC[2-4] C +BLEADV:Start,OK"]
-  - - LOOP 3 1 "[0,1,2]" "[2,3,4]"
+  - - LOOP 3 1 "[0,1,2]" "[2,3,4]" "[2,3,4]"
     - ""
   - - "SSC SSC1 bleconn -C -p 0x1{%d} -a <dut{%d}_bt_mac>"
-    - ['R SSC1 C +BLE:GattcOpen,OK']
-  - - LOOP 3 1 "[2,1,0]" "[4,3,2]"
+    - ['P SSC1 C +BLECONN:GapConnect,OK',  'P SSC{%d} C +BLECONN:GapConnect,OK']
+  - - LOOP 3 1 "[2,1,0]" "[4,3,2]" "[4,3,2]"
     - ""
-  - - "SSC SSC1 bleconn -D -z client -p 0x1{%d}"
-    - ['P SSC1 C +BLE:GattcDisconnect,OK', 'P SSC{%d} C +BLE:GattsDisconnect,OK']
+  - - "SSC SSC1 bleconn -D -z client -p 0x1{%d} -a <dut{%d}_bt_mac>"
+    - ['P SSC1 C +BLECONN:GapDisconnect,OK', 'P SSC{%d} C +BLECONN:GapDisconnect,OK']
 - ID: BTSTK_GAP_10002
   <<: *GAP_CASE
   test point 2: BLE GAP master multi connection test
@@ -2586,6 +1461,7 @@ test cases:
     3. succeed
   initial condition: BLE_INIT5
   test environment: SSC_T5_1
+  allow fail: 3/5
   cmd set:
   - ""
   - - "SSC SSC[2-4] bleadv -D -z start"
@@ -2593,11 +1469,11 @@ test cases:
   - - LOOP 3 1 "[0,1,2]" "[2,3,4]" "[2,3,4]"
     - ""
   - - "SSC SSC1 bleconn -C -p 0x1{%d} -a <dut{%d}_bt_mac>"
-    - ['R SSC1 C +BLE:GattcConnect,OK', 'R SSC{%d} C +BLE:GattsConnect']
+    - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC{%d} C +BLECONN:GapConnect,OK']
     - - LOOP 3 1 "[2,3,4]" "[2,3,4]"
     - ""
-  - - "SSC SSC{%d} bleconn -D -z server -p 0xA0"
-    - ['P SSC1 C +BLE:GattcDisconnect,OK,001[0-2]', 'P SSC{%d} C +BLE:GattsDisconnect,OK']
+  - - "SSC SSC{%d} bleconn -D -z server -p 0xA0 -r <dut1_bt_mac>"
+    - ['P SSC1 C +BLECONN:GapDisconnect,OK,001[0-2]', 'P SSC{%d} C +BLECONN:GapDisconnect,OK']
 - ID: BTSTK_GAP_10003
   <<: *GAP_CASE
   test point 2: BLE GAP master multi connection test
@@ -2612,6 +1488,7 @@ test cases:
     3. succeed
   initial condition: BLE_INIT5
   test environment: SSC_T5_1
+  allow fail: 3/5
   cmd set:
   - ""
   - - "SSC SSC[2-5] bleadv -D -z start"
@@ -2619,11 +1496,11 @@ test cases:
   - - LOOP 4 1 "[2,3,4,5]" "[2,3,4,5]"
     - ""
   - - "SSC SSC1 bleconn -C -p 0x10 -a <dut{%d}_bt_mac>"
-    - ['R SSC1 C +BLE:GattcConnect,OK', 'R SSC{%d} C +BLE:GattsConnect']
+    - ['R SSC1 C +BLECONN:GapConnect,OK', 'R SSC{%d} C +BLECONN:GapConnect,OK']
   - - LOOP 4 1 "[2,3,4,5]" "[2,3,4,5]"
     - ""
   - - "SSC SSC1 bleconn -D -z client -p 0x10 -a <dut{%d}_bt_mac>"
-    - ['P SSC1 C +BLE:GattcDisconnect,OK', 'P SSC{%d} C +BLE:GattsDisconnect,OK']
+    - ['P SSC1 C +BLECONN:GapDisconnect,OK', 'P SSC{%d} C +BLECONN:GapDisconnect,OK']
 - ID: BTSTK_GAP_10004
   <<: *GAP_CASE
   test point 2: BLE GAP master multi connection test
@@ -2638,6 +1515,7 @@ test cases:
     3. succeed
   initial condition: BLE_INIT5
   test environment: SSC_T5_1
+  allow fail: 3/5
   cmd set:
   - ""
   - - "SSC SSC[2-5] bleadv -D -z start"
@@ -2645,11 +1523,11 @@ test cases:
   - - LOOP 4 1 "[2,3,4,5]" "[2,3,4,5]"
     - ""
   - - "SSC SSC1 bleconn -C -p 0x10 -a <dut{%d}_bt_mac>"
-    - ['R SSC1 C +BLE:GattcConnect,OK', 'R SSC{%d} C +BLE:GattsConnect']
-  - - LOOP 4 1 "[2,3,4,5]" "[2,3,4,5]" "[2,3,4,5]"
+    - ['R SSC1 C +BLECONN:GapConnect,OK', 'R SSC{%d} C +BLECONN:GapConnect,OK']
+  - - LOOP 4 1 "[2,3,4,5]" "[2,3,4,5]"
     - ""
-  - - "SSC SSC{%d} bleconn -D -z server -p 0xA0"
-    - ['P SSC1 RE "BLE:GattcDisconnect,OK,0010,%%s"%%(<dut{%d}_bt_mac>)', 'P SSC{%d} C +BLE:GattsDisconnect']
+  - - "SSC SSC{%d} bleconn -D -z server -p 0xA2 -a <dut1_bt_mac>"
+    - ['P SSC1 C +BLECONN:GapDisconnect,OK', 'P SSC{%d} C +BLECONN:GapDisconnect,OK']
 - ID: BTSTK_GAP_11001
   <<: *GAP_CASE
   test point 2: BLE GAP slave multi connection test
@@ -2664,19 +1542,21 @@ test cases:
     3. succeed
   initial condition: BLE_INIT5
   test environment: SSC_T5_1
+  allow fail: 3/5
   cmd set:
   - ""
-  - - "SSC SSC1 gatts -S -z load -p 0xA0"
-    - ['R SSC1 C +GATTS:StartService,OK,A000']
+  - *dut1_stop_adv
+  - - "SSC SSC1 gatts -S -z load -p 0xA2"
+    - ['R SSC1 C +GATTS:StartService,OK,A002']
   - - LOOP 4 2 "[2,3,4,5]" "[2,3,4,5]"
     - ""
   - - "SSC SSC1 bleadv -D -z start"
     - ["P SSC1 C +BLEADV:Start,OK"]
   - - "SSC SSC{%d} bleconn -C -p 0x10 -a <dut1_bt_mac>"
-    - ['R SSC{%d} C +BLE:GattcConnect,OK,0010', 'R SSC1 C +BLE:GattsConnect']
+    - ['R SSC{%d} C +BLECONN:GapConnect,OK,0010', 'R SSC1 C +BLECONN:GapConnect,OK']
   - - LOOP 4 1 "[2,3,4,5]" "[2,3,4,5]"
-  - - "SSC SSC{%d} bleconn -D -z client -p 0x10"
-    - ['P SSC{%d} C +BLE:GattcDisconnect,OK', 'P SSC1 C +BLE:GattsDisconnect,OK']
+  - - "SSC SSC{%d} bleconn -D -z client -p 0x10 -a <dut1_bt_mac>"
+    - ['P SSC{%d} C +BLECONN:GapDisconnect,OK', 'P SSC1 C +BLECONN:GapDisconnect,OK']
 - ID: BTSTK_GAP_11002
   <<: *GAP_CASE
   test point 2: BLE GAP slave multi connection test
@@ -2691,20 +1571,22 @@ test cases:
     3. succeed
   initial condition: BLE_INIT5
   test environment: SSC_T5_1
+  allow fail: 3/5
   cmd set:
   - ""
-  - - "SSC SSC1 gatts -S -z load -p 0xA0"
-    - ['R SSC1 C +GATTS:StartService,OK,A000']
+  - *dut1_stop_adv
+  - - "SSC SSC1 gatts -S -z load -p 0xA2"
+    - ['R SSC1 C +GATTS:StartService,OK,A002']
   - - LOOP 4 2 "[2,3,4,5]" "[2,3,4,5]"
     - ""
   - - "SSC SSC1 bleadv -D -z start"
     - ["P SSC1 C +BLEADV:Start,OK"]
   - - "SSC SSC{%d} bleconn -C -p 0x10 -a <dut1_bt_mac>"
-    - ['R SSC{%d} C +BLE:GattcConnect,OK,0010', 'R SSC1 C +BLE:GattsConnect']
+    - ['R SSC{%d} C +BLECONN:GapConnect,OK,0010', 'R SSC1 C +BLECONN:GapConnect,OK']
   - - LOOP 4 1 "[2,3,4,5]" "[2,3,4,5]"
     - ""
-  - - "SSC SSC1 bleconn -D -z server -p 0xA0 -a <dut{%d}_bt_mac>"
-    - ['P SSC{%d} C +BLE:GattcDisconnect,OK', 'P SSC1 C +BLE:GattsDisconnect,OK']
+  - - "SSC SSC1 bleconn -D -z server -p 0xA2 -a <dut{%d}_bt_mac>"
+    - ['P SSC{%d} C +BLECONN:GapDisconnect,OK', 'P SSC1 C +BLECONN:GapDisconnect,OK']
 - ID: BTSTK_GAP_12001
   <<: *GAP_CASE
   test point 2: BLE GAP multi connection as both master and slave role test
@@ -2721,22 +1603,24 @@ test cases:
     4. succeed
   initial condition: BLE_INIT5
   test environment: SSC_T5_1
+  allow fail: 3/5
   cmd set:
   - ""
-  - - "SSC SSC1 gatts -S -z load -p 0xA0"
-    - ['R SSC1 C +GATTS:StartService,OK,A000']
+  - *dut1_stop_adv
+  - - "SSC SSC1 gatts -S -z load -p 0xA2"
+    - ['R SSC1 C +GATTS:StartService,OK,A002']
   - - LOOP 2 2 "[2,3]" "[2,3]"
     - ""
   - - "SSC SSC1 bleadv -D -z start"
     - ["P SSC1 C +BLEADV:Start,OK"]
   - - "SSC SSC{%d} bleconn -C -p 0x10 -a <dut1_bt_mac>"
-    - ['R SSC{%d} C +BLE:GattcConnect,OK,0010', 'P SSC1 C +BLE:GattsConnect']
+    - ['R SSC{%d} C +BLECONN:GapConnect,OK,0010', 'P SSC1 C +BLECONN:GapConnect,OK']
   - - "SSC SSC[4-5] bleadv -D -z start"
     - ["P SSC[4-5] C +BLEADV:Start,OK"]
   - - LOOP 2 1 "[4,5]" "[4,5]"
     - ""
   - - "SSC SSC1 bleconn -C -p 0x10 -a <dut{%d}_bt_mac>"
-    - ['P SSC1 C +BLE:GattcConnect,OK', 'P SSC{%d} C +BLE:GattsConnect']
+    - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC{%d} C +BLECONN:GapConnect,OK']
   - - "SSC SSC1 bleconn -D -z all"
     - ["P SSC[2-5] C Disconnect"]
 - ID: BTSTK_GAP_12002
@@ -2755,57 +1639,27 @@ test cases:
     4. succeed
   initial condition: BLE_INIT5
   test environment: SSC_T5_1
+  allow fail: 3/5
   cmd set:
   - ""
-  - - "SSC SSC1 gatts -S -z load -p 0xA0"
-    - ['R SSC1 C +GATTS:StartService,OK,A000']
+  - *dut1_stop_adv
+  - - "SSC SSC1 gatts -S -z load -p 0xA2"
+    - ['R SSC1 C +GATTS:StartService,OK,A002']
   - - LOOP 2 2 "[2,3]" "[2,3]"
     - ""
   - - "SSC SSC1 bleadv -D -z start"
     - ["P SSC1 C +BLEADV:Start,OK"]
   - - "SSC SSC{%d} bleconn -C -p 0x10 -a <dut1_bt_mac>"
-    - ['R SSC{%d} C +BLE:GattcConnect,OK,0010', 'R SSC1 C +BLE:GattsConnect']
+    - ['R SSC{%d} C +BLECONN:GapConnect,OK,0010', 'R SSC1 C +BLECONN:GapConnect,OK']
   - - "SSC SSC[4-5] bleadv -D -z start"
     - ["P SSC[4-5] C +BLEADV:Start,OK"]
   - - LOOP 2 1 "[4,5]" "[4,5]"
     - ""
   - - "SSC SSC1 bleconn -C -p 0x10 -a <dut{%d}_bt_mac>"
-    - ['R SSC1 C +BLE:GattcConnect,OK', 'R SSC{%d} C +BLE:GattsConnect']
+    - ['R SSC1 C +BLECONN:GapConnect,OK', 'R SSC{%d} C +BLECONN:GapConnect,OK']
   - - LOOP 4 1 "[2,3,4,5]"
   - - "SSC SSC{%d} bleconn -D -z all"
     - ["P SSC1 C Disconnect"]
-- ID: BTSTK_GAP_40001
-  <<: *GAP_CASE
-  auto test: 'No'
-  test point 2: test if BLE work after switch off some sub modules
-  summary: GAP only test
-  steps: |
-    1. download GAP only SSC bin on both DUT
-    2. DUT1 set ascii device name
-    3. stop advertising
-    4. config scan response and start advertising
-    5. DUT2 do active scan
-  expected result: |
-    1. succeed
-    2. succeed
-    3. succeed
-    4. succeed
-    5. device name in scan result
-  initial condition: None
-  version: v1 (2017-05-19)
-  cmd set:
-  - ""
-  - - "SSC SSC[1-2] reboot"
-    - ['R SSC[1-2] C !!!ready!!!']
-  - - "SSC SSC[1-2] ble -R"
-    - ["R SSC[1-2] C +BLE:OK"]
-  - *set_default_ble_name
-  - *set_default_adv_data
-  - *dut2_stop_adv
-  - - "SSC SSC2 blescan -L -c 0"
-    - ["R SSC2 C +BLESCAN:SetScanParam,OK"]
-  - - "SSC SSC2 blescan -D -z start -t 3"
-    - ["R SSC2 P <dut1_ble_name>"]
 - ID: BTSTK_GAP_50001
   <<: *GAP_CASE
   category: Performance
@@ -2832,7 +1686,7 @@ test cases:
   CI ready: 'No'
   cmd set:
   - "BLEStress/BLEConnPerformance"
-  - - "test_time = 420"
+  - - "test_time = 20"
     - ""
   - - "average_conn_time = 3"
     - ""
@@ -2894,74 +1748,6 @@ test cases:
   - "BLEStress/BLEAdvScanPerformance"
   - - "test_time = 600"
     - ""
-- ID: BTSTK_GAP_13001
-  <<: *GAP_CASE
-  test point 2: BLE GAP param packet data length test
-  summary: gattc set packet data length at valid length (27-251)
-  steps: |
-    1. DUT1 connect DUT2
-    2. DUT1 set packet data length
-  expected result: |
-    1. succeed
-    2. succeed
-  cmd set:
-  - ""
-  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-    - ['R SSC1 C +BLE:GattcConnect,OK', 'R SSC2 C +BLE:GattsConnect']
-  - - LOOP 3 1 "[27,200,251]" "[27,200,251]"
-  - - "SSC SSC1 ble -S -z pktLen -a <dut2_bt_mac> -l {%d}"
-    - ["R SSC1 C +BLECONN:UpdatePktLen,OK,{%d}"]
-- ID: BTSTK_GAP_13002
-  <<: *GAP_CASE
-  test point 2: BLE GAP param packet data length test
-  summary: gattc set packet data length at invalid length
-  steps: |
-    1. DUT1 connect DUT2
-    2. DUT1 set packet data length
-  expected result: |
-    1. succeed
-    2. succeed
-  cmd set:
-  - ""
-  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-    - ['R SSC1 C +BLE:GattcConnect,OK', 'R SSC2 C +BLE:GattsConnect']
-  - - LOOP 2 1 "[26,252]" "[27,251]"
-  - - "SSC SSC1 ble -S -z pktLen -a <dut2_bt_mac> -l {%d}"
-    - ["R SSC1 C +BLECONN:UpdatePktLen,OK,{%d}"]
-- ID: BTSTK_GAP_13003
-  <<: *GAP_CASE
-  test point 2: BLE GAP param packet data length test
-  summary: gatts set packet data length at valid length (27-251)
-  steps: |
-    1. DUT1 connect DUT2
-    2. DUT1 set packet data length
-  expected result: |
-    1. succeed
-    2. succeed
-  cmd set:
-  - ""
-  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-    - ['R SSC1 C +BLE:GattcConnect,OK', 'R SSC2 C +BLE:GattsConnect']
-  - - LOOP 3 1 "[27,200,251]" "[27,200,251]"
-  - - "SSC SSC2 ble -S -z pktLen -a <dut1_bt_mac> -l {%d}"
-    - ["R SSC2 C +BLECONN:UpdatePktLen,OK,{%d}"]
-- ID: BTSTK_GAP_13004
-  <<: *GAP_CASE
-  test point 2: BLE GAP param packet data length test
-  summary: gatts set packet data length at invalid length
-  steps: |
-    1. DUT1 connect DUT2
-    2. DUT1 set packet data length
-  expected result: |
-    1. succeed
-    2. succeed
-  cmd set:
-  - ""
-  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-    - ['R SSC1 C +BLE:GattcConnect,OK', 'R SSC2 C +BLE:GattsConnect']
-  - - LOOP 2 1 "[26,252]" "[27,251]"
-  - - "SSC SSC2 ble -S -z pktLen -a <dut1_bt_mac> -l {%d}"
-    - ["R SSC2 C +BLECONN:UpdatePktLen,OK,{%d}"]
 - ID: BTSTK_GAP_14001
   <<: *GAP_CASE
   test point 2: BLE GAP set randAddr as random address
@@ -2985,7 +1771,7 @@ test cases:
   - - "SSC SSC1 blescan -D -z start"
     - ['R SSC1 P <static_device_addr> C Complete']
   - - "SSC SSC1 bleconn -C -p 0x10 -a <static_device_addr> -r 1"
-    - ["P SSC1 C +BLE:GattcConnect,OK", "P SSC2 C +BLE:GattsConnect"]
+    - ["P SSC1 C +BLECONN:GapConnect,OK", "P SSC2 C +BLECONN:GapConnect,OK"]
 - ID: BTSTK_GAP_14002
   <<: *GAP_CASE
   test point 2: BLE GAP set as pablic address
@@ -3051,6 +1837,7 @@ test cases:
   test point 2: BLE set random address test
   summary: BLE set random address as resolvable private address and cannot be scan
   initial condition: BLE_INIT_SMP
+  CI ready: 'No'
   steps: |
     1. SSC1 set adv params and config local privacy as true
     2. SSC1 bleadv and SSC2 blescan
@@ -3059,24 +1846,18 @@ test cases:
     2. succeed
   cmd set:
   - ""
-  - - "SSC SSC1 bleadv -D -z stop"
-    - ["R SSC1 C +BLEADV:OK"]
   - - "SSC SSC1 bleadv -L -c 0 -t 3"
     - ["R SSC1 C +BLEADV:SetAdv,OK C +BLEADV:SetScanRes,OK"]
   - - "SSC SSC1 ble -S -z privacy -p 1"
     - ["R SSC1 C +BLECONN:SetResAddr,Success"]
-  - - "SSC SSC1 bleadv -D -z start -o 1"
+  - - "SSC SSC1 bleadv -D -z start -o 2"
     - ["R SSC1 C +BLEADV:OK"]
-  - - "SSC SSC2 bleadv -D -z stop"
-    - ["R SSC2 C +BLEADV:OK"]
-  - - "SSC SSC2 blescan -L -c 0"
-    - ["R SSC2 C +BLESCAN:SetScanParam,OK"]
-  - - "SSC SSC2 blescan -D -z start -t 3"
+  - - "SSC SSC2 blescan -D -z start -t 3 -c 0"
     - ["R SSC2 NP <dut1_bt_mac> C +BLESCAN:InquiryComplete"]
 - ID: BTSTK_GAP_14008
   <<: *GAP_CASE
   test point 2: BLE set random address test
-  summary: BLE set random address as resolvable private address and reconnect after disconnect
+  summary: BLE pairing and set random address as resolvable private address, reconnect after disconnect
   steps: |
     1. SSC2 set AuthReqMode and IOCAP,set RspKey as Enc and IRK
     2. pairing
@@ -3098,28 +1879,28 @@ test cases:
     - ['P SSC2 C +BLESMP:OK']
   - - "SSC SSC2 blesmp -S -z IOCAP -v 0x03"
     - ['P SSC2 C +BLESMP:OK']
-  - - "SSC SSC2 blesmp -S -z RspKey -v 0x03"
-    - ['P SSC2 C +BLESMP:OK']
+  - - "SSC SSC[1-2] blesmp -S -z RspKey -v 0x02"
+    - ['P SSC[1-2] C +BLESMP:OK']
+  - - "SSC SSC[1-2] blesmp -S -z InitKey -v 0x02"
+    - ['P SSC[1-2] C +BLESMP:OK']
   - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-    - ['P SSC1 C +BLE:GattcConnect,OK', 'P SSC2 C +BLE:GattsConnect']
+    - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
   - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
-    - ['P SSC1 C +BLESMP:SecReq']
-  - - "SSC SSC1 blesmp -R -a 1 -r <dut2_bt_mac>"
     - ['P SSC[1-2] C +BLESMP:AuthComplete,Success,0']
   - - "SSC SSC1 bleconn -D -z all"
-    - ['P SSC1 C +BLE:GattcDisconnect,OK', 'P SSC2 C +BLE:GattsDisconnect,OK']
+    - ['P SSC1 C +BLECONN:GapDisconnect,OK', 'P SSC2 C +BLECONN:GapDisconnect,OK']
   - - "SSC SSC2 ble -S -z privacy -p 1"
     - ["R SSC2 C +BLECONN:SetResAddr,Success"]
-  - - "SSC SSC2 bleadv -D -z start -o 1"
+  - - "SSC SSC2 bleadv -D -z start -o 2"
     - ["R SSC2 C +BLEADV:OK"]
   - - "SSC SSC1 blescan -D -z start -t 3"
     - ["R SSC1 P <dut2_bt_mac> C InquiryComplete"]
   - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-    - ["R SSC1 C +BLE:GattcConnect,OK", "R SSC2 C +BLE:GattsConnect"]
+    - ["R SSC1 C +BLECONN:GapConnect,OK", "R SSC2 C +BLECONN:GapConnect,OK"]
 - ID: BTSTK_GAP_14009
   <<: *GAP_CASE
   test point 2: BLE set random address test
-  summary: BLE set random address as resolvable private address and reconnect after reboot
+  summary: BLE pairing and set random address as resolvable private address, reconnect after reboot
   steps: |
     1. SSC2 set AuthReqMode and IOCAP,set RspKey as Enc and IRK
     2. pairing
@@ -3145,33 +1926,29 @@ test cases:
   - - "SSC SSC2 blesmp -S -z RspKey -v 0x03"
     - ['P SSC2 C +BLESMP:OK']
   - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-    - ['P SSC1 C +BLE:GattcConnect,OK', 'P SSC2 C +BLE:GattsConnect']
+    - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
   - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
-    - ['P SSC1 C +BLESMP:SecReq']
-  - - "SSC SSC1 blesmp -R -a 1 -r <dut2_bt_mac>"
     - ['P SSC[1-2] C +BLESMP:AuthComplete,Success,0']
   - - "SSC SSC[1-2] reboot"
     - ['R SSC[1-2] C !!!ready!!!']
   - - "SSC SSC[1-2] ble -R"
     - ["R SSC[1-2] C +BLE:OK"]
-  - - "SSC SSC2 gatts -S -z load -p 0xA0"
-    - ['R SSC2 C +GATTS:LoadProfile,OK']
+  - - "SSC SSC2 gatts -S -z load -p 0xA2"
+    - ['R SSC2 C +GATTS:StartService,OK,A002']
   - - "SSC SSC2 ble -S -z privacy -p 1"
     - ["R SSC2 C +BLECONN:SetResAddr,Success"]
   - - "SSC SSC2 bleadv -D -z stop"
     - ["R SSC2 C +BLEADV:OK"]
   - - "SSC SSC2 bleadv -L -c 0 -t 3"
     - ["R SSC2 C +BLEADV:SetAdv,OK C +BLEADV:SetScanRes,OK"]
-  - - "SSC SSC2 bleadv -D -z start -o 1"
+  - - "SSC SSC2 bleadv -D -z start -o 2"
     - ["R SSC2 C +BLEADV:OK"]
   - - "SSC SSC1 blescan -D -z stop"
     - ["R SSC1 C +BLESCAN:OK"]
-  - - "SSC SSC1 blescan -L -c 0"
-    - ["R SSC1 C +BLESCAN:SetScanParam,OK"]
-  - - "SSC SSC1 blescan -D -z start -t 3"
+  - - "SSC SSC1 blescan -D -z start -t 3 -c 0"
     - ["R SSC1 P <dut2_bt_mac> C InquiryComplete"]
   - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-    - ["R SSC1 C +BLE:GattcConnect,OK", "R SSC2 C +BLE:GattsConnect"]
+    - ["R SSC1 C +BLECONN:GapConnect,OK", "R SSC2 C +BLECONN:GapConnect,OK"]
 - ID: BTSTK_GAP_15001
   <<: *GAP_CASE
   test point 2: BLE GAP white list test
@@ -3259,3 +2036,51 @@ test cases:
     - ['P SSC1 C +BLE:GetWhiteList,OK,0']
   - - "SSC SSC1 ble -W -a c0:9b:0e:36:6d:7c -z add"
     - ['P SSC1 C +BLE:AddWhiteList,Fail']
+- ID: BTSTK_GAP_16001
+  <<: *GAP_CASE
+  test point 2: BLE low power test
+  summary: test adv current and adv interval 32-32
+  category: Performance
+  auto test: 'No'
+  steps: |
+   1. DUT2 start adv
+   2. test DUT2 current
+  expected result: |
+   1. succeed
+   2. succeed
+  cmd set:
+  - "BLEFunction/BLELowPower"
+  - - op_test = "start_adv"
+    - ''
+- ID: BTSTK_GAP_16002
+  <<: *GAP_CASE
+  test point 2: BLE low power test
+  summary: test scan current and scan window/interval 04
+  category: Performance
+  auto test: 'No'
+  steps: |
+   1. DUT2 start scan
+   2. test DUT2 current
+  expected result: |
+   1. succeed
+   2. succeed
+  cmd set:
+  - "BLEFunction/BLELowPower"
+  - - op_test = "start_scan"
+    - ""
+- ID: BTSTK_GAP_16003
+  <<: *GAP_CASE
+  test point 2: BLE low power test
+  summary: test connect current and interval 6-6
+  category: Performance
+  auto test: 'No'
+  steps: |
+   1. DUT1 connect to DUT2
+   2. test DUT2 current
+  expected result: |
+   1. succeed
+   2. succeed
+  cmd set:
+  - "BLEFunction/BLELowPower"
+  - - op_test = "do_connect"
+    - ""
index 8a0f6fc8b128c37bb646cf3dd249b18e566c03d3..b4a824d7ba4cd28711696e572d4c008fab962a68 100644 (file)
@@ -4,7 +4,7 @@
   auto test: 'Yes'
   category: Function
   test point 1: basic function
-  initial condition: BLE_CONN2
+  initial condition: BLE_CONN3
   test environment: SSC_T2_5
   execution time: 0
   module: BT Stack
@@ -16,7 +16,7 @@
 
 .primary_service_discovery: &primary_service_discovery
   LIST_MERGE:
-    - - "SSC SSC1 gattc -D -z primaryService -p 0x10"
+    - - "SSC SSC1 gattc -D -z primaryService -p 0x10 -r <dut2_bt_mac>"
       - ["R SSC1 C +GATTC:Discover,OK"]
 
 .included_service_connection: &included_primary_service_connection
@@ -30,7 +30,7 @@
     - - SSC SSC1 gattc -F -r <dut2_bt_mac>
       - ['R SSC1 C +GATTC:OK']
     - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-      - ["R SSC1 C +BLE:GattcConnect,OK,0010", "R SSC2 C +BLE:GattsConnect"]
+      - ["R SSC1 C +BLECONN:GapConnect,OK,0010", "R SSC2 C +BLECONN:GapConnect"]
 
 .included_second_service_connection: &included_second_service_connection
   LIST_MERGE:
@@ -45,7 +45,7 @@
     - - SSC SSC1 gattc -F -r <dut2_bt_mac>
       - ['R SSC1 C +GATTC:OK']
     - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-      - ["R SSC1 C +BLE:GattcConnect,OK,0010", "R SSC2 C +BLE:GattsConnect"]
+      - ["R SSC1 C +BLECONN:GapConnect,OK,0010", "R SSC2 C +BLECONN:GapConnect"]
 
 .table_include_table_service: &table_include_table_service
   LIST_MERGE:
@@ -54,7 +54,7 @@
     - - SSC SSC1 gattc -F -r <dut2_bt_mac>
       - ['R SSC1 C +GATTC:OK']
     - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-      - ["R SSC1 C +BLE:GattcConnect,OK,0010", "R SSC2 C +BLE:GattsConnect"]
+      - ["R SSC1 C +BLECONN:GapConnect,OK,0010", "R SSC2 C +BLECONN:GapConnect"]
 
 .table_include_service: &table_include_service
   LIST_MERGE:
     - - SSC SSC1 gattc -F -r <dut2_bt_mac>
       - ['R SSC1 C +GATTC:OK']
     - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-      - ["R SSC1 C +BLE:GattcConnect,OK,0010", "R SSC2 C +BLE:GattsConnect"]
+      - ["R SSC1 C +BLECONN:GapConnect,OK,0010", "R SSC2 C +BLECONN:GapConnect"]
 
 .register_notify_c107: &register_notify_c107
   LIST_MERGE:
     - - "SSC SSC1 gattc -N -z register -s 0xA000 -c 0xC107 -p 0x10 -r <dut2_bt_mac>"
       - ["R SSC1 C +GATTC:RegNotify,OK,0010,A000,C107"]
+
 .register_indicate_c108: &register_indicate_c108
   LIST_MERGE:
     - - "SSC SSC1 gattc -N -z register -s 0xA000 -c 0xC108 -p 0x10 -r <dut2_bt_mac>"
       - ["R SSC1 C +GATTC:RegNotify,OK,0010,A000,C108"]
 
+.stop_adv: &stop_adv
+  LIST_MERGE:
+    - - "SSC SSC2 bleadv -D -z stop"
+      - ["R SSC2 C +BLEADV:Stop"]
+
 test cases:
-- ID: BTSTK_GATT_01001
-  <<: *GATT_CASE
-  test point 2: BLE GATT server create service
-  summary: create service, add char and descriptor and start service
-  steps: |
-    1. create preset service 0xA000
-  expected result: |
-    1. succeed
-  initial condition: BLE_INIT1
-  test environment: SSC_T1_4
-  cmd set:
-  - ""
-  - - "SSC SSC1 gatts -S -z load -p 0xA0"
-    - ["R SSC1 C +GATTS:StartService,OK,A000"]
-- ID: BTSTK_GATT_01002
-  <<: *GATT_CASE
-  test point 2: BLE GATT server create service
-  summary: create service and include another service
-  steps: |
-    1. create preset service 0xA000
-    2. create preset service 0xA001
-  expected result: |
-    1. succeed
-    2. succeed
-  initial condition: BLE_INIT1
-  test environment: SSC_T1_4
-  cmd set:
-  - ""
-  - - "SSC SSC1 gatts -S -z load -p 0xA0"
-    - ["R SSC1 C +GATTS:StartService,OK,A000"]
-  - - "SSC SSC1 gatts -S -z load -p 0xA1"
-    - ["R SSC1 C +GATTS:CreateService,OK,A001"]
-  - - "SSC SSC1 gatts -S -z add -p 0xA1"
-    - ["R SSC1 C +GATTS:StartService,OK,A001"]
-- ID: BTSTK_GATT_20001
-  <<: *GATT_CASE
-  test point 2: BLE GATT client service / char discovery
-  summary: GATT client discover manual primary service
-  steps: |
-    1. DUT2 create preset service 0xA000
-    2. DUT2 create preset service 0xA001
-    3. DUT1 connect to DUT2
-    4. DUT1 do primary service discovery
-  expected result: |
-    1. succeed
-    2. succeed
-    3. succeed
-    4. found service 0xA000 and 0xA001
-  initial condition: BLE_INIT2
-  cmd set:
-  - ""
-  - *included_primary_service_connection
-  - - "SSC SSC1 gattc -D -z primaryService -p 0x10"
-    - ["R SSC1 C +GATTC:DiscoverService,A000 C +GATTC:DiscoverService,A001"]
-  - - SSC SSC1 gattc -F -r <dut2_bt_mac>
-    - ['R SSC1 C +GATTC:OK']
-- ID: BTSTK_GATT_20002
-  <<: *GATT_CASE
-  test point 2: BLE GATT client service / char discovery
-  summary: GATT client get manual included service
-  steps: |
-    1. DUT2 create preset service 0xA000
-    2. DUT2 create preset service 0xA001
-    3. DUT1 connect to DUT2
-    4. DUT1 do primary service discovery
-    5. DUT1 get included service 0xA000 from service 0xA001
-  expected result: |
-    1. succeed
-    2. succeed
-    3. succeed
-    4. succeed
-    5. get included service 0xA000 from service 0xA001
-  initial condition: BLE_INIT2
-  cmd set:
-  - ""
-  - *included_primary_service_connection
-  - - "SSC SSC1 gattc -D -z primaryService -p 0x10"
-    - ["R SSC1 C +GATTC:DiscoverService,A000 A <handle_range>:GATTC:DiscoverService,A001,(\\d+-\\d+)"]
-  - - "SSC SSC1 gattc -D -z includedService -p 0x10 -s 0xA001 -i 0xA000 -q <handle_range> -k 1"
-    - ["R SSC1 C +GATTC:IncludedService,0010,A001,A000"]
-  - - SSC SSC1 gattc -F -r <dut2_bt_mac>
-    - ['R SSC1 C +GATTC:OK']
-- ID: BTSTK_GATT_20003
-  <<: *GATT_CASE
-  test point 2: BLE GATT client service / char discovery
-  summary: GATT client discover table primary service (table service include table service)
-  steps: |
-    1. DUT2 create preset service 0xA002
-    2. DUT2 create preset service 0xA005
-    3. DUT1 connect to DUT2
-    4. DUT1 do primary service discovery
-  expected result: |
-    1. succeed
-    2. succeed
-    3. succeed
-    4. found service 0xA002 and 0xA005
-  initial condition: BLE_INIT3
-  cmd set:
-  - ""
-  - *table_include_table_service
-  - - "SSC SSC1 gattc -D -z primaryService -p 0x10"
-    - ["R SSC1 C +GATTC:DiscoverService,A002 C +GATTC:DiscoverService,A005"]
-- ID: BTSTK_GATT_20004
-  <<: *GATT_CASE
-  test point 2: BLE GATT client service / char discovery
-  summary: GATT client get table included service
-  steps: |
-    1. DUT2 create preset service 0xA002
-    2. DUT2 create preset service 0xA005
-    3. DUT1 connect to DUT2
-    4. DUT1 do primary service discovery
-    5. DUT1 get included service 0xA002 from service 0xA005
-  expected result: |
-    1. succeed
-    2. succeed
-    3. succeed
-    4. succeed
-    5. get included service 0xA002 from service 0xA005
-  initial condition: BLE_INIT3
-  cmd set:
-  - ""
-  - *table_include_table_service
-  - - "SSC SSC1 gattc -D -z primaryService -p 0x10"
-    - ["R SSC1 C +GATTC:DiscoverService,A002 A <handle_range>:GATTC:DiscoverService,A005,(\\d+-\\d+)"]
-  - - "SSC SSC1 gattc -D -z includedService -p 0x10 -s 0xA005 -i 0xA002 -q <handle_range> -k 1"
-    - ["R SSC1 C +GATTC:IncludedService,0010,A005,A002"]
-- ID: BTSTK_GATT_20005
-  <<: *GATT_CASE
-  test point 2: BLE GATT client service / char discovery
-  summary: GATT client discover table primary service (table service include manual service)
-  steps: |
-    1. DUT2 create preset service 0xA000
-    2. DUT2 create preset service 0xA005
-    3. DUT1 connect to DUT2
-    4. DUT1 do primary service discovery
-  expected result: |
-    1. succeed
-    2. succeed
-    3. succeed
-    4. found service 0xA000 and 0xA005
-  initial condition: BLE_INIT2
-  cmd set:
-  - ""
-  - *table_include_service
-  - - "SSC SSC1 gattc -D -z primaryService -p 0x10"
-    - ["R SSC1 C +GATTC:DiscoverService,A000 C +GATTC:DiscoverService,A005"]
-- ID: BTSTK_GATT_20006
-  <<: *GATT_CASE
-  test point 2: BLE GATT client service / char discovery
-  summary: GATT client get table included manual service
-  steps: |
-    1. DUT2 create preset service 0xA000
-    2. DUT2 create preset service 0xA005
-    3. DUT1 connect to DUT2
-    4. DUT1 do primary service discovery
-    5. DUT1 get included service 0xA000 from service 0xA005
-  expected result: |
-    1. succeed
-    2. succeed
-    3. succeed
-    4. succeed
-    5. get included service 0xA000 from service 0xA005
-  initial condition: BLE_INIT2
-  cmd set:
-  - ""
-  - *table_include_service
-  - - "SSC SSC1 gattc -D -z primaryService -p 0x10"
-    - ["R SSC1 C +GATTC:DiscoverService,A000 A <handle_range>:GATTC:DiscoverService,A005,(\\d+-\\d+)"]
-  - - "SSC SSC1 gattc -D -z includedService -p 0x10 -s 0xA005 -i 0xA000 -q <handle_range> -k 1"
-    - ["R SSC1 C +GATTC:IncludedService,0010,A005,A000"]
 - ID: BTSTK_GATT_60001
   <<: *GATT_CASE
   test point 2: BLE GATT server get and set value
@@ -256,11 +92,10 @@ test cases:
   expected result: |
     1. succeed
     2. failed
-  initial condition: BLE_INIT2
+  initial condition: BLE_INIT3
   cmd set:
   - ""
-  - - "SSC SSC2 gatts -S -z load -p 0xA2"
-    - ["R SSC2 C +GATTS:StartService,OK,A002"]
+  - *stop_adv
   - - "SSC SSC2 gatts -V -c 0xC300 -p 0xA2 -z set -l 3"
     - ["R SSC2 C +GATTS:SetAttrVal,ERROR"]
 - ID: BTSTK_GATT_60002
@@ -276,11 +111,10 @@ test cases:
     1. succeed
     2. succeed
     3. succeed
-  initial condition: BLE_INIT2
+  initial condition: BLE_INIT3
   cmd set:
   - ""
-  - - "SSC SSC2 gatts -S -z load -p 0xA2"
-    - ["R SSC2 C +GATTS:StartService,OK,A002"]
+  - *stop_adv
   - - "SSC SSC2 gatts -V -c 0xC300 -p 0xA2 -z get"
     - ["R SSC2 C +GATTS:GetAttrValue,1,0x01"]
   - - "SSC SSC2 gatts -V -c 0xC301 -p 0xA2 -z get"
@@ -305,11 +139,10 @@ test cases:
     5. succeed
     6. succeed
     7. succeed
-  initial condition: BLE_INIT2
+  initial condition: BLE_INIT3
   cmd set:
   - ""
-  - - "SSC SSC2 gatts -S -z load -p 0xA2"
-    - ["R SSC2 C +GATTS:StartService,OK,A002"]
+  - *stop_adv
   - - "SSC SSC2 gatts -V -c 0xC300 -p 0xA2 -z set -v 0x02"
     - ["R SSC2 C +GATTS:SetAttrVal,OK"]
   - - "SSC SSC2 gatts -V -c 0xC300 -p 0xA2 -z get"
@@ -334,11 +167,10 @@ test cases:
     1. succeed
     2. succeed
     3. succeed
-  initial condition: BLE_INIT2
+  initial condition: BLE_INIT3
   cmd set:
   - ""
-  - - "SSC SSC2 gatts -S -z load -p 0xA2"
-    - ["R SSC2 C +GATTS:StartService,OK,A002"]
+  - *stop_adv
   - - "SSC SSC2 gatts -V -c 0xC301 -p 0xA2 -z set -v JKLJGFD*^"
     - ["R SSC2 C +GATTS:SetAttrVal,OK"]
   - - "SSC SSC2 gatts -V -c 0xC301 -p 0xA2 -z get"
@@ -355,11 +187,10 @@ test cases:
     1. succeed
     2. succeed
     3. succeed
-  initial condition: BLE_INIT2
+  initial condition: BLE_INIT3
   cmd set:
   - ""
-  - - "SSC SSC2 gatts -S -z load -p 0xA2"
-    - ["R SSC2 C +GATTS:StartService,OK,A002"]
+  - *stop_adv
   - - "SSC SSC2 gatts -V -c 0xC300 -p 0xA2 -z set -l 0"
     - ["R SSC2 C +GATTS:SetAttrVal,ERROR"]
   - - "SSC SSC2 gatts -V -c 0xC300 -p 0xA2 -z get"
@@ -376,11 +207,10 @@ test cases:
     1. succeed
     2. succeed
     3. succeed
-  initial condition: BLE_INIT2
+  initial condition: BLE_INIT3
   cmd set:
   - ""
-  - - "SSC SSC2 gatts -S -z load -p 0xA2"
-    - ["R SSC2 C +GATTS:StartService,OK,A002"]
+  - *stop_adv
   - - "SSC SSC2 gatts -V -c 0xC301 -p 0xA2 -z set -l 5"
     - ["R SSC2 C +GATTS:SetAttrVal,OK"]
   - - "SSC SSC2 gatts -V -c 0xC301 -p 0xA2 -z get"
@@ -401,15 +231,14 @@ test cases:
     3. succeed
     4. succeed
     5. succeed
-  initial condition: BLE_CONN3
   cmd set:
   - ""
   - *primary_service_discovery
-  - - "SSC SSC1 gattc -W -z char -s 0xA002 -c 0xC302 -p 0x10 -v 0x01"
+  - - "SSC SSC1 gattc -W -z char -s 0xA002 -c 0xC302 -p 0x10 -v 0x01 -r <dut2_bt_mac>"
     - ["R SSC1 C +GATTC:WriteOnce,0010,A002,C302", "R SSC1 C +GATTC:Write,OK,0010,A002,C302"]
   - - "SSC SSC2 gatts -V -c 0xC302 -p 0xA2 -z get"
     - ["R SSC2 C +GATTS:GetAttrValue,1,0x01"]
-  - - "SSC SSC1 gattc -W -z longChar -s 0xA002 -c 0xC304 -p 0x10 -l 256"
+  - - "SSC SSC1 gattc -W -z longChar -s 0xA002 -c 0xC304 -p 0x10 -l 256 -r <dut2_bt_mac>"
     - ["P SSC1 C +GATTC:Write,OK,0010,A002,C304"]
   - - "SSC SSC2 gatts -V -c 0xC304 -p 0xA2 -z get"
     - ["R SSC2 C +GATTS:GetAttrValue,256"]
@@ -431,21 +260,20 @@ test cases:
     3. succeed
     4. succeed
     5. succeed
-  initial condition: BLE_CONN3
   cmd set:
   - ""
   - *primary_service_discovery
   - - "SSC SSC2 gatts -V -c 0xC300 -p 0xA2 -z set -v 0x02"
     - ["R SSC2 C +GATTS:SetAttrVal,OK"]
-  - - "SSC SSC1 gattc -R -z char -s 0xA002 -c 0xC300 -p 0x10"
+  - - "SSC SSC1 gattc -R -z char -s 0xA002 -c 0xC300 -p 0x10 -r <dut2_bt_mac>"
     - ["R SSC1 C +GATTC:ReadOnce,0010,A002,C300,1", "R SSC1 C +GATTC:Read,OK,0010,A002,C300"]
   - - "SSC SSC2 gatts -V -c 0xC301 -p 0xA2 -z set -v 0x02"
     - ["R SSC2 C +GATTS:SetAttrVal,OK"]
-  - - "SSC SSC1 gattc -R -z char -s 0xA002 -c 0xC301 -p 0x10"
+  - - "SSC SSC1 gattc -R -z char -s 0xA002 -c 0xC301 -p 0x10 -r <dut2_bt_mac>"
     - ["R SSC1 C +GATTC:ReadOnce,0010,A002,C301,1", "R SSC1 C +GATTC:Read,OK,0010,A002,C301"]
   - - "SSC SSC2 gatts -V -c 0xC301 -p 0xA2 -z set -l 5"
     - ["R SSC2 C +GATTS:SetAttrVal,OK"]
-  - - "SSC SSC1 gattc -R -z char -s 0xA002 -c 0xC301 -p 0x10"
+  - - "SSC SSC1 gattc -R -z char -s 0xA002 -c 0xC301 -p 0x10 -r <dut2_bt_mac>"
     - ["R SSC1 C +GATTC:ReadOnce,0010,A002,C301,5", "R SSC1 C +GATTC:Read,OK,0010,A002,C301"]
 - ID: BTSTK_GATT_60009
   <<: *GATT_CASE
@@ -457,11 +285,9 @@ test cases:
   expected result: |
     1. succeed
     2. failed
-  initial condition: BLE_INIT2
+  initial condition: BLE_INIT3
   cmd set:
   - ""
-  - - "SSC SSC2 gatts -S -z load -p 0xA2"
-    - ["R SSC2 C +GATTS:StartService,OK,A002"]
   - - "SSC SSC2 gatts -V -c 0xC300 -d 0x2901 -p 0xA2 -z set -l 3"
     - ["R SSC2 C +GATTS:SetAttrVal,ERROR"]
 - ID: BTSTK_GATT_60010
@@ -474,11 +300,9 @@ test cases:
   expected result: |
     1. succeed
     2. succeed
-  initial condition: BLE_INIT2
+  initial condition: BLE_INIT3
   cmd set:
   - ""
-  - - "SSC SSC2 gatts -S -z load -p 0xA2"
-    - ["R SSC2 C +GATTS:StartService,OK,A002"]
   - - "SSC SSC2 gatts -V -c 0xC300 -d 0x2901 -p 0xA2 -z get"
     - ["R SSC2 C +GATTS:GetAttrValue,1,0x00"]
 - ID: BTSTK_GATT_60011
@@ -501,11 +325,9 @@ test cases:
     5. succeed
     6. succeed
     7. succeed
-  initial condition: BLE_INIT2
+  initial condition: BLE_INIT3
   cmd set:
   - ""
-  - - "SSC SSC2 gatts -S -z load -p 0xA2"
-    - ["R SSC2 C +GATTS:StartService,OK,A002"]
   - - "SSC SSC2 gatts -V -c 0xC300 -d 0x2901 -p 0xA2 -z set -v 0x02"
     - ["R SSC2 C +GATTS:SetAttrVal,OK"]
   - - "SSC SSC2 gatts -V -c 0xC300 -d 0x2901 -p 0xA2 -z get"
@@ -530,11 +352,9 @@ test cases:
     1. succeed
     2. succeed
     3. succeed
-  initial condition: BLE_INIT2
+  initial condition: BLE_INIT3
   cmd set:
   - ""
-  - - "SSC SSC2 gatts -S -z load -p 0xA2"
-    - ["R SSC2 C +GATTS:StartService,OK,A002"]
   - - "SSC SSC2 gatts -V -c 0xC301 -d 0x2901 -p 0xA2 -z set -v JKLJGFD*^"
     - ["R SSC2 C +GATTS:SetAttrVal,OK"]
   - - "SSC SSC2 gatts -V -c 0xC301 -d 0x2901 -p 0xA2 -z get"
@@ -551,11 +371,9 @@ test cases:
     1. succeed
     2. succeed
     3. succeed
-  initial condition: BLE_INIT2
+  initial condition: BLE_INIT3
   cmd set:
   - ""
-  - - "SSC SSC2 gatts -S -z load -p 0xA2"
-    - ["R SSC2 C +GATTS:StartService,OK,A002"]
   - - "SSC SSC2 gatts -V -c 0xC300 -d 0x2901 -p 0xA2 -z set -l 0"
     - ["R SSC2 C +GATTS:SetAttrVal,ERROR"]
   - - "SSC SSC2 gatts -V -c 0xC300 -d 0x2901 -p 0xA2 -z get"
@@ -572,11 +390,9 @@ test cases:
     1. succeed
     2. succeed
     3. succeed
-  initial condition: BLE_INIT2
+  initial condition: BLE_INIT3
   cmd set:
   - ""
-  - - "SSC SSC2 gatts -S -z load -p 0xA2"
-    - ["R SSC2 C +GATTS:StartService,OK,A002"]
   - - "SSC SSC2 gatts -V -c 0xC301 -d 0x2901 -p 0xA2 -z set -l 5"
     - ["R SSC2 C +GATTS:SetAttrVal,OK"]
   - - "SSC SSC2 gatts -V -c 0xC301 -d 0x2901 -p 0xA2 -z get"
@@ -597,15 +413,14 @@ test cases:
     3. succeed
     4. succeed
     5. succeed
-  initial condition: BLE_CONN3
   cmd set:
   - ""
   - *primary_service_discovery
-  - - "SSC SSC1 gattc -W -z descriptor -s 0xA002 -c 0xC300 -d 0x2901 -p 0x10 -v 0x01"
+  - - "SSC SSC1 gattc -W -z descriptor -s 0xA002 -c 0xC300 -d 0x2901 -p 0x10 -v 0x01 -r <dut2_bt_mac>"
     - ["R SSC1 C +GATTC:WriteOnce,0010,A002,C300,2901", "R SSC1 C +GATTC:WriteDescriptor,OK,0010,A002,C300,2901"]
   - - "SSC SSC2 gatts -V -c 0xC300 -d 0x2901 -p 0xA2 -z get"
     - ["R SSC2 C +GATTS:GetAttrValue,1,0x01"]
-  - - "SSC SSC1 gattc -W -z longDescriptor -s 0xA002 -c 0xC301 -d 0x2901 -p 0x10 -l 256"
+  - - "SSC SSC1 gattc -W -z longDescriptor -s 0xA002 -c 0xC301 -d 0x2901 -p 0x10 -l 256 -r <dut2_bt_mac>"
     - ["P SSC1 C +GATTC:WriteDescriptor,OK,0010,A002,C301,2901"]
   - - "SSC SSC2 gatts -V -c 0xC301 -d 0x2901 -p 0xA2 -z get"
     - ["R SSC2 C +GATTS:GetAttrValue,256"]
@@ -627,139 +442,21 @@ test cases:
     3. succeed
     4. succeed
     5. succeed
-  initial condition: BLE_CONN3
   cmd set:
   - ""
   - *primary_service_discovery
   - - "SSC SSC2 gatts -V -c 0xC300 -d 0x2901 -p 0xA2 -z set -v 0x02"
     - ["R SSC2 C +GATTS:SetAttrVal,OK"]
-  - - "SSC SSC1 gattc -R -z descriptor -s 0xA002 -c 0xC300 -d 0x2901 -p 0x10"
+  - - "SSC SSC1 gattc -R -z descriptor -s 0xA002 -c 0xC300 -d 0x2901 -p 0x10 -r <dut2_bt_mac>"
     - ["R SSC1 C +GATTC:ReadOnce,0010,A002,C300,2901,1", "R SSC1 C +GATTC:ReadDescriptor,OK,0010,A002,C300,2901"]
   - - "SSC SSC2 gatts -V -c 0xC301 -d 0x2901 -p 0xA2 -z set -v 0x02"
     - ["R SSC2 C +GATTS:SetAttrVal,OK"]
-  - - "SSC SSC1 gattc -R -z descriptor -s 0xA002 -c 0xC301 -d 0x2901 -p 0x10"
+  - - "SSC SSC1 gattc -R -z descriptor -s 0xA002 -c 0xC301 -d 0x2901 -p 0x10 -r <dut2_bt_mac>"
     - ["R SSC1 C +GATTC:ReadOnce,0010,A002,C301,2901,1", "R SSC1 C +GATTC:ReadDescriptor,OK,0010,A002,C301,2901"]
   - - "SSC SSC2 gatts -V -c 0xC301 -d 0x2901 -p 0xA2 -z set -l 5"
     - ["R SSC2 C +GATTS:SetAttrVal,OK"]
-  - - "SSC SSC1 gattc -R -z descriptor -s 0xA002 -c 0xC301 -d 0x2901 -p 0x10"
+  - - "SSC SSC1 gattc -R -z descriptor -s 0xA002 -c 0xC301 -d 0x2901 -p 0x10 -r <dut2_bt_mac>"
     - ["R SSC1 C +GATTC:ReadOnce,0010,A002,C301,2901,5", "R SSC1 C +GATTC:ReadDescriptor,OK,0010,A002,C301,2901"]
-- ID: BTSTK_GATT_21001
-  <<: *GATT_CASE
-  test point 2: BLE GATT client read char and descriptor
-  summary: GATT client read short char
-  steps: |
-    1. DUT1 do discover
-    2. GATT client read 1 byte short char
-  expected result: |
-    1. succeed
-    2. read succeed
-  cmd set:
-  - ""
-  - *primary_service_discovery
-  - - "SSC SSC1 gattc -R -z char -s 0xA000 -c 0xC100 -p 0x10"
-    - ["R SSC1 C +GATTC:ReadOnce,0010,A000,C100,1", "R SSC1 C +GATTC:Read,OK,0010,A000,C100"]
-- ID: BTSTK_GATT_21002
-  <<: *GATT_CASE
-  test point 2: BLE GATT client read char and descriptor
-  summary: GATT client read long char
-  steps: |
-    1. DUT1 do service discovery
-    2. DUT1 GATT client read 256 bytes long char
-  expected result: |
-    1. succeed
-    2. read succeed
-  cmd set:
-  - ""
-  - *primary_service_discovery
-  - - "SSC SSC1 gattc -R -z char -s 0xA000 -c 0xC101 -p 0x10"
-    - ["R SSC1 C +GATTC:ReadOnce,0010,A000,C101,256", "R SSC1 C +GATTC:Read,OK,0010,A000,C101"]
-- ID: BTSTK_GATT_21003
-  <<: *GATT_CASE
-  test point 2: BLE GATT client read char and descriptor
-  summary: GATT client read short descriptor
-  steps: |
-    1. DUT1 do service discovery
-    2. GATT client read short descriptor
-  expected result: |
-    1. succeed
-    2. read succeed
-  cmd set:
-  - ""
-  - *primary_service_discovery
-  - - "SSC SSC1 gattc -R -z descriptor -s 0xA000 -c 0xC107 -d 0x2902 -p 0x10"
-    - ["R SSC1 C +GATTC:ReadOnce,0010,A000,C107,2902,2", "R SSC1 C +GATTC:ReadDescriptor,OK,0010,A000,C107,2902"]
-- ID: BTSTK_GATT_21004
-  <<: *GATT_CASE
-  test point 2: BLE GATT client read char and descriptor
-  summary: GATT client read long descriptor
-  steps: |
-    1. DUT1 do service discovery
-    2. GATT client read long descriptor
-  expected result: |
-    1. succeed
-    2. read succeed
-  cmd set:
-  - ""
-  - *primary_service_discovery
-  - - "SSC SSC1 gattc -R -z descriptor -s 0xA000 -c 0xC100 -d 0x2901 -p 0x10"
-    - ["R SSC1 C +GATTC:ReadOnce,0010,A000,C100,2901,2", "R SSC1 C +GATTC:ReadDescriptor,OK,0010,A000,C100,2901"]
-- ID: BTSTK_GATT_21005
-  <<: *GATT_CASE
-  test point 2: BLE GATT client read char and descriptor
-  summary: GATT client read short char of an included service
-  steps: |
-    1. DUT2 create preset service 0xA000
-    2. DUT2 create preset service 0xA001
-    3. DUT1 connect to DUT2
-    4. DUT1 do discover
-    5. GATT client read 1 byte short char
-  expected result: |
-    1. succeed
-    2. succeed
-    3. succeed
-    4. succeed
-    5. succeed
-  initial condition: BLE_INIT2
-  cmd set:
-  - ""
-  - - "SSC SSC2 gatts -S -z load -p 0xA1"
-    - ["R SSC2 C +GATTS:CreateService,OK,A001"]
-  - - SSC SSC1 gattc -F -r <dut2_bt_mac>
-    - ['R SSC1 C +GATTC:OK']
-  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-    - ["R SSC1 C +BLE:GattcConnect,OK,0010", "R SSC2 C +BLE:GattsConnect"]
-  - *primary_service_discovery
-  - - "SSC SSC1 gattc -R -z char -s 0xA000 -c 0xC100 -p 0x10"
-    - ["R SSC1 C +GATTC:ReadOnce,0010,A000,C100,1", "R SSC1 C +GATTC:Read,OK,0010,A000,C100"]
-- ID: BTSTK_GATT_21006
-  <<: *GATT_CASE
-  test point 2: BLE GATT client read char and descriptor
-  summary: GATT client read short descriptor or an included service
-  allow fail: 1/2
-  steps: |
-    1. DUT2 create preset service 0xA000
-    2. DUT2 create preset service 0xA001
-    3. DUT1 connect to DUT2
-    4. DUT1 do discover
-    5. GATT client read 1 byte short descriptor
-  expected result: |
-    1. succeed
-    2. succeed
-    3. succeed
-    4. succeed
-    5. succeed
-  initial condition: BLE_INIT2
-  cmd set:
-  - ""
-  - - "SSC SSC2 gatts -S -z load -p 0xA1"
-    - ["R SSC2 C +GATTS:CreateService,OK,A001"]
-  - - SSC SSC1 gattc -F -r <dut2_bt_mac>
-    - ['R SSC1 C +GATTC:OK']
-  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-    - ["R SSC1 C +BLE:GattcConnect,OK,0010", "R SSC2 C +BLE:GattsConnect"]
-  - *primary_service_discovery
-  - - "SSC SSC1 gattc -R -z descriptor -s 0xA000 -c 0xC107 -d 0x2902 -p 0x10"
-    - ["R SSC1 C +GATTC:ReadOnce,0010,A000,C107,2902,2", "R SSC1 C +GATTC:ReadDescriptor,OK,0010,A000,C107,2902"]
 - ID: BTSTK_GATT_21007
   <<: *GATT_CASE
   test point 2: BLE GATT client read char and descriptor
@@ -774,7 +471,7 @@ test cases:
   cmd set:
   - ""
   - *primary_service_discovery
-  - - "SSC SSC1 gattc -R -z char -s 0xA002 -c 0xC300 -p 0x10"
+  - - "SSC SSC1 gattc -R -z char -s 0xA002 -c 0xC300 -p 0x10 -r <dut2_bt_mac>"
     - ["R SSC1 C +GATTC:ReadOnce,0010,A002,C300,1", "R SSC1 C +GATTC:Read,OK,0010,A002,C300"]
 - ID: BTSTK_GATT_21008
   <<: *GATT_CASE
@@ -786,12 +483,11 @@ test cases:
   expected result: |
     1. succeed
     2. succeed
-  initial condition: BLE_CONN3
   cmd set:
   - ""
   - *primary_service_discovery
-  - - "SSC SSC1 gattc -R -z char -s 0xA002 -c 0xC301 -p 0x10"
-    - ["R SSC1 C +GATTC:ReadOnce,0010,A002,C301,256", "R SSC1 C +GATTC:Read,OK,0010,A002,C301"]
+  - - "SSC SSC1 gattc -R -z char -s 0xA002 -c 0xC301 -p 0x10 -r <dut2_bt_mac>"
+    - ["P SSC1 C +GATTC:ReadOnce,0010,A002,C301,256", "P SSC1 C +GATTC:Read,OK,0010,A002,C301"]
 - ID: BTSTK_GATT_21009
   <<: *GATT_CASE
   test point 2: BLE GATT client read char and descriptor
@@ -802,12 +498,11 @@ test cases:
   expected result: |
     1. succeed
     2. succeed
-  initial condition: BLE_CONN3
   cmd set:
   - ""
   - *primary_service_discovery
-  - - "SSC SSC1 gattc -R -z char -s 0xA002 -c 0xC310 -p 0x10"
-    - ["R SSC1 C +GATTC:ReadOnce,0010,A002,C310,1", "R SSC1 C +GATTC:Read,OK,0010,A002,C310"]
+  - - "SSC SSC1 gattc -R -z char -s 0xA002 -c 0xC310 -p 0x10 -r <dut2_bt_mac>"
+    - ["P SSC1 C +GATTC:ReadOnce,0010,A002,C310,1", "P SSC1 C +GATTC:Read,OK,0010,A002,C310"]
 - ID: BTSTK_GATT_21010
   <<: *GATT_CASE
   test point 2: BLE GATT client read char and descriptor
@@ -818,12 +513,11 @@ test cases:
   expected result: |
     1. succeed
     2. succeed
-  initial condition: BLE_CONN3
   cmd set:
   - ""
   - *primary_service_discovery
-  - - "SSC SSC1 gattc -R -z char -s 0xA002 -c 0xC311 -p 0x10"
-    - ["R SSC1 C +GATTC:ReadOnce,0010,A002,C311,256", "R SSC1 C +GATTC:Read,OK,0010,A002,C311"]
+  - - "SSC SSC1 gattc -R -z char -s 0xA002 -c 0xC311 -p 0x10 -r <dut2_bt_mac>"
+    - ["P SSC1 C +GATTC:ReadOnce,0010,A002,C311,256", "P SSC1 C +GATTC:Read,OK,0010,A002,C311"]
 - ID: BTSTK_GATT_21011
   <<: *GATT_CASE
   test point 2: BLE GATT client read char and descriptor
@@ -834,12 +528,11 @@ test cases:
   expected result: |
     1. succeed
     2. succeed
-  initial condition: BLE_CONN3
   cmd set:
   - ""
   - *primary_service_discovery
-  - - "SSC SSC1 gattc -R -z descriptor -s 0xA002 -c 0xC300 -d 0x2901 -p 0x10"
-    - ["R SSC1 C +GATTC:ReadOnce,0010,A002,C300,2901,1", "R SSC1 C +GATTC:ReadDescriptor,OK,0010,A002,C300,2901"]
+  - - "SSC SSC1 gattc -R -z descriptor -s 0xA002 -c 0xC300 -d 0x2901 -p 0x10 -r <dut2_bt_mac>"
+    - ["P SSC1 C +GATTC:ReadOnce,0010,A002,C300,2901,1", "P SSC1 C +GATTC:ReadDescriptor,OK,0010,A002,C300,2901"]
 - ID: BTSTK_GATT_21012
   <<: *GATT_CASE
   test point 2: BLE GATT client read char and descriptor
@@ -850,12 +543,11 @@ test cases:
   expected result: |
     1. succeed
     2. succeed
-  initial condition: BLE_CONN3
   cmd set:
   - ""
   - *primary_service_discovery
-  - - "SSC SSC1 gattc -R -z descriptor -s 0xA002 -c 0xC301 -d 0x2901 -p 0x10"
-    - ["R SSC1 C +GATTC:ReadOnce,0010,A002,C301,2901,256", "R SSC1 C +GATTC:ReadDescriptor,OK,0010,A002,C301,2901"]
+  - - "SSC SSC1 gattc -R -z descriptor -s 0xA002 -c 0xC301 -d 0x2901 -p 0x10 -r <dut2_bt_mac>"
+    - ["P SSC1 C +GATTC:ReadOnce,0010,A002,C301,2901,256", "P SSC1 C +GATTC:ReadDescriptor,OK,0010,A002,C301,2901"]
 - ID: BTSTK_GATT_21013
   <<: *GATT_CASE
   test point 2: BLE GATT client read char and descriptor
@@ -866,12 +558,11 @@ test cases:
   expected result: |
     1. succeed
     2. succeed
-  initial condition: BLE_CONN3
   cmd set:
   - ""
   - *primary_service_discovery
-  - - "SSC SSC1 gattc -R -z descriptor -s 0xA002 -c 0xC310 -d 0x2901 -p 0x10"
-    - ["R SSC1 C +GATTC:ReadOnce,0010,A002,C310,2901,1", "R SSC1 C +GATTC:ReadDescriptor,OK,0010,A002,C310,2901"]
+  - - "SSC SSC1 gattc -R -z descriptor -s 0xA002 -c 0xC310 -d 0x2901 -p 0x10 -r <dut2_bt_mac>"
+    - ["P SSC1 C +GATTC:ReadOnce,0010,A002,C310,2901,1", "P SSC1 C +GATTC:ReadDescriptor,OK,0010,A002,C310,2901"]
 - ID: BTSTK_GATT_21014
   <<: *GATT_CASE
   test point 2: BLE GATT client read char and descriptor
@@ -882,491 +573,226 @@ test cases:
   expected result: |
     1. succeed
     2. succeed
-  initial condition: BLE_CONN3
   cmd set:
   - ""
   - *primary_service_discovery
-  - - "SSC SSC1 gattc -R -z descriptor -s 0xA002 -c 0xC311 -d 0x2901 -p 0x10"
-    - ["R SSC1 C +GATTC:ReadOnce,0010,A002,C311,2901,256", "R SSC1 C +GATTC:ReadDescriptor,OK,0010,A002,C311,2901"]
-- ID: BTSTK_GATT_22001
+  - - "SSC SSC1 gattc -R -z descriptor -s 0xA002 -c 0xC311 -d 0x2901 -p 0x10 -r <dut2_bt_mac>"
+    - ["P SSC1 C +GATTC:ReadOnce,0010,A002,C311,2901,256", "P SSC1 C +GATTC:ReadDescriptor,OK,0010,A002,C311,2901"]
+- ID: BTSTK_GATT_22010
   <<: *GATT_CASE
   test point 2: BLE GATT client write char and descriptor
-  summary: GATT client write with response to a short char with response
+  summary: GATT client write with response to auto reply short char with response created by table
+  allow fail: 1/2
   steps: |
     1. DUT1 do service discovery
-    2. GATT client write with response to short char with response
+    2. GATT client write with response to auto reply short char with response created by table
   expected result: |
     1. succeed
     2. write succeed
   cmd set:
   - ""
   - *primary_service_discovery
-  - - "SSC SSC1 gattc -W -z char -s 0xA000 -c 0xC102 -p 0x10 -v 0x01"
-    - ["R SSC1 C +GATTC:WriteOnce,0010,A000,C102", "R SSC1 C +GATTC:Write,OK,0010,A000,C102"]
-- ID: BTSTK_GATT_22002
+  - - "SSC SSC1 gattc -W -z char -s 0xA002 -c 0xC302 -p 0x10 -r <dut2_bt_mac> -v 0x01 -w 2"
+    - ["P SSC1 C +GATTC:WriteOnce,0010,A002,C302", "P SSC1 C +GATTC:Write,OK,0010,A002,C302"]
+- ID: BTSTK_GATT_22011
   <<: *GATT_CASE
   test point 2: BLE GATT client write char and descriptor
-  summary: GATT client write without response to a short char without response
+  summary: GATT client write without response to auto reply short char without response created by table
   steps: |
     1. DUT1 do service discovery
-    2. GATT client write without response to short char without response
+    2. GATT client write without response to auto reply short char without response created by table
   expected result: |
     1. succeed
     2. write succeed
   cmd set:
   - ""
   - *primary_service_discovery
-  - - "SSC SSC1 gattc -W -z char -s 0xA000 -c 0xC103 -p 0x10 -v 0x01 -w 1"
-    - - "P SSC1 C +GATTC:WriteOnce,0010,A000,C103"
-      - "P SSC2 C +GATTS:Write,OK,A000,C103"
-      - "P SSC1 C +GATTC:Write,OK,0010,A000,C103"
-- ID: BTSTK_GATT_22003
+  - - "SSC SSC1 gattc -W -z char -s 0xA002 -c 0xC303 -p 0x10 -v 0x01 -w 1 -r <dut2_bt_mac>"
+    - - "P SSC1 C +GATTC:WriteOnce,0010,A002,C303"
+      - "P SSC2 C +GATTS:Write,OK,A002,C303"
+      - "P SSC1 C +GATTC:Write,OK,0010,A002,C303"
+- ID: BTSTK_GATT_22012
   <<: *GATT_CASE
   test point 2: BLE GATT client write char and descriptor
-  summary: GATT client prepare write and do execute
+  summary: GATT client prepare write and do execute to auto reply char created by table
   steps: |
     1. DUT1 do service discovery
-    2. GATT client prepare write and do execute
+    2. GATT client prepare write and do execute to auto reply char created by table
   expected result: |
     1. succeed
     2. write succeed
   cmd set:
   - ""
   - *primary_service_discovery
-  - - "SSC SSC1 gattc -W -z longChar -s 0xA000 -c 0xC110 -p 0x10 -l 256"
-    - ["P SSC1 C +GATTC:Write,OK,0010,A000,C110"]
-- ID: BTSTK_GATT_22004
+  - - "SSC SSC1 gattc -W -z longChar -s 0xA002 -c 0xC304 -p 0x10 -l 256 -r <dut2_bt_mac>"
+    - ["P SSC1 C +GATTC:Write,OK,0010,A002,C304"]
+- ID: BTSTK_GATT_22013
   <<: *GATT_CASE
   test point 2: BLE GATT client write char and descriptor
-  summary: GATT client prepare write and do cancel
+  summary: GATT client prepare write and do cancel to auto reply char created by table
   steps: |
     1. DUT1 do service discovery
-    2. GATT client prepare write and do cancel
+    2. GATT client prepare write and do cancel to auto reply char created by table
   expected result: |
     1. succeed
     2. write succeed
   cmd set:
   - ""
   - *primary_service_discovery
-  - - "SSC SSC1 gattc -W -z longChar -s 0xA000 -c 0xC110 -p 0x10 -l 256 -e 0"
-    - ["P SSC1 C +GATTC:Write,OK,0010,A000,C110"]
-  - - "SSC SSC1 gattc -W -z char -s 0xA000 -c 0xC110 -p 0x10 -l 256 -e 0"
-    - ["P SSC1 C +GATTC:Write,OK,0010,A000,C110"]
-- ID: BTSTK_GATT_22005
+  - - "SSC SSC1 gattc -W -z longChar -s 0xA002 -c 0xC304 -p 0x10 -l 256 -e 0 -r <dut2_bt_mac>"
+    - ["P SSC1 C +GATTC:Write,OK,0010,A002,C304"]
+- ID: BTSTK_GATT_22014
   <<: *GATT_CASE
   test point 2: BLE GATT client write char and descriptor
-  summary: GATT client write to a short descriptor
+  summary: GATT client write to auto reply short descriptor created by table
   steps: |
     1. DUT1 do service discovery
-    2. GATT client write to short descriptor
+    2. GATT client write to auto reply short descriptor created by table
   expected result: |
     1. succeed
     2. write succeed
   cmd set:
   - ""
   - *primary_service_discovery
-  - - "SSC SSC1 gattc -W -z descriptor -s 0xA000 -c 0xC107 -d 0x2902 -p 0x10 -v 0x0100"
-    - ["R SSC1 C +GATTC:WriteOnce,0010,A000,C107,2902", "R SSC1 C +GATTC:WriteDescriptor,OK,0010,A000,C107,2902"]
-- ID: BTSTK_GATT_22006
+  - - "SSC SSC1 gattc -W -z descriptor -s 0xA002 -c 0xC300 -d 0x2901 -p 0x10 -v 0x01 -r <dut2_bt_mac>"
+    - ["R SSC1 C +GATTC:WriteOnce,0010,A002,C300,2901", "R SSC1 C +GATTC:WriteDescriptor,OK,0010,A002,C300,2901"]
+- ID: BTSTK_GATT_22015
   <<: *GATT_CASE
   test point 2: BLE GATT client write char and descriptor
-  summary: GATT client write to long descriptor and execute
+  summary: GATT client write to auto reply long descriptor created by table
   steps: |
     1. DUT1 do service discovery
-    2. GATT client write to long descriptor and execute
+    2. GATT client write to auto reply long descriptor created by table
   expected result: |
     1. succeed
     2. write succeed
   cmd set:
   - ""
   - *primary_service_discovery
-  - - "SSC SSC1 gattc -W -z longDescriptor -s 0xA000 -c 0xC100 -d 0x2901 -p 0x10 -l 256"
-    - ["P SSC1 C +GATTC:WriteDescriptor,OK,0010,A000,C100,2901"]
-- ID: BTSTK_GATT_22007
+  - - "SSC SSC1 gattc -W -z longDescriptor -s 0xA002 -c 0xC301 -d 0x2901 -p 0x10 -l 256 -r <dut2_bt_mac>"
+    - ["P SSC1 C +GATTC:WriteDescriptor,OK,0010,A002,C301,2901"]
+- ID: BTSTK_GATT_22016
   <<: *GATT_CASE
   test point 2: BLE GATT client write char and descriptor
-  summary: GATT client write to long descriptor using write API
+  summary: GATT client write to auto reply long descriptor created by table and cancel
   steps: |
     1. DUT1 do service discovery
-    2. GATT client write to long descriptor and execute
+    2. GATT client write to auto reply long descriptor created by table and cancel
   expected result: |
     1. succeed
     2. write succeed
   cmd set:
   - ""
   - *primary_service_discovery
-  - - "SSC SSC1 gattc -W -z descriptor -s 0xA000 -c 0xC100 -d 0x2901 -p 0x10 -l 256"
-    - ["P SSC1 C +GATTC:WriteDescriptor,OK,0010,A000,C100,2901"]
-- ID: BTSTK_GATT_22008
+  - - "SSC SSC1 gattc -W -z longDescriptor -s 0xA002 -c 0xC301 -d 0x2901 -p 0x10 -l 256 -e 0 -r <dut2_bt_mac>"
+    - ["P SSC1 C +GATTC:WriteDescriptor,OK,0010,A002,C301,2901"]
+- ID: BTSTK_GATT_22017
   <<: *GATT_CASE
   test point 2: BLE GATT client write char and descriptor
-  summary: GATT client write to an included char
-  allow fail: 1/2
+  summary: GATT client write with response to app reply short char with response created by table
   steps: |
-    1. DUT2 create preset service 0xA000
-    2. DUT2 create preset service 0xA001
-    3. DUT1 connect to DUT2
-    4. DUT1 do discover
-    5. GATT client write with response to short char with response
+    1. DUT1 do service discovery
+    2. GATT client write with response to app reply short char with response created by table
   expected result: |
     1. succeed
-    2. succeed
-    3. succeed
-    4. succeed
-    5. succeed
-  initial condition: BLE_INIT2
+    2. write succeed
   cmd set:
   - ""
-  - - "SSC SSC2 gatts -S -z load -p 0xA1"
-    - ["R SSC2 C +GATTS:CreateService,OK,A001"]
-  - - SSC SSC1 gattc -F -r <dut2_bt_mac>
-    - ['R SSC1 C +GATTC:OK']
-  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-    - ["R SSC1 C +BLE:GattcConnect,OK,0010", "R SSC2 C +BLE:GattsConnect"]
   - *primary_service_discovery
-  - - "SSC SSC1 gattc -W -z char -s 0xA000 -c 0xC102 -p 0x10 -v 0x01"
-    - ["R SSC1 C +GATTC:WriteOnce,0010,A000,C102", "R SSC1 C +GATTC:Write,OK,0010,A000,C102"]
-- ID: BTSTK_GATT_22009
+  - - "SSC SSC1 gattc -W -z char -s 0xA002 -c 0xC312 -p 0x10 -v 0x01 -r <dut2_bt_mac>"
+    - ["R SSC1 C +GATTC:WriteOnce,0010,A002,C312", "R SSC1 C +GATTC:Write,OK,0010,A002,C312"]
+- ID: BTSTK_GATT_22018
   <<: *GATT_CASE
   test point 2: BLE GATT client write char and descriptor
-  summary: GATT client write to an included descriptor
+  summary: GATT client write without response to app reply short char without response created by table
   steps: |
-    1. DUT2 create preset service 0xA000
-    2. DUT2 create preset service 0xA001
-    3. DUT1 connect to DUT2
-    4. DUT1 do discover
-    5. GATT client write to short descriptor
+    1. DUT1 do service discovery
+    2. GATT client write without response to app reply short char without response created by table
   expected result: |
     1. succeed
-    2. succeed
-    3. succeed
-    4. succeed
-    5. succeed
-  initial condition: BLE_INIT2
+    2. write succeed
   cmd set:
   - ""
-  - - "SSC SSC2 gatts -S -z load -p 0xA1"
-    - ["R SSC2 C +GATTS:CreateService,OK,A001"]
-  - - SSC SSC1 gattc -F -r <dut2_bt_mac>
-    - ['R SSC1 C +GATTC:OK']
-  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-    - ["R SSC1 C +BLE:GattcConnect,OK,0010", "R SSC2 C +BLE:GattsConnect"]
   - *primary_service_discovery
-  - - "SSC SSC1 gattc -W -z descriptor -s 0xA000 -c 0xC107 -d 0x2902 -p 0x10 -v 0x0100"
-    - ["R SSC1 C +GATTC:WriteOnce,0010,A000,C107,2902", "R SSC1 C +GATTC:WriteDescriptor,OK,0010,A000,C107,2902"]
-- ID: BTSTK_GATT_22010
+  - - "SSC SSC1 gattc -W -z char -s 0xA002 -c 0xC313 -p 0x10 -v 0x01 -w 1 -r <dut2_bt_mac>"
+    - - "P SSC1 C +GATTC:WriteOnce,0010,A002,C313"
+      - "P SSC2 C +GATTS:Write,OK,A002,C313"
+      - "P SSC1 C +GATTC:Write,OK,0010,A002,C313"
+- ID: BTSTK_GATT_22019
   <<: *GATT_CASE
   test point 2: BLE GATT client write char and descriptor
-  summary: GATT client write with response to auto reply short char with response created by table
-  allow fail: 1/2
+  summary: GATT client prepare write and do execute to app reply char created by table
   steps: |
     1. DUT1 do service discovery
-    2. GATT client write with response to auto reply short char with response created by table
+    2. GATT client prepare write and do execute to app reply char created by table
   expected result: |
     1. succeed
     2. write succeed
-  initial condition: BLE_CONN3
   cmd set:
   - ""
   - *primary_service_discovery
-  - - "SSC SSC1 gattc -W -z char -s 0xA002 -c 0xC302 -p 0x10 -v 0x01"
-    - ["R SSC1 C +GATTC:WriteOnce,0010,A002,C302", "R SSC1 C +GATTC:Write,OK,0010,A002,C302"]
-- ID: BTSTK_GATT_22011
+  - - "SSC SSC1 gattc -W -z longChar -s 0xA002 -c 0xC314 -p 0x10 -l 256 -r <dut2_bt_mac>"
+    - ["P SSC1 C +GATTC:Write,OK,0010,A002,C314"]
+- ID: BTSTK_GATT_22020
   <<: *GATT_CASE
   test point 2: BLE GATT client write char and descriptor
-  summary: GATT client write without response to auto reply short char without response created by table
+  summary: GATT client prepare write and do cancel to app reply char created by table
   steps: |
     1. DUT1 do service discovery
-    2. GATT client write without response to auto reply short char without response created by table
+    2. GATT client prepare write and do cancel to app reply char created by table
   expected result: |
     1. succeed
     2. write succeed
-  initial condition: BLE_CONN3
   cmd set:
   - ""
   - *primary_service_discovery
-  - - "SSC SSC1 gattc -W -z char -s 0xA002 -c 0xC303 -p 0x10 -v 0x01 -w 1"
-    - - "P SSC1 C +GATTC:WriteOnce,0010,A002,C303"
-      - "P SSC2 C +GATTS:Write,OK,A002,C303"
-      - "P SSC1 C +GATTC:Write,OK,0010,A002,C303"
-- ID: BTSTK_GATT_22012
+  - - "SSC SSC1 gattc -W -z longChar -s 0xA002 -c 0xC314 -p 0x10 -l 256 -e 0 -r <dut2_bt_mac>"
+    - ["P SSC1 C +GATTC:Write,OK,0010,A002,C314"]
+- ID: BTSTK_GATT_22021
   <<: *GATT_CASE
   test point 2: BLE GATT client write char and descriptor
-  summary: GATT client prepare write and do execute to auto reply char created by table
+  summary: GATT client write to app reply short descriptor created by table
   steps: |
     1. DUT1 do service discovery
-    2. GATT client prepare write and do execute to auto reply char created by table
+    2. GATT client write to app reply short descriptor created by table
   expected result: |
     1. succeed
     2. write succeed
-  initial condition: BLE_CONN3
   cmd set:
   - ""
   - *primary_service_discovery
-  - - "SSC SSC1 gattc -W -z longChar -s 0xA002 -c 0xC304 -p 0x10 -l 256"
-    - ["P SSC1 C +GATTC:Write,OK,0010,A002,C304"]
-- ID: BTSTK_GATT_22013
+  - - "SSC SSC1 gattc -W -z descriptor -s 0xA002 -c 0xC310 -d 0x2901 -p 0x10 -v 0x01 -r <dut2_bt_mac>"
+    - ["R SSC1 C +GATTC:WriteOnce,0010,A002,C310,2901", "R SSC1 C +GATTC:WriteDescriptor,OK,0010,A002,C310,2901"]
+- ID: BTSTK_GATT_22022
   <<: *GATT_CASE
   test point 2: BLE GATT client write char and descriptor
-  summary: GATT client prepare write and do cancel to auto reply char created by table
+  summary: GATT client write to app reply long descriptor created by table
   steps: |
     1. DUT1 do service discovery
-    2. GATT client prepare write and do cancel to auto reply char created by table
+    2. GATT client write to app reply long descriptor created by table
   expected result: |
     1. succeed
     2. write succeed
-  initial condition: BLE_CONN3
   cmd set:
   - ""
   - *primary_service_discovery
-  - - "SSC SSC1 gattc -W -z longChar -s 0xA002 -c 0xC304 -p 0x10 -l 256 -e 0"
-    - ["P SSC1 C +GATTC:Write,OK,0010,A002,C304"]
-- ID: BTSTK_GATT_22014
+  - - "SSC SSC1 gattc -W -z longDescriptor -s 0xA002 -c 0xC311 -d 0x2901 -p 0x10 -l 256 -r <dut2_bt_mac>"
+    - ["P SSC1 C +GATTC:WriteDescriptor,OK,0010,A002,C311,2901"]
+- ID: BTSTK_GATT_22023
   <<: *GATT_CASE
   test point 2: BLE GATT client write char and descriptor
-  summary: GATT client write to auto reply short descriptor created by table
-  steps: |
-    1. DUT1 do service discovery
-    2. GATT client write to auto reply short descriptor created by table
-  expected result: |
-    1. succeed
-    2. write succeed
-  initial condition: BLE_CONN3
-  cmd set:
-  - ""
-  - *primary_service_discovery
-  - - "SSC SSC1 gattc -W -z descriptor -s 0xA002 -c 0xC300 -d 0x2901 -p 0x10 -v 0x01"
-    - ["R SSC1 C +GATTC:WriteOnce,0010,A002,C300,2901", "R SSC1 C +GATTC:WriteDescriptor,OK,0010,A002,C300,2901"]
-- ID: BTSTK_GATT_22015
-  <<: *GATT_CASE
-  test point 2: BLE GATT client write char and descriptor
-  summary: GATT client write to auto reply long descriptor created by table
-  steps: |
-    1. DUT1 do service discovery
-    2. GATT client write to auto reply long descriptor created by table
-  expected result: |
-    1. succeed
-    2. write succeed
-  initial condition: BLE_CONN3
-  cmd set:
-  - ""
-  - *primary_service_discovery
-  - - "SSC SSC1 gattc -W -z longDescriptor -s 0xA002 -c 0xC301 -d 0x2901 -p 0x10 -l 256"
-    - ["P SSC1 C +GATTC:WriteDescriptor,OK,0010,A002,C301,2901"]
-- ID: BTSTK_GATT_22016
-  <<: *GATT_CASE
-  test point 2: BLE GATT client write char and descriptor
-  summary: GATT client write to auto reply long descriptor created by table and cancel
-  steps: |
-    1. DUT1 do service discovery
-    2. GATT client write to auto reply long descriptor created by table and cancel
-  expected result: |
-    1. succeed
-    2. write succeed
-  initial condition: BLE_CONN3
-  cmd set:
-  - ""
-  - *primary_service_discovery
-  - - "SSC SSC1 gattc -W -z longDescriptor -s 0xA002 -c 0xC301 -d 0x2901 -p 0x10 -l 256 -e 0"
-    - ["P SSC1 C +GATTC:WriteDescriptor,OK,0010,A002,C301,2901"]
-- ID: BTSTK_GATT_22017
-  <<: *GATT_CASE
-  test point 2: BLE GATT client write char and descriptor
-  summary: GATT client write with response to app reply short char with response created by table
-  steps: |
-    1. DUT1 do service discovery
-    2. GATT client write with response to app reply short char with response created by table
-  expected result: |
-    1. succeed
-    2. write succeed
-  initial condition: BLE_CONN3
-  cmd set:
-  - ""
-  - *primary_service_discovery
-  - - "SSC SSC1 gattc -W -z char -s 0xA002 -c 0xC312 -p 0x10 -v 0x01"
-    - ["R SSC1 C +GATTC:WriteOnce,0010,A002,C312", "R SSC1 C +GATTC:Write,OK,0010,A002,C312"]
-- ID: BTSTK_GATT_22018
-  <<: *GATT_CASE
-  test point 2: BLE GATT client write char and descriptor
-  summary: GATT client write without response to app reply short char without response created by table
-  steps: |
-    1. DUT1 do service discovery
-    2. GATT client write without response to app reply short char without response created by table
-  expected result: |
-    1. succeed
-    2. write succeed
-  initial condition: BLE_CONN3
-  cmd set:
-  - ""
-  - *primary_service_discovery
-  - - "SSC SSC1 gattc -W -z char -s 0xA002 -c 0xC313 -p 0x10 -v 0x01 -w 1"
-    - - "P SSC1 C +GATTC:WriteOnce,0010,A002,C313"
-      - "P SSC2 C +GATTS:Write,OK,A002,C313"
-      - "P SSC1 C +GATTC:Write,OK,0010,A002,C313"
-- ID: BTSTK_GATT_22019
-  <<: *GATT_CASE
-  test point 2: BLE GATT client write char and descriptor
-  summary: GATT client prepare write and do execute to app reply char created by table
-  steps: |
-    1. DUT1 do service discovery
-    2. GATT client prepare write and do execute to app reply char created by table
-  expected result: |
-    1. succeed
-    2. write succeed
-  initial condition: BLE_CONN3
-  cmd set:
-  - ""
-  - *primary_service_discovery
-  - - "SSC SSC1 gattc -W -z longChar -s 0xA002 -c 0xC314 -p 0x10 -l 256"
-    - ["P SSC1 C +GATTC:Write,OK,0010,A002,C314"]
-- ID: BTSTK_GATT_22020
-  <<: *GATT_CASE
-  test point 2: BLE GATT client write char and descriptor
-  summary: GATT client prepare write and do cancel to app reply char created by table
-  steps: |
-    1. DUT1 do service discovery
-    2. GATT client prepare write and do cancel to app reply char created by table
-  expected result: |
-    1. succeed
-    2. write succeed
-  initial condition: BLE_CONN3
-  cmd set:
-  - ""
-  - *primary_service_discovery
-  - - "SSC SSC1 gattc -W -z longChar -s 0xA002 -c 0xC314 -p 0x10 -l 256 -e 0"
-    - ["P SSC1 C +GATTC:Write,OK,0010,A002,C314"]
-- ID: BTSTK_GATT_22021
-  <<: *GATT_CASE
-  test point 2: BLE GATT client write char and descriptor
-  summary: GATT client write to app reply short descriptor created by table
-  steps: |
-    1. DUT1 do service discovery
-    2. GATT client write to app reply short descriptor created by table
-  expected result: |
-    1. succeed
-    2. write succeed
-  initial condition: BLE_CONN3
-  cmd set:
-  - ""
-  - *primary_service_discovery
-  - - "SSC SSC1 gattc -W -z descriptor -s 0xA002 -c 0xC310 -d 0x2901 -p 0x10 -v 0x01"
-    - ["R SSC1 C +GATTC:WriteOnce,0010,A002,C310,2901", "R SSC1 C +GATTC:WriteDescriptor,OK,0010,A002,C310,2901"]
-- ID: BTSTK_GATT_22022
-  <<: *GATT_CASE
-  test point 2: BLE GATT client write char and descriptor
-  summary: GATT client write to app reply long descriptor created by table
-  steps: |
-    1. DUT1 do service discovery
-    2. GATT client write to app reply long descriptor created by table
-  expected result: |
-    1. succeed
-    2. write succeed
-  initial condition: BLE_CONN3
-  cmd set:
-  - ""
-  - *primary_service_discovery
-  - - "SSC SSC1 gattc -W -z longDescriptor -s 0xA002 -c 0xC311 -d 0x2901 -p 0x10 -l 256"
-    - ["P SSC1 C +GATTC:WriteDescriptor,OK,0010,A002,C311,2901"]
-- ID: BTSTK_GATT_22023
-  <<: *GATT_CASE
-  test point 2: BLE GATT client write char and descriptor
-  summary: GATT client write to app reply long descriptor created by table and cancel
+  summary: GATT client write to app reply long descriptor created by table and cancel
   steps: |
     1. DUT1 do service discovery
     2. GATT client write to app reply long descriptor created by table and cancel
   expected result: |
     1. succeed
     2. write succeed
-  initial condition: BLE_CONN3
   cmd set:
   - ""
   - *primary_service_discovery
-  - - "SSC SSC1 gattc -W -z longDescriptor -s 0xA002 -c 0xC311 -d 0x2901 -p 0x10 -l 256 -e 0"
+  - - "SSC SSC1 gattc -W -z longDescriptor -s 0xA002 -c 0xC311 -d 0x2901 -p 0x10 -l 256 -e 0 -r <dut2_bt_mac>"
     - ["P SSC1 C +GATTC:WriteDescriptor,OK,0010,A002,C311,2901"]
-- ID: BTSTK_GATT_23001
-  <<: *GATT_CASE
-  test point 2: BLE GATT client receive notify and indication
-  summary: GATT client register/unregister notify
-  steps: |
-    1. DUT1 do service discovery
-    2. DUT1 register notify on notification char
-    3. DUT1 register notify on indication char
-  expected result: |
-    1. succeed
-    2. succeed
-    3. succeed
-  cmd set:
-  - ""
-  - *primary_service_discovery
-  - *register_notify_c107
-  - *register_indicate_c108
-  - - "SSC SSC1 gattc -N -z unregister -s 0xA000 -c 0xC107 -p 0x10 -r <dut2_bt_mac>"
-    - ["R SSC1 C +GATTC:UnRegNotify,OK,0010,A000,C107"]
-  - - "SSC SSC1 gattc -N -z unregister -s 0xA000 -c 0xC108 -p 0x10 -r <dut2_bt_mac>"
-    - ["R SSC1 C +GATTC:UnRegNotify,OK,0010,A000,C108"]
-- ID: BTSTK_GATT_23002
-  <<: *GATT_CASE
-  test point 2: BLE GATT client receive notify and indication
-  summary: GATT client receive notify
-  steps: |
-    1. DUT1 do service discovery
-    2. DUT1 register notify on notification char and write to CCC
-    3. DUT2 do notify
-  expected result: |
-    1. succeed
-    2. succeed
-    3. DUT1 recv notify
-  cmd set:
-  - ""
-  - *primary_service_discovery
-  - *register_notify_c107
-  - - "SSC SSC1 gattc -W -z descriptor -s 0xA000 -c 0xC107 -d 0x2902 -p 0x10 -v 0x0100"
-    - ["R SSC1 C +GATTC:WriteOnce,0010,A000,C107,2902", "R SSC1 C +GATTC:WriteDescriptor,OK,0010,A000,C107,2902"]
-  - - "SSC SSC2 gatts -N -c 0xC107 -p 0xA0 -v 0x01"
-    - ["R SSC1 C +GATTC:Notification,0010,A000,C107,1"]
-- ID: BTSTK_GATT_23003
-  <<: *GATT_CASE
-  test point 2: BLE GATT client receive notify and indication
-  summary: GATT client receive indication
-  steps: |
-    1. DUT1 do service discovery
-    2. DUT1 register notify on inidcation char and write to CCC
-    3. DUT2 do indication
-  expected result: |
-    1. succeed
-    2. succeed
-    3. DUT1 recv indication
-  cmd set:
-  - ""
-  - *primary_service_discovery
-  - *register_indicate_c108
-  - - "SSC SSC1 gattc -W -z descriptor -s 0xA000 -c 0xC108 -d 0x2902 -p 0x10 -v 0x0002"
-    - ["R SSC1 C +GATTC:WriteOnce,0010,A000,C108,2902", "R SSC1 C +GATTC:WriteDescriptor,OK,0010,A000,C108,2902"]
-  - - "SSC SSC2 gatts -I -c 0xC108 -p 0xA0 -v 0x01"
-    - ["R SSC1 C +GATTC:Indication,0010,A000,C108,1"]
-- ID: BTSTK_GATT_23004
-  <<: *GATT_CASE
-  test point 2: BLE GATT client receive notify and indication
-  summary: GATT client can't receive notification/indication without write to CCC (manual service)
-  steps: |
-    1. DUT1 do service discovery
-    2. DUT1 register notify on notify and inidcation char
-    3. DUT2 do notify and indication
-  expected result: |
-    1. succeed
-    2. succeed
-    3. DUT1 can recv notify and indication (this is aganist Spec, but a reasonable behavior in bluedroid)
-  cmd set:
-  - ""
-  - *primary_service_discovery
-  - *register_notify_c107
-  - *register_indicate_c108
-  - - "SSC SSC1 gattc -W -z descriptor -s 0xA000 -c 0xC107 -d 0x2902 -p 0x10 -v 0x0000"
-    - ["R SSC1 C +GATTC:WriteOnce,0010,A000,C107,2902", "R SSC1 C +GATTC:WriteDescriptor,OK,0010,A000,C107,2902"]
-  - - "SSC SSC2 gatts -N -c 0xC107 -p 0xA0 -v 0x01"
-    - ["P SSC1 C +GATTC:Notification,0010,A000,C107,1"]
-  - - "SSC SSC2 gatts -I -c 0xC108 -p 0xA0 -v 0x01"
-    - ["P SSC1 C +GATTC:Indication,0010,A000,C108,1"]
 - ID: BTSTK_GATT_23005
   <<: *GATT_CASE
   test point 2: BLE GATT client receive notify and indication
@@ -1385,9 +811,9 @@ test cases:
   - *primary_service_discovery
   - - "SSC SSC1 gattc -N -z register -s 0xA002 -c 0xC305 -p 0x10 -r <dut2_bt_mac>"
     - ["R SSC1 C +GATTC:RegNotify,OK,0010,A002,C305"]
-  - - "SSC SSC1 gattc -W -z descriptor -s 0xA002 -c 0xC305 -d 0x2902 -p 0x10 -v 0x0100"
+  - - "SSC SSC1 gattc -W -z descriptor -s 0xA002 -c 0xC305 -d 0x2902 -p 0x10 -v 0x0100 -r <dut2_bt_mac>"
     - ["R SSC1 C +GATTC:WriteOnce,0010,A002,C305,2902", "R SSC1 C +GATTC:WriteDescriptor,OK,0010,A002,C305,2902"]
-  - - "SSC SSC2 gatts -N -c 0xC305 -p 0xA2 -v 0x01"
+  - - "SSC SSC2 gatts -N -c 0xC305 -p 0xA2 -v 0x01 -r <dut1_bt_mac>"
     - ["R SSC1 C +GATTC:Notification,0010,A002,C305,1"]
 - ID: BTSTK_GATT_23006
   <<: *GATT_CASE
@@ -1401,15 +827,14 @@ test cases:
     1. succeed
     2. succeed
     3. DUT1 recv indication
-  initial condition: BLE_CONN3
   cmd set:
   - ""
   - *primary_service_discovery
   - - "SSC SSC1 gattc -N -z register -s 0xA002 -c 0xC306 -p 0x10 -r <dut2_bt_mac>"
     - ["R SSC1 C +GATTC:RegNotify,OK,0010,A002,C306"]
-  - - "SSC SSC1 gattc -W -z descriptor -s 0xA002 -c 0xC306 -d 0x2902 -p 0x10 -v 0x0002"
+  - - "SSC SSC1 gattc -W -z descriptor -s 0xA002 -c 0xC306 -d 0x2902 -r <dut2_bt_mac> -v 0x0002 -p 0x10"
     - ["R SSC1 C +GATTC:WriteOnce,0010,A002,C306,2902", "R SSC1 C +GATTC:WriteDescriptor,OK,0010,A002,C306,2902"]
-  - - "SSC SSC2 gatts -I -c 0xC306 -p 0xA2 -v 0x01"
+  - - "SSC SSC2 gatts -I -c 0xC306 -p 0xA2 -v 0x01 -r <dut1_bt_mac>"
     - ["R SSC1 C +GATTC:Indication,0010,A002,C306,1"]
 - ID: BTSTK_GATT_23007
   <<: *GATT_CASE
@@ -1423,7 +848,6 @@ test cases:
     1. succeed
     2. succeed
     3. DUT1 can recv notify and indication (this is aganist Spec, but a reasonable behavior in bluedroid)
-  initial condition: BLE_CONN3
   cmd set:
   - ""
   - *primary_service_discovery
@@ -1431,9 +855,9 @@ test cases:
     - ["R SSC1 C +GATTC:RegNotify,OK,0010,A002,C305"]
   - - "SSC SSC1 gattc -N -z register -s 0xA002 -c 0xC306 -p 0x10 -r <dut2_bt_mac>"
     - ["R SSC1 C +GATTC:RegNotify,OK,0010,A002,C306"]
-  - - "SSC SSC2 gatts -N -c 0xC305 -p 0xA2 -v 0x01"
+  - - "SSC SSC2 gatts -N -c 0xC305 -p 0xA2 -v 0x01 -r <dut1_bt_mac>"
     - ["P SSC1 C +GATTC:Notification,0010,A002,C305,1"]
-  - - "SSC SSC2 gatts -I -c 0xC306 -p 0xA2 -v 0x01"
+  - - "SSC SSC2 gatts -I -c 0xC306 -p 0xA2 -v 0x01 -r <dut1_bt_mac>"
     - ["P SSC1 C +GATTC:Indication,0010,A002,C306,1"]
 - ID: BTSTK_GATT_23008
   <<: *GATT_CASE
@@ -1447,15 +871,14 @@ test cases:
     1. succeed
     2. succeed
     3. DUT1 recv notify
-  initial condition: BLE_CONN3
   cmd set:
   - ""
   - *primary_service_discovery
   - - "SSC SSC1 gattc -N -z register -s 0xA002 -c 0xC315 -p 0x10 -r <dut2_bt_mac>"
     - ["R SSC1 C +GATTC:RegNotify,OK,0010,A002,C315"]
-  - - "SSC SSC1 gattc -W -z descriptor -s 0xA002 -c 0xC315 -d 0x2902 -p 0x10 -v 0x0100"
+  - - "SSC SSC1 gattc -W -z descriptor -s 0xA002 -c 0xC315 -d 0x2902 -p 0x10 -r <dut2_bt_mac> -v 0x0100"
     - ["R SSC1 C +GATTC:WriteOnce,0010,A002,C315,2902", "R SSC1 C +GATTC:WriteDescriptor,OK,0010,A002,C315,2902"]
-  - - "SSC SSC2 gatts -N -c 0xC315 -p 0xA2 -v 0x01"
+  - - "SSC SSC2 gatts -N -c 0xC315 -p 0xA2 -v 0x01 -r <dut1_bt_mac>"
     - ["R SSC1 C +GATTC:Notification,0010,A002,C315,1"]
 - ID: BTSTK_GATT_23009
   <<: *GATT_CASE
@@ -1469,15 +892,14 @@ test cases:
     1. succeed
     2. succeed
     3. DUT1 recv indication
-  initial condition: BLE_CONN3
   cmd set:
   - ""
   - *primary_service_discovery
   - - "SSC SSC1 gattc -N -z register -s 0xA002 -c 0xC316 -p 0x10 -r <dut2_bt_mac>"
     - ["R SSC1 C +GATTC:RegNotify,OK,0010,A002,C316"]
-  - - "SSC SSC1 gattc -W -z descriptor -s 0xA002 -c 0xC316 -d 0x2902 -p 0x10 -v 0x0002"
+  - - "SSC SSC1 gattc -W -z descriptor -s 0xA002 -c 0xC316 -d 0x2902 -p 0x10 -r <dut2_bt_mac> -v 0x0002"
     - ["R SSC1 C +GATTC:WriteOnce,0010,A002,C316,2902", "R SSC1 C +GATTC:WriteDescriptor,OK,0010,A002,C316,2902"]
-  - - "SSC SSC2 gatts -I -c 0xC316 -p 0xA2 -v 0x01"
+  - - "SSC SSC2 gatts -I -c 0xC316 -p 0xA2 -v 0x01 -r <dut1_bt_mac>"
     - ["R SSC1 C +GATTC:Indication,0010,A002,C316,1"]
 - ID: BTSTK_GATT_23010
   <<: *GATT_CASE
@@ -1491,7 +913,6 @@ test cases:
     1. succeed
     2. succeed
     3. DUT1 can recv notify and indication (this is aganist Spec, but a reasonable behavior in bluedroid)
-  initial condition: BLE_CONN3
   cmd set:
   - ""
   - *primary_service_discovery
@@ -1499,40 +920,10 @@ test cases:
     - ["R SSC1 C +GATTC:RegNotify,OK,0010,A002,C315"]
   - - "SSC SSC1 gattc -N -z register -s 0xA002 -c 0xC316 -p 0x10 -r <dut2_bt_mac>"
     - ["R SSC1 C +GATTC:RegNotify,OK,0010,A002,C316"]
-  - - "SSC SSC2 gatts -N -c 0xC315 -p 0xA2 -v 0x01"
+  - - "SSC SSC2 gatts -N -c 0xC315 -p 0xA2 -v 0x01 -r <dut1_bt_mac>"
     - ["P SSC1 C +GATTC:Notification,0010,A002,C315,1"]
-  - - "SSC SSC2 gatts -I -c 0xC316 -p 0xA2 -v 0x01"
+  - - "SSC SSC2 gatts -I -c 0xC316 -p 0xA2 -v 0x01 -r <dut1_bt_mac>"
     - ["P SSC1 C +GATTC:Indication,0010,A002,C316,1"]
-- ID: BTSTK_GATT_24001
-  <<: *GATT_CASE
-  test point 2: BLE GATT client do invalid read
-  summary: GATT client read to a char without read property
-  steps: |
-    1. DUT1 do service discovery
-    2. DUT1 read to a char without read property
-  expected result: |
-    1. succeed
-    2. failed
-  cmd set:
-  - ""
-  - *primary_service_discovery
-  - - "SSC SSC1 gattc -R -z char -s 0xA000 -c 0xC103 -p 0x10"
-    - ["P SSC1 C +GATTC:Read,ERROR"]
-- ID: BTSTK_GATT_24002
-  <<: *GATT_CASE
-  test point 2: BLE GATT client do invalid read
-  summary: GATT client read to a descriptor without read property
-  steps: |
-    1. DUT1 do service discovery
-    2. DUT1 read to a descriptor without read property
-  expected result: |
-    1. succeed
-    2. failed
-  cmd set:
-  - ""
-  - *primary_service_discovery
-  - - "SSC SSC1 gattc -R -z descriptor -s 0xA000 -c 0xC102 -d 0x2901 -p 0x10"
-    - ["P SSC1 C +GATTC:Read,ERROR"]
 - ID: BTSTK_GATT_24003
   <<: *GATT_CASE
   test point 2: BLE GATT client do invalid read
@@ -1545,13 +936,12 @@ test cases:
     1. succeed
     2. failed
     3. failed
-  initial condition: BLE_CONN3
   cmd set:
   - ""
   - *primary_service_discovery
-  - - "SSC SSC1 gattc -R -z char -s 0xA002 -c 0xC302 -p 0x10"
+  - - "SSC SSC1 gattc -R -z char -s 0xA002 -c 0xC302 -p 0x10 -r <dut2_bt_mac>"
     - ["P SSC1 C +GATTC:Read,ERROR"]
-  - - "SSC SSC1 gattc -R -z char -s 0xA002 -c 0xC312 -p 0x10"
+  - - "SSC SSC1 gattc -R -z char -s 0xA002 -c 0xC312 -p 0x10 -r <dut2_bt_mac>"
     - ["P SSC1 C +GATTC:Read,ERROR"]
 - ID: BTSTK_GATT_24004
   <<: *GATT_CASE
@@ -1565,120 +955,13 @@ test cases:
     1. succeed
     2. failed
     3. failed
-  initial condition: BLE_CONN3
   cmd set:
   - ""
   - *primary_service_discovery
-  - - "SSC SSC1 gattc -R -z descriptor -s 0xA002 -c 0xC303 -d 0x2901 -p 0x10"
+  - - "SSC SSC1 gattc -R -z descriptor -s 0xA002 -c 0xC303 -d 0x2901 -p 0x10 -r <dut2_bt_mac>"
     - ["P SSC1 C +GATTC:Read,ERROR"]
-  - - "SSC SSC1 gattc -R -z descriptor -s 0xA002 -c 0xC313 -d 0x2901 -p 0x10"
+  - - "SSC SSC1 gattc -R -z descriptor -s 0xA002 -c 0xC313 -d 0x2901 -p 0x10 -r <dut2_bt_mac>"
     - ["P SSC1 C +GATTC:Read,ERROR"]
-- ID: BTSTK_GATT_25001
-  <<: *GATT_CASE
-  test point 2: BLE GATT client do invalid write
-  summary: GATT client write with response to a char without write property
-  steps: |
-    1. DUT1 do service discovery
-    2. DUT1 write with response to a char without write property
-  expected result: |
-    1. succeed
-    2. failed
-  cmd set:
-  - ""
-  - *primary_service_discovery
-  - - "SSC SSC1 gattc -W -z char -s 0xA000 -c 0xC100 -p 0x10 -l 1"
-    - ["R SSC1 C +GATTC:Write,ERROR"]
-- ID: BTSTK_GATT_25002
-  <<: *GATT_CASE
-  test point 1: basic function
-  test point 2: BLE GATT client do invalid write
-  summary: GATT client write without response to a char without write property
-  steps: |
-    1. DUT1 do service discovery
-    2. DUT1 write without response to a char without write property
-  expected result: |
-    1. succeed
-    2. succeed (write without response always succeed)
-  cmd set:
-  - ""
-  - *primary_service_discovery
-  - - "SSC SSC1 gattc -W -z char -s 0xA000 -c 0xC100 -p 0x10 -l 1 -w 1"
-    - ["R SSC1 C +GATTC:Write,OK"]
-- ID: BTSTK_GATT_25003
-  <<: *GATT_CASE
-  test point 2: BLE GATT client do invalid write
-  summary: GATT client write to a descriptor without write property
-  steps: |
-    1. DUT1 do service discovery
-    2. DUT1 write to a descriptor without write property
-  expected result: |
-    1. succeed
-    2. failed
-  cmd set:
-  - ""
-  - *primary_service_discovery
-  - - "SSC SSC1 gattc -W -z descriptor -s 0xA000 -c 0xC101 -d 0x2901 -p 0x10 -l 1"
-    - ["R SSC1 C +GATTC:Write,ERROR"]
-- ID: BTSTK_GATT_25004
-  <<: *GATT_CASE
-  test point 2: BLE GATT client do invalid write
-  summary: GATT client prepare write to a char without write property
-  steps: |
-    1. DUT1 do service discovery
-    2. DUT1 prepare write to a char without write property
-  expected result: |
-    1. succeed
-    2. failed
-  cmd set:
-  - ""
-  - *primary_service_discovery
-  - - "SSC SSC1 gattc -W -z longChar -s 0xA000 -c 0xC100 -p 0x10 -l 256"
-    - ["R SSC1 C +GATTC:Write,ERROR"]
-- ID: BTSTK_GATT_25005
-  <<: *GATT_CASE
-  test point 2: BLE GATT client do invalid write
-  summary: GATT client prepare write to a descriptor without write property
-  steps: |
-    1. DUT1 do service discovery
-    2. DUT1 prepare write to a descriptor without write property
-  expected result: |
-    1. succeed
-    2. failed
-  cmd set:
-  - ""
-  - *primary_service_discovery
-  - - "SSC SSC1 gattc -W -z longDescriptor -s 0xA000 -c 0xC101 -d 0x2901 -p 0x10 -l 256"
-    - ["R SSC1 C +GATTC:Write,ERROR"]
-- ID: BTSTK_GATT_25006
-  <<: *GATT_CASE
-  test point 2: BLE GATT client do invalid write
-  summary: GATT client write with response to a char not send response
-  steps: |
-    1. DUT1 do service discovery
-    2. DUT1 write with response to a char not send response
-  expected result: |
-    1. succeed
-    2. failed
-  cmd set:
-  - ""
-  - *primary_service_discovery
-  - - "SSC SSC1 gattc -W -z char -s 0xA000 -c 0xC103 -p 0x10 -v 0x01"
-    - ["R SSC1 C +GATTC:Write,ERROR"]
-- ID: BTSTK_GATT_25007
-  <<: *GATT_CASE
-  test point 2: BLE GATT client do invalid write
-  summary: GATT client write without response to a char will send response
-  steps: |
-    1. DUT1 do service discovery
-    2. DUT1 write without response to a char will send response
-  expected result: |
-    1. succeed
-    2. succeed (write without response always succeed)
-  cmd set:
-  - ""
-  - *primary_service_discovery
-  - - "SSC SSC1 gattc -W -z char -s 0xA000 -c 0xC102 -p 0x10 -v 0x01 -w 1"
-    - ["P SSC1 C +GATTC:WriteOnce"]
 - ID: BTSTK_GATT_25008
   <<: *GATT_CASE
   test point 2: BLE GATT client do invalid write
@@ -1691,13 +974,12 @@ test cases:
     1. succeed
     2. failed
     3. failed
-  initial condition: BLE_CONN3
   cmd set:
   - ""
   - *primary_service_discovery
-  - - "SSC SSC1 gattc -W -z char -s 0xA002 -c 0xC300 -p 0x10 -l 1"
+  - - "SSC SSC1 gattc -W -z char -s 0xA002 -c 0xC300 -p 0x10 -r <dut2_bt_mac> -l 1"
     - ["R SSC1 C +GATTC:Write,ERROR"]
-  - - "SSC SSC1 gattc -W -z char -s 0xA002 -c 0xC310 -p 0x10 -l 1"
+  - - "SSC SSC1 gattc -W -z char -s 0xA002 -c 0xC310 -p 0x10 -r <dut2_bt_mac> -l 1"
     - ["R SSC1 C +GATTC:Write,ERROR"]
 - ID: BTSTK_GATT_25009
   <<: *GATT_CASE
@@ -1711,13 +993,12 @@ test cases:
     1. succeed
     2. succeed (write without response always succeed)
     3. succeed (write without response always succeed)
-  initial condition: BLE_CONN3
   cmd set:
   - ""
   - *primary_service_discovery
-  - - "SSC SSC1 gattc -W -z char -s 0xA002 -c 0xC300 -p 0x10 -l 1 -w 1"
+  - - "SSC SSC1 gattc -W -z char -s 0xA002 -c 0xC300 -p 0x10 -r <dut2_bt_mac> -l 1 -w 1"
     - ["R SSC1 C +GATTC:Write,OK"]
-  - - "SSC SSC1 gattc -W -z char -s 0xA002 -c 0xC300 -p 0x10 -l 1 -w 1"
+  - - "SSC SSC1 gattc -W -z char -s 0xA002 -c 0xC300 -p 0x10 -r <dut2_bt_mac> -l 1 -w 1"
     - ["R SSC1 C +GATTC:Write,OK"]
 - ID: BTSTK_GATT_25010
   <<: *GATT_CASE
@@ -1731,13 +1012,12 @@ test cases:
     1. succeed
     2. failed
     3. failed
-  initial condition: BLE_CONN3
   cmd set:
   - ""
   - *primary_service_discovery
-  - - "SSC SSC1 gattc -W -z descriptor -s 0xA002 -c 0xC302 -d 0x2901 -p 0x10 -l 1"
+  - - "SSC SSC1 gattc -W -z descriptor -s 0xA002 -c 0xC302 -d 0x2901 -p 0x10 -r <dut2_bt_mac> -l 1"
     - ["R SSC1 C +GATTC:Write,ERROR"]
-  - - "SSC SSC1 gattc -W -z descriptor -s 0xA002 -c 0xC312 -d 0x2901 -p 0x10 -l 1"
+  - - "SSC SSC1 gattc -W -z descriptor -s 0xA002 -c 0xC312 -d 0x2901 -p 0x10 -r <dut2_bt_mac> -l 1"
     - ["R SSC1 C +GATTC:Write,ERROR"]
 - ID: BTSTK_GATT_25011
   <<: *GATT_CASE
@@ -1751,13 +1031,12 @@ test cases:
     1. succeed
     2. failed
     3. failed
-  initial condition: BLE_CONN3
   cmd set:
   - ""
   - *primary_service_discovery
-  - - "SSC SSC1 gattc -W -z longChar -s 0xA002 -c 0xC300 -p 0x10 -l 256"
+  - - "SSC SSC1 gattc -W -z longChar -s 0xA002 -c 0xC300 -p 0x10 -r <dut2_bt_mac> -l 256"
     - ["R SSC1 C +GATTC:Write,ERROR"]
-  - - "SSC SSC1 gattc -W -z longChar -s 0xA002 -c 0xC310 -p 0x10 -l 256"
+  - - "SSC SSC1 gattc -W -z longChar -s 0xA002 -c 0xC310 -p 0x10 -r <dut2_bt_mac> -l 256"
     - ["R SSC1 C +GATTC:Write,ERROR"]
 - ID: BTSTK_GATT_25012
   <<: *GATT_CASE
@@ -1771,33 +1050,12 @@ test cases:
     1. succeed
     2. failed
     3. failed
-  initial condition: BLE_CONN3
   cmd set:
   - ""
   - *primary_service_discovery
-  - - "SSC SSC1 gattc -W -z longDescriptor -s 0xA002 -c 0xC302 -d 0x2901 -p 0x10 -l 256"
+  - - "SSC SSC1 gattc -W -z longDescriptor -s 0xA002 -c 0xC302 -d 0x2901 -p 0x10 -r <dut2_bt_mac> -l 256"
     - ["R SSC1 C +GATTC:Write,ERROR"]
-  - - "SSC SSC1 gattc -W -z longDescriptor -s 0xA002 -c 0xC312 -d 0x2901 -p 0x10 -l 256"
-    - ["R SSC1 C +GATTC:Write,ERROR"]
-- ID: BTSTK_GATT_25013
-  <<: *GATT_CASE
-  test point 2: BLE GATT client do invalid write
-  summary: GATT client write with response to a char created by table not send response
-  steps: |
-    1. DUT1 do service discovery
-    2. DUT1 write with response to auto reply char created by table not send response
-    3. DUT1 write with response to app reply char created by table not send response
-  expected result: |
-    1. succeed
-    2. succeed(BLE Spec do not define the behavior of this case. IDF implementation will return success when GATTC write with response and recv response from remote side)
-    3. failed
-  initial condition: BLE_CONN3
-  cmd set:
-  - ""
-  - *primary_service_discovery
-  - - "SSC SSC1 gattc -W -z char -s 0xA002 -c 0xC303 -p 0x10 -v 0x01"
-    - ["R SSC1 C +GATTC:Write,OK,0010,A002,C303"]
-  - - "SSC SSC1 gattc -W -z char -s 0xA002 -c 0xC313 -p 0x10 -v 0x01"
+  - - "SSC SSC1 gattc -W -z longDescriptor -s 0xA002 -c 0xC312 -d 0x2901 -p 0x10 -r <dut2_bt_mac> -l 256"
     - ["R SSC1 C +GATTC:Write,ERROR"]
 - ID: BTSTK_GATT_25014
   <<: *GATT_CASE
@@ -1811,45 +1069,13 @@ test cases:
     1. succeed
     2. succeed (write without response always succeed)
     3. succeed (write without response always succeed)
-  initial condition: BLE_CONN3
   cmd set:
   - ""
   - *primary_service_discovery
-  - - "SSC SSC1 gattc -W -z char -s 0xA002 -c 0xC302 -p 0x10 -v 0x01 -w 1"
+  - - "SSC SSC1 gattc -W -z char -s 0xA002 -c 0xC302 -p 0x10 -r <dut2_bt_mac> -v 0x01 -w 1"
     - ["R SSC1 C +GATTC:Write,OK"]
-  - - "SSC SSC1 gattc -W -z char -s 0xA002 -c 0xC302 -p 0x10 -v 0x01 -w 1"
+  - - "SSC SSC1 gattc -W -z char -s 0xA002 -c 0xC302 -p 0x10 -r <dut2_bt_mac> -v 0x01 -w 1"
     - ["R SSC1 C +GATTC:Write,OK"]
-- ID: BTSTK_GATT_25015
-  <<: *GATT_CASE
-  test point 2: BLE GATT client do invalid write
-  summary: GATT client use write API write to a char won't reply prepare write event
-  steps: |
-    1. DUT1 do service discovery
-    2. DUT1 use write API write to a char reply NULL for prepare write event
-  expected result: |
-    1. succeed
-    2. failed
-  cmd set:
-  - ""
-  - *primary_service_discovery
-  - - "SSC SSC1 gattc -W -z char -p 0x10 -s 0xA000 -c 0xC109 -l 256"
-    - ["R SSC1 C +GATTC:Write,ERROR"]
-- ID: BTSTK_GATT_25016
-  <<: *GATT_CASE
-  test point 2: BLE GATT client do invalid write
-  summary: GATT client write long char value length longer than max length
-  initial condition: BLE_CONN3
-  steps: |
-    1. DUT1 do service discovery
-    2. DUT1 write char value
-  expected result: |
-    1. succeed
-    2. failed
-  cmd set:
-  - ""
-  - *primary_service_discovery
-  - - "SSC SSC1 gattc -W -z longChar -s 0xA002 -c 0xC304 -p 0x10 -l 260"
-    - ["P SSC1 C +GATTC:Write,ERROR"]
 - ID: BTSTK_GATT_25017
   <<: *GATT_CASE
   test point 2: BLE GATT client do invalid write
@@ -1864,60 +1090,8 @@ test cases:
   cmd set:
   - ""
   - *primary_service_discovery
-  - - "SSC SSC1 gattc -W -z char -s 0xA002 -c 0xC302 -l 2"
+  - - "SSC SSC1 gattc -W -z char -s 0xA002 -c 0xC302 -l 2 -r <dut2_bt_mac>"
     - ["P SSC1 C +GATTC:Write,ERROR"]
-- ID: BTSTK_GATT_26001
-  <<: *GATT_CASE
-  test point 2: BLE GATT client set mtu
-  summary: GATT client config different mtu size
-  steps: |
-    1. set mtu size 22
-    2. set mtu size 23
-    3. set mtu size 517
-    4. set mtu size 518
-  expected result: |
-    1. failed
-    2. succeed
-    3. succeed
-    4. failed
-  cmd set:
-  - ""
-  - - "SSC SSC1 bleconn -D -p 0x10"
-    - ["P SSC1 C +BLE:GattcDisconnect,OK", "P SSC2 C +BLE:GattsDisconnect,OK"]
-  - - "SSC SSC1 gattc -S -m 22 "
-    - ["R SSC1 C +GATTC:ERROR"]
-  - - "SSC SSC1 gattc -S -m 23"
-    - ["R SSC1 C +GATTC:OK"]
-  - - "SSC SSC1 gattc -S -m 517"
-    - ["R SSC1 C +GATTC:OK"]
-  - - "SSC SSC1 gattc -S -m 518"
-    - ["R SSC1 C +GATTC:ERROR"]
-- ID: BTSTK_GATT_26002
-  <<: *GATT_CASE
-  test point 2: BLE GATT server set mtu
-  summary: GATT server config different mtu size
-  steps: |
-    1. set mtu size 22
-    2. set mtu size 23
-    3. set mtu size 517
-    4. set mtu size 518
-  expected result: |
-    1. failed
-    2. succeed
-    3. succeed
-    4. failed
-  cmd set:
-  - ""
-  - - "SSC SSC1 bleconn -D -p 0x10"
-    - ["P SSC1 C +BLE:GattcDisconnect,OK", "P SSC2 C +BLE:GattsDisconnect,OK"]
-  - - "SSC SSC2 gatts -C -m 22"
-    - ["R SSC2 C +GATTS:ERROR"]
-  - - "SSC SSC2 gatts -C -m 23"
-    - ["R SSC2 C +GATTS:OK"]
-  - - "SSC SSC2 gatts -C -m 517"
-    - ["R SSC2 C +GATTS:OK"]
-  - - "SSC SSC2 gatts -C -m 518"
-    - ["R SSC2 C +GATTS:ERROR"]
 - ID: BTSTK_GATT_26003
   <<: *GATT_CASE
   test point 2: BLE GATT config mtu
@@ -1930,8 +1104,8 @@ test cases:
     2. succeed
   cmd set:
   - ""
-  - - "SSC SSC1 bleconn -D -p 0x10"
-    - ["P SSC1 C +BLE:GattcDisconnect,OK", "P SSC2 C +BLE:GattsDisconnect,OK"]
+  - - "SSC SSC1 bleconn -D -z all"
+    - ["P SSC1 C +BLECONN:GapDisconnect,OK", "P SSC2 C +BLECONN:GapDisconnect,OK"]
   - - "SSC SSC1 gattc -S -m 365"
     - ["R SSC1 C +GATTC:OK"]
   - - "SSC SSC2 gatts -C -m 261"
@@ -1939,153 +1113,9 @@ test cases:
   - - "SSC SSC2 bleadv -D -z start"
     - ['R SSC2 C +BLEADV:OK']
   - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-    - ['R SSC1 C +BLE:GattcConnect,OK', 'R SSC2 C +BLE:GattsConnect']
-  - - "SSC SSC1 gattc -C"
-    - ["R SSC1 C +GATTC:OK","P SSC[1-2] C ConfigMTU,OK,261"]
-- ID: BTSTK_GATT_26004
-  <<: *GATT_CASE
-  test point 2: BLE GATT client config mtu
-  summary: GATT read write on mtu size 261
-  allow fail: 1/2
-  steps: |
-    1. config mtu size 261
-    2. do read
-    3. do write
-  expected result: |
-    1. succeed
-    2. succeed
-    3. succeed
-  cmd set:
-  - ""
-  - - "SSC SSC1 bleconn -D -p 0x10"
-    - ["P SSC1 C +BLE:GattcDisconnect,OK", "P SSC2 C +BLE:GattsDisconnect,OK"]
-  - - "SSC SSC1 gattc -S -m 261"
-    - ["R SSC1 C +GATTC:OK"]
-  - - "SSC SSC2 gatts -C -m 261"
-    - ["R SSC2 C +GATTS:OK"]
-  - - "SSC SSC2 bleadv -D -z start"
-    - ['R SSC2 C +BLEADV:OK']
-  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-    - ['R SSC1 C +BLE:GattcConnect,OK', 'R SSC2 C +BLE:GattsConnect']
-  - - "SSC SSC1 gattc -C"
+    - ['R SSC1 C +BLECONN:GapConnect,OK', 'R SSC2 C +BLECONN:GapConnect,OK']
+  - - "SSC SSC1 gattc -C -r <dut2_bt_mac>"
     - ["R SSC1 C +GATTC:OK","P SSC[1-2] C ConfigMTU,OK,261"]
-  - *primary_service_discovery
-  - - "SSC SSC1 gattc -R -z char -p 0x10 -s 0xA000 -c 0xC101"
-    - ["R SSC1 C +GATTC:ReadOnce,0010,A000,C101,256"]
-  - - "SSC SSC1 gattc -W -z char -p 0x10 -s 0xA000 -c 0xC109 -l 256"
-    - ["R SSC1 C +GATTC:WriteOnce,0010,A000,C109"]
-  - - "SSC SSC1 gattc -W -z longChar -p 0x10 -s 0xA000 -c 0xC110 -l 512"
-    - ["R SSC1 C +GATTC:Write,OK,0010,A000,C110", "P SSC2 C +GATTS:ReliableWrite,OK"]
-- ID: BTSTK_GATT_26005
-  <<: *GATT_CASE
-  test point 2: BLE GATT client config mtu
-  summary: GATT read write on mtu size 517
-  allow fail: 1/2
-  steps: |
-    1. config mtu size 517
-    2. do read
-    3. do write
-  expected result: |
-    1. succeed
-    2. succeed
-    3. succeed
-  cmd set:
-  - ""
-  - - "SSC SSC1 bleconn -D  -p 0x10"
-    - ["P SSC1 C +BLE:GattcDisconnect,OK", "P SSC2 C +BLE:GattsDisconnect,OK"]
-  - - "SSC SSC1 gattc -S -m 517"
-    - ["R SSC1 C +GATTC:OK"]
-  - - "SSC SSC2 gatts -C -m 517"
-    - ["R SSC2 C +GATTS:OK"]
-  - - "SSC SSC2 bleadv -D -z start"
-    - ['R SSC2 C +BLEADV:OK']
-  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-    - ['R SSC1 C +BLE:GattcConnect,OK', 'R SSC2 C +BLE:GattsConnect']
-  - - "SSC SSC1 gattc -C"
-    - ["P SSC1 C +GATTC:OK", "P SSC[1-2] C ConfigMTU,OK,517"]
-  - *primary_service_discovery
-  - - "SSC SSC1 gattc -R -z char -p 0x10 -s 0xA000 -c 0xC101"
-    - ["R SSC1 C +GATTC:ReadOnce,0010,A000,C101,256"]
-  - - "SSC SSC1 gattc -W -z char -p 0x10 -s 0xA000 -c 0xC109 -l 256"
-    - ["R SSC1 C +GATTC:WriteOnce,0010,A000,C109"]
-  - - "SSC SSC1 gattc -W -z char -p 0x10 -s 0xA000 -c 0xC109 -l 512"
-    - ["R SSC1 C +GATTC:WriteOnce,0010,A000,C109"]
-- ID: BTSTK_GATT_27001
-  <<: *GATT_CASE
-  CI ready: 'No'
-  test point 2: BLE GATT read multiple
-  summary: GATT client read 2 char and 11 char of same service
-  steps: |
-    1. DUT1 do discover
-    2. GATT client read 2 char
-    3. GATT client read 11 char
-  expected result: |
-    1. succeed
-    2. succeed
-    3. succeed
-  cmd set:
-  - ""
-  - *primary_service_discovery
-  - - "SSC SSC1 gattc -R -z multiple -u #0xC100##0xC101# -s 0xA000"
-    - ['R SSC1 C +GATTC:ReadOnce,22', 'R SSC1 C +GATTC:ReadMultiple,OK']
-  - - "SSC SSC1 gattc -R -z multiple -u #0xC100##0xC101##0xC107##0xC108##0xC109##0xC110##0xC100##0xC101##0xC107##0xC108##0xC109# -s 0xA000"
-    - ['R SSC1 C +GATTC:Read,ERROR']
-- ID: BTSTK_GATT_27002
-  <<: *GATT_CASE
-  CI ready: 'No'
-  test point 2: BLE GATT read multiple
-  summary: GATT client read char and descriptor
-  steps: |
-    1. DUT1 do discover
-    2. GATT client read all char and descriptor
-  expected result: |
-    1. succeed
-    2. succeed
-  cmd set:
-  - ""
-  - *primary_service_discovery
-  - - "SSC SSC1 gattc -R -z multiple -u 0xA00xC100#0xA00xC101#0xA00xC1000x29010xA00xC1070x2902"
-    - ['R SSC1 C +GATTC:ReadOnce', 'R SSC1 C +GATTC:ReadMultiple,OK']
-- ID: BTSTK_GATT_27003
-  <<: *GATT_CASE
-  CI ready: 'No'
-  test point 2: BLE GATT read multiple
-  summary: GATT client read char and descriptor of table create service
-  steps: |
-    1. DUT1 do discover
-    2. GATT client read all char and descriptor
-  expected result: |
-    1. succeed
-    2. succeed
-  cmd set:
-  - ""
-  - - "SSC SSC2 gatts -S -z load -p 0xA2"
-    - ['R SSC2 C +GATTS:StartService,OK,A002']
-  - *primary_service_discovery
-  - - "SSC SSC1 gattc -R -z multiple -u 0xA20xC300#0xA20xC301#0xA20xC310#0xA20xC311#"
-    - ['R SSC1 C +GATTC:ReadOnce', 'R SSC1 C +GATTC:ReadMultiple,OK']
-- ID: BTSTK_GATT_27004
-  <<: *GATT_CASE
-  CI ready: 'No'
-  test point 2: BLE GATT read multiple
-  summary: GATT client read char and descriptor of included service and table service
-  initial condition: BLE_INIT2
-  steps: |
-    1. DUT2 load service included service and table service
-    2. DUT1 search service
-    3. GATT client read all char and descriptor of different services
-  expected result: |
-    1. succeed
-    2. succeed
-    3. succeed
-  cmd set:
-  - ""
-  - - "SSC SSC2 gatts -S -z load -p 0xA2"
-    - ['R SSC2 C +GATTS:StartService,OK,A002']
-  - *included_primary_service_connection
-  - *primary_service_discovery
-  - - "SSC SSC1 gattc -R -z multiple -u 0xA10xC200#0xA00xC100#0xA00xC101#0xA20xC300#0xA20xC301#"
-    - ['R SSC1 C +GATTC:ReadOnce', 'R SSC1 C +GATTC:ReadMultiple,OK']
 - ID: BTSTK_GATT_30001
   <<: *GATT_CASE
   test point 2: BLE GATT multi connection service discovery test
@@ -2096,6 +1126,7 @@ test cases:
     1. succeed
   initial condition: BLE_CONN5
   test environment: SSC_T5_1
+  allow fail: 3/5
   cmd set:
   - ""
   - - LOOP 4 1 "[2,3,4,5]"
@@ -2112,6 +1143,7 @@ test cases:
     1. succeed
   initial condition: BLE_CONN6
   test environment: SSC_T5_1
+  allow fail: 3/5
   cmd set:
   - ""
   - - "SSC SSC[2-5] gattc -D -z primaryService -p 0x10 -r <dut1_bt_mac>"
@@ -2128,6 +1160,7 @@ test cases:
     2. succeed
   initial condition: BLE_CONN7
   test environment: SSC_T5_1
+  allow fail: 3/5
   cmd set:
   - ""
   - - LOOP 2 1 "[2,3]"
@@ -2136,23 +1169,6 @@ test cases:
     - ["R SSC1 C +GATTC:Discover,OK"]
   - - "SSC SSC[4-5] gattc -D -z primaryService -p 0x10 -r <dut1_bt_mac>"
     - ["R SSC[4-5] C +GATTC:Discover,OK"]
-- ID: BTSTK_GATT_30004
-  <<: *GATT_CASE
-  test point 2: BLE GATT multi connection service discovery test
-  summary: do primary service discovery when master and slave both create GATTC and GATTS
-  steps: |
-    1. DUT1 do primary service discovery for DUT2
-    2. DUT2 do primary service discovery for DUT1
-  expected result: |
-    1. succeed
-    2. succeed
-  initial condition: BLE_CONN4
-  cmd set:
-  - ""
-  - - "SSC SSC1 gattc -D -z primaryService -p 0x10 -r <dut2_bt_mac>"
-    - ["R SSC1 C +GATTC:Discover,OK"]
-  - - "SSC SSC2 gattc -D -z primaryService -p 0x10 -r <dut1_bt_mac>"
-    - ["R SSC2 C +GATTC:Discover,OK"]
 - ID: BTSTK_GATT_31001
   <<: *GATT_CASE
   test point 2: BLE GATT multi connection read test
@@ -2167,6 +1183,7 @@ test cases:
     3. succeed
   initial condition: BLE_CONN5
   test environment: SSC_T5_1
+  allow fail: 3/5
   cmd set:
   - ""
   - - LOOP 4 3 "[2,3,4,5]" "[2,3,4,5]" "[2,3,4,5]"
@@ -2187,6 +1204,7 @@ test cases:
     1. succeed
   initial condition: BLE_CONN6
   test environment: SSC_T5_1
+  allow fail: 3/5
   cmd set:
   - ""
   - - "SSC SSC[2-5] gattc -D -z primaryService -p 0x10 -r <dut1_bt_mac>"
@@ -2211,6 +1229,7 @@ test cases:
     4. succeed
   initial condition: BLE_CONN7
   test environment: SSC_T5_1
+  allow fail: 3/5
   cmd set:
   - ""
   - - LOOP 2 3 "[2,3]" "[2,3]" "[2,3]"
@@ -2227,29 +1246,6 @@ test cases:
     - ["R SSC[4-5] C +GATTC:ReadOnce,0010,A002,C300,1"]
   - - "SSC SSC[4-5] gattc -R -z char -s 0xA002 -c 0xC301 -p 0x10 -r <dut1_bt_mac>"
     - ["R SSC[4-5] C +GATTC:ReadOnce,0010,A002,C301,256"]
-- ID: BTSTK_GATT_31004
-  <<: *GATT_CASE
-  test point 2: BLE GATT multi connection read test
-  summary: do read when master and slave both create GATTC and GATTS
-  steps: |
-    1. DUT1 do primary service discovery for DUT2
-    2. DUT2 do primary service discovery for DUT1
-    3. DUT1 do read on DUT2
-    4. DUT2 do read on DUT1
-  expected result: |
-    1. succeed
-    2. succeed
-    3. succeed
-    4. succeed
-  initial condition: BLE_CONN4
-  cmd set:
-  - ""
-  - - "SSC SSC[1-2] gattc -D -z primaryService -p 0x10 -r <dut[2-1]_bt_mac>"
-    - ["R SSC[1-2] C +GATTC:Discover,OK"]
-  - - "SSC SSC[1-2] gattc -R -z char -s 0xA002 -c 0xC300 -p 0x10 -r <dut[2-1]_bt_mac>"
-    - ["R SSC[1-2] C +GATTC:ReadOnce,0010,A002,C300,1"]
-  - - "SSC SSC[1-2] gattc -R -z char -s 0xA002 -c 0xC301 -p 0x10 -r <dut[2-1]_bt_mac>"
-    - ["R SSC[1-2] C +GATTC:ReadOnce,0010,A002,C301,256"]
 - ID: BTSTK_GATT_32001
   <<: *GATT_CASE
   test point 2: BLE GATT multi connection write test
@@ -2264,6 +1260,7 @@ test cases:
     3. succeed
   initial condition: BLE_CONN5
   test environment: SSC_T5_1
+  allow fail: 3/5
   cmd set:
   - ""
   - - LOOP 4 3 "[2,3,4,5]" "[2,3,4,5]" "[2,3,4,5]"
@@ -2284,6 +1281,7 @@ test cases:
     1. succeed
   initial condition: BLE_CONN6
   test environment: SSC_T5_1
+  allow fail: 3/5
   cmd set:
   - ""
   - - "SSC SSC[2-5] gattc -D -z primaryService -p 0x10 -r <dut1_bt_mac>"
@@ -2308,6 +1306,7 @@ test cases:
     4. succeed
   initial condition: BLE_CONN7
   test environment: SSC_T5_1
+  allow fail: 3/5
   cmd set:
   - ""
   - - LOOP 2 3 "[2,3]" "[2,3]" "[2,3]"
@@ -2324,29 +1323,6 @@ test cases:
     - ["R SSC[4-5] C +GATTC:Write,OK,0010,A002,C302"]
   - - "SSC SSC[4-5] gattc -W -z char -s 0xA002 -c 0xC304 -l 256 -p 0x10 -r <dut1_bt_mac>"
     - ["R SSC[4-5] C +GATTC:Write,OK,0010,A002,C304"]
-- ID: BTSTK_GATT_32004
-  <<: *GATT_CASE
-  test point 2: BLE GATT multi connection write test
-  summary: do write when master and slave both create GATTC and GATTS
-  steps: |
-    1. DUT1 do primary service discovery for DUT2
-    2. DUT2 do primary service discovery for DUT1
-    3. DUT1 do write on DUT2
-    4. DUT2 do write on DUT1
-  expected result: |
-    1. succeed
-    2. succeed
-    3. succeed
-    4. succeed
-  initial condition: BLE_CONN4
-  cmd set:
-  - ""
-  - - "SSC SSC[1-2] gattc -D -z primaryService -p 0x10 -r <dut[2-1]_bt_mac>"
-    - ["R SSC[1-2] C +GATTC:Discover,OK"]
-  - - "SSC SSC[1-2] -W -z char -s 0xA002 -c 0xC302 -l 1 -p 0x10 -r <dut[2-1]_bt_mac>"
-    - ["R SSC[1-2] C +GATTC:Write,OK,0010,A002,C302"]
-  - - "SSC SSC[1-2] -W -z char -s 0xA002 -c 0xC304 -l 256 -p 0x10 -r <dut[2-1]_bt_mac>"
-    - ["R SSC[1-2] C +GATTC:Write,OK,0010,A002,C304"]
 - ID: BTSTK_GATT_33001
   <<: *GATT_CASE
   test point 2: BLE GATT multi connection notify test
@@ -2361,16 +1337,17 @@ test cases:
     3. DUT1 receive notification on DUT[2-5]
   initial condition: BLE_CONN5
   test environment: SSC_T5_1
+  allow fail: 3/5
   cmd set:
   - ""
-  - - LOOP 4 2 "[2,3,4,5]" "[2,3,4,5]"
+  - - LOOP 4 3 "[2,3,4,5]" "[2,3,4,5]" "[2,3,4,5]" "[2,3,4,5]"
     - ""
   - - "SSC SSC1 gattc -D -z primaryService -p 0x10 -r <dut{%d}_bt_mac>"
     - ["R SSC1 C +GATTC:Discover,OK"]
   - - "SSC SSC1 gattc -N -z register -s 0xA002 -c 0xC305 -p 0x10 -r <dut{%d}_bt_mac>"
     - ["R SSC1 C +GATTC:RegNotify,OK,0010,A002,C305"]
-  - - "SSC SSC[2-5] gatts -N -c 0xC305 -l 1 -p 0xA2 -r <dut1_bt_mac>"
-    - ['P SSC1 RE "\+GATTC:Notification,0010,A002,C305,1,%%s"%%(<dut[2-5]_bt_mac>)']
+  - - "SSC SSC{%d} gatts -N -c 0xC305 -l 1 -p 0xA2 -r <dut1_bt_mac>"
+    - ['P SSC1 RE "\+GATTC:Notification,0010,A002,C305,1,%%s"%%(<dut{%d}_bt_mac>)']
 - ID: BTSTK_GATT_33002
   <<: *GATT_CASE
   test point 2: BLE GATT multi connection notify test
@@ -2385,6 +1362,7 @@ test cases:
     3. DUT[2-5] receive notification
   initial condition: BLE_CONN6
   test environment: SSC_T5_1
+  allow fail: 3/5
   cmd set:
   - ""
   - - "SSC SSC[2-5] gattc -D -z primaryService -p 0x10 -r <dut1_bt_mac>"
@@ -2415,6 +1393,7 @@ test cases:
     6. DUT[4-5] receive notify
   initial condition: BLE_CONN7
   test environment: SSC_T5_1
+  allow fail: 3/5
   cmd set:
   - ""
   - - LOOP 2 2 "[2,3]" "[2,3]"
@@ -2433,29 +1412,6 @@ test cases:
     - ['']
   - - "SSC SSC1 gatts -N -c 0xC305 -l 1 -p 0xA2 -r <dut{%d}_bt_mac>"
     - ['P SSC{%d} RE "\+GATTC:Notification,0010,A002,C305,1,%%s"%%(<dut1_bt_mac>)']
-- ID: BTSTK_GATT_33004
-  <<: *GATT_CASE
-  test point 2: BLE GATT multi connection notify test
-  summary: do notify when master and slave both create GATTC and GATTS
-  steps: |
-    1. DUT1 do primary service discovery for DUT2
-    2. DUT2 do primary service discovery for DUT1
-    3. DUT[1-2] do register notify
-    4. DUT1 and DUT2 send notify to each other
-  expected result: |
-    1. succeed
-    2. succeed
-    3. succeed
-    4. receive notification
-  initial condition: BLE_CONN4
-  cmd set:
-  - ""
-  - - "SSC SSC[1-2] gattc -D -z primaryService -p 0x10 -r <dut[2-1]_bt_mac>"
-    - ["R SSC[1-2] C +GATTC:Discover,OK"]
-  - - "SSC SSC[1-2] gattc -N -z register -s 0xA002 -c 0xC305 -p 0x10 -r <dut[2-1]_bt_mac>"
-    - ["R SSC[1-2] C +GATTC:RegNotify,OK,0010,A002,C305"]
-  - - "SSC SSC[1-2] gatts -N -c 0xC305 -l 1 -p 0xA2 -r <dut[2-1]_bt_mac>"
-    - ['P SSC[1,2] RE "\+GATTC:Notification,0010,A002,C305,1,%%s"%%(<dut[2,1]_bt_mac>)']
 - ID: BTSTK_GATT_34001
   <<: *GATT_CASE
   test point 2: BLE GATT multi connection indicate test
@@ -2470,6 +1426,7 @@ test cases:
     3. DUT1 receive indication on DUT[2-5]
   initial condition: BLE_CONN5
   test environment: SSC_T5_1
+  allow fail: 3/5
   cmd set:
   - ""
   - - LOOP 4 2 "[2,3,4,5]" "[2,3,4,5]"
@@ -2494,6 +1451,7 @@ test cases:
     3. DUT[2-5] receive indication
   initial condition: BLE_CONN6
   test environment: SSC_T5_1
+  allow fail: 3/5
   cmd set:
   - ""
   - - "SSC SSC[2-5] gattc -D -z primaryService -p 0x10 -r <dut1_bt_mac>"
@@ -2524,6 +1482,7 @@ test cases:
     6. DUT[4-5] receive indication
   initial condition: BLE_CONN7
   test environment: SSC_T5_1
+  allow fail: 3/5
   cmd set:
   - ""
   - - LOOP 2 2 "[2,3]" "[2,3]"
@@ -2542,151 +1501,6 @@ test cases:
     - ['']
   - - "SSC SSC1 gatts -I -c 0xC306 -l 1 -p 0xA2 -r <dut{%d}_bt_mac>"
     - ['P SSC{%d} RE "\+GATTC:Indication,0010,A002,C306,1,%%s"%%(<dut1_bt_mac>)']
-- ID: BTSTK_GATT_34004
-  <<: *GATT_CASE
-  test point 2: BLE GATT multi connection indicate test
-  summary: do indicate when master and slave both create GATTC and GATTS
-  steps: |
-    1. DUT1 do primary service discovery for DUT2
-    2. DUT2 do primary service discovery for DUT1
-    3. DUT[1-2] do register indication
-    4. DUT1 and DUT2 send notify to each other
-  expected result: |
-    1. succeed
-    2. succeed
-    3. succeed
-    4. receive indication
-  initial condition: BLE_CONN4
-  cmd set:
-  - ""
-  - - "SSC SSC[1-2] gattc -D -z primaryService -p 0x10 -r <dut[2-1]_bt_mac>"
-    - ["R SSC[1-2] C +GATTC:Discover,OK"]
-  - - "SSC SSC[1-2] gattc -N -z register -s 0xA002 -c 0xC306 -p 0x10 -r <dut[2-1]_bt_mac>"
-    - ["R SSC[1-2] C +GATTC:RegNotify,OK,0010,A002,C306"]
-  - - "SSC SSC[1-2] gatts -I -c 0xC306 -l 1 -p 0xA2 -r <dut[2-1]_bt_mac>"
-    - ['P SSC[1,2] RE "\+GATTC:Indication,0010,A002,C306,1,%%s"%%(<dut[2,1]_bt_mac>)']
-- ID: BTSTK_GATT_40001
-  <<: *GATT_CASE
-  auto test: 'No'
-  test point 2: test if BLE work after switch off some sub modules
-  summary: GATTC only and GATTS only test
-  steps: |
-    1. download GATTC only bin to DUT1 and GATTS only bin to DUT2
-    2. DUT2 start adv, enable service 0xA000, DUT1 connect to DUT2
-    3. DUT1 connect to DUT2
-    4. DUT1 do primary service discovery
-    5. DUT1 do read
-    6. DUT1 do read descriptor
-    7. DUT1 do write
-    8. DUT1 do write descriptor
-    9. DUT1 register for notify and indication
-    10. DUT2 do notify
-    11. DUT2 do indicate
-  expected result: |
-    1. succeed
-    2. succeed
-    3. succeed
-    4. succeed
-    5. succeed
-    6. succeed
-    7. succeed
-    8. succeed
-    9. succeed
-    10. succeed
-    11. succeed
-  initial condition: None
-  execution time: 5
-  CI ready: 'No'
-  cmd set:
-  - ""
-  - - SSC SSC[1-2] reboot
-    - ['R SSC[1-2] C !!!ready!!!']
-  - - SSC SSC[1-2] ble -R
-    - ['R SSC[1-2] C +BLE:OK']
-  - - SSC SSC2 bleadv -D -z start
-    - ['R SSC2 C +BLEADV:OK']
-  - - SSC SSC2 gatts -S -z load -p 0xA0
-    - ['R SSC2 C +GATTS:StartService,OK,A000']
-  - - SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>
-    - ['R SSC1 C +BLE:GattcConnect,OK', 'R SSC2 C +BLE:GattsConnect']
-  - *primary_service_discovery
-  - - "SSC SSC1 gattc -R -z char -s 0xA000 -c 0xC100 -p 0x10"
-    - ["R SSC1 C +GATTC:ReadOnce,0010,A000,C100,1", "R SSC1 C +GATTC:Read,OK,0010,A000,C100"]
-  - - "SSC SSC1 gattc -W -z char -s 0xA000 -c 0xC102 -p 0x10 -v 0x01"
-    - ["R SSC1 C +GATTC:WriteOnce,0010,A000,C102", "R SSC1 C +GATTC:Write,OK,0010,A000,C102"]
-  - - "SSC SSC1 gattc -R -z descriptor -s 0xA000 -c 0xC100 -d 0x2901 -p 0x10"
-    - ["R SSC1 C +GATTC:ReadOnce,0010,A000,C100,2901,256", "R SSC1 C +GATTC:ReadDescriptor,OK,0010,A000,C100,2901"]
-  - - "SSC SSC1 gattc -W -z descriptor -s 0xA000 -c 0xC107 -d 0x2902 -p 0x10 -v 0x0100"
-    - ["R SSC1 C +GATTC:WriteOnce,0010,A000,C107,2902", "R SSC1 C +GATTC:WriteDescriptor,OK,0010,A000,C107,2902"]
-  - *register_notify_c107
-  - *register_indicate_c108
-  - - "SSC SSC1 gattc -W -z descriptor -s 0xA000 -c 0xC107 -d 0x2902 -p 0x10 -v 0x0300 -n 1"
-    - ["R SSC1 C +GATTC:WriteOnce,0010,A000,C107,2902", "R SSC1 C +GATTC:WriteDescriptor,OK,0010,A000,C107,2902"]
-  - - "SSC SSC2 gatts -N -c 0xC107 -p 0xA0 -v 0x01"
-    - ["P SSC2 C +GATTS:Done,Notify,A000,C107", "P SSC1 C +GATTC:Notification,0010,A000,C107,1"]
-  - - "SSC SSC2 gatts -I -c 0xC108 -p 0xA0 -v 0x01"
-    - ["P SSC2 C +GATTS:Done,Indicate,A000,C108", "P SSC1 C +GATTC:Indication,0010,A000,C108,1"]
-- ID: BTSTK_GATT_40002
-  <<: *GATT_CASE
-  auto test: 'No'
-  test point 2: test if BLE work after switch off some sub modules
-  summary: GATTC_SMP only and GATTS_SMP only test
-  steps: |
-    1. download GATTC_SMP bin to DUT1 and GATTS_SMP bin to DUT2
-    2. DUT2 start adv, start service 0xA000, DUT1 connect to DUT2
-    3. DUT1 connect to DUT2
-    4. DUT1 do primary service discovery
-    5. DUT1 do read
-    6. DUT1 do read descriptor
-    7. DUT1 do write
-    8. DUT1 do write descriptor
-    9. DUT1 register for notify and indication
-    10. DUT2 do notify
-    11. DUT2 do indicate
-  expected result: |
-    1. succeed
-    2. succeed
-    3. succeed
-    4. succeed
-    5. succeed
-    6. succeed
-    7. succeed
-    8. succeed
-    9. succeed
-    10. succeed
-    11. succeed
-  initial condition: None
-  execution time: 5
-  CI ready: 'No'
-  cmd set:
-  - ""
-  - - SSC SSC[1-2] reboot
-    - ['R SSC[1-2] C !!!ready!!!']
-  - - SSC SSC[1-2] ble -R
-    - ['R SSC[1-2] C +BLE:OK']
-  - - SSC SSC2 bleadv -D -z start
-    - ['R SSC2 C +BLEADV:OK']
-  - - SSC SSC2 gatts -S -z load -p 0xA0
-    - ['R SSC2 C +GATTS:StartService,OK,A000']
-  - - SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>
-    - ['R SSC1 C +BLE:GattcConnect,OK', 'R SSC2 C +BLE:GattsConnect']
-  - *primary_service_discovery
-  - - "SSC SSC1 gattc -R -z char -s 0xA000 -c 0xC100 -p 0x10"
-    - ["R SSC1 C +GATTC:ReadOnce,0010,A000,C100,1", "R SSC1 C +GATTC:Read,OK,0010,A000,C100"]
-  - - "SSC SSC1 gattc -W -z char -s 0xA000 -c 0xC102 -p 0x10 -v 0x01"
-    - ["R SSC1 C +GATTC:WriteOnce,0010,A000,C102", "R SSC1 C +GATTC:Write,OK,0010,A000,C102"]
-  - - "SSC SSC1 gattc -R -z descriptor -s 0xA000 -c 0xC100 -d 0x2901 -p 0x10"
-    - ["R SSC1 C +GATTC:ReadOnce,0010,A000,C100,2901,256", "R SSC1 C +GATTC:ReadDescriptor,OK,0010,A000,C100,2901"]
-  - - "SSC SSC1 gattc -W -z descriptor -s 0xA000 -c 0xC107 -d 0x2902 -p 0x10 -v 0x0100"
-    - ["R SSC1 C +GATTC:WriteOnce,0010,A000,C107,2902", "R SSC1 C +GATTC:WriteDescriptor,OK,0010,A000,C107,2902"]
-  - *register_notify_c107
-  - *register_indicate_c108
-  - - "SSC SSC1 gattc -W -z descriptor -s 0xA000 -c 0xC107 -d 0x2902 -p 0x10 -v 0x0300 -n 1"
-    - ["R SSC1 C +GATTC:WriteOnce,0010,A000,C107,2902", "R SSC1 C +GATTC:WriteDescriptor,OK,0010,A000,C107,2902"]
-  - - "SSC SSC2 gatts -N -c 0xC107 -p 0xA0 -v 0x01"
-    - ["P SSC2 C +GATTS:Done,Notify,A000,C107", "P SSC1 C +GATTC:Notification,0010,A000,C107,1"]
-  - - "SSC SSC2 gatts -I -c 0xC108 -p 0xA0 -v 0x01"
-    - ["P SSC2 C +GATTS:Done,Indicate,A000,C108", "P SSC1 C +GATTC:Indication,0010,A000,C108,1"]
 - ID: BTSTK_GATT_50001
   <<: *GATT_CASE
   category: Performance
@@ -2869,6 +1683,7 @@ test cases:
     - ""
 - ID: BTSTK_GATT_50007
   <<: *GATT_CASE
+  Test App: SSC_BLE, SSC_PSRAM
   category: Performance
   test point 1: performance + stress
   test point 2: BLE GATT performance test
@@ -3000,6 +1815,7 @@ test cases:
   - - slave_duts = ["SSC1"]
     - ""
 - ID: BTSTK_GATT_50011
+  Test App: SSC_BLE, SSC_PSRAM
   <<: *GATT_CASE
   category: Performance
   test point 1: performance + stress
index c6c34923cd4fc7d0a9fb74374326464802fc85af..bf81c2c83c668c2a7067e9a2ebd21904134b5117 100644 (file)
 .just_work_pair: &just_work_pair
   LIST_MERGE:
     - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-      - ['P SSC1 C +BLE:GattcConnect,OK', 'P SSC2 C +BLE:GattsConnect']
+      - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
     - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
-      - ['P SSC1 C +BLESMP:SecReq']
-    - - "SSC SSC1 blesmp -R -a 1 -r <dut2_bt_mac>"
       - ['P SSC[1-2] C +BLESMP:AuthComplete,Success,0']
 
 .slave_passkey_entry_pair: &slave_passkey_entry_pair
   LIST_MERGE:
     - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-      - ['P SSC1 C +BLE:GattcConnect,OK', 'P SSC2 C +BLE:GattsConnect']
+      - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
     - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
-      - ['P SSC1 C +BLESMP:SecReq']
-    - - "SSC SSC1 blesmp -R -a 1 -r <dut2_bt_mac>"
       - ['P SSC2 C +BLESMP:PassKeyReq', 'P SSC1 A <key>:BLESMP:PassKeyNotify,(\d+)']
     - - "SSC SSC2 blesmp -K -r <dut1_bt_mac> -a 1 -k <key>"
       - ['P SSC[1-2] C +BLESMP:AuthComplete,Success,0']
 .master_passkey_entry_pair: &master_passkey_entry_pair
   LIST_MERGE:
     - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-      - ['P SSC1 C +BLE:GattcConnect,OK', 'P SSC2 C +BLE:GattsConnect']
+      - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
     - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
-      - ['P SSC1 C +BLESMP:SecReq']
-    - - "SSC SSC1 blesmp -R -a 1 -r <dut2_bt_mac>"
       - ['P SSC1 C +BLESMP:PassKeyReq', 'P SSC2 A <key>:BLESMP:PassKeyNotify,(\d+)']
     - - "SSC SSC1 blesmp -K -r <dut2_bt_mac> -a 1 -k <key>"
       - ['P SSC[1-2] C +BLESMP:AuthComplete,Success,0']
 .both_side_passkey_entry_pair: &both_side_passkey_entry_pair
   LIST_MERGE:
     - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-      - ['P SSC1 C +BLE:GattcConnect,OK', 'P SSC2 C +BLE:GattsConnect']
+      - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
     - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
-      - ['P SSC1 C +BLESMP:SecReq']
-    - - "SSC SSC1 blesmp -R -a 1 -r <dut2_bt_mac>"
       - ['P SSC[1,2] C +BLESMP:PassKeyReq']
     - - "SSC SSC[1,2] blesmp -K -r <dut[2,1]_bt_mac> -a 1 -k 123456"
       - ['P SSC[1-2] C +BLESMP:AuthComplete,Success,0']
 .numberic_comparision_pair: &numberic_comparision_pair
   LIST_MERGE:
     - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-      - ['P SSC1 C +BLE:GattcConnect,OK', 'P SSC2 C +BLE:GattsConnect']
+      - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
     - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
-      - ['P SSC1 C +BLESMP:SecReq']
-    - - "SSC SSC1 blesmp -R -a 1 -r <dut2_bt_mac>"
       - ['R SSC2 A <key>:BLESMP:NCReq,(\d+)', 'R SSC1 C NCReq P <key>']
     - - "SSC SSC[1-2] blesmp -C -r <dut[2,1]_bt_mac> -a 1"
       - ['P SSC[1-2] C +BLESMP:AuthComplete,Success,0']
 
 .check_connection: &check_connection
   LIST_MERGE:
-    - - "SSC SSC1 gattc -D -z primaryService -p 0x10"
-      - ["R SSC1 C +GATTC:DiscoverService,A002"]
+    - - "SSC SSC1 gattc -D -z primaryService -p 0x10 -r <dut2_bt_mac>"
+      - ["R SSC1 C +GATTC:Discover,OK"]
 
 .disconnect: &disconnect
   LIST_MERGE:
     - - "SSC SSC1 bleconn -D -z all"
-      - ['P SSC1 C +BLE:GattcDisconnect', 'P SSC2 C +BLE:GattsDisconnect']
+      - ['P SSC1 C +BLECONN:GapDisconnect,OK', 'P SSC2 C +BLECONN:GapDisconnect,OK']
     - - "SSC SSC2 bleadv -D -z start"
       - ['P SSC2 C +BLEADV:OK']
 
-.start_pair: &start_pair
+.connect: &connect
   LIST_MERGE:
     - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-      - ['P SSC1 C +BLE:GattcConnect,OK', 'P SSC2 C +BLE:GattsConnect']
-    - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
-      - ['P SSC1 C +BLESMP:SecReq']
+      - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
 
 .config_just_work: &config_just_work
   LIST_MERGE:
@@ -1657,138 +1645,10 @@ test cases:
   - ""
   - *config_just_work
   - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-    - ['P SSC1 C +BLE:GattcConnect,OK', 'P SSC2 C +BLE:GattsConnect']
+    - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
   - - "SSC SSC1 blesmp -E -r <dut2_bt_mac> -z Enc"
-    - ['P SSC2 C +BLESMP:SecReq']
-  - - "SSC SSC2 blesmp -R -a 1 -r <dut1_bt_mac>"
     - ['P SSC[1-2] C +BLESMP:AuthComplete,Success,0']
   - *check_connection
-- ID: BTSTK_SMP_04001
-  <<: *SMP_CASE
-  test point 2: BLE SMP key test
-  summary: BLE SMP set key size less than required
-  allow fail: 1/2
-  steps: |
-    1. set key size 7
-    2. set key size 6
-    3. do just work pair
-  expected result: |
-    1. succeed
-    2. LTK size is 7
-    3. succeed
-  cmd set:
-  - ""
-  - *config_numberic_comparision
-  - - "SSC SSC1 blesmp -S -z KeySize -v 0x07"
-    - ['P SSC1 C +BLESMP:OK']
-  - - "SSC SSC1 blesmp -S -z KeySize -v 0x06"
-    - ['P SSC1 C +BLESMP:OK']
-  - *start_pair
-  - - "SSC SSC1 blesmp -R -a 1 -r <dut2_bt_mac>"
-    - ['R SSC2 A <key>:BLESMP:NCReq,(\d+)', 'R SSC1 C NCReq P <key>']
-  - - "SSC SSC[1-2] blesmp -C -r <dut[2,1]_bt_mac> -a 1"
-    - ['P SSC[1-2] C +BLESMP:Key,LocalLTK,16 C +BLESMP:AuthComplete,Success,0']
-- ID: BTSTK_SMP_04002
-  <<: *SMP_CASE
-  test point 2: BLE SMP key test
-  summary: BLE SMP set key size greater than required
-  allow fail: 1/2
-  steps: |
-    1. set key size 16
-    2. set key size 17
-    3. do just work pair
-  expected result: |
-    1. succeed
-    2. LTK size is 17
-    3. succeed
-  cmd set:
-  - ""
-  - *config_numberic_comparision
-  - - "SSC SSC1 blesmp -S -z KeySize -v 0x10"
-    - ['P SSC1 C +BLESMP:OK']
-  - - "SSC SSC1 blesmp -S -z KeySize -v 0x11"
-    - ['P SSC1 C +BLESMP:OK']
-  - *start_pair
-  - - "SSC SSC1 blesmp -R -a 1 -r <dut2_bt_mac>"
-    - ['R SSC2 A <key>:BLESMP:NCReq,(\d+)', 'R SSC1 C NCReq P <key>']
-  - - "SSC SSC[1-2] blesmp -C -r <dut[2,1]_bt_mac> -a 1"
-    - ['P SSC[1-2] C +BLESMP:Key,LocalLTK,16 C +BLESMP:AuthComplete,Success,0']
-- ID: BTSTK_SMP_05001
-  <<: *SMP_CASE
-  test point 2: BLE SMP unsuccessful pair reply test
-  summary: BLE SMP unsuccessful passkey entry test
-  steps: |
-    1. enter passkey entry phase
-    2. entry incorrect passkey and accept
-    3. enter passkey entry phase
-    4. entry correct passkey and reject
-    5. enter passkey entry phase
-    6. send numberic comparision accept
-    7. enter passkey entry phase
-    8. send numberic comparision reject
-  expected result: |
-    1. succeed
-    2. pair failed
-    3. succeed
-    4. pair failed
-    5. succeed
-    6. pair failed
-    7. succeed
-    8. pair failed
-  cmd set:
-  - ""
-  - *config_slave_passkey_entry
-  - - LOOP 2 6 "[1,0]" "['000001','<key>']"
-    - ""
-  - *start_pair
-  - - "SSC SSC1 blesmp -R -a 1 -r <dut2_bt_mac>"
-    - ['P SSC2 C +BLESMP:PassKeyReq', 'P SSC1 A <key>:BLESMP:PassKeyNotify,(\d+)']
-  - - "SSC SSC2 blesmp -K -r <dut1_bt_mac> -a {%d} -k {%s}"
-    - ['P SSC[1-2] C +BLESMP:AuthComplete,Fail']
-  - *disconnect
-  - - LOOP 2 6 "[1,0]"
-    - ""
-  - *start_pair
-  - - "SSC SSC1 blesmp -R -a 1 -r <dut2_bt_mac>"
-    - ['P SSC2 C +BLESMP:PassKeyReq', 'P SSC1 A <key>:BLESMP:PassKeyNotify,(\d+)']
-  - - "SSC SSC[1-2] blesmp -C -r <dut[2,1]_bt_mac> -a {%d}"
-    - ['P SSC[1-2] C +BLESMP:AuthComplete,Fail']
-  - *disconnect
-- ID: BTSTK_SMP_05002
-  <<: *SMP_CASE
-  test point 2: BLE SMP unsuccessful pair reply test
-  summary: BLE SMP unsuccessful numberic comparision test
-  steps: |
-    1. enter numberic comparision phase
-    2. entry passkey and accept
-    3. enter numberic comparision phase
-    4. send numberic comparision reject
-  expected result: |
-    1. succeed
-    2. pair failed
-    3. succeed
-    4. pair failed
-  cmd set:
-  - ""
-  - *config_numberic_comparision
-  - - LOOP 2 6 "[1,0]"
-    - ""
-  - *start_pair
-  - - "SSC SSC1 blesmp -R -a 1 -r <dut2_bt_mac>"
-    - ['R SSC2 A <key>:BLESMP:NCReq,(\d+)', 'R SSC1 C NCReq P <key>']
-  - - "SSC SSC2 blesmp -K -r <dut1_bt_mac> -a {%d} -k 000001"
-    - []
-  - - DELAY 10
-    - ['P SSC[1-2] C +BLESMP:AuthComplete,Fail']
-  - *disconnect
-  - - LOOP 2 6 "[1,0]" "[0,1]"
-    - ""
-  - *start_pair
-  - - "SSC SSC1 blesmp -R -a 1 -r <dut2_bt_mac>"
-    - ['R SSC2 A <key>:BLESMP:NCReq,(\d+)', 'R SSC1 C NCReq P <key>']
-  - - "SSC SSC[1,2] blesmp -C -r <dut[2,1]_bt_mac> -a [{%d},{%d}]"
-    - ['P SSC[1-2] C +BLESMP:AuthComplete,Fail']
-  - *disconnect
 - ID: BTSTK_SMP_05003
   <<: *SMP_CASE
   test point 2: BLE SMP unsuccessful pair reply test
@@ -1814,18 +1674,18 @@ test cases:
   cmd set:
   - ""
   - *config_both_side_passkey_entry
-  - - LOOP 2 6 "[1,0]" "['000002','000001']"
+  - - LOOP 2 5 "[1,0]" "['000002','000001']"
     - ""
-  - *start_pair
-  - - "SSC SSC1 blesmp -R -a 1 -r <dut2_bt_mac>"
+  - *connect
+  - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
     - ['R SSC[1,2] C +BLESMP:PassKeyReq']
   - - "SSC SSC2 blesmp -K -r <dut1_bt_mac> -a [1,{%d}] -k [000001,{%s}]"
     - ['P SSC[1-2] C +BLESMP:AuthComplete,Fail']
   - *disconnect
-  - - LOOP 2 6 "[1,0]" "[0,1]"
+  - - LOOP 2 5 "[1,0]" "[0,1]"
     - ""
-  - *start_pair
-  - - "SSC SSC1 blesmp -R -a 1 -r <dut2_bt_mac>"
+  - *connect
+  - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
     - ['P SSC[1,2] C +BLESMP:PassKeyReq']
   - - "SSC SSC[1,2] blesmp -C -r <dut[2,1]_bt_mac> -a [{%d},{%d}]"
     - ['P SSC[1-2] C +BLESMP:AuthComplete,Fail']
@@ -1854,82 +1714,14 @@ test cases:
     8. succeed
   cmd set:
   - ""
-  - *start_pair
-  - - "SSC SSC1 blesmp -R -a 0 -r <dut2_bt_mac>"
+  - *connect
+  - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
     - [""]
   - *disconnect
   - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-    - ['P SSC1 C +BLE:GattcConnect,OK', 'P SSC2 C +BLE:GattsConnect']
+    - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
   - - "SSC SSC1 blesmp -E -r <dut2_bt_mac> -z Enc"
-    - ['P SSC2 C +BLESMP:SecReq']
-  - - "SSC SSC2 blesmp -R -a 0 -r <dut1_bt_mac>"
     - [""]
-- ID: BTSTK_SMP_06001
-  <<: *SMP_CASE
-  test environment: SSC_T1_4
-  initial condition: BLE_DEINIT1
-  test point 2: BLE SMP use API in abnormal state
-  summary: BLE SMP use API when BLE not initialized, not enabled or not registered callback
-  steps: |
-    1. set security parameter
-    2. send security response
-    3. send passkey reply
-    4. send confirm reply
-    5. init BLE
-    6. set security parameter
-    7. send security response
-    8. send passkey reply
-    9. send confirm reply
-    10. init BLE
-    11. set security parameter
-    12. send security response
-    13. send passkey reply
-    14. send confirm reply
-  expected result: |
-    1. failed
-    2. failed
-    3. failed
-    4. failed
-    5. succeed
-    6. failed
-    7. failed
-    8. failed
-    9. failed
-    10. succeed
-    11. failed
-    12. failed
-    13. failed
-    14. failed
-  cmd set:
-  - ""
-  - - "SSC SSC1 blesmp -S -z AuthReqMode -v 0x0C"
-    - ['P SSC1 C +BLESMP:ERROR']
-  - - "SSC SSC1 blesmp -R -a 1 -r <dut1_bt_mac>"
-    - ['P SSC1 C +BLESMP:ERROR']
-  - - "SSC SSC1 blesmp -K -r <dut1_bt_mac> -a 1 -k 123456"
-    - ['P SSC1 C +BLESMP:ERROR']
-  - - "SSC SSC1 blesmp -C -r <dut1_bt_mac> -a 1"
-    - ['P SSC1 C +BLESMP:ERROR']
-  - - SSC SSC1 bt -D -z init
-    - ['R SSC1 C +BT:']
-  - - "SSC SSC1 blesmp -S -z AuthReqMode -v 0x0C"
-    - ['P SSC1 C +BLESMP']
-  - - "SSC SSC1 blesmp -R -a 1 -r <dut1_bt_mac>"
-    - ['P SSC1 C +BLESMP']
-  - - "SSC SSC1 blesmp -K -r <dut1_bt_mac> -a 1 -k 123456"
-    - ['P SSC1 C +BLESMP']
-  - - "SSC SSC1 blesmp -C -r <dut1_bt_mac> -a 1"
-    - ['P SSC1 C +BLESMP']
-  - - SSC SSC1 bt -D -z enable
-    - ['R SSC1 C +BT:']
-  - - "SSC SSC1 blesmp -S -z AuthReqMode -v 0x0C"
-    - ['P SSC1 C +BLESMP']
-  - - "SSC SSC1 blesmp -R -a 1 -r <dut1_bt_mac>"
-    - ['P SSC1 C +BLESMP']
-  - - "SSC SSC1 blesmp -K -r <dut1_bt_mac> -a 1 -k 123456"
-    - ['P SSC1 C +BLESMP']
-  - - "SSC SSC1 blesmp -C -r <dut1_bt_mac> -a 1"
-    - ['P SSC1 C +BLESMP']
 - ID: BTSTK_SMP_06002
   <<: *SMP_CASE
   test point 2: BLE SMP use API in abnormal state
@@ -1945,12 +1737,9 @@ test cases:
   cmd set:
   - ""
   - *config_slave_passkey_entry
-  - *start_pair
-  - - "SSC SSC2 blesmp -K -r <dut1_bt_mac> -a 1 -k <key>"
-    - ['P SSC2 C +BLESMP']
-  - - "SSC SSC2 blesmp -C -r <dut1_bt_mac> -a 1"
-    - ['P SSC2 C +BLESMP']
-  - - "SSC SSC1 blesmp -R -a 1 -r <dut2_bt_mac>"
+  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
+    - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
+  - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
     - ['P SSC2 C +BLESMP:PassKeyReq', 'P SSC1 A <key>:BLESMP:PassKeyNotify,(\d+)']
   - - "SSC SSC2 blesmp -K -r <dut1_bt_mac> -a 1 -k <key>"
     - ['P SSC[1-2] C +BLESMP:AuthComplete,Success,0']
@@ -1969,11 +1758,10 @@ test cases:
   cmd set:
   - ""
   - *config_slave_passkey_entry
-  - *start_pair
-  - - "SSC SSC1 blesmp -R -a 1 -r <dut2_bt_mac>"
+  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
+    - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
+  - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
     - ['P SSC2 C +BLESMP:PassKeyReq', 'P SSC1 A <key>:BLESMP:PassKeyNotify,(\d+)']
-  - - "SSC SSC1 blesmp -R -a 1 -r <dut2_bt_mac>"
-    - ['P SSC1 C +BLESMP']
   - - "SSC SSC2 blesmp -K -r <dut1_bt_mac> -a 1 -k <key>"
     - ['P SSC[1-2] C +BLESMP:AuthComplete,Success,0']
 - ID: BTSTK_SMP_06004
@@ -1993,10 +1781,14 @@ test cases:
   cmd set:
   - ""
   - *config_slave_passkey_entry
-  - *start_pair
+  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
+    - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
+  - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
+    - ['P SSC1 C +BLESMP:SecReq']
   - *disconnect
-  - *start_pair
-  - - "SSC SSC1 blesmp -R -a 1 -r <dut2_bt_mac>"
+  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
+    - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
+  - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
     - ['P SSC2 C +BLESMP:PassKeyReq', 'P SSC1 A <key>:BLESMP:PassKeyNotify,(\d+)']
   - *disconnect
 - ID: BTSTK_SMP_06005
@@ -2016,330 +1808,91 @@ test cases:
   cmd set:
   - ""
   - *config_slave_passkey_entry
-  - *start_pair
+  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
+    - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
+  - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
+    - ['P SSC1 C +BLESMP:SecReq']
   - - "SSC SSC2 bleconn -D -z all"
-    - ['P SSC2 C +BLE:GattsDisconnect', 'P SSC1 C +BLE:GattcDisconnect,OK']
+    - ['P SSC2 C +BLECONN:GapDisconnect,OK', 'P SSC1 C +BLECONN:GapDisconnect,OK']
   - - "SSC SSC2 bleadv -D -z start"
     - ['P SSC2 C +BLEADV:Start,OK']
-  - *start_pair
-  - - "SSC SSC1 blesmp -R -a 1 -r <dut2_bt_mac>"
+  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
+    - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
+  - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
     - ['P SSC2 C +BLESMP:PassKeyReq', 'P SSC1 A <key>:BLESMP:PassKeyNotify,(\d+)']
   - - "SSC SSC2 bleconn -D -z all"
-    - ['P SSC2 C +BLE:GattsDisconnect', 'P SSC1 C +BLE:GattcDisconnect,OK']
+    - ['P SSC2 C +BLECONN:GapDisconnect,OK', 'P SSC1 C +BLECONN:GapDisconnect,OK']
 - ID: BTSTK_SMP_07001
   <<: *SMP_CASE
-  test point 2: BLE SMP no bond test and reconnect
-  summary: BLE SMP initiator with master passkey entry and reconnect
+  test point 2: BLE SMP no bond test and repairing
+  summary: BLE SMP just work pairing and reconnect
   steps: |
-    1. DUT1 and DUT2 SMP with master passkey entry
+    1. DUT1 and DUT2 SMP with just work pair
     2. DUT1 disconnect
     3. DUT1 connect to DUT2
     4. DUT2 send auth request
   expected result: |
     1. succeed
     2. succeed
-    3. connect succeed
+    3. succeed
     4. succeed
   cmd set:
   - ""
-  - *config_master_passkey_entry
+  - *config_just_work
   - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-    - ['P SSC1 C +BLE:GattcConnect,OK', 'P SSC2 C +BLE:GattsConnect']
+    - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
   - - "SSC SSC1 blesmp -E -r <dut2_bt_mac> -z Enc"
-    - ['P SSC2 C +BLESMP:SecReq']
-  - - "SSC SSC2 blesmp -R -a 1 -r <dut1_bt_mac>"
-    - ['P SSC1 C +BLESMP:PassKeyReq', 'P SSC2 A <key>:BLESMP:PassKeyNotify,(\d+)']
-  - - "SSC SSC1 blesmp -K -r <dut2_bt_mac> -a 1 -k <key>"
     - ['P SSC[1-2] C +BLESMP:AuthComplete,Success,0']
   - *disconnect
   - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-    - ['P SSC1 C +BLE:GattcConnect,OK', 'P SSC2 C +BLE:GattsConnect']
+    - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
   - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
     - ['P SSC[1-2] C +BLESMP:AuthComplete,Success']
-- ID: BTSTK_SMP_07002
-  <<: *SMP_CASE
-  test point 2: BLE SMP no bond test and reboot
-  summary: BLE SMP initiator with master passkey entry and reboot
-  steps: |
-    1. DUT1 and DUT2 SMP bond with lagecy pairing
-    2. DUT1 reboot
-    3. DUT1 connect to DUT2
-    4. DUT2 send auth requst
-  expected result: |
-    1. succeed
-    2. succeed
-    3. connect succeed
-    4. fail
-  cmd set:
-  - ""
-  - *config_master_passkey_entry
-  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-    - ['P SSC1 C +BLE:GattcConnect,OK', 'P SSC2 C +BLE:GattsConnect']
-  - - "SSC SSC1 blesmp -E -r <dut2_bt_mac> -z Enc"
-    - ['P SSC2 C +BLESMP:SecReq']
-  - - "SSC SSC2 blesmp -R -a 1 -r <dut1_bt_mac>"
-    - ['P SSC1 C +BLESMP:PassKeyReq', 'P SSC2 A <key>:BLESMP:PassKeyNotify,(\d+)']
-  - - "SSC SSC1 blesmp -K -r <dut2_bt_mac> -a 1 -k <key>"
-    - ['P SSC[1-2] C +BLESMP:AuthComplete,Success,0']
-  - - "SSC SSC[1-2] reboot"
-    - ['P SSC[1-2] C !!!ready!!!']
-  - - "SSC SSC[1-2] ble -R"
-    - ['R SSC[1-2] C +BLE:']
-  - - "SSC SSC2 gatts -S -z load -p 0xA0"
-    - ['R SSC2 C +GATTS:StartService,OK,A000']
-  - - "SSC SSC2 bleadv -L -c 0 -t 3"
-    - ['R SSC2 C +BLEADV:SetAdv,OK']
-  - - "SSC SSC2 bleadv -D -z start"
-    - ['R SSC2 C +BLEADV:OK']
-  - - "SSC SSC[1-2] blesmp -L -c [1,0]"
-    - ['R SSC[1-2] C +BLESMP:OK']
-  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-    - ['P SSC1 C +BLE:GattcConnect,OK', 'P SSC2 C +BLE:GattsConnect']
-  - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
-    - ['P SSC2 C +BLESMP:OK']
-  - - DELAY 10
-    - ['P SSC[1-2] C +BLESMP:AuthComplete,Fail']
 - ID: BTSTK_SMP_07003
   <<: *SMP_CASE
-  test point 2: BLE SMP no bond test and reconnect
-  summary: BLE SMP initiator numberic comparision and reconnect
+  test point 2: BLE SMP no bond test and repairing
+  summary: BLE SMP slave passkey enter and reconnect
   steps: |
-    1. DUT1 and DUT2 SMP with numberic comparision
-    2. DUT1 disconnect
+    1. DUT1 and DUT2 SMP with slave passkey enter
+    2. DUT1 reconnect
     3. DUT1 connect to DUT2
-    4. DUT2 send auth requst
+    4. DUT2 send auth request
   expected result: |
     1. succeed
     2. succeed
-    3. connect succeed
+    3. succeed
     4. succeed
   cmd set:
   - ""
-  - *config_numberic_comparision
-  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-    - ['P SSC1 C +BLE:GattcConnect,OK', 'P SSC2 C +BLE:GattsConnect']
-  - - "SSC SSC1 blesmp -E -r <dut2_bt_mac> -z Enc"
-    - ['P SSC2 C +BLESMP:SecReq']
-  - - "SSC SSC2 blesmp -R -a 1 -r <dut1_bt_mac>"
-    - ['R SSC2 A <key>:BLESMP:NCReq,(\d+)', 'R SSC1 C NCReq P <key>']
-  - - "SSC SSC[1-2] blesmp -C -r <dut[2,1]_bt_mac> -a 1"
-    - ['P SSC[1-2] C +BLESMP:AuthComplete,Success,0']
+  - *config_slave_passkey_entry
+  - *slave_passkey_entry_pair
   - *disconnect
-  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-    - ['P SSC1 C +BLE:GattcConnect,OK', 'P SSC2 C +BLE:GattsConnect']
-  - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
-    - ['P SSC[1-2] C +BLESMP:AuthComplete,Success']
+  - *slave_passkey_entry_pair
 - ID: BTSTK_SMP_07004
   <<: *SMP_CASE
-  test point 2: BLE SMP no bond test and reconnect
-  summary: BLE SMP initiator numberic comparision and reconnect
+  test point 2: BLE SMP no bond test and repairing
+  summary: BLE SMP slave passkey enter and reboot
   steps: |
-    1. DUT1 and DUT2 SMP with numberic comparision
-    2. DUT1 disconnect
-    3. DUT1 and DUT2 reboot
-    4. DUT2 send auth requst
+    1. DUT1 and DUT2 SMP with slave passkey enter
+    2. DUT1 reboot
+    3. DUT1 connect to DUT2
+    4. DUT2 send auth request
   expected result: |
     1. succeed
     2. succeed
-    3. connect succeed
+    3. succeed
     4. failed
   cmd set:
   - ""
-  - *config_numberic_comparision
-  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-    - ['P SSC1 C +BLE:GattcConnect,OK', 'P SSC2 C +BLE:GattsConnect']
-  - - "SSC SSC1 blesmp -E -r <dut2_bt_mac> -z Enc"
-    - ['P SSC2 C +BLESMP:SecReq']
-  - - "SSC SSC2 blesmp -R -a 1 -r <dut1_bt_mac>"
-    - ['R SSC2 A <key>:BLESMP:NCReq,(\d+)', 'R SSC1 C NCReq P <key>']
-  - - "SSC SSC[1-2] blesmp -C -r <dut[2,1]_bt_mac> -a 1"
-    - ['P SSC[1-2] C +BLESMP:AuthComplete,Success,0']
-  - - "SSC SSC[1-2] reboot"
-    - ['P SSC[1-2] C !!!ready!!!']
-  - - "SSC SSC[1-2] ble -R"
-    - ['R SSC[1-2] C +BLE:']
-  - - "SSC SSC2 gatts -S -z load -p 0xA0"
-    - ['R SSC2 C +GATTS:StartService,OK,A000']
-  - - "SSC SSC2 bleadv -L -c 0 -t 3"
-    - ['R SSC2 C +BLEADV:SetAdv,OK']
+  - *config_slave_passkey_entry
+  - *slave_passkey_entry_pair
+  - - "SSC SSC1 reboot"
+    - ['P SSC2 C +BLECONN:GapDisconnect,OK']
+  - - "SSC SSC1 ble -R"
+    - ['R SSC1 C +BLE:']
   - - "SSC SSC2 bleadv -D -z start"
     - ['R SSC2 C +BLEADV:OK']
-  - - "SSC SSC[1-2] blesmp -L -c [1,0]"
-    - ['R SSC[1-2] C +BLESMP:OK']
-  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
-    - ['P SSC1 C +BLE:GattcConnect,OK', 'P SSC2 C +BLE:GattsConnect']
-  - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
-    - ['P SSC2 C +BLESMP:OK']
-  - - DELAY 10
-    - ['P SSC[1-2] C +BLESMP:AuthComplete,Fail']
-- ID: BTSTK_SMP_08001
-  <<: *SMP_CASE
-  test point 2: BLE SMP bond item management test
-  summary: BLE SMP get bond list and number without bond device
-  steps: |
-    1. DUT1 get bond list
-    2. DUT1 get bond number
-  expected result: |
-    1. succeed
-    2. succeed
-  cmd set:
-  - ""
-  - - "SSC SSC1 blesmp -B -z getlist -n 1"
-    - ['P SSC1 C +BLESMP:GetBondList,OK,0']
-  - - "SSC SSC1 blesmp -B -z getnum"
-    - ['P SSC1 C +BLESMP:GetBondNum,0']
-- ID: BTSTK_SMP_08002
-  <<: *SMP_CASE
-  test point 2: BLE SMP bond item management test
-  summary: BLE SMP remove bond after connected
-  steps: |
-   1. DUT2 set AuthReqMode and RspKey
-   2. pairing
-   3. remove bond
-  expected result: |
-   1. Succeed
-   2. Succeed
-   3. Succeed
-  cmd set:
-  - ""
-  - *config_bond_device
-  - - "SSC SSC2 bleadv -D -z start"
-    - ['R SSC2 C +BLEADV:Start,OK']
-  - *start_pair
-  - - "SSC SSC1 blesmp -R -a 1 -r <dut2_bt_mac>"
-    - ['P SSC1 C +BLESMP:AuthComplete,Success,0','P SSC2 C +BLESMP:AuthComplete,Success,0']
-  - - "SSC SSC1 blesmp -B -z getnum"
-    - ['P SSC1 C +BLESMP:GetBondNum,1']
-  - - "SSC SSC1 blesmp -B -z remove -r <dut2_bt_mac>"
-    - ['P SSC1 RE "\+BLESMP:RemoveBond,Success,%%s"%%(<dut2_bt_mac>)']
-- ID: BTSTK_SMP_08003
-  <<: *SMP_CASE
-  test point 2: BLE SMP bond item management test
-  summary: BLE SMP get bond list and number when pairing and after reboot
-  steps: |
-   1. all slaves set AuthReqMode and RspKey
-   2. do pairing
-   3. master and slave get bond list and num
-   4. reboot
-   5. master and slave get bond list and num
-   6. slave remove bond device
-  expected result: |
-   1. Succeed
-   2. Succeed
-   3. Succeed
-   4. succeed
-   5. succeed
-   6. succeed
-  test environment: SSC_T5_1
-  initial condition: BLE_INIT_SMP5
-  cmd set:
-  - ""
-  - - "SSC SSC[2-5] blesmp -S -z AuthReqMode -v 0x01"
-    - ['P SSC[2-5] C +BLESMP:OK']
-  - - "SSC SSC[2-5] blesmp -S -z IOCAP -v 0x03"
-    - ['P SSC[2-5] C +BLESMP:OK']
-  - - "SSC SSC[2-5] blesmp -S -z RspKey -v 0x03"
-    - ['P SSC[2-5] C +BLESMP:OK']
-  - - LOOP 4 4 "[2,3,4,5]" "[2,3,4,5]" "[2,3,4,5]" "[2,3,4,5]" "[2,3,4,5]" "[2,3,4,5]" "[2,3,4,5]"
-    - ""
-  - - "SSC SSC{%d} bleadv -D -z start"
-    - ['R SSC{%d} C +BLEADV:Start,OK']
-  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut{%d}_bt_mac>"
-    - ['P SSC1 C +BLE:GattcConnect,OK', 'P SSC{%d} C +BLE:GattsConnect']
-  - - "SSC SSC{%d} blesmp -E -r <dut1_bt_mac> -z Enc"
-    - ['P SSC1 C +BLESMP:SecReq']
-  - - "SSC SSC1 blesmp -R -a 1 -r <dut{%d}_bt_mac>"
-    - ['P SSC1 C +BLESMP:AuthComplete,Success,0','P SSC{%d} C +BLESMP:AuthComplete,Success,0']
-  - - "SSC SSC1 blesmp -B -z getlist -n 4"
-    - ['P SSC1 C +BLESMP:GetBondList,OK,4']
-  - - "SSC SSC1 blesmp -B -z getnum"
-    - ['P SSC1 C +BLESMP:GetBondNum,4']
-  - - "SSC SSC2 blesmp -B -z getnum"
-    - ['P SSC2 C +BLESMP:GetBondNum,1']
-  - - "SSC SSC[1-2] reboot"
-    - ['R SSC[1-2] C !!!ready!!!']
-  - - "SSC SSC[1-2] ble -R"
-    - ["R SSC[1-2] C +BLE:OK"]
-  - - "SSC SSC1 blesmp -B -z getnum"
-    - ['P SSC1 C +BLESMP:GetBondNum,4']
-  - - "SSC SSC2 blesmp -B -z getnum"
-    - ['P SSC2 C +BLESMP:GetBondNum,1']
-  - - "SSC SSC2 blesmp -B -z remove -r <dut1_bt_mac>"
-    - ['P SSC2 RE "\+BLESMP:RemoveBond,Success,%%s"%%(<dut1_bt_mac>)']
-- ID: BTSTK_SMP_08004
-  <<: *SMP_CASE
-  test point 2: BLE SMP bond item management test
-  summary: BLE SMP remove bond which not bond
-  steps: |
-   1. DUT1 remove bond
-  expected result: |
-   1. failed
-  cmd set:
-  - ""
-  - - "SSC SSC1 blesmp -B -z remove -r <dut2_bt_mac>"
-    - ['P SSC1 C +BLESMP:RemoveBond,Fail']
-- ID: BTSTK_SMP_08005
-  <<: *SMP_CASE
-  test point 2: BLE SMP remove bond
-  summary: BLE SMP bond 15/16 devices and get list
-  steps: |
-   1. DUT2 set AuthReqMode and RspKey
-   2. DUT2 set static random address
-   3. DUT1 and DUT2 do pairing
-   4. loop step 2 and step3 16 times
-   5. get bond list and bond num
-   6. DUT2 set static random address
-   7. DUT1 and DUT2 do pairing
-   8. get bond list and bond num
-  expected result: |
-   1. Succeed
-   2. Succeed
-   3. Succeed
-   4. succeed
-   5. succeed
-   6. succeed
-   7. succeed
-   8. succeed
-  cmd set:
-  - ""
-  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x01"
-    - ['P SSC[1-2] C +BLESMP:OK']
-  - - "SSC SSC[1-2] blesmp -S -z IOCAP -v 0x03"
-    - ['P SSC[1-2] C +BLESMP:OK']
-  - - "SSC SSC[1-2] blesmp -S -z RspKey -v 0x03"
-    - ['P SSC[1-2] C +BLESMP:OK']
-  - - LOOP 15 7 "range(0,15)" "range(0,15)" "range(0,15)"
-    - ""
-  - - "SSC SSC2 bleadv -D -z stop"
-    - ['R SSC2 C +BLEADV:Stop,OK']
-  - - "SSC SSC2 ble -S -z randAddr -a c0:9b:0e:36:6d:7{%x} -r 1"
-    - ["R SSC2 C +BLECONN:SetRandAddr,OK"]
-  - - "SSC SSC2 bleadv -D -z start -o 1"
-    - ['R SSC2 C +BLEADV:Start,OK']
-  - - "SSC SSC1 bleconn -C -p 0x10 -a c0:9b:0e:36:6d:7{%x} -r 1"
-    - ['P SSC1 C +BLE:GattcConnect,OK', 'P SSC2 C +BLE:GattsConnect']
-  - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
-    - ['P SSC1 C +BLESMP:SecReq']
-  - - "SSC SSC1 blesmp -R -a 1 -r c0:9b:0e:36:6d:7{%x}"
-    - ['P SSC1 C +BLESMP:AuthComplete,Success,0','P SSC2 C +BLESMP:AuthComplete,Success,0']
-  - - "SSC SSC1 bleconn -D -z all"
-    - ['P SSC1 C +BLE:CLOSE', 'P SSC2 C +BLE:GattsDisconnect']
-  - - "SSC SSC1 blesmp -B -z getlist -n 16"
-    - ['P SSC1 C +BLESMP:GetBondList,OK,15']
-  - - "SSC SSC2 ble -S -z randAddr -a c1:0a:d3:25:7a:cf -r 1"
-    - ["R SSC2 C +BLECONN:SetRandAddr,OK"]
-  - - "SSC SSC2 bleadv -D -z stop"
-    - ['R SSC2 C +BLEADV:Stop,OK']
-  - - "SSC SSC2 bleadv -D -z start -o 1"
-    - ['R SSC2 C +BLEADV:Start,OK']
-  - - "SSC SSC1 bleconn -C -p 0x10 -a c1:0a:d3:25:7a:cf -r 1"
-    - ['P SSC1 C +BLE:GattcConnect,OK', 'P SSC2 C +BLE:GattsConnect']
-  - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
-    - ['P SSC1 C +BLESMP:SecReq']
-  - - "SSC SSC1 blesmp -R -a 1 -r c1:0a:d3:25:7a:cf"
-    - ['P SSC1 C +BLESMP:AuthComplete,Success,0','P SSC2 C +BLESMP:AuthComplete,Success,0']
-  - - "SSC SSC1 blesmp -B -z getlist -n 16"
-    - ['P SSC1 C +BLESMP:GetBondList,OK,15']
+    - *slave_passkey_entry_pair
 - ID: BTSTK_SMP_50001
   <<: *SMP_CASE
   category: Performance
@@ -2611,3 +2164,25 @@ test cases:
     - ""
   - - "fail_timeout = 10"
     - ""
+- ID: BTSTK_SMP_52001
+  <<: *SMP_CASE
+  category: Performance
+  test point 1: performance + stress
+  test point 2: BLE SMP performance test for bond
+  summary: BLE SMP bond, remove, get bondlist, rebond
+  steps: |
+    1. DUT1 bond 15 devices and get bond list
+    2. DUT1 bond 16th device and get bond list
+    3. rebond removed bond device and get bond list
+    4. remove all bond and get bond list
+    5. loop step 1 to step 4
+  expected result: |
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+  execution time: 2
+  cmd set:
+  - "BLEStress/BLESMPBondPerformance"
+  - - test_time = 120
+    - ""