Просмотр исходного кода

Merge branch 'feature/test_auto_config' into 'master'

Feature/test auto config



See merge request !114

Ivan Grokhotkov 9 лет назад
Родитель
Сommit
bdd67c98d6
28 измененных файлов с 21683 добавлено и 30 удалено
  1. 263 30
      .gitlab-ci.yml
  2. 61 0
      components/idf_test/README.md
  3. 5 0
      components/idf_test/integration_test/CIConfigs/IT_Function_SYS_01.yml
  4. 10 0
      components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_01.yml
  5. 10 0
      components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_02.yml
  6. 10 0
      components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_03.yml
  7. 10 0
      components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_04.yml
  8. 8 0
      components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_05.yml
  9. 5 0
      components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_06.yml
  10. 10 0
      components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_07.yml
  11. 10 0
      components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_08.yml
  12. 10 0
      components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_09.yml
  13. 10 0
      components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_10.yml
  14. 10 0
      components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_11.yml
  15. 6 0
      components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_12.yml
  16. 10 0
      components/idf_test/integration_test/CIConfigs/IT_Function_WIFI_01.yml
  17. 7 0
      components/idf_test/integration_test/CIConfigs/IT_Function_WIFI_02.yml
  18. 6 0
      components/idf_test/integration_test/CIConfigs/IT_Function_WIFI_03.yml
  19. 5 0
      components/idf_test/integration_test/CIConfigs/IT_Function_WIFI_04.yml
  20. 5 0
      components/idf_test/integration_test/CIConfigs/IT_Function_WIFI_05.yml
  21. 7 0
      components/idf_test/integration_test/CIConfigs/IT_Function_WIFI_06.yml
  22. 2935 0
      components/idf_test/integration_test/InitialConditionAll.yml
  23. 66 0
      components/idf_test/integration_test/KnownIssues
  24. 14718 0
      components/idf_test/integration_test/TestCaseAll.yml
  25. 275 0
      components/idf_test/integration_test/TestEnvAll.yml
  26. 2935 0
      components/idf_test/uint_test/InitialConditionAll.yml
  27. 1 0
      components/idf_test/uint_test/TestCaseAll.yml
  28. 275 0
      components/idf_test/uint_test/TestEnvAll.yml

+ 263 - 30
.gitlab-ci.yml

@@ -62,7 +62,7 @@ build_ssc:
     expire_in: 6 mos
 
   script:
-    - git clone ssh://git@gitlab.espressif.cn:27227/yinling/SSC.git
+    - git clone $GITLAB_SSH_SERVER/yinling/SSC.git
     - cd SSC
     - git checkout ${CI_BUILD_REF_NAME} || echo "Using SSC default branch..."
     - make defconfig
@@ -105,47 +105,33 @@ test_build_system:
   script:
     - ./make/test_build_system.sh
 
-
-
-# template for test jobs
-.test_template: &test_template
-  stage: test
-  when: on_success
+test_report:
+  stage: deploy
   only:
     - master
     - triggers
-
+  tags:
+    - test_report
+  allow_failure: true
   variables:
-    # need user to set SDK_NAME and CONFIG_FILE (may need to set BIN_PATH and APP_NAME later) in before_script
-    SCRIPT_PATH: /home/gitlab-runner/auto_test_script
-    BIN_PATH: ${CI_PROJECT_DIR}/SSC/build/
-    APP_NAME: ssc
-    LOG_PATH: $CI_PROJECT_DIR/$CI_BUILD_REF
-    
+    LOG_PATH: "$CI_PROJECT_DIR/$CI_BUILD_REF"
+    TEST_CASE_FILE_PATH: "$CI_PROJECT_DIR/components/idf_test"
+    REPORT_PATH: "$CI_PROJECT_DIR/CI_Test_Report"
   artifacts:
     when: always
     paths:
-      - $LOG_PATH
+      - $REPORT_PATH
     expire_in: 6 mos
-    
   script:
-    - cd $SCRIPT_PATH
-    - python CIRunner.py -l $LOG_PATH -c $SDK_NAME/$CONFIG_FILE bin_path $APP_NAME $BIN_PATH
-
-sanity_test:
-  <<: *test_template
-  tags:
-    - ESP32
-    - SSC_T1_1
-    - SSC_T2_1
-    - SSC_T1_WAN
-  before_script:
-    - SDK_NAME=ESP32_IDF
-    - CONFIG_FILE=sanity_test.yml
+    # clone test bench
+    - git clone $GITLAB_SSH_SERVER/yinling/auto_test_script.git
+    - cd auto_test_script
+    # generate report
+    - python CITestReport.py -l $LOG_PATH -t $TEST_CASE_FILE_PATH -p $REPORT_PATH
 
 
 push_master_to_github:
-  before_script: 
+  before_script:
     - echo "Not setting up GitLab key, not fetching submodules"
   stage: deploy
   only:
@@ -165,3 +151,250 @@ push_master_to_github:
     - echo -e "Host github.com\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
     - git remote add github git@github.com:espressif/esp-idf.git
     - git push --follow-tags github HEAD:master
+
+
+# AUTO GENERATED PART START, DO NOT MODIFY CONTENT BELOW
+# template for test jobs
+.test_template: &test_template
+  stage: test
+  when: on_success
+  only:
+    - master
+    - triggers
+  allow_failure: true
+
+  variables:
+    # LOCAL_ENV_CONFIG_PATH: define in template and jobs can overwrite if required
+    LOCAL_ENV_CONFIG_PATH: /home/gitlab-runner/LocalConfig/ESP32_IDF
+    BIN_PATH: "$CI_PROJECT_DIR/SSC/build/"
+    APP_NAME: "ssc"
+    LOG_PATH: "$CI_PROJECT_DIR/$CI_BUILD_REF"
+    # append test level folder to TEST_CASE_FILE_PATH in before_script of test job
+    TEST_CASE_FILE_PATH: "$CI_PROJECT_DIR/components/idf_test"
+    # jobs MUST set CONFIG_FILE in before_script, and overwrite the variables above if necessary
+
+  artifacts:
+    when: always
+    paths:
+      - $LOG_PATH
+    expire_in: 6 mos
+
+  script:
+    # add gitlab ssh key
+    - mkdir -p ~/.ssh
+    - chmod 700 ~/.ssh
+    - echo -n $GITLAB_KEY > ~/.ssh/id_rsa_base64
+    - base64 --decode --ignore-garbage ~/.ssh/id_rsa_base64 > ~/.ssh/id_rsa
+    - chmod 600 ~/.ssh/id_rsa
+    - echo -e "Host gitlab.espressif.cn\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
+    # clone test bench
+    - git clone $GITLAB_SSH_SERVER/yinling/auto_test_script.git
+    - cd auto_test_script
+    # run test
+    - python CIRunner.py -l $LOG_PATH -c $CONFIG_FILE -e $LOCAL_ENV_CONFIG_PATH -t $TEST_CASE_FILE_PATH bin_path $APP_NAME $BIN_PATH
+
+
+# template for overnight test jobs
+.test_template_night: &test_template_night
+  <<: *test_template
+  only:
+    # can only be triggered
+    - triggers
+  script:
+    # must be night build triggers, otherwise exit without test
+    - test $NIGHT_BUILD = "Yes" || exit 0
+    # add gitlab ssh key
+    - mkdir -p ~/.ssh
+    - chmod 700 ~/.ssh
+    - echo -n $GITLAB_KEY > ~/.ssh/id_rsa_base64
+    - base64 --decode --ignore-garbage ~/.ssh/id_rsa_base64 > ~/.ssh/id_rsa
+    - chmod 600 ~/.ssh/id_rsa
+    - echo -e "Host gitlab.espressif.cn\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
+    # clone test bench
+    - git clone $GITLAB_SSH_SERVER/yinling/auto_test_script.git
+    - cd auto_test_script
+    # run test
+    - python CIRunner.py -l $LOG_PATH -c $CONFIG_FILE -e $LOCAL_ENV_CONFIG_PATH -t $TEST_CASE_FILE_PATH bin_path $APP_NAME $BIN_PATH
+
+IT_Function_SYS_01:
+  <<: *test_template
+  tags:
+    - ESP32_IDF
+    - SSC_T1_1
+  before_script:
+    - TEST_CASE_FILE_PATH=$TEST_CASE_FILE_PATH/integration_test
+    - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_SYS_01.yml
+
+IT_Function_WIFI_01:
+  <<: *test_template
+  tags:
+    - ESP32_IDF
+    - SSC_T1_1
+    - SSC_T2_1
+  before_script:
+    - TEST_CASE_FILE_PATH=$TEST_CASE_FILE_PATH/integration_test
+    - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_WIFI_01.yml
+
+IT_Function_WIFI_02:
+  <<: *test_template
+  tags:
+    - ESP32_IDF
+    - SSC_T1_1
+    - SSC_T2_1
+  before_script:
+    - TEST_CASE_FILE_PATH=$TEST_CASE_FILE_PATH/integration_test
+    - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_WIFI_02.yml
+
+IT_Function_TCPIP_01:
+  <<: *test_template
+  tags:
+    - ESP32_IDF
+    - SSC_T1_1
+    - SSC_T2_1
+  before_script:
+    - TEST_CASE_FILE_PATH=$TEST_CASE_FILE_PATH/integration_test
+    - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_TCPIP_01.yml
+
+IT_Function_TCPIP_02:
+  <<: *test_template
+  tags:
+    - ESP32_IDF
+    - SSC_T1_1
+    - SSC_T2_1
+  before_script:
+    - TEST_CASE_FILE_PATH=$TEST_CASE_FILE_PATH/integration_test
+    - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_TCPIP_02.yml
+
+IT_Function_TCPIP_03:
+  <<: *test_template
+  tags:
+    - ESP32_IDF
+    - SSC_T1_1
+    - SSC_T2_1
+  before_script:
+    - TEST_CASE_FILE_PATH=$TEST_CASE_FILE_PATH/integration_test
+    - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_TCPIP_03.yml
+
+IT_Function_TCPIP_04:
+  <<: *test_template
+  tags:
+    - ESP32_IDF
+    - SSC_T1_1
+    - SSC_T2_1
+  before_script:
+    - TEST_CASE_FILE_PATH=$TEST_CASE_FILE_PATH/integration_test
+    - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_TCPIP_04.yml
+
+IT_Function_TCPIP_05:
+  <<: *test_template
+  tags:
+    - ESP32_IDF
+    - SSC_T1_1
+    - SSC_T2_1
+  before_script:
+    - TEST_CASE_FILE_PATH=$TEST_CASE_FILE_PATH/integration_test
+    - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_TCPIP_05.yml
+
+IT_Function_TCPIP_06:
+  <<: *test_template_night
+  tags:
+    - ESP32_IDF
+    - SSC_T1_1
+  before_script:
+    - TEST_CASE_FILE_PATH=$TEST_CASE_FILE_PATH/integration_test
+    - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_TCPIP_06.yml
+
+IT_Function_WIFI_03:
+  <<: *test_template
+  tags:
+    - ESP32_IDF
+    - SSC_T3_PhyMode
+  before_script:
+    - TEST_CASE_FILE_PATH=$TEST_CASE_FILE_PATH/integration_test
+    - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_WIFI_03.yml
+
+IT_Function_WIFI_04:
+  <<: *test_template
+  tags:
+    - ESP32_IDF
+    - SSC_T1_APC
+  before_script:
+    - TEST_CASE_FILE_PATH=$TEST_CASE_FILE_PATH/integration_test
+    - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_WIFI_04.yml
+
+IT_Function_WIFI_05:
+  <<: *test_template
+  tags:
+    - ESP32_IDF
+    - SSC_T1_WEP
+  before_script:
+    - TEST_CASE_FILE_PATH=$TEST_CASE_FILE_PATH/integration_test
+    - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_WIFI_05.yml
+
+IT_Function_WIFI_06:
+  <<: *test_template
+  tags:
+    - ESP32_IDF
+    - SSC_T2_PhyMode
+  before_script:
+    - TEST_CASE_FILE_PATH=$TEST_CASE_FILE_PATH/integration_test
+    - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_WIFI_06.yml
+
+IT_Function_TCPIP_07:
+  <<: *test_template
+  tags:
+    - ESP32_IDF
+    - SSC_T1_1
+    - SSC_T1_2
+    - SSC_T2_1
+  before_script:
+    - TEST_CASE_FILE_PATH=$TEST_CASE_FILE_PATH/integration_test
+    - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_TCPIP_07.yml
+
+IT_Function_TCPIP_08:
+  <<: *test_template
+  tags:
+    - ESP32_IDF
+    - SSC_T1_1
+  before_script:
+    - TEST_CASE_FILE_PATH=$TEST_CASE_FILE_PATH/integration_test
+    - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_TCPIP_08.yml
+
+IT_Function_TCPIP_09:
+  <<: *test_template
+  tags:
+    - ESP32_IDF
+    - SSC_T1_1
+  before_script:
+    - TEST_CASE_FILE_PATH=$TEST_CASE_FILE_PATH/integration_test
+    - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_TCPIP_09.yml
+
+IT_Function_TCPIP_10:
+  <<: *test_template
+  tags:
+    - ESP32_IDF
+    - SSC_T1_1
+    - SSC_T1_2
+    - SSC_T2_1
+  before_script:
+    - TEST_CASE_FILE_PATH=$TEST_CASE_FILE_PATH/integration_test
+    - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_TCPIP_10.yml
+
+IT_Function_TCPIP_11:
+  <<: *test_template
+  tags:
+    - ESP32_IDF
+    - SSC_T1_1
+  before_script:
+    - TEST_CASE_FILE_PATH=$TEST_CASE_FILE_PATH/integration_test
+    - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_TCPIP_11.yml
+
+IT_Function_TCPIP_12:
+  <<: *test_template
+  tags:
+    - ESP32_IDF
+    - SSC_T1_1
+    - SSC_T1_2
+  before_script:
+    - TEST_CASE_FILE_PATH=$TEST_CASE_FILE_PATH/integration_test
+    - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_TCPIP_12.yml

+ 61 - 0
components/idf_test/README.md

@@ -0,0 +1,61 @@
+
+# Note: The test cases in this folder are for Espressif internal use.
+
+# Goto internal project wiki Testing page for detail about this folder.
+
+## File Structure
+
+```
+test --- CIConfigs --- sanity_test1.yml (Runner config files)
+     |             |-- stress_test1.yml
+     |-- TestCaseAll.yml (TestCaseFiles)
+     |-- TestEnvAll.yml (TestCaseFiles)
+     |-- InitialConditionAll.yml (TestCaseFiles)
+     |-- TestCaseScript --- ... (Test case scripts)
+```
+
+1. CIConfigs folder
+    * config for CI config files are put in this folder
+    * CI config files configs the cases and some other options for the CI job with same name
+1. Test case files
+    * TestCaseAll.yml (test cases)
+    * InitialConditionAll.yml (initial conditions)
+    * TestEnvAll.yml (test environments)
+    * [how to modify test cases](https://gitlab.espressif.cn:6688/yinling/auto_test_script/blob/master/public/Design/TestCaseFiles.DesignNote.md)
+1. Test case scripts
+    * some cases are implemented by specified script. those scripts are put in this folder.
+
+
+## Modify test cases
+
+1. check if the "SDK" of the test case only contain the current SDK
+    * if Yes, then just modify the test case behavior
+    * if No: 
+        1. then remove current SDK name from "SDK" of the test case
+        2. Add a new test case, and set "SDK" only support current SDK name
+2. use [auto_test_script](https://gitlab.espressif.cn:6688/yinling/auto_test_script) to load the modified case and verify the modification
+3. create a merge request and assign to HYL (or add comment @yinling for merging test). 
+After review it will be merged to SDK and will be The cases will be synced to database in auto_test_script.
+
+
+## Run test case locally
+
+1. clone auto_test_script (ssh://git@gitlab.espressif.cn:27227/yinling/auto_test_script.git) from gitlab
+2. create test environment:
+    1. search test case (search test case ID in components/test/TestCaseAll.yml, get the "test environment" value
+    2. goto [test environment list](https://gitlab.espressif.cn:6688/yinling/auto_test_script/blob/master/public/Documents/TestEnvList.md), find the link and goto the environment detail page 
+    3. create test environment according to figure and description
+    4. [config test environment](https://gitlab.espressif.cn:6688/yinling/auto_test_script/blob/master/public/Design/TestEnvConfig.DesignNote.md). All parameters in table "Parameters require config before use" MUST be configured.
+3. run test cases with [CIRunner.py](https://gitlab.espressif.cn:6688/yinling/auto_test_script/blob/master/public/Design/RunnerConfigs.DesignNote.md)
+
+
+
+## exclude known issues for CI
+the test cases listed in file "KnownIssues" will be excluded by CI when calculating results
+
+Editing KnownIssues file is very simple, one single line for the ID for each case.
+```
+TCPIP_TCP_0101
+TCPIP_TCP_0201
+...
+```

+ 5 - 0
components/idf_test/integration_test/CIConfigs/IT_Function_SYS_01.yml

@@ -0,0 +1,5 @@
+Config: {execute count: 1, execute order: in order}
+DUT: [SSC1]
+Filter:
+- Add:
+    ID: [SYS_MISC_0101, SYS_MISC_0201]

+ 10 - 0
components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_01.yml

@@ -0,0 +1,10 @@
+Config: {execute count: 1, execute order: in order}
+DUT: [SSC2, SSC1]
+Filter:
+- Add:
+    ID: [^TCPIP_DHCP_0302, TCPIP_DHCP_0302, TCPIP_DHCP_0301, TCPIP_TCP_0403, TCPIP_TCP_0402,
+      TCPIP_TCP_0401, TCPIP_TCP_0407, TCPIP_TCP_0406, ^TCPIP_TCP_0411, TCPIP_TCP_0404,
+      TCPIP_TCP_0408, TCPIP_TCP_0110, TCPIP_TCP_0115, TCPIP_IP_0101, TCPIP_IP_0102,
+      ^TCPIP_IGMP_0102, ^TCPIP_IGMP_0101, ^TCPIP_IGMP_0104, TCPIP_IGMP_0104, TCPIP_IGMP_0103,
+      TCPIP_IGMP_0102, TCPIP_IGMP_0101, TCPIP_UDP_0108, TCPIP_UDP_0106, TCPIP_UDP_0107,
+      TCPIP_UDP_0105, TCPIP_UDP_0101, TCPIP_IGMP_0204, TCPIP_IGMP_0201, TCPIP_IGMP_0202]

+ 10 - 0
components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_02.yml

@@ -0,0 +1,10 @@
+Config: {execute count: 1, execute order: in order}
+DUT: [SSC2, SSC1]
+Filter:
+- Add:
+    ID: [TCPIP_IGMP_0203, ^TCPIP_TCP_0403, ^TCPIP_TCP_0408, TCPIP_UDP_0201, TCPIP_UDP_0202,
+      ^TCPIP_DHCP_0301, ^TCPIP_TCP_0101, ^TCPIP_TCP_0103, ^TCPIP_TCP_0105, ^TCPIP_TCP_0104,
+      ^TCPIP_TCP_0107, ^TCPIP_TCP_0106, ^TCPIP_DHCP_0210, ^TCPIP_DHCP_0211, ^TCPIP_TCP_0404,
+      TCPIP_TCP_0212, TCPIP_TCP_0210, ^TCPIP_TCP_0406, ^TCPIP_TCP_0407, ^TCPIP_TCP_0401,
+      ^TCPIP_TCP_0210, ^TCPIP_TCP_0212, TCPIP_DHCP_0211, TCPIP_DHCP_0210, TCPIP_DHCP_0101,
+      TCPIP_DHCP_0103, TCPIP_DHCP_0102, TCPIP_DHCP_0206, TCPIP_DHCP_0207, ^TCPIP_IP_0102]

+ 10 - 0
components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_03.yml

@@ -0,0 +1,10 @@
+Config: {execute count: 1, execute order: in order}
+DUT: [SSC2, SSC1]
+Filter:
+- Add:
+    ID: [^TCPIP_UDP_0105, ^TCPIP_UDP_0107, ^TCPIP_UDP_0106, ^TCPIP_UDP_0101, TCPIP_TCP_0203,
+      TCPIP_TCP_0202, ^TCPIP_UDP_0108, ^TCPIP_IGMP_0201, ^TCPIP_IGMP_0203, ^TCPIP_IGMP_0202,
+      ^TCPIP_IGMP_0103, TCPIP_UDP_0114, TCPIP_UDP_0113, TCPIP_UDP_0112, TCPIP_DHCP_0205,
+      TCPIP_DHCP_0202, TCPIP_DHCP_0203, ^TCPIP_TCP_0102, TCPIP_TCP_0106, TCPIP_TCP_0107,
+      TCPIP_TCP_0104, TCPIP_TCP_0105, TCPIP_TCP_0102, TCPIP_TCP_0103, TCPIP_TCP_0101,
+      ^TCPIP_TCP_0116, ^TCPIP_TCP_0114, ^TCPIP_TCP_0115, ^TCPIP_TCP_0112, ^TCPIP_TCP_0113]

+ 10 - 0
components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_04.yml

@@ -0,0 +1,10 @@
+Config: {execute count: 1, execute order: in order}
+DUT: [SSC2, SSC1]
+Filter:
+- Add:
+    ID: [^TCPIP_TCP_0110, ^TCPIP_TCP_0111, TCPIP_DHCP_0209, ^TCPIP_DHCP_0209, ^TCPIP_DHCP_0207,
+      ^TCPIP_DHCP_0206, ^TCPIP_DHCP_0205, ^TCPIP_DHCP_0204, ^TCPIP_DHCP_0203, ^TCPIP_DHCP_0202,
+      ^TCPIP_DHCP_0201, TCPIP_TCP_0204, TCPIP_TCP_0207, TCPIP_TCP_0206, TCPIP_TCP_0201,
+      ^TCPIP_DHCP_0101, ^TCPIP_DHCP_0102, ^TCPIP_DHCP_0103, ^TCPIP_DHCP_0208, TCPIP_TCP_0208,
+      ^TCPIP_TCP_0202, ^TCPIP_TCP_0203, TCPIP_DHCP_0204, ^TCPIP_TCP_0201, ^TCPIP_TCP_0206,
+      ^TCPIP_TCP_0207, ^TCPIP_TCP_0204, TCPIP_DHCP_0201, ^TCPIP_TCP_0208, TCPIP_DHCP_0208]

+ 8 - 0
components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_05.yml

@@ -0,0 +1,8 @@
+Config: {execute count: 1, execute order: in order}
+DUT: [SSC2, SSC1]
+Filter:
+- Add:
+    ID: [^TCPIP_IGMP_0204, ^TCPIP_TCP_0412, TCPIP_TCP_0411, TCPIP_TCP_0412, ^TCPIP_UDP_0112,
+      ^TCPIP_UDP_0113, ^TCPIP_UDP_0114, ^TCPIP_UDP_0202, ^TCPIP_UDP_0201, ^TCPIP_IP_0101,
+      ^TCPIP_TCP_0402, TCPIP_TCP_0114, TCPIP_TCP_0116, TCPIP_TCP_0111, TCPIP_TCP_0113,
+      TCPIP_TCP_0112]

+ 5 - 0
components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_06.yml

@@ -0,0 +1,5 @@
+Config: {execute count: 1, execute order: in order}
+DUT: [SSC1]
+Filter:
+- Add:
+    ID: [TCPIP_TCP_0405, ^TCPIP_TCP_0405]

+ 10 - 0
components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_07.yml

@@ -0,0 +1,10 @@
+Config: {execute count: 1, execute order: in order}
+DUT: [SSC2, SSC1]
+Filter:
+- Add:
+    ID: [TCPIP_ICMP_0101, TCPIP_ICMP_0101, TCPIP_ICMP_0101, TCPIP_ICMP_0101, TCPIP_ICMP_0101,
+      TCPIP_DNS_0102, TCPIP_DNS_0102, TCPIP_DNS_0102, TCPIP_DNS_0102, TCPIP_DNS_0102,
+      TCPIP_DNS_0101, TCPIP_DNS_0101, TCPIP_DNS_0101, TCPIP_DNS_0101, TCPIP_DNS_0101,
+      ^TCPIP_ICMP_0101, ^TCPIP_ICMP_0101, ^TCPIP_ICMP_0101, ^TCPIP_ICMP_0101, ^TCPIP_ICMP_0101,
+      TCPIP_UDP_0109, TCPIP_UDP_0109, TCPIP_UDP_0109, TCPIP_UDP_0109, TCPIP_UDP_0109,
+      TCPIP_UDP_0104, TCPIP_UDP_0104, TCPIP_UDP_0104, TCPIP_UDP_0104, TCPIP_UDP_0104]

+ 10 - 0
components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_08.yml

@@ -0,0 +1,10 @@
+Config: {execute count: 1, execute order: in order}
+DUT: [SSC1]
+Filter:
+- Add:
+    ID: [TCPIP_UDP_0102, TCPIP_UDP_0102, TCPIP_UDP_0102, TCPIP_UDP_0102, TCPIP_UDP_0102,
+      TCPIP_UDP_0103, TCPIP_UDP_0103, TCPIP_UDP_0103, TCPIP_UDP_0103, TCPIP_UDP_0103,
+      ^TCPIP_UDP_0307, ^TCPIP_UDP_0307, ^TCPIP_UDP_0307, ^TCPIP_UDP_0307, ^TCPIP_UDP_0307,
+      ^TCPIP_UDP_0306, ^TCPIP_UDP_0306, ^TCPIP_UDP_0306, ^TCPIP_UDP_0306, ^TCPIP_UDP_0306,
+      ^TCPIP_UDP_0305, ^TCPIP_UDP_0305, ^TCPIP_UDP_0305, ^TCPIP_UDP_0305, ^TCPIP_UDP_0305,
+      ^TCPIP_UDP_0304, ^TCPIP_UDP_0304, ^TCPIP_UDP_0304, ^TCPIP_UDP_0304, ^TCPIP_UDP_0304]

+ 10 - 0
components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_09.yml

@@ -0,0 +1,10 @@
+Config: {execute count: 1, execute order: in order}
+DUT: [SSC1]
+Filter:
+- Add:
+    ID: [^TCPIP_UDP_0303, ^TCPIP_UDP_0303, ^TCPIP_UDP_0303, ^TCPIP_UDP_0303, ^TCPIP_UDP_0303,
+      ^TCPIP_UDP_0302, ^TCPIP_UDP_0302, ^TCPIP_UDP_0302, ^TCPIP_UDP_0302, ^TCPIP_UDP_0302,
+      ^TCPIP_UDP_0301, ^TCPIP_UDP_0301, ^TCPIP_UDP_0301, ^TCPIP_UDP_0301, ^TCPIP_UDP_0301,
+      ^TCPIP_UDP_0104, ^TCPIP_UDP_0104, ^TCPIP_UDP_0104, ^TCPIP_UDP_0104, ^TCPIP_UDP_0104,
+      ^TCPIP_UDP_0103, ^TCPIP_UDP_0103, ^TCPIP_UDP_0103, ^TCPIP_UDP_0103, ^TCPIP_UDP_0103,
+      ^TCPIP_UDP_0102, ^TCPIP_UDP_0102, ^TCPIP_UDP_0102, ^TCPIP_UDP_0102, ^TCPIP_UDP_0102]

+ 10 - 0
components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_10.yml

@@ -0,0 +1,10 @@
+Config: {execute count: 1, execute order: in order}
+DUT: [SSC2, SSC1]
+Filter:
+- Add:
+    ID: [TCPIP_UDP_0111, TCPIP_UDP_0111, TCPIP_UDP_0111, TCPIP_UDP_0111, TCPIP_UDP_0111,
+      TCPIP_UDP_0110, TCPIP_UDP_0110, TCPIP_UDP_0110, TCPIP_UDP_0110, TCPIP_UDP_0110,
+      ^TCPIP_DNS_0101, ^TCPIP_DNS_0101, ^TCPIP_DNS_0101, ^TCPIP_DNS_0101, ^TCPIP_DNS_0101,
+      ^TCPIP_DNS_0103, ^TCPIP_DNS_0103, ^TCPIP_DNS_0103, ^TCPIP_DNS_0103, ^TCPIP_DNS_0103,
+      ^TCPIP_DNS_0102, ^TCPIP_DNS_0102, ^TCPIP_DNS_0102, ^TCPIP_DNS_0102, ^TCPIP_DNS_0102,
+      TCPIP_UDP_0304, TCPIP_UDP_0304, TCPIP_UDP_0304, TCPIP_UDP_0304, TCPIP_UDP_0304]

+ 10 - 0
components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_11.yml

@@ -0,0 +1,10 @@
+Config: {execute count: 1, execute order: in order}
+DUT: [SSC1]
+Filter:
+- Add:
+    ID: [TCPIP_UDP_0305, TCPIP_UDP_0305, TCPIP_UDP_0305, TCPIP_UDP_0305, TCPIP_UDP_0305,
+      TCPIP_UDP_0306, TCPIP_UDP_0306, TCPIP_UDP_0306, TCPIP_UDP_0306, TCPIP_UDP_0306,
+      TCPIP_UDP_0307, TCPIP_UDP_0307, TCPIP_UDP_0307, TCPIP_UDP_0307, TCPIP_UDP_0307,
+      TCPIP_UDP_0301, TCPIP_UDP_0301, TCPIP_UDP_0301, TCPIP_UDP_0301, TCPIP_UDP_0301,
+      TCPIP_UDP_0302, TCPIP_UDP_0302, TCPIP_UDP_0302, TCPIP_UDP_0302, TCPIP_UDP_0302,
+      TCPIP_UDP_0303, TCPIP_UDP_0303, TCPIP_UDP_0303, TCPIP_UDP_0303, TCPIP_UDP_0303]

+ 6 - 0
components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_12.yml

@@ -0,0 +1,6 @@
+Config: {execute count: 1, execute order: in order}
+DUT: [SSC1]
+Filter:
+- Add:
+    ID: [TCPIP_DNS_0103, TCPIP_DNS_0103, TCPIP_DNS_0103, TCPIP_DNS_0103, TCPIP_DNS_0103,
+      ^TCPIP_UDP_0110, ^TCPIP_UDP_0110, ^TCPIP_UDP_0110, ^TCPIP_UDP_0110, ^TCPIP_UDP_0110]

+ 10 - 0
components/idf_test/integration_test/CIConfigs/IT_Function_WIFI_01.yml

@@ -0,0 +1,10 @@
+Config: {execute count: 1, execute order: in order}
+DUT: [SSC2, SSC1]
+Filter:
+- Add:
+    ID: [^WIFI_CONN_0601, ^WIFI_ADDR_0101, WIFI_SCAN_0103, WIFI_SCAN_0102, WIFI_SCAN_0101,
+      WIFI_SCAN_0105, WIFI_SCAN_0104, ^WIFI_CONN_0103, WIFI_CONN_0201, WIFI_CONN_0904,
+      ^WIFI_SCAN_0102, ^WIFI_SCAN_0103, ^WIFI_SCAN_0104, ^WIFI_SCAN_0105, WIFI_CONN_0401,
+      WIFI_ADDR_0101, WIFI_ADDR_0102, WIFI_CONN_0301, ^WIFI_CONN_0801, ^WIFI_CONN_0301,
+      WIFI_CONN_0501, WIFI_CONN_0502, ^WIFI_CONN_0401, WIFI_MODE_0101, WIFI_MODE_0103,
+      WIFI_MODE_0102, ^WIFI_CONN_0904, ^WIFI_CONN_0901, WIFI_CONN_0601, ^WIFI_CONN_0201]

+ 7 - 0
components/idf_test/integration_test/CIConfigs/IT_Function_WIFI_02.yml

@@ -0,0 +1,7 @@
+Config: {execute count: 1, execute order: in order}
+DUT: [SSC2, SSC1]
+Filter:
+- Add:
+    ID: [^WIFI_ADDR_0102, WIFI_CONN_0901, WIFI_CONN_0801, ^WIFI_CONN_0104, WIFI_CONN_0104,
+      WIFI_CONN_0101, WIFI_CONN_0102, WIFI_CONN_0103, ^WIFI_SCAN_0101, ^WIFI_CONN_0101,
+      ^WIFI_CONN_0502, ^WIFI_CONN_0501]

+ 6 - 0
components/idf_test/integration_test/CIConfigs/IT_Function_WIFI_03.yml

@@ -0,0 +1,6 @@
+Config: {execute count: 1, execute order: in order}
+DUT: [SSC3, SSC2, SSC1]
+Filter:
+- Add:
+    ID: [WIFI_PHY_0502, WIFI_PHY_0503, WIFI_PHY_0501, WIFI_PHY_0506, WIFI_PHY_0505,
+      WIFI_PHY_0504]

+ 5 - 0
components/idf_test/integration_test/CIConfigs/IT_Function_WIFI_04.yml

@@ -0,0 +1,5 @@
+Config: {execute count: 1, execute order: in order}
+DUT: [SSC1]
+Filter:
+- Add:
+    ID: [^WIFI_CONN_0902, WIFI_CONN_0902]

+ 5 - 0
components/idf_test/integration_test/CIConfigs/IT_Function_WIFI_05.yml

@@ -0,0 +1,5 @@
+Config: {execute count: 1, execute order: in order}
+DUT: [SSC1]
+Filter:
+- Add:
+    ID: [^WIFI_CONN_0903, WIFI_CONN_0903]

+ 7 - 0
components/idf_test/integration_test/CIConfigs/IT_Function_WIFI_06.yml

@@ -0,0 +1,7 @@
+Config: {execute count: 1, execute order: in order}
+DUT: [SSC2, SSC1]
+Filter:
+- Add:
+    ID: [WIFI_SCAN_0301, WIFI_SCAN_0303, WIFI_SCAN_0304, WIFI_SCAN_0302, WIFI_SCAN_0201,
+      WIFI_PHY_0403, WIFI_PHY_0402, WIFI_PHY_0401, WIFI_PHY_0407, WIFI_PHY_0406, WIFI_PHY_0405,
+      WIFI_PHY_0404, WIFI_PHY_0408]

+ 2935 - 0
components/idf_test/integration_test/InitialConditionAll.yml

@@ -0,0 +1,2935 @@
+initial condition:
+- check cmd set:
+  - ''
+  - - SSC SSC1 op -Q
+    - ['R SSC1 C +CURMODE:2']
+  - - SSC SSC1 ap -Q
+    - ['R SSC1 RE "\+APCONFIG:%%s,%%s,\d+,\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>]
+  force restore cmd set:
+  - ''
+  - - SSC SSC1 reboot
+    - [R SSC1 C !!!ready!!!]
+  - - 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>
+    - ['R SSC1 C +SAP:OK']
+  initial condition detail: AP mode, DHCP on, will autogen a TC with initial condition
+    APSTA1
+  restore cmd set:
+  - ''
+  - - 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>
+    - ['R SSC1 C +SAP:OK']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 soc -T
+    - [R SSC1 C +CLOSEALL]
+  - - SSC SSC1 ram
+    - ['R SSC1 C +FREEHEAP:']
+  script path: InitCondBase.py
+  start: 31.0
+  tag: APM1
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - SSC SSC1 op -Q
+    - ['R SSC1 C +CURMODE:2']
+  - - SSC SSC1 ap -Q
+    - ['R SSC1 RE "\+APCONFIG:%%s,%%s,\d+,\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>]
+  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>
+    - ['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']
+  initial condition detail: AP mode, PC join AP, DHCP on, will autogen a TC with initial
+    condition APSTA2
+  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>
+    - ['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']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 soc -T
+    - [R SSC1 C +CLOSEALL]
+  - - SSC SSC1 ram
+    - ['R SSC1 C +FREEHEAP:']
+  script path: InitCondBase.py
+  start: 38.0
+  tag: APM2
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - SSC SSC1 op -Q
+    - ['R SSC1 C +CURMODE:2']
+  - - SSC SSC1 ap -Q
+    - ['R SSC1 RE "\+APCONFIG:%%s,%%s,\d+,\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>]
+  force restore cmd set:
+  - ''
+  - - SSC SSC1 reboot
+    - [R SSC1 C !!!ready!!!]
+  - - 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>
+    - ['R SSC1 C +SAP:OK']
+  initial condition detail: AP mode, will NOT autogen a TC with initial condition
+    APSTA1
+  restore cmd set:
+  - ''
+  - - 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>
+    - ['R SSC1 C +SAP:OK']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 soc -T
+    - [R SSC1 C +CLOSEALL]
+  - - SSC SSC1 ram
+    - ['R SSC1 C +FREEHEAP:']
+  script path: InitCondBase.py
+  start: 31.0
+  tag: APO1
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - SSC SSC1 op -Q
+    - ['R SSC1 C +CURMODE:2']
+  - - SSC SSC1 ap -Q
+    - ['R SSC1 RE "\+APCONFIG:%%s,%%s,\d+,\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>]
+  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>
+    - ['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']
+  initial condition detail: AP mode, will NOT autogen a TC with initial condition
+    APSTA2
+  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>
+    - ['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']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 soc -T
+    - [R SSC1 C +CLOSEALL]
+  - - SSC SSC1 ram
+    - ['R SSC1 C +FREEHEAP:']
+  script path: InitCondBase.py
+  start: 38.0
+  tag: APO2
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - 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']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 upgrade -D
+    - ['R SSC1 C +UPGRADE:OK']
+  - - SSC SSC1 ram
+    - ['R SSC1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 31.0
+  tag: APOBIN0
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - SSC SSC1 op -Q
+    - ['R SSC1 C +CURMODE:3']
+  - - SSC SSC1 ap -Q
+    - ['R SSC1 RE "\+APCONFIG:%%s,%%s,\d+,\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>]
+  force restore cmd set:
+  - ''
+  - - SSC SSC1 reboot
+    - [R SSC1 C !!!ready!!!]
+  - - SSC SSC1 op -S -o 3
+    - ['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>
+    - ['R SSC1 C +SAP:OK']
+  initial condition detail: testing ap on sta + ap mode (autogen by APM1)
+  restore cmd set:
+  - ''
+  - - SSC SSC1 op -S -o 3
+    - ['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>
+    - ['R SSC1 C +SAP:OK']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 soc -T
+    - [R SSC1 C +CLOSEALL]
+  - - SSC SSC1 ram
+    - ['R SSC1 C +FREEHEAP:']
+  script path: InitCondBase.py
+  start: 59.0
+  tag: APSTA1
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - SSC SSC1 op -Q
+    - ['R SSC1 C +CURMODE:3']
+  - - SSC SSC1 ap -Q
+    - ['R SSC1 RE "\+APCONFIG:%%s,%%s,\d+,\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>]
+  force restore cmd set:
+  - ''
+  - - SSC SSC1 reboot
+    - [R SSC1 C !!!ready!!!]
+  - - SSC SSC1 op -S -o 3
+    - ['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>
+    - ['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']
+  initial condition detail: testing ap on sta + ap mode,  PC join AP (autogen by APM2)
+  restore cmd set:
+  - ''
+  - - SSC SSC1 op -S -o 3
+    - ['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>
+    - ['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']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 soc -T
+    - [R SSC1 C +CLOSEALL]
+  - - SSC SSC1 ram
+    - ['R SSC1 C +FREEHEAP:']
+  script path: InitCondBase.py
+  start: 66.0
+  tag: APSTA2
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 L +CWMODE_CUR:3']
+  - - ATS AT1 AT+CWLIF
+    - [R AT1 P <pc_ip>]
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - DELAY 5
+    - ['']
+  - - ATC AT1 CWSAP_DEF <target_ssid> <target_password> <target_channel> <target_auth_enum>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
+      <target_encryption>
+    - ['R PC_COM NC ERROR C +WIFICONN:OK']
+  - - ATS AT1 AT+CWLIF
+    - [R AT1 P <pc_ip>]
+  initial condition detail: StationSoftAP mode
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWLIF
+    - [R AT1 P <pc_ip>]
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 24.0
+  tag: ATAP1
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 C +CWMODE_CUR:3 L OK']
+  - - ATS AT1 AT+CWLIF
+    - [R AT1 P <pc_ip>]
+  - - ATS AT1 AT+CIPMUX?
+    - ['R AT1 L +CIPMUX:1']
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - DELAY 5
+    - ['']
+  - - ATC AT1 CWSAP_DEF <target_ssid> <target_password> <target_channel> <target_auth_enum>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
+      <target_encryption>
+    - ['R PC_COM NC ERROR C +WIFICONN:OK']
+  - - ATS AT1 AT+CWLIF
+    - [R AT1 P <pc_ip>]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  initial condition detail: StationSoftAP mode, PC join Target AP, multi link, use
+    dhcp
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMODE=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=1
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWLIF
+    - [R AT1 P <pc_ip>]
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 31.0
+  tag: ATAP3
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 C +CWMODE_CUR:3 L OK']
+  - - ATS AT1 AT+CWLIF
+    - [R AT1 P <pc_ip>]
+  - - ATS AT1 AT+CIPMUX?
+    - ['R AT1 L +CIPMUX:0']
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMODE=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWDHCP_DEF=1,1
+    - [R AT1 R *]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - DELAY 10
+    - ['']
+  - - ATC AT1 CWSAP_DEF <target_ssid> <target_password> <target_channel> <target_auth_enum>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
+      <target_encryption>
+    - ['R PC_COM NC ERROR C +WIFICONN:OK']
+  - - ATS AT1 AT+CWLIF
+    - [R AT1 P <pc_ip>]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=0
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  initial condition detail: StationSoftAP mode, PC join Target AP, single link, use
+    dhcp
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=0
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMODE=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWLIF
+    - [R AT1 P <pc_ip>]
+  - - ATS AT1 AT+CWDHCP_DEF=1,1
+    - [R AT1 R *]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 45.0
+  tag: ATAP4
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT
+    - [R AT1 L OK]
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+RST
+    - [R AT1 L OK]
+  initial condition detail: StationSoftAP mode, both PC join Target AP, single link,
+    use dhcp
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 3.0
+  tag: ATAP5
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT
+    - [R AT1 L OK]
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+RST
+    - [R AT1 L OK]
+  initial condition detail: StationSoftAP mode, both PC join Target AP, multi link,
+    use dhcp
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 3.0
+  tag: ATAP6
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 L +CWMODE_CUR:2']
+  - - ATS AT1 AT+CWDHCP_DEF=0,1
+    - [R AT1 R *]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=2
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=0,1
+    - [R AT1 R *]
+  initial condition detail: SoftAP mode, use dhcp
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=2
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=0,1
+    - [R AT1 R *]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 59.0
+  tag: ATAPO1
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 C +CWMODE_CUR:2 L OK']
+  - - ATS AT1 AT+CWLIF
+    - [R AT1 P <pc_ip>]
+  - - ATS AT1 AT+CIPMUX?
+    - ['R AT1 L +CIPMUX:1']
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWDHCP_DEF=0,1
+    - [R AT1 R *]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=2
+    - [R AT1 L OK]
+  - - ATC AT1 CWSAP_DEF <target_ssid> <target_password> <target_channel> <target_auth_enum>
+    - [R AT1 L 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']
+  - - ATS AT1 AT+CWLIF
+    - [R AT1 P <pc_ip>]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWDHCP_DEF=0,1
+    - [R AT1 R *]
+  initial condition detail: SoftAP mode, PC join Target AP, multi link, use dhcp
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=2
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMODE=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=1
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWLIF
+    - [R AT1 P <pc_ip>]
+  - - ATS AT1 AT+CWDHCP_DEF=0,1
+    - [R AT1 R *]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 66.0
+  tag: ATAPO3
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 C +CWMODE_CUR:2 L OK']
+  - - ATS AT1 AT+CWLIF
+    - [R AT1 P <pc_ip>]
+  - - ATS AT1 AT+CIPMUX?
+    - ['R AT1 L +CIPMUX:0']
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMODE=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWDHCP_DEF=0,1
+    - [R AT1 R *]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=2
+    - [R AT1 L OK]
+  - - ATC AT1 CWSAP_DEF <target_ssid> <target_password> <target_channel> <target_auth_enum>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=0,1
+    - [R AT1 R *]
+  - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
+      <target_encryption>
+    - ['R PC_COM NC ERROR C +WIFICONN:OK']
+  - - ATS AT1 AT+CWLIF
+    - [R AT1 P <pc_ip>]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=0
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  initial condition detail: SoftAP mode, PC join Target AP, single link, use dhcp
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=2
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=0
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMODE=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWLIF
+    - [R AT1 P <pc_ip>]
+  - - ATS AT1 AT+CWDHCP_DEF=0,1
+    - [R AT1 R *]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 73.0
+  tag: ATAPO4
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT
+    - [R AT1 L OK]
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+RST
+    - [R AT1 L OK]
+  initial condition detail: SoftAP mode, both PC join Target AP, single link, use
+    dhcp
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 3.0
+  tag: ATAPO5
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT
+    - [R AT1 L OK]
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+RST
+    - [R AT1 L OK]
+  initial condition detail: SoftAP mode, both PC join Target AP, multi link, use dhcp
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 3.0
+  tag: ATAPO6
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 L +CWMODE_CUR:3']
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  initial condition detail: StationSoftAP mode
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 87.0
+  tag: ATAPSTA1
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 L +CWMODE_CUR:3']
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  initial condition detail: StationSoftAP mode, DHCP client on
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 87.0
+  tag: ATAPSTA2
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 L +CWMODE_CUR:3']
+  - - ATS AT1 AT+CWJAP_CUR?
+    - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
+  - - ATS AT1 AT+CIPMUX?
+    - ['R AT1 L +CIPMUX:1']
+  - - ATS AT1 AT+CWDHCP_CUR?
+    - ['R AT1 C DHCP:3']
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  initial condition detail: StationSoftAP mode, connected to AP, multi link, use dhcp
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMODE=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 94.0
+  tag: ATAPSTA3
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 L +CWMODE_CUR:3']
+  - - ATS AT1 AT+CWJAP_CUR?
+    - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
+  - - ATS AT1 AT+CIPMUX?
+    - ['R AT1 L +CIPMUX:0']
+  - - ATS AT1 AT+CWDHCP_CUR?
+    - ['R AT1 C DHCP:3']
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMODE=0
+    - [R AT1 R *]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=0
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  initial condition detail: StationSoftAP mode, connected to AP, single link, use
+    dhcp
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=0
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMODE=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 101.0
+  tag: ATAPSTA4
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 L +CWMODE_CUR:3']
+  - - ATS AT1 AT+CWJAP_CUR?
+    - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
+  - - ATS AT1 AT+CIPMUX?
+    - ['R AT1 L +CIPMUX:1']
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATC AT1 CIPSTA_DEF <target_static_ip>
+    - [R AT1 L OK]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATC AT1 CIPSTA_DEF <target_static_ip>
+    - [R AT1 L OK]
+  initial condition detail: StationSoftAP mode, connected to AP, multi link, use static
+    ip
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMODE=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATC AT1 CIPSTA_DEF <target_static_ip>
+    - [R AT1 L OK]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 129.0
+  tag: ATAPSTA5
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 L +CWMODE_CUR:3']
+  - - ATS AT1 AT+CWJAP_CUR?
+    - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
+  - - ATS AT1 AT+CIPMUX?
+    - ['R AT1 L +CIPMUX:0']
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMODE=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPSTA_DEF <target_static_ip>
+    - [R AT1 L OK]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=0
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATC AT1 CIPSTA_DEF <target_static_ip>
+    - [R AT1 L OK]
+  initial condition detail: StationSoftAP mode, connected to AP, single link, use
+    static ip
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=0
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMODE=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPSTA_DEF <target_static_ip>
+    - [R AT1 L OK]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 136.0
+  tag: ATAPSTA6
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT
+    - [R AT1 L OK]
+  - - ATS AT1 AT+RESTORE
+    - [R AT1 L OK, R AT1 C ready]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT
+    - [R AT1 L OK]
+  - - ATS AT1 AT+RESTORE
+    - [R AT1 L OK, R AT1 C ready]
+  initial condition detail: 'first time usage. Use restore function. '
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+RESTORE
+    - [R AT1 L OK, R AT1 C ready]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 143.0
+  tag: ATFTU
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT
+    - [R AT1 L OK]
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+RST
+    - [R AT1 L OK]
+  initial condition detail: none
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 3.0
+  tag: ATNone
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - DELAY 0.1
+    - [dummy]
+  force restore cmd set:
+  - ''
+  - - DELAY 0.1
+    - [dummy]
+  initial condition detail: none 2
+  restore cmd set:
+  - ''
+  - - DELAY 0.1
+    - [dummy]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 108.0
+  tag: ATNone2
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 L +CWMODE_CUR:1']
+  - - ATS AT1 AT+CWDHCP_DEF=1,1
+    - [R AT1 L OK]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=1,1
+    - [R AT1 L OK]
+  initial condition detail: same as STA1, but will not autogen STA+AP STA test case
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=1,1
+    - [R AT1 L OK]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 10.0
+  tag: ATOSTA1
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 L +CWMODE_CUR:1']
+  - - ATS AT1 AT+CWJAP_CUR?
+    - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
+  - - ATS AT1 AT+CIPMUX?
+    - ['R AT1 L +CIPMUX:0']
+  - - ATS AT1 AT+CWDHCP_CUR?
+    - ['R AT1 C DHCP:3']
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMODE=0
+    - [R AT1 R *]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=1,1
+    - [R AT1 R *]
+  - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=0
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  initial condition detail: same as STA4, but will not autogen STA+AP STA test case
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=1,1
+    - [R AT1 R *]
+  - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=0
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMODE=0
+    - [R AT1 R *]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 17.0
+  tag: ATOSTA4
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 C +CWMODE_CUR:3 C OK']
+  - - ATS AT2 AT+CWMODE_CUR?
+    - ['R AT2 C +CWMODE_CUR:1 C OK']
+  - - ATS AT1 AT+CWJAP_CUR?
+    - [R AT1 NC OK L ERROR]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - ATS AT2 AT+CWMODE_DEF=1
+    - [R AT2 L OK]
+  - - ATS AT1 AT+CWQAP
+    - [R AT1 L OK]
+  initial condition detail: same as OT2_1, but will not autogen STA+AP STA test case
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - ATS AT2 AT+CWMODE_DEF=1
+    - [R AT2 L OK]
+  - - ATS AT1 AT+CWQAP
+    - [R AT1 L OK]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 52.0
+  tag: ATOT2_1
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 L +CWMODE_CUR:1']
+  - - ATS AT1 AT+CWDHCP_DEF=1,1
+    - [R AT1 L OK]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=1,1
+    - [R AT1 L OK]
+  initial condition detail: station mode, use dhcp
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=1,1
+    - [R AT1 L OK]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 10.0
+  tag: ATSTA1
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 L +CWMODE_CUR:1']
+  - - ATS AT1 AT+CWDHCP_DEF=1,1
+    - [R AT1 L OK]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=1,1
+    - [R AT1 L OK]
+  initial condition detail: station mode, DHCP client on, use dhcp
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=1,1
+    - [R AT1 L OK]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 10.0
+  tag: ATSTA2
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 L +CWMODE_CUR:1']
+  - - ATS AT1 AT+CWJAP_CUR?
+    - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
+  - - ATS AT1 AT+CIPMUX?
+    - ['R AT1 L +CIPMUX:1']
+  - - ATS AT1 AT+CWDHCP_CUR?
+    - ['R AT1 C DHCP:3']
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=1,1
+    - [R AT1 R *]
+  - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  initial condition detail: station mode, connected to AP, multi link, use dhcp
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=1,1
+    - [R AT1 R *]
+  - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMODE=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 38.0
+  tag: ATSTA3
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 L +CWMODE_CUR:1']
+  - - ATS AT1 AT+CWJAP_CUR?
+    - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
+  - - ATS AT1 AT+CIPMUX?
+    - ['R AT1 L +CIPMUX:0']
+  - - ATS AT1 AT+CWDHCP_CUR?
+    - ['R AT1 C DHCP:3']
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMODE=0
+    - [R AT1 R *]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=1,1
+    - [R AT1 R *]
+  - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=0
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  initial condition detail: station mode, connected to AP, single link, use dhcp
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=1,1
+    - [R AT1 R *]
+  - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=0
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMODE=0
+    - [R AT1 R *]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 17.0
+  tag: ATSTA4
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 L +CWMODE_CUR:1']
+  - - ATS AT1 AT+CWJAP_CUR?
+    - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
+  - - ATS AT1 AT+CIPMUX?
+    - ['R AT1 L +CIPMUX:1']
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATC AT1 CIPSTA_DEF <target_static_ip>
+    - [R AT1 L OK]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=1
+    - [R AT1 L OK]
+  - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATC AT1 CIPSTA_DEF <target_static_ip>
+    - [R AT1 L OK]
+  initial condition detail: station mode, connected to AP, multi link, use static
+    ip
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=1
+    - [R AT1 L OK]
+  - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMODE=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATC AT1 CIPSTA_DEF <target_static_ip>
+    - [R AT1 L OK]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 115.0
+  tag: ATSTA5
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 L +CWMODE_CUR:1']
+  - - ATS AT1 AT+CWJAP_CUR?
+    - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
+  - - ATS AT1 AT+CIPMUX?
+    - ['R AT1 L +CIPMUX:0']
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMODE=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPSTA_DEF <target_static_ip>
+    - [R AT1 L OK]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=1
+    - [R AT1 L OK]
+  - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=0
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATC AT1 CIPSTA_DEF <target_static_ip>
+    - [R AT1 L OK]
+  initial condition detail: station mode, connected to AP, single link, use static
+    ip
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=1
+    - [R AT1 L OK]
+  - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=0
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMODE=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPSTA_DEF <target_static_ip>
+    - [R AT1 L OK]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 122.0
+  tag: ATSTA6
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 C +CWMODE_CUR:3 C OK']
+  - - ATS AT2 AT+CWMODE_CUR?
+    - ['R AT2 C +CWMODE_CUR:1 C OK']
+  - - ATS AT1 AT+CWJAP_CUR?
+    - [R AT1 NC OK L ERROR]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - ATS AT2 AT+CWMODE_DEF=1
+    - [R AT2 L OK]
+  - - ATS AT1 AT+CWQAP
+    - [R AT1 L OK]
+  initial condition detail: Target 1 in StationSoftAP mode, Target 2 in station mode,
+    use dhcp
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - ATS AT2 AT+CWMODE_DEF=1
+    - [R AT2 L OK]
+  - - ATS AT1 AT+CWQAP
+    - [R AT1 L OK]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 52.0
+  tag: ATT2_1
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 C +CWMODE_CUR:2 C OK']
+  - - ATS AT2 AT+CWMODE_CUR?
+    - ['R AT2 C +CWMODE_CUR:3 C OK']
+  - - ATS AT1 AT+CWJAP_CUR?
+    - [R AT1 NC OK L ERROR]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=2
+    - [R AT1 L OK]
+  - - ATS AT2 AT+CWMODE_DEF=3
+    - [R AT2 L OK]
+  initial condition detail: Target 1 in SoftAP mode, Target 2 in StationSoftAP mode,
+    use dhcp
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=2
+    - [R AT1 L OK]
+  - - ATS AT2 AT+CWMODE_DEF=3
+    - [R AT2 L OK]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 80.0
+  tag: ATT2_2
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ASSERT
+    - [dummy]
+  force restore cmd set:
+  - ''
+  - - SSC SSC[1-<node_num>] reboot
+    - ['P SSC[1-<node_num>] C !!!ready!!!']
+  - - SSC SSC[1-<node_num>] mesh -E -o 0
+    - ['P SSC[1-<node_num>] C +MESH:DISABLED']
+  - - SSC SSC[1-<node_num>] op -S -o 1
+    - ['P SSC[1-<node_num>] C +MODE:OK']
+  - - SSC SSC[1-<node_num>] sta -D
+    - ['P SSC[1-<node_num>] C +QAP:OK']
+  initial condition detail: all mesh node disabled
+  restore cmd set:
+  - ''
+  - - SSC SSC[1-<node_num>] mesh -E -o 0
+    - ['P SSC[1-<node_num>] C +MESH:DISABLED']
+  - - SSC SSC[1-<node_num>] op -S -o 1
+    - ['P SSC[1-<node_num>] C +MODE:OK']
+  - - SSC SSC[1-<node_num>] sta -D
+    - ['P SSC[1-<node_num>] C +QAP:OK']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 ram
+    - ['R SSC1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 31.0
+  tag: DISABLED
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ASSERT
+    - [dummy]
+  - - SSC SSC[1-<node_num>] mesh -Q -t 4
+    - ['R SSC[1-<node_num>] T <node_num>']
+  - - MESHTREE
+    - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%(<node_num>)']
+  force restore cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip>
+    - [R SOC_COM L OK]
+  - - SSC SSC[1-<node_num>] mesh -E -o 0
+    - ['P SSC[1-<node_num>] C +MESH:DISABLED']
+  - - SSC SSC[1-<node_num>] mesh -I -g <group_id> -a 4 -k <target_password> -i <pc_ip>
+      -p <test_tcp_port1> -h 5
+    - ['P SSC[1-<node_num>] C ENCRYPTION,OK C GROUP,OK C SERVER,OK C HOP,OK']
+  - - SSC SSC[1-<node_num>] mesh -A -s <ap_ssid> -k <ap_password>
+    - ['P SSC[1-<node_num>] C +MESHINIT:AP,OK']
+  - - SSC SSC1 mesh -E -o 1 -t 2
+    - ['P SSC1 C +MESH:ENABLED']
+  - - SOC SOC1 MACCEPT GSOC1
+    - [R SOC_COM L OK]
+  - - SSC SSC[2-<node_num>] mesh -E -o 1 -t 2
+    - ['P SSC[2-<node_num>] C +MESH:ENABLED']
+  - - DELAY 60
+    - ['']
+  - - SSC SSC[1-<node_num>] mesh -C
+    - ['P SSC[1-<node_num>] C +MESH:CONNECTED']
+  - - SSC SSC[1-<node_num>] mesh -Q -t 4
+    - ['R SSC[1-<node_num>] T <node_num>']
+  - - MESHTREE
+    - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%(<node_num>)']
+  - - SSC SSC[1-<node_num>] mesh -O -t 1 -o 1
+    - ['P SSC[1-<node_num>] C +MESH:OK']
+  initial condition detail: all mesh node enabled as ONLINE, mesh network established
+  restore cmd set:
+  - ''
+  - - SSC SSC[1-<node_num>] reboot
+    - ['P SSC[1-<node_num>] C !!!ready!!!']
+  - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip>
+    - [R SOC_COM L OK]
+  - - SSC SSC[1-<node_num>] mesh -E -o 0
+    - ['P SSC[1-<node_num>] C +MESH:DISABLED']
+  - - SSC SSC[1-<node_num>] mesh -I -g <group_id> -a 4 -k <target_password> -i <pc_ip>
+      -p <test_tcp_port1> -h 5
+    - ['P SSC[1-<node_num>] C ENCRYPTION,OK C GROUP,OK C SERVER,OK C HOP,OK']
+  - - SSC SSC[1-<node_num>] mesh -A -s <ap_ssid> -k <ap_password>
+    - ['P SSC[1-<node_num>] C +MESHINIT:AP,OK']
+  - - SSC SSC1 mesh -E -o 1 -t 2
+    - ['P SSC1 C +MESH:ENABLED']
+  - - SOC SOC1 MACCEPT GSOC1
+    - [R SOC_COM L OK]
+  - - SSC SSC[2-<node_num>] mesh -E -o 1 -t 2
+    - ['P SSC[2-<node_num>] C +MESH:ENABLED']
+  - - DELAY 60
+    - ['']
+  - - SSC SSC[1-<node_num>] mesh -C
+    - ['P SSC[1-<node_num>] C +MESH:CONNECTED']
+  - - SSC SSC[1-<node_num>] mesh -Q -t 4
+    - ['R SSC[1-<node_num>] T <node_num>']
+  - - MESHTREE
+    - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%(<node_num>)']
+  - - SSC SSC[1-<node_num>] mesh -O -t 1 -o 1
+    - ['P SSC[1-<node_num>] C +MESH:OK']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 ram
+    - ['R SSC1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 17.0
+  tag: ENABLED_1
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ASSERT
+    - [dummy]
+  - - SSC SSC[1-<node_num>] mesh -Q -t 4
+    - ['R SSC[1-<node_num>] T <node_num>']
+  - - MESHTREE
+    - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%(<node_num>)']
+  force restore cmd set:
+  - ''
+  - - SSC SSC[1-<node_num>] reboot
+    - ['P SSC[1-<node_num>] C !!!ready!!!']
+  - - SSC SSC[1-<node_num>] mesh -I -g <group_id> -a 4 -k <target_password> -i <pc_ip>
+      -p <test_tcp_port1> -h 5
+    - ['P SSC[1-<node_num>] C ENCRYPTION,OK C GROUP,OK C SERVER,OK C HOP,OK']
+  - - SSC SSC1 mesh -A -s <ap_ssid> -k <ap_password>
+    - ['P SSC1 C +MESHINIT:AP,OK']
+  - - SSC SSC1 mesh -E -o 1 -t 1
+    - ['P SSC1 C +MESH:ENABLED']
+  - - SSC SSC[2-<node_num>] mesh -E -o 1 -t 2
+    - ['']
+  - - DELAY 60
+    - ['P SSC[2-<node_num>] C +MESH:ENABLED']
+  - - SSC SSC[1-<node_num>] mesh -C
+    - ['P SSC[1-<node_num>] C +MESH:CONNECTED']
+  - - SSC SSC[1-<node_num>] mesh -Q -t 4
+    - ['R SSC[1-<node_num>] T <node_num>']
+  - - MESHTREE
+    - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%(<node_num>)']
+  initial condition detail: root as LOCAL, rest node as ONLINE, mesh network established
+  restore cmd set:
+  - ''
+  - - SSC SSC[1-<node_num>] mesh -E -o 0
+    - ['P SSC[1-<node_num>] C +MESH:DISABLED']
+  - - SSC SSC[1-<node_num>] mesh -I -g <group_id> -a 4 -k <target_password> -i <pc_ip>
+      -p <test_tcp_port1> -h 5
+    - ['P SSC[1-<node_num>] C ENCRYPTION,OK C GROUP,OK C SERVER,OK C HOP,OK']
+  - - SSC SSC1 mesh -A -s <ap_ssid> -k <ap_password>
+    - ['P SSC1 C +MESHINIT:AP,OK']
+  - - SSC SSC1 mesh -E -o 1 -t 1
+    - ['P SSC1 C +MESH:ENABLED']
+  - - SSC SSC[2-<node_num>] mesh -E -o 1 -t 2
+    - ['']
+  - - DELAY 60
+    - ['P SSC[2-<node_num>] C +MESH:ENABLED']
+  - - SSC SSC[1-<node_num>] mesh -C
+    - ['P SSC[1-<node_num>] C +MESH:CONNECTED']
+  - - SSC SSC[1-<node_num>] mesh -Q -t 4
+    - ['R SSC[1-<node_num>] T <node_num>']
+  - - MESHTREE
+    - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%(<node_num>)']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 ram
+    - ['R SSC1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 24.0
+  tag: ENABLED_2
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - SSC SSC1 op -Q
+    - ['R SSC1 C +CURMODE:2']
+  - - SSC SSC1 mac -Q -o 2
+    - [R SSC1 P <target_ap_mac>]
+  - - 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
+    - ['R SSC1 C +MODE:OK']
+  - - SSC SSC1 mac -S -m <target_ap_mac> -o 2
+    - ['R SSC1 C +MAC:AP,OK']
+  - - SSC SSC1 espnow -D
+    - ['R SSC1 C +ESPNOW:']
+  initial condition detail: one target in AP mode and espnow is de-initialized
+  restore cmd set:
+  - ''
+  - - SSC SSC1 op -S -o 2
+    - ['R SSC1 C +MODE:OK']
+  - - SSC SSC1 mac -S -m <target_ap_mac> -o 2
+    - ['R SSC1 C +MAC:AP,OK']
+  - - SSC SSC1 espnow -D
+    - ['R SSC1 C +ESPNOW:']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 ram
+    - ['R SSC1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 17.0
+  tag: NOW1
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - 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']
+  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']
+  initial condition detail: multiple (<dev_num>) targets in AP mode, espnow is initialized
+    with self role slave
+  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']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 ram
+    - ['R SSC1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 24.0
+  tag: NOW2
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - DELAY 0.1
+    - [dummy]
+  force restore cmd set:
+  - ''
+  - - SSC SSC1 reboot
+    - [R SSC1 C !!!ready!!!]
+  initial condition detail: none
+  restore cmd set:
+  - ''
+  - - DELAY 0.1
+    - [dummy]
+  restore post cmd set:
+  - ''
+  - - DELAY 0.1
+    - [dummy]
+  script path: InitCondBase.py
+  start: 10.0
+  tag: None
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - SSC SSC1 sp -D
+    - ['R SSC1 C +SP:OK']
+  force restore cmd set:
+  - ''
+  - - SSC SSC1 sp -D
+    - ['R SSC1 C +SP:OK']
+  initial condition detail: one target and simple is de-inited
+  restore cmd set:
+  - ''
+  - - SSC SSC1 sp -D
+    - ['R SSC1 C +SP:OK']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 ram
+    - ['R SSC1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 31.0
+  tag: PAIR1
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - SSC SSC[1,2] op -Q
+    - ['R SSC[1,2] C +MODE:[2,1]']
+  - - SSC SSC[1,2] mac -Q -o 3
+    - ['R SSC[1,2] P <target[1,2]_ap_mac> P <target[1,2]_mac>']
+  - - SSC SSC[1,2] sp -D
+    - ['R SSC[1,2] C +SP:OK']
+  - - SSC SSC[1,2] sp -I
+    - ['R SSC[1,2] C +SP:OK']
+  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] mac -S -m <target[1,2]_ap_mac> -o 2
+    - ['R SSC[1,2] C +MAC:AP,OK']
+  - - SSC SSC[1,2] mac -S -m <target[1,2]_mac> -o 1
+    - ['R SSC[1,2] C +MAC:STA,OK']
+  - - SSC SSC[1,2] op -S -o [2,1]
+    - ['R SSC[1,2] C +MODE:OK']
+  - - SSC SSC[1,2] sp -D
+    - ['R SSC[1,2] C +SP:OK']
+  - - SSC SSC[1,2] sp -I
+    - ['R SSC[1,2] C +SP:OK']
+  initial condition detail: target1 in AP mode, target2 in STA mode, two targets de-init
+    and init simple pair
+  restore cmd set:
+  - ''
+  - - SSC SSC[1,2] op -S -o 3
+    - ['R SSC[1,2] C +MODE:OK']
+  - - SSC SSC[1,2] mac -S -m <target[1,2]_ap_mac> -o 2
+    - ['R SSC[1,2] C +MAC:AP,OK']
+  - - SSC SSC[1,2] mac -S -m <target[1,2]_mac> -o 1
+    - ['R SSC[1,2] C +MAC:STA,OK']
+  - - SSC SSC[1,2] op -S -o [2,1]
+    - ['R SSC[1,2] C +MODE:OK']
+  - - SSC SSC[1,2] sp -D
+    - ['R SSC[1,2] C +SP:OK']
+  - - SSC SSC[1,2] sp -I
+    - ['R SSC[1,2] C +SP:OK']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 ram
+    - ['R SSC1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 38.0
+  tag: PAIR2
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - SSC SSC[1,2] op -Q
+    - ['R SSC[1,2] C +MODE:[3,3]']
+  - - SSC SSC[1,2] mac -Q -o 3
+    - ['R SSC[1,2] P <target[1,2]_ap_mac> P <target[1,2]_mac>']
+  - - SSC SSC[1,2] sp -D
+    - ['R SSC[1,2] C +SP:OK']
+  - - SSC SSC[1,2] sp -I
+    - ['R SSC[1,2] C +SP:OK']
+  force restore cmd set:
+  - ''
+  - - SSC SSC[1,2] reboot
+    - ['R SSC[1,2] C !!!ready!!!']
+  - - SSC SSC[1,2] op -S -o [3,3]
+    - ['R SSC[1,2] C +MODE:OK']
+  - - SSC SSC[1,2] mac -S -m <target[1,2]_ap_mac> -o 2
+    - ['R SSC[1,2] C +MAC:AP,OK']
+  - - SSC SSC[1,2] mac -S -m <target[1,2]_mac> -o 1
+    - ['R SSC[1,2] C +MAC:STA,OK']
+  - - SSC SSC[1,2] sp -D
+    - ['R SSC[1,2] C +SP:OK']
+  - - SSC SSC[1,2] sp -I
+    - ['R SSC[1,2] C +SP:OK']
+  initial condition detail: target1 and target2 in STA+AP mode, two targets de-init
+    and init simple pair
+  restore cmd set:
+  - ''
+  - - SSC SSC[1,2] op -S -o [3,3]
+    - ['R SSC[1,2] C +MODE:OK']
+  - - SSC SSC[1,2] mac -S -m <target[1,2]_ap_mac> -o 2
+    - ['R SSC[1,2] C +MAC:AP,OK']
+  - - SSC SSC[1,2] mac -S -m <target[1,2]_mac> -o 1
+    - ['R SSC[1,2] C +MAC:STA,OK']
+  - - SSC SSC[1,2] sp -D
+    - ['R SSC[1,2] C +SP:OK']
+  - - SSC SSC[1,2] sp -I
+    - ['R SSC[1,2] C +SP:OK']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 ram
+    - ['R SSC1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 45.0
+  tag: PAIR3
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - SSC SSC1 op -Q
+    - ['R SSC1 C +CURMODE:3']
+  - - 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>]
+  force restore cmd set:
+  - ''
+  - - SSC SSC1 reboot
+    - [R SSC1 C !!!ready!!!]
+  - - SSC SSC1 op -S -o 3
+    - ['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']
+  initial condition detail: testing sta on sta + ap mode, quit AP (autogen by STAM1)
+  restore cmd set:
+  - ''
+  - - SSC SSC1 op -S -o 3
+    - ['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']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 soc -T
+    - [R SSC1 C +CLOSEALL]
+  - - SSC SSC1 ram
+    - ['R SSC1 C +FREEHEAP:']
+  script path: InitCondBase.py
+  start: 45.0
+  tag: STAAP1
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - SSC SSC1 op -Q
+    - ['R SSC1 C +CURMODE:3']
+  - - 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>]
+  force restore cmd set:
+  - ''
+  - - SSC SSC1 reboot
+    - [R SSC1 C !!!ready!!!]
+  - - SSC SSC1 op -S -o 3
+    - ['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>)']
+  initial condition detail: testing sta on sta + ap mode,  join AP, DHCP on (autogen
+    by STAM2)
+  restore cmd set:
+  - ''
+  - - SSC SSC1 op -S -o 3
+    - ['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>)']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 soc -T
+    - [R SSC1 C +CLOSEALL]
+  - - SSC SSC1 ram
+    - ['R SSC1 C +FREEHEAP:']
+  script path: InitCondBase.py
+  start: 52.0
+  tag: STAAP2
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - 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 3
+    - ['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>)']
+  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 3
+    - ['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 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>)']
+  initial condition detail: APSTA mode, connected to AP, 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 3
+    - ['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>)']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 upgrade -D
+    - ['R SSC1 C +UPGRADE:OK']
+  - - SSC SSC1 ram
+    - ['R SSC1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 24.0
+  tag: STAAPBIN0
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - SSC SSC1 op -Q
+    - ['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>]
+  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']
+  initial condition detail: sta mode, quit AP, DHCP on, will autogen a TC with initial
+    condition STAAP1
+  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']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 soc -T
+    - [R SSC1 C +CLOSEALL]
+  - - SSC SSC1 ram
+    - ['R SSC1 C +FREEHEAP:']
+  script path: InitCondBase.py
+  start: 17.0
+  tag: STAM1
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - 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>]
+  force restore cmd set:
+  - ''
+  - - 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>)']
+  initial condition detail: sta mode, join AP, DHCP on, will autogen a TC with initial
+    condition STAAP2
+  restore cmd set:
+  - ''
+  - - 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>)']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 soc -T
+    - [R SSC1 C +CLOSEALL]
+  - - SSC SSC1 ram
+    - ['R SSC1 C +FREEHEAP:']
+  script path: InitCondBase.py
+  start: 24.0
+  tag: STAM2
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - 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 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>)']
+  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 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>)']
+  initial condition detail: STA mode, connected to AP, 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 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>)']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 upgrade -D
+    - ['R SSC1 C +UPGRADE:OK']
+  - - SSC SSC1 ram
+    - ['R SSC1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 17.0
+  tag: STAMBIN0
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - SSC SSC1 op -Q
+    - ['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>]
+  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']
+  initial condition detail: sta mode, quit AP, will NOT autogen a TC with initial
+    condition STAAP1
+  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']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 soc -T
+    - [R SSC1 C +CLOSEALL]
+  - - SSC SSC1 ram
+    - ['R SSC1 C +FREEHEAP:']
+  script path: InitCondBase.py
+  start: 17.0
+  tag: STAO1
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - 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>]
+  force restore cmd set:
+  - ''
+  - - 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>)']
+  initial condition detail: sta mode, join AP, DHCP on, will NOT autogen a TC with
+    initial condition STAAP2
+  restore cmd set:
+  - ''
+  - - 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>)']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 soc -T
+    - [R SSC1 C +CLOSEALL]
+  - - SSC SSC1 ram
+    - ['R SSC1 C +FREEHEAP:']
+  script path: InitCondBase.py
+  start: 24.0
+  tag: STAO2
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - SSC SSC1 op -Q
+    - ['R SSC1 C +CURMODE:2']
+  - - SSC SSC2 op -Q
+    - ['R SSC2 C +CURMODE:1']
+  - - 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 SSC1 mac -Q -o 2
+    - [R SSC1 P <target_ap_mac>]
+  - - SSC SSC2 mac -Q -o 1
+    - [R SSC2 P <target2_mac>]
+  force restore cmd set:
+  - ''
+  - - 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 1
+    - ['R SSC2 C +MODE:OK']
+  - - SSC SSC2 sta -D
+    - ['R SSC2 C +QAP:']
+  - - SSC SSC2 soc -T
+    - ['']
+  - - 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']
+  initial condition detail: same as T2_1 but will NOT autogen a TC with initial condition
+    T2_2
+  restore cmd set:
+  - ''
+  - - SSC SSC1 op -S -o 2
+    - ['R SSC1 C +MODE:OK']
+  - - SSC SSC2 op -S -o 1
+    - ['R SSC2 C +MODE:OK']
+  - - SSC SSC2 sta -D
+    - ['R SSC2 C +QAP:']
+  - - SSC SSC2 soc -T
+    - ['']
+  - - 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']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 soc -T
+    - [R SSC1 C +CLOSEALL]
+  - - SSC SSC1 ram
+    - ['R SSC1 C +FREEHEAP:']
+  script path: InitCondBase.py
+  start: 73.0
+  tag: T2O_1
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - SSC SSC1 op -Q
+    - ['R SSC1 C +CURMODE:2']
+  - - SSC SSC2 op -Q
+    - ['R SSC2 C +CURMODE:1']
+  - - 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 SSC1 mac -Q -o 2
+    - [R SSC1 P <target_ap_mac>]
+  - - SSC SSC2 mac -Q -o 1
+    - [R SSC2 P <target2_mac>]
+  force restore cmd set:
+  - ''
+  - - 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 1
+    - ['R SSC2 C +MODE:OK']
+  - - SSC SSC2 sta -D
+    - ['R SSC2 C +QAP:']
+  - - SSC SSC2 soc -T
+    - ['']
+  - - 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']
+  initial condition detail: target 1 as SoftAP, target 2 as STA, will autogen a TC
+    with initial condition T2_2
+  restore cmd set:
+  - ''
+  - - SSC SSC1 op -S -o 2
+    - ['R SSC1 C +MODE:OK']
+  - - SSC SSC2 op -S -o 1
+    - ['R SSC2 C +MODE:OK']
+  - - SSC SSC2 sta -D
+    - ['R SSC2 C +QAP:']
+  - - SSC SSC2 soc -T
+    - ['']
+  - - 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']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 soc -T
+    - [R SSC1 C +CLOSEALL]
+  - - SSC SSC1 ram
+    - ['R SSC1 C +FREEHEAP:']
+  script path: InitCondBase.py
+  start: 73.0
+  tag: T2_1
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - SSC SSC1 op -Q
+    - ['R SSC1 C +CURMODE:3']
+  - - 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>]
+  force restore cmd set:
+  - ''
+  - - SSC SSC1 reboot
+    - [R SSC1 C !!!ready!!!]
+  - - SSC SSC2 reboot
+    - [R SSC2 C !!!ready!!!]
+  - - SSC SSC1 op -S -o 3
+    - ['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']
+  initial condition detail: target 1 as AP+STA, target 2 as AP+STA (autogen)
+  restore cmd set:
+  - ''
+  - - SSC SSC1 op -S -o 3
+    - ['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']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 soc -T
+    - [R SSC1 C +CLOSEALL]
+  - - SSC SSC1 ram
+    - ['R SSC1 C +FREEHEAP:']
+  script path: InitCondBase.py
+  start: 80.0
+  tag: T2_2
+  test script: InitCondBase
+- 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']
+  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']
+  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'
+  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']
+  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+)']
+  script path: InitCondBase.py
+  start: 87.0
+  tag: T3_PHY1
+  test script: InitCondBase

+ 66 - 0
components/idf_test/integration_test/KnownIssues

@@ -0,0 +1,66 @@
+
+# NOT SUPPORT
+
+# ICMP send Ping not supported
+TCPIP_ICMP_0101
+^TCPIP_ICMP_0101
+
+# IGMP cases are not supported for now
+TCPIP_IGMP_0101
+TCPIP_IGMP_0102
+TCPIP_IGMP_0103
+TCPIP_IGMP_0104
+TCPIP_IGMP_0201
+TCPIP_IGMP_0202
+TCPIP_IGMP_0203
+TCPIP_IGMP_0204
+^TCPIP_IGMP_0101
+^TCPIP_IGMP_0102
+^TCPIP_IGMP_0103
+^TCPIP_IGMP_0104
+^TCPIP_IGMP_0201
+^TCPIP_IGMP_0202
+^TCPIP_IGMP_0203
+^TCPIP_IGMP_0204
+
+# BUG
+
+# auth change event
+WIFI_CONN_0801
+
+# disconnect reason
+WIFI_CONN_0904
+^WIFI_CONN_0904
+WIFI_CONN_0901
+^WIFI_CONN_0901
+
+# Wifi connect issue
+WIFI_CONN_0104
+^WIFI_CONN_0104
+
+# DHCP issues
+^TCPIP_DHCP_0301
+TCPIP_DHCP_0301
+TCPIP_DHCP_0101
+TCPIP_DHCP_0207
+^TCPIP_DHCP_0207
+TCPIP_DHCP_0208
+^TCPIP_DHCP_0208
+
+# TCP issue
+TCPIP_TCP_0402
+^TCPIP_TCP_0406
+^TCPIP_TCP_0401
+TCPIP_TCP_0210
+^TCPIP_TCP_0210
+TCPIP_TCP_0103
+
+
+# UDP issue
+TCPIP_UDP_0103
+^TCPIP_UDP_0103
+TCPIP_UDP_0110
+^TCPIP_UDP_0110
+
+
+

+ 14718 - 0
components/idf_test/integration_test/TestCaseAll.yml

@@ -0,0 +1,14718 @@
+test cases:
+- CI ready: 'Yes'
+  ID: SYS_MISC_0101
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 reboot
+    - [R SSC1 C !!!ready!!!]
+  comment: ''
+  execution time: 0.0
+  expected result: 重启成功
+  initial condition: None
+  initial condition description (auto): none
+  level: Integration
+  module: System
+  steps: 系统重启
+  sub module: Misc
+  summary: test reboot function
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: sw reboot
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: SYS_MISC_0201
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ram -H
+    - ['R SSC1 RE FREEHEAP:\d+\r\n']
+  comment: ''
+  execution time: 0.0
+  expected result: '
+
+    可以查询到一个数值
+
+    '
+  initial condition: None
+  initial condition description (auto): none
+  level: Integration
+  module: System
+  steps: 查询空闲ram
+  sub module: Misc
+  summary: get heap size test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: 'get heap size '
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_DHCP_0101
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 dhcp -E -o 1
+    - ['R SSC1 C +DHCP:STA,OK']
+  - - SSC SSC1 ip -S -i 0.0.0.0
+    - ['R SSC1 C +IP:OK']
+  - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+    - ['']
+  - - DELAY 20
+    - [P PC_COM C +DELAYDONE, 'P SSC1 NC +JAP:CONNECTED']
+  - - SSC SSC1 dhcp -S -o 1
+    - ['R SSC1 C +DHCP:STA,OK']
+  - - SSC SSC1 ip -Q
+    - ['R SSC1 C +STAIP:0.0.0.0']
+  - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+    - ['R SSC1 C +JAP:CONNECTED']
+  - - SSC SSC1 ip -Q
+    - ['R SSC1 RE "\+STAIP:%%s"%%(<target_ip>)']
+  comment: ''
+  execution time: 0.0
+  expected result: "1.target1 关闭DHCP OK\n2.target1 设置ip add OK\n3.target1 连接AP fail\n\
+    4.target1 打开DHCP OK\n5.查询到sta ip \n6.target1 连接AP ok\n7.查询到sta ip 为target_ip"
+  initial condition: STAM1
+  initial condition description (auto): sta mode, quit AP, DHCP on, will autogen a
+    TC with initial condition STAAP1
+  level: Integration
+  module: TCPIP
+  steps: "1.target1 关闭DHCP OK\n2.target1 设置ip add OK\n3.target1 连接AP fail\n4.target1\
+    \ 打开DHCP OK\n5.查询到sta ip \n6.target1 连接AP ok\n7.查询到sta ip 为target_ip"
+  sub module: DHCP
+  summary: dhcp client function test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: DHCP client function test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_DHCP_0102
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC1 dhcp -E -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - ['']
+  - - DELAY 20
+    - [P PC_COM C +DELAYDONE, 'P SSC2 NC +JAP:CONNECTED']
+  - - SSC SSC1 dhcp -S -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - ['R SSC2 C +JAP:CONNECTED']
+  comment: ''
+  execution time: 0.0
+  expected result: "1.target1 set AP OK \n2.target1 关闭DHCP OK\n3.target2 jap target\
+    \ 1,FAIL \n4.target1 打开DHCP OK\n5.target2 jap target 1,ok"
+  initial condition: T2_1
+  initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+    autogen a TC with initial condition T2_2
+  level: Integration
+  module: TCPIP
+  steps: "1.target1 set AP OK \n2.target1 关闭DHCP OK\n3.target2 jap target 1,FAIL \n\
+    4.target1 打开DHCP OK\n5.target2 jap target 1,ok"
+  sub module: DHCP
+  summary: dhcp server function test
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: DHCP client function test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_DHCP_0103
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 op -S -o 3
+    - ['R SSC1 C +MODE:OK']
+  - - SSC SSC1 dhcp -S -o 3
+    - ['R SSC1 C +DHCP:AP,OK C +DHCP:STA,OK']
+  - - SSC SSC1 dhcp -Q -o 3
+    - ['R SSC1 C +DHCP:STA,STARTED C +DHCP:AP,STARTED']
+  - - SSC SSC1 dhcp -Q -o 1
+    - ['R SSC1 C +DHCP:STA,STARTED NC +DHCP:AP,STARTED']
+  - - SSC SSC1 dhcp -Q -o 2
+    - ['R SSC1 NC +DHCP:STA,STARTED C +DHCP:AP,STARTED']
+  - - SSC SSC1 dhcp -E -o 3
+    - ['R SSC1 C +DHCP:AP,OK C +DHCP:STA,OK']
+  - - SSC SSC1 dhcp -Q -o 3
+    - ['R SSC1 C +DHCP:STA,STOPPED C +DHCP:AP,STOPPED']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.STA&AP STARTED
+
+    4.STA STARTED
+
+    5.AP STARTED
+
+    6.OK
+
+    7.STA&AP STOPPED'
+  initial condition: STAM1
+  initial condition description (auto): sta mode, quit AP, DHCP on, will autogen a
+    TC with initial condition STAAP1
+  level: Integration
+  module: TCPIP
+  steps: '1.target1 设置mode 为sta+softAP mode
+
+    2.target1 打开DHCP 3
+
+    3.target1 查询DHCP 状态
+
+    4.target1 查询sta DHCP 状态
+
+    5.target1 查询softAP DHCP 状态
+
+    6.target1 关闭 DHCP 3
+
+    7.target1 查询 DHCP 状态'
+  sub module: DHCP
+  summary: dhcp status query
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: DHCP client function test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_DHCP_0201
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 dhcp -E -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - SSC SSC1 ip -S -o 2 -i <target_ap_ip>
+    - ['R SSC1 C +IP:OK']
+  - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
+    - ['R SSC1 C +DHCP:LEASE,OK']
+  - - SSC SSC1 dhcp -L -s 192.168.4.1 -e 192.168.4.10
+    - ['R SSC1 C +DHCP:LEASE,ERROR']
+  - - SSC SSC1 dhcp -L -s 192.168.4.5 -e 192.168.4.2
+    - ['R SSC1 C +DHCP:LEASE,ERROR']
+  - - SSC SSC1 dhcp -L -s 192.168.2.2 -e 192.168.2.5
+    - ['R SSC1 C +DHCP:LEASE,ERROR']
+  - - SSC SSC1 dhcp -S -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.target1 关闭DHCP 2 OK
+
+    2.target1 设置ip 成功
+
+    3.设置dhcp 地址池 OK
+
+    4.ERROR
+
+    5.ERROR
+
+    6.ERROR
+
+    7.target1 打开DHCP ok'
+  initial condition: APM1
+  initial condition description (auto): AP mode, DHCP on, will autogen a TC with initial
+    condition APSTA1
+  level: Integration
+  module: TCPIP
+  steps: "1.target1 关闭DHCP 2 \n2.target1 设置ip \n3.设置dhcp 地址池\n4.设置dhcp错误的参数\n5.设置dhcp错误的参数\n\
+    6.设置dhcp错误的参数\n7.target1 打开DHCP ok"
+  sub module: DHCP
+  summary: server dhcp lease test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: DHCP server function test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_DHCP_0202
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC1 dhcp -E -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
+    - ['R SSC1 C +DHCP:LEASE,OK']
+  - - SSC SSC1 dhcp -S -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - LOOP 3 4 "['01','02','03']" "[2,3,4]"
+    - ['']
+  - - SSC SSC2 sta -D
+    - ['R SSC2 C +QAP:OK']
+  - - SSC SSC2 mac -S -o 1 -m 10:22:33:44:55:{%s}
+    - ['R SSC2 C +MAC:STA,OK']
+  - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - SSC SSC2 ip -Q -o 1
+    - ['R SSC2 C +STAIP:192.168.4.{%s}']
+  comment: ''
+  execution time: 0.0
+  expected result: '1. succeed
+
+    2. succeed
+
+    3,4: get IP from dhcp pool with correct sequence'
+  initial condition: T2_1
+  initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+    autogen a TC with initial condition T2_2
+  level: Integration
+  module: TCPIP
+  steps: '1. config softap to a random ssid
+
+    2. config DHCP Server on Target1
+
+    3. target change mac, connect to Target1
+
+    4. Loop step3'
+  sub module: DHCP
+  summary: dhcp server ip pool
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: DHCP server function test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_DHCP_0203
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC1 dhcp -E -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.3
+    - ['R SSC1 C +DHCP:LEASE,OK']
+  - - SSC SSC1 dhcp -S -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - LOOP 2 4 "['01','02']" "[2,3]"
+    - ['']
+  - - SSC SSC2 sta -D
+    - ['R SSC2 C +QAP:OK']
+  - - SSC SSC2 mac -S -o 1 -m 10:22:33:44:55:{%s}
+    - ['R SSC2 C +MAC:STA,OK']
+  - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - SSC SSC2 ip -Q -o 1
+    - ['R SSC2 C +STAIP:192.168.4.{%s}']
+  - - SSC SSC2 mac -S -o 1 -m 10:22:33:44:55:66
+    - ['R SSC2 C +MAC:STA,OK']
+  - - DELAY 20
+    - ['']
+  - - SSC SSC2 ip -Q -o 1
+    - ['R SSC2 C +STAIP:0.0.0.0']
+  comment: ''
+  execution time: 0.0
+  expected result: '1. succeed
+
+    2. succeed
+
+    3. succeed
+
+    4.1 succeed
+
+    4.2 failed'
+  initial condition: T2_1
+  initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+    autogen a TC with initial condition T2_2
+  level: Integration
+  module: TCPIP
+  steps: '1. config softap to a random ssid
+
+    2. config DHCP Server on Target1(.4.2 - .4.3)
+
+    3. target change mac, connect to Target1
+
+    4. Loop step3 twice'
+  sub module: DHCP
+  summary: dhcp server ip pool empty
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: DHCP server function test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_DHCP_0204
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC1 dhcp -E -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.3 -t 1
+    - ['R SSC1 C +DHCP:LEASE,OK']
+  - - SSC SSC1 dhcp -S -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - SSC SSC2 ip -Q -o 1
+    - ['R SSC2 C +STAIP:192.168.4.2']
+  - - DELAY 90
+    - ['']
+  - - SSC SSC2 ip -Q -o 1
+    - ['R SSC2 C +STAIP:192.168.4.2']
+  - - SSC SSC2 sta -D
+    - ['R SSC2 C +JAP:DISCONNECTED']
+  - - DELAY 60
+    - ['']
+  - - SSC SSC2 mac -S -o 1 -m 10:22:33:44:55:66
+    - ['R SSC2 C +MAC:STA,OK']
+  - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - SSC SSC2 ip -Q -o 1
+    - ['R SSC2 C +STAIP:192.168.4.2']
+  comment: ''
+  execution time: 0.0
+  expected result: '1. succeed
+
+    2. succeed
+
+    3. get IP 192.168.4.2
+
+    5. succeed
+
+    6. succeed
+
+    8. get IP 192.168.4.2'
+  initial condition: T2_1
+  initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+    autogen a TC with initial condition T2_2
+  level: Integration
+  module: TCPIP
+  steps: '1. config softap to a random ssid
+
+    2. config DHCP timeout as 1 minute
+
+    3. target2 connect to target1
+
+    4. wait 90 seconds
+
+    5. check if target2 IP is same
+
+    6. target2 disconnect
+
+    7. wait 60s
+
+    8. target2 change mac and connect to target1'
+  sub module: DHCP
+  summary: dhcp server timeout test
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: DHCP server function test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_DHCP_0205
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - SSC SSC1 dhcp -E -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.3 -t 1
+    - ['P SSC1 C +DHCP:LEASE,OK']
+  - - SSC SSC1 dhcp -S -o 2
+    - ['P SSC1 C +DHCP:AP,OK', 'P SSC2 C +JAP:DISCONNECTED']
+  comment: ''
+  execution time: 0.0
+  expected result: '1. succeed
+
+    2. succeed
+
+    3. target2 wifi disconnected'
+  initial condition: T2_1
+  initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+    autogen a TC with initial condition T2_2
+  level: Integration
+  module: TCPIP
+  steps: '1. config softap to a random ssid
+
+    2. target2 connect to target1
+
+    3. disable DHCP server, do config and enable'
+  sub module: DHCP
+  summary: disconnect STA if config dhcp server
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: DHCP server function test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_DHCP_0206
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC1 dhcp -E -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
+    - ['R SSC1 C +DHCP:LEASE,OK']
+  - - SSC SSC1 dhcp -S -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - LOOP 4 4 "['01','02','03','01']" "[2,3,4,2]"
+    - ['']
+  - - SSC SSC2 sta -D
+    - ['R SSC2 C +QAP:OK']
+  - - SSC SSC2 mac -S -o 1 -m 10:22:33:44:55:{%s}
+    - ['R SSC2 C +MAC:STA,OK']
+  - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - SSC SSC2 ip -Q -o 1
+    - ['R SSC2 C +STAIP:192.168.4.{%s}']
+  comment: ''
+  execution time: 0.0
+  expected result: '1. succeed
+
+    2. succeed
+
+    4. get IP 192.168.4.2 - 192.168.4.4
+
+    5. get IP 192.168.4.2'
+  initial condition: T2_1
+  initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+    autogen a TC with initial condition T2_2
+  level: Integration
+  module: TCPIP
+  steps: '1. config softap to a random ssid
+
+    2. disable DHCP server, do config and enable
+
+    3. target2 change mac, connect to softap, disconnect
+
+    4. Loop step3 twice
+
+    5. change to first mac, connect to softap'
+  sub module: DHCP
+  summary: dhcp server assign same IP to same MAC when it's not released
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: DHCP server function test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_DHCP_0207
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC1 dhcp -E -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
+    - ['R SSC1 C +DHCP:LEASE,OK']
+  - - SSC SSC1 dhcp -S -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - WIFI <pc_wifi_nic> CONN <random_string> <random_string> 192.168.4.2
+    - ['R PC_COM NC ERROR C +WIFICONN:OK']
+  - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - WIFI <pc_wifi_nic> DISCONN2
+    - ['R PC_COM NC ERROR C +WIFIDISCONN:OK']
+  - - SSC SSC2 sta -D
+    - ['R SSC2 C +QAP:OK']
+  - - SSC SSC2 mac -S -o 1 -m 10:22:33:44:55:66
+    - ['R SSC2 C +MAC:STA,OK']
+  - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - SSC SSC2 ip -Q -o 1
+    - ['R SSC2 C +STAIP:192.168.4.2']
+  comment: ''
+  execution time: 0.0
+  expected result: '1. succeed
+
+    2. succeed
+
+    3. get IP 192.168.4.2
+
+    4. succeed
+
+    5. succeed
+
+    6. get IP 192.168.4.2'
+  initial condition: T2_1
+  initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+    autogen a TC with initial condition T2_2
+  level: Integration
+  module: TCPIP
+  steps: '1. config softap to a random ssid
+
+    2. disable DHCP server, do config and enable
+
+    3. PC WIFI NIC connect to target1 softap
+
+    4. target2 connect to target1 softap and disnnect
+
+    5. PC release IP and disconnected
+
+    6. target2 change mac and connect to target1'
+  sub module: DHCP
+  summary: dhcp server prefer assign released IP to new client
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: DHCP server function test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_DHCP_0208
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - SSC SSC1 dhcp -E -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
+    - ['R SSC1 C +DHCP:LEASE,OK']
+  - - SSC SSC1 dhcp -S -o 2
+    - ['P SSC1 C +DHCP:AP,OK', 'P SSC2 C +JAP:DISCONNECTED']
+  - - SSC SSC2 sta -D
+    - ['R SSC2 C +JAP:DISCONNECTED']
+  - - SSC SSC1 dhcp -S -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - WIFI <pc_wifi_nic> CONN <random_string> <random_string> 192.168.4.2
+    - ['R PC_COM NC ERROR C +WIFICONN:OK']
+  - - SSC SSC1 ap -L
+    - [R SSC1 C 192.168.4.2 P <pc_wifi_nic_mac>]
+  comment: ''
+  execution time: 0.0
+  expected result: '1. succeed
+
+    2. succeed
+
+    3. succeed
+
+    4. get IP 192.168.4.2
+
+    5. can only find target2 with IP 192.168.4.2'
+  initial condition: T2_1
+  initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+    autogen a TC with initial condition T2_2
+  level: Integration
+  module: TCPIP
+  steps: '1. config softap to a random ssid
+
+    2. PC NIC connect to target1 softap
+
+    3. disable DHCP server, do config and enable
+
+    4. target2 connect to target1 softap
+
+    5. softap list connected station'
+  sub module: DHCP
+  summary: dhcp server reconfig and new client able to get first IP in pool
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: DHCP server function test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_DHCP_0209
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - SSC SSC1 dhcp -E -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
+    - ['R SSC1 C +DHCP:LEASE,OK']
+  - - SSC SSC1 dhcp -S -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - WIFI <pc_wifi_nic> CONN <random_string> <random_string> 192.168.4.2
+    - ['R PC_COM NC ERROR C +WIFICONN:OK']
+  - - DELAY 20
+    - ['']
+  - - SSC SSC1 ap -L
+    - [R SSC1 C 192.168.4.2 C 192.168.4.3 P <pc_wifi_nic_mac> P <target2_mac>]
+  comment: ''
+  execution time: 0.0
+  expected result: '1. succeed
+
+    2. succeed
+
+    3. succeed
+
+    4. succeed
+
+    5. find target2 and PC'
+  initial condition: T2_1
+  initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+    autogen a TC with initial condition T2_2
+  level: Integration
+  module: TCPIP
+  steps: '1. config softap to a random ssid
+
+    2. target2 connect to target1 softap
+
+    3. disable DHCP server, do config and enable
+
+    4. PC NIC connect to target1 softap
+
+    5. softap list connected station'
+  sub module: DHCP
+  summary: dhcp server reconfig, old client and new client able to get IP
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: DHCP server function test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_DHCP_0210
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC1 dhcp -E -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
+    - ['R SSC1 C +DHCP:LEASE,OK']
+  - - SSC SSC1 dhcp -S -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - WIFI <pc_wifi_nic> CONN2 <random_string> <random_string> 192.168.4.2
+    - ['R PC_COM NC ERROR C +WIFICONN:OK']
+  - - SSC SSC1 ap -L
+    - [R SSC1 C 192.168.4.2 C 192.168.4.3 P <pc_wifi_nic_mac> P <target2_mac>]
+  comment: ''
+  execution time: 0.0
+  expected result: '1. succeed
+
+    2. succeed
+
+    3. succeed
+
+    4. succeed
+
+    5. find target2 and PC'
+  initial condition: T2_1
+  initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+    autogen a TC with initial condition T2_2
+  level: Integration
+  module: TCPIP
+  steps: '1. config softap to a random ssid
+
+    2. target2 connect to target1 softap
+
+    3. disable DHCP server, do config and enable
+
+    4. PC NIC connect to target1 softap try to renew IP 192.168.4.2
+
+    5. softap list connected station'
+  sub module: DHCP
+  summary: dhcp server reconfig, old client able to get IP (discover with requested
+    IP)
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: DHCP server function test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_DHCP_0211
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
+    - ['R SSC1 C +SAP:OK']
+  - - WIFI <pc_wifi_nic> CONN <random_string> <random_string> 192.168.4.2
+    - ['R PC_COM NC ERROR C +WIFICONN:OK']
+  - - SSC SSC1 dhcp -E -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
+    - ['R SSC1 C +DHCP:LEASE,OK']
+  - - SSC SSC1 dhcp -S -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - DELAY 10
+    - ['']
+  - - SSC SSC1 ap -L
+    - [R SSC1 C 192.168.4.2 C 192.168.4.3 P <pc_wifi_nic_mac> P <target2_mac>]
+  comment: ''
+  execution time: 0.0
+  expected result: '1. succeed
+
+    2. succeed
+
+    3. succeed
+
+    4. succeed
+
+    5. find target2 and PC'
+  initial condition: T2_1
+  initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+    autogen a TC with initial condition T2_2
+  level: Integration
+  module: TCPIP
+  steps: '1. config softap to a random ssid
+
+    2. target2 connect to target1 softap
+
+    3. disable DHCP server, do config and enable
+
+    4. PC NIC connect to target1 softap try to renew IP 192.168.4.2
+
+    5. softap list connected station'
+  sub module: DHCP
+  summary: dhcp server reconfig, old client able to renew IP (direct send request)
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: DHCP server function test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_DHCP_0301
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 dhcp -E -o 1
+    - ['R SSC1 C +DHCP:STA,OK']
+  - - SSC SSC1 ip -S -i 192.168.123.123 -o 1
+    - ['R SSC1 C +IP:OK']
+  - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+    - ['R SSC1 C +JAP:CONNECTED']
+  - - SSC SSC1 ip -S -i 0.0.0.0 -o 1
+    - ['R SSC1 C +IP:OK']
+  - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+    - ['']
+  - - DELAY 10
+    - [P PC_COM C +DELAYDONE, 'P SSC1 NC +JAP:CONNECTED']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.JAP CONNETED
+
+    4.OK
+
+    5.等待10s,JAP fail'
+  initial condition: STAM1
+  initial condition description (auto): sta mode, quit AP, DHCP on, will autogen a
+    TC with initial condition STAAP1
+  level: Integration
+  module: TCPIP
+  steps: '1.target1 关闭DHCP 1
+
+    2.target1 设置sta ip 192.168.123.123
+
+    4.target1 jap AP
+
+    5.target1 设置sta ip 0.0.0.0
+
+    6.target1 jap AP'
+  sub module: DHCP
+  summary: sta dhcp static ip interaction
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: interaction
+  test point 2: static IP and DHCP interaction test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_DHCP_0302
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 dhcp -S -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - SSC SSC1 ip -S -i 192.168.123.123 -o 2
+    - ['R SSC1 C +IP:ERROR']
+  - - SSC SSC1 dhcp -L -s 192.168.2.2 -e 192.168.2.10
+    - ['R SSC1 C +DHCP:LEASE,ERROR']
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+    - ['']
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - ['P SSC2 C +JAP:CONNECTED']
+  - - SSC SSC1 dhcp -E -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - SSC SSC1 ip -S -i 192.168.4.1 -o 2
+    - ['R SSC1 C +IP:OK']
+  - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.10
+    - ['R SSC1 C +DHCP:LEASE,OK']
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - ['']
+  - - DELAY 10
+    - [P PC_COM C +DELAYDONE, 'P SSC2 NC +JAP:CONNECTED']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.target 1 OK
+
+    2.target1 ERROR
+
+    3.target1 ERROR
+
+    4.target2 jap target1 OK
+
+    5.target1 OK
+
+    6.target1 OK
+
+    7.target1 OK
+
+    8.target2 jap target1 OK'
+  initial condition: T2_1
+  initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+    autogen a TC with initial condition T2_2
+  level: Integration
+  module: TCPIP
+  steps: "1.target1 打开DHCP 2\n2.target1 设置softAP ip 192.168.123.123\n3.target1 设置地址池\n\
+    4.target1下设置ssid 和pwd 加密方式\n5.target2 连接target1 \n6.target1 关闭DHCP 2\n7.target1\
+    \ 设置softAP ip \n8.target1 设置正确的地址池\n9.target2 连接target1 "
+  sub module: DHCP
+  summary: ap dhcp static ip interaction
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: interaction
+  test point 2: static IP and DHCP interaction test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_DNS_0101
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: 3/5
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 soc -H -d iot.espressif.cn
+    - ['R SSC1 C +HOSTIP:OK,115.29.202.58']
+  comment: ''
+  execution time: 0.0
+  expected result: 1.OK
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: 1. get host name "espressif.cn"
+  sub module: DNS
+  summary: get host by name test
+  test environment: SSC_T1_2
+  test environment description (auto): 'Able to access WAN after connect to AP.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: DNS function test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_DNS_0102
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: 3/5
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 soc -H -d iot.espressif.cn
+    - ['R SSC1 A <ip_addr>:\+HOSTIP:OK,(.+)\r\n']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:\+BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <ip_addr> -p 9001
+    - ['R SSC1 RE \+CONNECT:\d+,OK']
+  - - SSC SSC1 soc -S -s <sock1> -l 10
+    - ['P SSC1 RE \+SEND:\d+,OK', P SSC1 SL <sock1>+10]
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK
+
+    4.OK'
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: '1. get host name "espressif.cn"
+
+    2. connect, send, recv1. get host name "espressif.cn"
+
+    2. connect, send, recv'
+  sub module: DNS
+  summary: TCP connect to iot.espressif.com
+  test environment: SSC_T1_2
+  test environment description (auto): 'Able to access WAN after connect to AP.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: DNS function test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_DNS_0103
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: 3/5
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 soc -H -d iot.espressif.cn
+    - ['R SSC1 A <ip_addr>:\+HOSTIP:OK,(.+)\r\n']
+  - - SSC SSC1 soc -B -t UDP
+    - ['R SSC1 A <sock1>:\+BIND:(\d+),OK']
+  - - SSC SSC1 soc -S -s <sock1> -i <ip_addr> -p 9003 -l 10
+    - ['P SSC1 RE \+SEND:\d+,OK', P SSC1 SL <sock1>+10]
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK'
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: '1. get host name "espressif.cn"
+
+    2. sendto, recvfrom1. get host name "espressif.cn"
+
+    2. sendto, recvfrom'
+  sub module: DNS
+  summary: UDP send to iot.expressif.com
+  test environment: SSC_T1_2
+  test environment description (auto): 'Able to access WAN after connect to AP.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: DNS function test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_ICMP_0101
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: 1/5
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ping -i <pc_ip>
+    - ['R SSC1 C +PING:OK']
+  - - SSC SSC1 ping -i <pc_ip> -c 2
+    - ['R SSC1 C +PING:OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.ok
+
+    2.ok'
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: '1.ping -i <pc_ip>
+
+    2.ping -i <pc_ip> -c 2'
+  sub module: ICMP
+  summary: ping function test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: ping function test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_IGMP_0101
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 igmp -J -h <target_ip> -m 224.1.1.1
+    - ['R SSC1 C +IGMP:OK']
+  - - SSC SSC1 igmp -L -h <target_ip> -m 224.1.1.1
+    - ['R SSC1 C +IGMP:OK']
+  - - SSC SSC1 igmp -J -h <target_ip> -m 223.1.1.1
+    - ['R SSC1 C +IGMP:ERROR']
+  - - SSC SSC1 igmp -J -h <target_ip> -m 240.1.1.1
+    - ['R SSC1 C +IGMP:ERROR']
+  - - SSC SSC1 igmp -J -h 192.168.237.77 -m 224.1.1.1
+    - ['R SSC1 C +IGMP:ERROR']
+  - - SSC SSC1 igmp -J -h 192.168.237.77 -m 240.1.1.1
+    - ['R SSC1 C +IGMP:ERROR']
+  comment: ''
+  execution time: 0.0
+  expected result: '1. success
+
+    2. failed
+
+    3. failed
+
+    4. failed'
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: '1. join group with correct host addr and multicast addr
+
+    2. join group with correct host addr and wrong multicast addr
+
+    3. join group with wrong host addr and correct multicast addr
+
+    4. join group with wrong host addr and wrong multicast addr'
+  sub module: IGMP
+  summary: station IGMP join group address check
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: IGMP API parameter check
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_IGMP_0102
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 igmp -J -h <target_ip> -m 224.1.1.1
+    - ['R SSC1 C +IGMP:OK']
+  - - SSC SSC1 igmp -L -h <target_ip> -m 224.1.1.2
+    - ['R SSC1 C +IGMP:ERROR']
+  - - SSC SSC1 igmp -L -h 192.168.237.77 -m 224.1.1.1
+    - ['R SSC1 C +IGMP:ERROR']
+  - - SSC SSC1 igmp -L -h 192.168.237.77 -m 240.1.1.1
+    - ['R SSC1 C +IGMP:ERROR']
+  - - SSC SSC1 igmp -L -h <target_ip> -m 224.1.1.1
+    - ['R SSC1 C +IGMP:OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1. success
+
+    2. failed
+
+    3. failed
+
+    4. failed
+
+    5. succeed'
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: '1. join group with correct host addr and multicast addr
+
+    2. leave group with correct host addr and wrong multicast addr
+
+    3. leave group with wrong host addr and correct multicast addr
+
+    4. leave group with wrong host addr and wrong multicast addr
+
+    5. leave group with correct host addr and correct multicast addr'
+  sub module: IGMP
+  summary: station IGMP leave group address check
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: IGMP API parameter check
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_IGMP_0103
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 igmp -J -h <target_ap_ip> -m 224.1.1.1
+    - ['R SSC1 C +IGMP:OK']
+  - - SSC SSC1 igmp -L -h <target_ap_ip> -m 224.1.1.1
+    - ['R SSC1 C +IGMP:OK']
+  - - SSC SSC1 igmp -J -h <target_ap_ip> -m 223.1.1.1
+    - ['R SSC1 C +IGMP:ERROR']
+  - - SSC SSC1 igmp -J -h <target_ap_ip> -m 240.1.1.1
+    - ['R SSC1 C +IGMP:ERROR']
+  - - SSC SSC1 igmp -J -h 192.168.237.77 -m 224.1.1.1
+    - ['R SSC1 C +IGMP:ERROR']
+  - - SSC SSC1 igmp -J -h 192.168.237.77 -m 240.1.1.1
+    - ['R SSC1 C +IGMP:ERROR']
+  comment: ''
+  execution time: 0.0
+  expected result: '1. success
+
+    2. failed
+
+    3. failed
+
+    4. failed'
+  initial condition: APM2
+  initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
+    a TC with initial condition APSTA2
+  level: Integration
+  module: TCPIP
+  steps: '1. join group with correct host addr and multicast addr
+
+    2. join group with correct host addr and wrong multicast addr
+
+    3. join group with wrong host addr and correct multicast addr
+
+    4. join group with wrong host addr and wrong multicast addr'
+  sub module: IGMP
+  summary: softAP IGMP join group address check
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: IGMP API parameter check
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_IGMP_0104
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 igmp -J -h <target_ap_ip> -m 224.1.1.1
+    - ['R SSC1 C +IGMP:OK']
+  - - SSC SSC1 igmp -L -h <target_ap_ip> -m 224.1.1.2
+    - ['R SSC1 C +IGMP:ERROR']
+  - - SSC SSC1 igmp -L -h 192.168.237.77 -m 224.1.1.1
+    - ['R SSC1 C +IGMP:ERROR']
+  - - SSC SSC1 igmp -L -h 192.168.237.77 -m 240.1.1.1
+    - ['R SSC1 C +IGMP:ERROR']
+  - - SSC SSC1 igmp -L -h <target_ap_ip> -m 224.1.1.1
+    - ['R SSC1 C +IGMP:OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1. success
+
+    2. failed
+
+    3. failed
+
+    4. failed
+
+    5. succeed'
+  initial condition: APM2
+  initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
+    a TC with initial condition APSTA2
+  level: Integration
+  module: TCPIP
+  steps: '1. join group with correct host addr and multicast addr
+
+    2. leave group with correct host addr and wrong multicast addr
+
+    3. leave group with wrong host addr and correct multicast addr
+
+    4. leave group with wrong host addr and wrong multicast addr
+
+    5. leave group with correct host addr and correct multicast addr'
+  sub module: IGMP
+  summary: softAP IGMP leave group address check
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: IGMP API parameter check
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_IGMP_0201
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 igmp -J -h <target_ip> -m 224.1.1.1
+    - ['R SSC1 C +IGMP:OK']
+  - - SSC SSC1 soc -B -t UDP -i 224.1.1.1 -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:\+BIND:(\d+),OK']
+  - - SOC SOC1 BIND <test_udp_port1>
+    - [R SOC_COM L OK]
+  - - SOC SOC1 SENDTO 1 <test_udp_port1> 224.1.1.1
+    - [R SSC1 SL <sock1>+1]
+  - - SSC SSC1 igmp -L -h <target_ip> -m 224.1.1.1
+    - ['R SSC1 C +IGMP:OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1. succeed
+
+    2. succeed
+
+    3. able to recv packet'
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: '1. join group
+
+    2. create UDP socket using multicast addr
+
+    3. PC send UDP packet to multicast addr'
+  sub module: IGMP
+  summary: station IGMP recv packets
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: IGMP send/recv test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_IGMP_0202
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC2 op -S -o 1
+    - ['R SSC2 C +MODE:OK']
+  - - SSC SSC2 sta -C -s <ap_ssid> -p <ap_password>
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - SSC SSC1 igmp -J -h <target_ip> -m 224.1.1.1
+    - ['R SSC1 C +IGMP:OK']
+  - - SSC SSC1 soc -B -t UDP -i 224.1.1.1 -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:\+BIND:(\d+),OK']
+  - - SSC SSC2 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC2 A <sock2>:\+BIND:(\d+),OK']
+  - - SSC SSC2 soc -S -s <sock2> -i 224.1.1.1 -p <test_udp_port1> -l 10
+    - [R SSC1 SL <sock1>+1]
+  - - SSC SSC1 igmp -L -h <target_ip> -m 224.1.1.1
+    - ['R SSC1 C +IGMP:OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1. succeed
+
+    2. succeed
+
+    3. succeed
+
+    4. target1 recv multicast packet'
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: '1. target2 set to sta mode and join AP
+
+    2. target1 join group and create UDP socket using multicast addr
+
+    3. target2 create UDP socket
+
+    4. target2 send to multicast addr'
+  sub module: IGMP
+  summary: station send multicast packets
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: IGMP send/recv test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_IGMP_0203
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 igmp -J -h <target_ap_ip> -m 224.1.1.1
+    - ['R SSC1 C +IGMP:OK']
+  - - SSC SSC1 soc -B -t UDP -i 224.1.1.1 -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SOC SOC1 BIND <test_udp_port1> <pc_ip_wifi>
+    - [R SOC_COM L OK]
+  - - SOC SOC1 SENDTO 1 <test_udp_port1> 224.1.1.1
+    - [R SSC1 SL <sock1>+1]
+  - - SSC SSC1 igmp -L -h <target_ap_ip> -m 224.1.1.1
+    - ['R SSC1 C +IGMP:OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1. succeed
+
+    2. succeed
+
+    3. able to recv packet'
+  initial condition: APM2
+  initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
+    a TC with initial condition APSTA2
+  level: Integration
+  module: TCPIP
+  steps: '1. join group
+
+    2. create UDP socket using multicast addr
+
+    3. PC send UDP packet to multicast addr'
+  sub module: IGMP
+  summary: softAP IGMP recv packets
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: IGMP send/recv test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_IGMP_0204
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - SSC SSC1 igmp -J -h <target_ap_ip> -m 224.1.1.1
+    - ['R SSC1 C +IGMP:OK']
+  - - SSC SSC1 soc -B -t UDP -i 224.1.1.1 -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:\+BIND:(\d+),OK']
+  - - SSC SSC2 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC2 A <sock2>:\+BIND:(\d+),OK']
+  - - SSC SSC2 soc -S -s <sock2> -i 224.1.1.1 -p <test_udp_port1> -l 10
+    - [R SSC1 SL <sock1>+1]
+  - - SSC SSC1 igmp -L -h <target_ap_ip> -m 224.1.1.1
+    - ['R SSC1 C +IGMP:OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1. succeed
+
+    2. succeed
+
+    3. succeed
+
+    4. target1 recv multicast packet'
+  initial condition: T2_1
+  initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+    autogen a TC with initial condition T2_2
+  level: Integration
+  module: TCPIP
+  steps: '1. target2 join SoftAP
+
+    2. target1 join group and create UDP socket using multicast addr
+
+    3. target2 create UDP socket
+
+    4. target2 send to multicast addr'
+  sub module: IGMP
+  summary: softAP send multicast packets
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: IGMP send/recv test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_IP_0101
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 dhcp -S -o 1
+    - ['R SSC1 C +DHCP:STA,OK']
+  - - SSC SSC1 ip -S -o 1 -i 192.168.123.123
+    - ['R SSC1 C +IP:ERROR']
+  - - SSC SSC1 dhcp -E -o 1
+    - ['R SSC1 C +DHCP:STA,OK']
+  - - SSC SSC1 ip -S -o 1 -i 192.168.123.123
+    - ['R SSC1 C +IP:OK']
+  - - SSC SSC1 ip -Q -o 1
+    - ['R SSC1 C +STAIP:192.168.123.123']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.ERROR
+
+    3.OK
+
+    4.OK
+
+    5.STAIP:192.168.123.123'
+  initial condition: STAM1
+  initial condition description (auto): sta mode, quit AP, DHCP on, will autogen a
+    TC with initial condition STAAP1
+  level: Integration
+  module: TCPIP
+  steps: '1.target1 打开DHCP 1
+
+    2.target1 设置sta ip 192.168.123.123
+
+    4.target1 关闭DHCP 1
+
+    5.target1 设置sta ip 192.168.123.123
+
+    6.target1 查询 当前sta ip '
+  sub module: IP
+  summary: sta set and query static ip test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: set and query static IP
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_IP_0102
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 dhcp -S -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - SSC SSC1 ip -S -o 2 -i 192.168.123.123
+    - ['R SSC1 C +IP:ERROR']
+  - - SSC SSC1 dhcp -E -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - SSC SSC1 ip -S -o 2 -i 192.168.123.123
+    - ['R SSC1 C +IP:OK']
+  - - SSC SSC1 ip -Q -o 2
+    - ['R SSC1 C +APIP:192.168.123.123']
+  - - SSC SSC1 ip -S -o 2 -i <target_ap_ip>
+    - ['R SSC1 C +IP:OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.ERROR
+
+    3.OK
+
+    4.OK
+
+    5.APIP:192.168.123.123
+
+    6.OK'
+  initial condition: APM1
+  initial condition description (auto): AP mode, DHCP on, will autogen a TC with initial
+    condition APSTA1
+  level: Integration
+  module: TCPIP
+  steps: "1.target1 打开DHCP 2\n2.target1 设置softAP ip 192.168.123.123\n4.target1 关闭DHCP\
+    \ 2\n5.target1 设置softAP ip 192.168.123.123\n6.target1 查询 当前sta ip \n7.target1\
+    \ 设置softAP ip 为target_ap_ip"
+  sub module: IP
+  summary: ap set and query static ip test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: set and query static IP
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_TCP_0101
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1>
+    - [SOCR SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP -i 0.0.0.0 -p 0
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+    - ['P SSC1 RE CONNECT:\d+,OK', P SOC1 C +ACCEPT]
+  - - SSC SSC1 soc -B -t TCP -i 0.0.0.0 -p 0
+    - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock2> -i 123.456.678.789 -p <test_tcp_port1>
+    - ['P SSC1 RE CONNECT:\d+,ERROR']
+  - - SSC SSC1 soc -C -s <sock2> -i <pc_ip> -p <test_tcp_port2>
+    - ['P SSC1 RE CONNECT:\d+,ERROR']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK; PC TCP server accept 成功
+
+    4.OK
+
+    5.ERROR
+
+    6.ERROR'
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上建立TCP 监听 test_tcp_port1
+
+    2.target1上创建TCP socket,bind到本地ip 0.0.0.0,本地端口 0
+
+    3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1
+
+    4.target1上创建TCP socket,bind到本地ip 0.0.0.0,本地端口 0
+
+    5.target1上使用步骤4创建的socket,去连接不存在的ip,test_tcp_port1
+
+    6.target1上使用步骤2创建的socket,去连接 PC的ip,远端端口不存在。'
+  sub module: TCP
+  summary: STA mode, connect test. use different ip, port
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_TCP_0102
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 soc -B -t TCP -p <random_port>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -L -s <sock1>
+    - ['R SSC1 RE LISTEN:\d+,OK']
+  - - SOC SOC1 CONNECT <random_port> <target_ip>
+    - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+', P SOC_COM C OK]
+  - - SOC SOC1 CONNECT <test_tcp_port2> <target_ip>
+    - [P SOC_COM C ERROR, P SSC1 NC ACCEPT]
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.PC TCP client accept
+
+    4.error'
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: '1.target1上创建TCP socket,bind到本地端口<random_port>
+
+    2.target1上使用步骤1创建的socket,创建TCP 监听
+
+    3.PC TCP 连接到target1  <random_port>,<target_ip>
+
+    4.PC tcp 连接到不存在的port ,<target_ip>'
+  sub module: TCP
+  summary: STA mode, server listen test. use different kinds of port
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_TCP_0103
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SOC SOC1 ACCEPT SOC2
+    - [R SOC_COM L OK]
+  - - SOC SOC2 SEND 5
+    - [R SSC1 SL <sock1>+5]
+  - - SSC SSC1 soc -S -s <sock1> -l 5
+    - ['P SSC1 RE SEND:\d+,OK', P SOC2 RL 5]
+  - - SOC SOC2 SEND 146000
+    - [R SSC1 SL <sock1>+146000]
+  - - SSC SSC1 soc -S -s <sock1> -l 1460 -n 100
+    - ['P SSC1 RE SEND:\d+,OK', P SOC2 RL 146000]
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK,pc上回accept
+
+    4.OK
+
+    5.target收到5 byte
+
+    6.PC收到5 byte
+
+    7.target收到 146000 byte
+
+    8.OK,PC 回SOC_RECV=SOC2,RECV_LEN=字节数'
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: '1. PC上建立TCP 监听 test_tcp_port1
+
+    2.target1上创建TCP socket
+
+    3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1
+
+    4.PC与target1 创建好TCP 连接,有ACCEPT
+
+    5.PC send 5 bytes to 8266
+
+    6.8266 send 5 bytes to PC
+
+    7. PC send 100 * 1460 data to 8266,
+
+    8.8266 send 100 * 1460 to PC. '
+  sub module: TCP
+  summary: STA mode, send/recv basic test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_TCP_0104
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -D -s <sock1> -h B
+    - ['R SSC1 RE SHUTDOWN:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock2> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -D -s <sock2> -h W
+    - ['R SSC1 RE SHUTDOWN:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock3>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock3> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -D -s <sock3> -h R
+    - ['R SSC1 RE SHUTDOWN:\d+,OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK,pc tcp server accept OK
+
+    4.OK
+
+    5.OK
+
+    6.OK,pc tcp server accept OK
+
+    7.OK
+
+    8.OK
+
+    9.OK,pc tcp server accept OK
+
+    10.OK'
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: '1. PC上建立TCP 监听 test_tcp_port1
+
+    2.target1上创建TCP socket
+
+    3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+
+    4.target1 shutdown socket1 B
+
+    5.target1上创建TCP socket
+
+    6.target1上使用步骤5创建的socket,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+
+    7.target1 shutdown socket2 W
+
+    8.target1上创建TCP socket
+
+    9.target1上使用步骤8创建的socket,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+
+    10.target1 shutdown socket3 R'
+  sub module: TCP
+  summary: STA mode, shutdown basic test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_TCP_0105
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -T -s <sock1>
+    - ['R SSC1 RE CLOSE:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP -p <random_port>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -L -s <sock1>
+    - ['R SSC1 RE LISTEN:\d+,OK']
+  - - SOC SOC2 CONNECT <random_port> <target_ip>
+    - ['R SSC1 A <sock2>:ACCEPT:(\d+),\d+,.+,\d+']
+  - - SSC SSC1 soc -T -s <sock2>
+    - ['R SSC1 RE CLOSE:\d+,OK']
+  - - SSC SSC1 soc -T -s <sock1>
+    - ['R SSC1 RE CLOSE:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -T -s <sock1>
+    - ['R SSC1 RE CLOSE:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -D -s <sock1>
+    - ['R SSC1 RE SHUTDOWN:\d+,OK']
+  - - SSC SSC1 soc -T -s <sock1>
+    - ['R SSC1 RE CLOSE:\d+,OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK
+
+    4.OK
+
+    5.OK
+
+    6.OK
+
+    7.target1关闭socket1
+
+    8.target1关闭socket2
+
+    9.OK
+
+    10.OK,pc tcp server accept成功
+
+    11.target1关闭socket1
+
+    12.OK
+
+    13.OK,pc tcp server accept成功
+
+    14.OK
+
+    15.target1关闭socket1'
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1\n3.target1关闭socket1\n\
+    4.target1上创建TCP socket 端口随机\n5.target1上使用步骤4创建的socket1,去监听\n6.PC CONNECT<random_port>,<target_ip>\
+    \ ,tcp 连接创建成功,创建socket2             \n7.target1关闭socket1\n8.target1关闭socket2\n\
+    9.target1上创建TCP socket1\n10.target1上使用步骤10创建的socket1,去连接 PC的ip,test_tcp_port1,PC有ACCEPT\n\
+    11.target1关闭socket1\n12.target1上创建TCP socket1\n13.target1上使用步骤13创建的socket1,去连接\
+    \ PC的ip,test_tcp_port1,PC有ACCEPT\n14.target1shutdown socket1\n15.target1关闭socket1"
+  sub module: TCP
+  summary: STA mode, close for different types of TCP sockets test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_TCP_0106
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock2> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock3>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock3> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock4>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock4> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock5>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock5> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK,pc tcp server accept成功
+
+    4 OK
+
+    5.OK,pc tcp server accept成功
+
+    6.OK
+
+    7.OK,pc tcp server accept成功
+
+    8 OK
+
+    9.OK,pc tcp server accept成功
+
+    10.OK
+
+    11.OK,pc tcp server accept成功'
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上建立TCP 监听 test_tcp_port1
+
+    2.target1上创建TCP socket1
+
+    3.target1上使用步骤2创建的socket1,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+
+    4.target1上创建TCP socket2
+
+    5.target1上使用步骤4创建的socket2,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+
+    6.target1上创建TCP socket3
+
+    7.target1上使用步骤6创建的socket3,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+
+    8.target1上创建TCP socket4
+
+    9.target1上使用步骤8创建的socket4,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+
+    10.target1上创建TCP socket5
+
+    11.target1上使用步骤10创建的socket5,去连接 PC的ip,test_tcp_port1,PC有ACCEPT'
+  sub module: TCP
+  summary: STA mode, create max TCP sockets test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_TCP_0107
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 soc -B -t TCP -p <random_port>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -L -s <sock1>
+    - ['R SSC1 RE LISTEN:\d+,OK']
+  - - SOC SOC2 CONNECT <random_port> <target_ip>
+    - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
+  - - SOC SOC3 CONNECT <random_port> <target_ip>
+    - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
+  - - SOC SOC4 CONNECT <random_port> <target_ip>
+    - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
+  - - SOC SOC5 CONNECT <random_port> <target_ip>
+    - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
+  - - SOC SOC6 CONNECT <random_port> <target_ip>
+    - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.+BIND:0,OK,0.0.0.0
+
+    2.OK
+
+    3.OK,pc tcp server accept成功
+
+    4.OK,pc tcp server accept成功
+
+    5.OK,pc tcp server accept成功
+
+    6.OK,pc tcp server accept成功
+
+    7.OK,pc tcp server accept成功'
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: "1.target1上创建TCP socket 端口随机\n2.target1上使用步骤4创建的socket1,去监听\n3.PC CONNECT<random_port>,<target_ip>\
+    \ ,tcp 连接创建成功,创建socket2 \n4.PC CONNECT<random_port>,<target_ip> ,tcp 连接创建成功,创建socket3\
+    \ \n5.PC CONNECT<random_port>,<target_ip> ,tcp 连接创建成功,创建socket4 \n6.PC CONNECT<random_port>,<target_ip>\
+    \ ,tcp 连接创建成功,创建socket5  \n7.PC CONNECT<random_port>,<target_ip> ,tcp 连接创建成功,创建socket6\
+    \    "
+  sub module: TCP
+  summary: STA mode, accept max TCP client by server test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_TCP_0110
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
+    - [SOCR SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP -i 0.0.0.0 -p 0
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
+    - ['P SSC1 RE CONNECT:\d+,OK', P SOC1 C +ACCEPT]
+  - - SSC SSC1 soc -B -t TCP -i 0.0.0.0 -p 0
+    - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock2> -i 123.456.678.789 -p <test_tcp_port1>
+    - ['P SSC1 RE CONNECT:\d+,ERROR']
+  - - SSC SSC1 soc -C -s <sock2> -i <pc_ip_wifi> -p <test_tcp_port2>
+    - ['P SSC1 RE CONNECT:\d+,ERROR']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK; PC TCP server accept 成功
+
+    4.OK
+
+    5.ERROR
+
+    6.ERROR'
+  initial condition: APM2
+  initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
+    a TC with initial condition APSTA2
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上建立TCP 监听 test_tcp_port1
+
+    2.target1上创建TCP socket,bind到本地ip 0.0.0.0,本地端口 0
+
+    3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1
+
+    4.target1上创建TCP socket,bind到本地ip 0.0.0.0,本地端口 0
+
+    5.target1上使用步骤4创建的socket,去连接不存在的ip,test_tcp_port1
+
+    6.target1上使用步骤2创建的socket,去连接 PC的ip,远端端口不存在。'
+  sub module: TCP
+  summary: AP mode, connect test. use different ip, port
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_TCP_0111
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 soc -B -t TCP -p <random_port>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -L -s <sock1>
+    - ['R SSC1 RE LISTEN:\d+,OK']
+  - - SOC SOC1 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
+    - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+', P SOC_COM C OK]
+  - - SOC SOC1 CONNECT <test_tcp_port2> <target_ap_ip> 0 <pc_ip_wifi>
+    - [P SOC_COM C ERROR, P SSC1 NC ACCEPT]
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.PC TCP client accept
+
+    4.error'
+  initial condition: APM2
+  initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
+    a TC with initial condition APSTA2
+  level: Integration
+  module: TCPIP
+  steps: '1.target1上创建TCP socket,bind到本地端口<random_port>
+
+    2.target1上使用步骤1创建的socket,创建TCP 监听
+
+    3.PC TCP 连接到target1  <random_port>,<target_ip>
+
+    4.PC tcp 连接到不存在的port ,<target_ip>'
+  sub module: TCP
+  summary: AP mode, server listen test. use different kinds of port
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_TCP_0112
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SOC SOC1 ACCEPT SOC2
+    - [R SOC_COM L OK]
+  - - SOC SOC2 SEND 5
+    - [R SSC1 SL <sock1>+5]
+  - - SSC SSC1 soc -S -s <sock1> -l 5
+    - ['P SSC1 RE SEND:\d+,OK', P SOC2 RL 5]
+  - - SOC SOC2 SEND 146000
+    - [R SSC1 SL <sock1>+146000]
+  - - SSC SSC1 soc -S -s <sock1> -l 1460 -n 100
+    - ['P SSC1 RE SEND:\d+,OK', P SOC2 RL 146000]
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK,pc tcp server accept成功
+
+    4.OK
+
+    5.target收到5byte数据
+
+    6.PC收到5byte数据
+
+    7.target收到146000 byte数据
+
+    8.OK,PC 收到146000 byte数据'
+  initial condition: APM2
+  initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
+    a TC with initial condition APSTA2
+  level: Integration
+  module: TCPIP
+  steps: '1. PC上建立TCP 监听 test_tcp_port1
+
+    2.target1上创建TCP socket
+
+    3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1
+
+    4.PC与target1 创建好TCP 连接,有ACCEPT
+
+    5.PC send 5 bytes to 8266
+
+    6.8266 send 5 bytes to PC
+
+    7. PC send 100 * 1460 data to 8266,
+
+    8.8266 send 100 * 1460 to PC. '
+  sub module: TCP
+  summary: AP mode, send/recv basic test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_TCP_0113
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -D -s <sock1> -h B
+    - ['R SSC1 RE SHUTDOWN:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock2> -i <pc_ip_wifi> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -D -s <sock2> -h W
+    - ['R SSC1 RE SHUTDOWN:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock3>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock3> -i <pc_ip_wifi> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -D -s <sock3> -h R
+    - ['R SSC1 RE SHUTDOWN:\d+,OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK,pc tcp server accept成功
+
+    4.OK
+
+    5.OK
+
+    6.OK,pc tcp server accept成功
+
+    7.OK
+
+    8.OK
+
+    9.OK,pc tcp server accept成功
+
+    10.OK'
+  initial condition: APM2
+  initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
+    a TC with initial condition APSTA2
+  level: Integration
+  module: TCPIP
+  steps: '1. PC上建立TCP 监听 test_tcp_port1
+
+    2.target1上创建TCP socket
+
+    3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+
+    4.target1 shutdown socket1 B
+
+    5.target1上创建TCP socket
+
+    6.target1上使用步骤5创建的socket,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+
+    7.target1 shutdown socket2 W
+
+    8.target1上创建TCP socket
+
+    9.target1上使用步骤8创建的socket,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+
+    10.target1 shutdown socket3 R'
+  sub module: TCP
+  summary: AP mode, shutdown basic test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_TCP_0114
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -T -s <sock1>
+    - ['R SSC1 RE CLOSE:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP -p <random_port>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -L -s <sock1>
+    - ['R SSC1 RE LISTEN:\d+,OK']
+  - - SOC SOC2 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
+    - ['R SSC1 A <sock2>:ACCEPT:(\d+),\d+,.+,\d+']
+  - - SSC SSC1 soc -T -s <sock2>
+    - ['R SSC1 RE CLOSE:\d+,OK']
+  - - SSC SSC1 soc -T -s <sock1>
+    - ['R SSC1 RE CLOSE:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -T -s <sock1>
+    - ['R SSC1 RE CLOSE:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -D -s <sock1>
+    - ['R SSC1 RE SHUTDOWN:\d+,OK']
+  - - SSC SSC1 soc -T -s <sock1>
+    - ['R SSC1 RE CLOSE:\d+,OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK
+
+    4.OK
+
+    5.OK
+
+    6.OK,target1上accept 成功
+
+    7.target1关闭socket1
+
+    8.target1关闭socket2
+
+    9.OK
+
+    10.OK,pc tcp server accept成功
+
+    11.target1关闭socket1
+
+    12.OK
+
+    13.OK,pc tcp server accept成功
+
+    14.OK
+
+    15.target1关闭socket1'
+  initial condition: APM2
+  initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
+    a TC with initial condition APSTA2
+  level: Integration
+  module: TCPIP
+  steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1\n3.target1关闭socket1\n\
+    4.target1上创建TCP socket 端口随机\n5.target1上使用步骤4创建的socket1,去监听\n6.PC CONNECT<random_port>,<target_ip>\
+    \ ,tcp 连接创建成功,创建socket2             \n7.target1关闭socket1\n8.target1关闭socket2\n\
+    9.target1上创建TCP socket1\n10.target1上使用步骤10创建的socket1,去连接 PC的ip,test_tcp_port1,PC有ACCEPT\n\
+    11.target1关闭socket1\n12.target1上创建TCP socket1\n13.target1上使用步骤13创建的socket1,去连接\
+    \ PC的ip,test_tcp_port1,PC有ACCEPT\n14.target1shutdown socket1\n15.target1关闭socket1"
+  sub module: TCP
+  summary: AP mode, close for different types of TCP sockets test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_TCP_0115
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock2> -i <pc_ip_wifi> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock3>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock3> -i <pc_ip_wifi> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock4>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock4> -i <pc_ip_wifi> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock5>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock5> -i <pc_ip_wifi> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK,pc tcp server accept成功
+
+    4 OK
+
+    5.OK,pc tcp server accept成功
+
+    6.OK
+
+    7.OK,pc tcp server accept成功
+
+    8 OK
+
+    9.OK,pc tcp server accept成功
+
+    10.OK
+
+    11.OK,pc tcp server accept成功'
+  initial condition: APM2
+  initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
+    a TC with initial condition APSTA2
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上建立TCP 监听 test_tcp_port1
+
+    2.target1上创建TCP socket1
+
+    3.target1上使用步骤2创建的socket1,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+
+    4.target1上创建TCP socket2
+
+    5.target1上使用步骤4创建的socket2,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+
+    6.target1上创建TCP socket3
+
+    7.target1上使用步骤6创建的socket3,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+
+    8.target1上创建TCP socket4
+
+    9.target1上使用步骤8创建的socket4,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+
+    10.target1上创建TCP socket5
+
+    11.target1上使用步骤10创建的socket5,去连接 PC的ip,test_tcp_port1,PC有ACCEPT'
+  sub module: TCP
+  summary: AP mode, create max TCP sockets test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_TCP_0116
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 soc -B -t TCP -p <random_port>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -L -s <sock1>
+    - ['R SSC1 RE LISTEN:\d+,OK']
+  - - SOC SOC2 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
+    - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
+  - - SOC SOC3 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
+    - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
+  - - SOC SOC4 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
+    - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
+  - - SOC SOC5 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
+    - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
+  - - SOC SOC6 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
+    - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.+BIND:0,OK,0.0.0.0
+
+    2.OK
+
+    3.OK,pc tcp server accept成功
+
+    4.OK,pc tcp server accept成功
+
+    5.OK,pc tcp server accept成功
+
+    6.OK,pc tcp server accept成功
+
+    7.OK,pc tcp server accept成功'
+  initial condition: APM2
+  initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
+    a TC with initial condition APSTA2
+  level: Integration
+  module: TCPIP
+  steps: "1.target1上创建TCP socket 端口随机\n2.target1上使用步骤4创建的socket1,去监听\n3.PC CONNECT<random_port>,<target_ip>\
+    \ ,tcp 连接创建成功,创建socket2 \n4.PC CONNECT<random_port>,<target_ip> ,tcp 连接创建成功,创建socket3\
+    \ \n5.PC CONNECT<random_port>,<target_ip> ,tcp 连接创建成功,创建socket4 \n6.PC CONNECT<random_port>,<target_ip>\
+    \ ,tcp 连接创建成功,创建socket5  \n7.PC CONNECT<random_port>,<target_ip> ,tcp 连接创建成功,创建socket6\
+    \    "
+  sub module: TCP
+  summary: AP mode, accept max TCP client by server test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_TCP_0201
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1>
+    - [SOCR SOC_COM L OK]
+  - - SSC SSC1 soc -B -t UDP -i 0.0.0.0 -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+    - ['P SSC1 RE CONNECT:\d+,ERROR']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -L -s <sock2>
+    - ['R SSC1 RE LISTEN:\d+,OK']
+  - - SSC SSC1 soc -C -s <sock2> -i <pc_ip> -p <test_tcp_port1>
+    - ['P SSC1 RE CONNECT:\d+,ERROR']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock3>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock3> -i <pc_ip> -p <test_tcp_port1>
+    - ['P SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -D -s <sock3> -h B
+    - ['P SSC1 RE SHUTDOWN:\d+,OK']
+  - - SSC SSC1 soc -C -s <sock3> -i <pc_ip> -p <test_tcp_port1>
+    - ['P SSC1 RE CONNECT:\d+,ERROR']
+  - - SSC SSC1 soc -T
+    - [R SSC1 C +CLOSEALL]
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+    - ['P SSC1 RE CONNECT:\d+,ERROR']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.ok
+
+    2.OK
+
+    3.ERROR
+
+    4.OK
+
+    5.OK
+
+    6.ERROR
+
+    7.OK
+
+    8.OK
+
+    9.OK
+
+    10.OK
+
+    11.OK
+
+    12.ERROR'
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上建立TCP 监听 test_tcp_port1
+
+    2.target1上创建UDP传输socket,bind到本地ip 0.0.0.0,<test_udp_port1>
+
+    3.target1上使用步骤2创建的socket,去连接 PC的ip,<test_udp_port1>
+
+    4.target1上创建TCP socket
+
+    5.target1上使用步骤4创建的socket,创建TCP 监听
+
+    6.target1上使用步骤4创建的socket,去连接 PC的ip,<test_tcp_port1>
+
+    7.target1上创建TCP socket
+
+    8.target1上使用步骤7创建的socket,去连接 PC的ip,<test_tcp_port1>
+
+    9.target1上关闭步骤7创建的socket
+
+    10.target1上使用步骤7创建的socket,去连接 PC的ip,<test_tcp_port1>
+
+    11.target1上关闭所有创建的socket
+
+    12.target1上使用步骤2创建的socket,去连接 PC的ip,<test_tcp_port1>'
+  sub module: TCP
+  summary: STA mode, connect test. use socket in state that can't connect
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) in different state
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_TCP_0202
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -L -s <sock1>
+    - ['R SSC1 RE LISTEN:\d+,ERROR']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock2> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -L -s <sock2>
+    - ['R SSC1 RE LISTEN:\d+,ERROR']
+  - - SSC SSC1 soc -D -s <sock2>
+    - ['R SSC1 RE SHUTDOWN:\d+,OK']
+  - - SSC SSC1 soc -L -s <sock2>
+    - ['R SSC1 RE LISTEN:\d+,ERROR']
+  - - SSC SSC1 soc -L -s 1000
+    - ['R SSC1 RE LISTEN:\d+,ERROR']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.ERROR
+
+    4.OK
+
+    5.OK
+
+    6.ERROR
+
+    7.OK
+
+    8.ERROR
+
+    9.ERROR'
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上建立TCP 监听 test_tcp_port1
+
+    2.target1上创建UDP传输socket,bind到本地ip 0.0.0.0,<test_udp_port1>
+
+    3.target1上使用步骤2创建的socket,去建立TCP 监听
+
+    4.target1上创建TCP socket
+
+    5.target1上使用步骤4创建的socket,去连接 PC的ip,<test_tcp_port1>
+
+    6.target1上使用步骤4创建的socket,创建TCP 监听
+
+    7.target1上shutdown 步骤4的socket
+
+    8.target1上使用步骤4创建的socket,创建TCP 监听
+
+    9.target1上使用不存在socket,创建TCP 监听'
+  sub module: TCP
+  summary: STA mode, server listen test. use socket in state that can't listen
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) in different state
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_TCP_0203
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -S -s <sock1>
+    - ['R SSC1 RE SEND:\d+,ERROR']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -S -s <sock2>
+    - ['R SSC1 RE SEND:\d+,ERROR']
+  - - SSC SSC1 soc -C -s <sock2> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -D -s <sock2>
+    - ['R SSC1 RE SHUTDOWN:\d+,OK']
+  - - SSC SSC1 soc -S -s <sock2>
+    - ['R SSC1 RE SEND:\d+,ERROR']
+  - - SSC SSC1 soc -S -s 1000
+    - ['R SSC1 RE SEND:\d+,ERROR']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.ERROR
+
+    4.OK
+
+    5.ERROR
+
+    6.OK
+
+    7.OK
+
+    8.ERROR
+
+    9.ERROR'
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上建立TCP 监听 test_tcp_port1
+
+    2.target1上创建UDP传输socket1,<test_udp_port1>
+
+    3.target1上使用步骤2创建的socket1,去发送数据
+
+    4.target1上创建TCP socket2
+
+    5.target1上使用步骤4创建的socket2,去发送数据
+
+    6.target1上使用步骤4创建的socket2,创建TCP连接,连接成功
+
+    7.target1上shutdown 步骤4的socket2
+
+    8.target1往socket2发送错误命令发送数据
+
+    9.target1上不指定socket往上发送数据'
+  sub module: TCP
+  summary: send test. use socket in state that can't send
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) in different state
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_TCP_0204
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SOC SOC1 ACCEPT SOC2
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -W -s <sock1> -o 0
+    - ['R SSC1 RE WORKTHREAD:\d+,OK']
+  - - SOC SOC2 SEND 146000
+    - [P SOC_COM R *]
+  - - SSC SSC1 soc -W -s <sock1> -o 1
+    - ['P SSC1 RE WORKTHREAD:\d+,OK', P SSC1 SL <sock1>+2920]
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK,pc server accept OK
+
+    4.OK
+
+    5.OK
+
+    6.OK
+
+    7.target收到146000 byte
+
+    '
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: '1. PC上建立TCP 监听 test_tcp_port1
+
+    2.target1上创建TCP socket
+
+    3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1
+
+    4.PC与target1 创建好TCP 连接,有ACCEPT
+
+    5.target上不进行recv
+
+    6.PC send 100 * 1460 data to target,
+
+    7.在target上开始recv'
+  sub module: TCP
+  summary: STA mode, recv buffer test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) in different state
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_TCP_0206
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP -i <target_ip>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP -i <target_ip>
+    - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock2> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -D -s <sock2>
+    - ['R SSC1 RE SHUTDOWN:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP -p <random_port>
+    - ['R SSC1 A <sock3>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -L -s <sock3>
+    - ['R SSC1 RE LISTEN:\d+,OK']
+  - - SOC SOC2 CONNECT <random_port> <target_ip>
+    - ['R SSC1 A <sock4>:ACCEPT:(\d+),\d+,.+,\d+']
+  - - SSC SSC1 soc -I
+    - ['P SSC1 RE "SOCINFO:%%s,2,%%s,\d+,%%s,%%d"%%(<sock1>,<target_ip>,<pc_ip>,<test_tcp_port1>)',
+      'P SSC1 RE "SOCINFO:%%s,2,.+,\d+,.+,\d+"%%(<sock2>)', 'P SSC1 RE "SOCINFO:%%s,82,.+,%%d,.+,\d+"%%(<sock3>,<random_port>)',
+      'P SSC1 RE "SOCINFO:%%s,2,%%s,%%d,%%s,\d+"%%(<sock4>,<target_ip>,<random_port>,<pc_ip>)']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK,pc tcp server accept成功
+
+    4.OK
+
+    5.OK
+
+    6.OK
+
+    7.OK
+
+    8.OK
+
+    9.PC OK, target1 +ACCEPT:3,2,<pc_ip>,port
+
+    10.+SOCINFO:<sock1>,<target_ip>,<pc_ip>,<test_tcp_port1>
+
+    +SOCINFO:<sock2>,<target_ip>,<pc_ip>,<test_tcp_port1>
+
+    +SOCINFO:<sock3>,<random_port>
+
+    +SOCINFO:<sock4>,<target_ip>,<random_port>,<pc_ip>
+
+    +SOCINF0ALL'
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1,本地ip target_ip\n3.target1上使用步骤2创建的socket1,去连接\
+    \ PC的ip,test_tcp_port1,PC有ACCEPT\n4.target1上创建TCP socket2,本地ip target_ip\n5.target1上使用步骤4创建的socket2,去连接\
+    \ PC的ip,test_tcp_port1,PC有ACCEPT\n6.target1 shutdown socket2 \n7.target1上创建TCP\
+    \ socket3,本地端口random_port\n8.target1上使用步骤7创建的socket3,去监听\n9.PC CONNECT<random_port>,<target_ip>\
+    \ ,tcp 连接创建成功,创建socket4  \n10.target1 查询the socket information"
+  sub module: TCP
+  summary: STA mode, get active socket info test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) in different state
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_TCP_0207
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
+    - [SOCR SOC_COM L OK]
+  - - SSC SSC1 soc -B -t UDP -i 0.0.0.0 -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
+    - ['P SSC1 RE CONNECT:\d+,ERROR']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -L -s <sock2>
+    - ['R SSC1 RE LISTEN:\d+,OK']
+  - - SSC SSC1 soc -C -s <sock2> -i <pc_ip_wifi> -p <test_tcp_port1>
+    - ['P SSC1 RE CONNECT:\d+,ERROR']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock3>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock3> -i <pc_ip_wifi> -p <test_tcp_port1>
+    - ['P SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -D -s <sock3> -h B
+    - ['P SSC1 RE SHUTDOWN:\d+,OK']
+  - - SSC SSC1 soc -C -s <sock3> -i <pc_ip_wifi> -p <test_tcp_port1>
+    - ['P SSC1 RE CONNECT:\d+,ERROR']
+  - - SSC SSC1 soc -T
+    - [R SSC1 C +CLOSEALL]
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
+    - ['P SSC1 RE CONNECT:\d+,ERROR']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.ok
+
+    2 OK
+
+    3.ERROR
+
+    4.OK
+
+    5.OK
+
+    6.ERROR
+
+    7.OK
+
+    8.OK
+
+    9.OK
+
+    10.OK
+
+    11.OK
+
+    12.ERROR'
+  initial condition: APM2
+  initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
+    a TC with initial condition APSTA2
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上建立TCP 监听 test_tcp_port1
+
+    2.target1上创建UDP传输socket,bind到本地ip 0.0.0.0,<test_udp_port1>
+
+    3.target1上使用步骤2创建的socket,去连接 PC的ip,<test_udp_port1>
+
+    4.target1上创建TCP socket
+
+    5.target1上使用步骤4创建的socket,创建TCP 监听
+
+    6.target1上使用步骤4创建的socket,去连接 PC的ip,<test_tcp_port1>
+
+    7.target1上创建TCP socket
+
+    8.target1上使用步骤7创建的socket,去连接 PC的ip,<test_tcp_port1>
+
+    9.target1上关闭步骤7创建的socket
+
+    10.target1上使用步骤7创建的socket,去连接 PC的ip,<test_tcp_port1>
+
+    11.target1上关闭所有创建的socket
+
+    12.target1上使用步骤2创建的socket,去连接 PC的ip,<test_tcp_port1>'
+  sub module: TCP
+  summary: AP mode, connect test. use socket in state that can't connect
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) in different state
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_TCP_0208
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -L -s <sock1>
+    - ['R SSC1 RE LISTEN:\d+,ERROR']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock2> -i <pc_ip_wifi> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -L -s <sock2>
+    - ['R SSC1 RE LISTEN:\d+,ERROR']
+  - - SSC SSC1 soc -D -s <sock2>
+    - ['R SSC1 RE SHUTDOWN:\d+,OK']
+  - - SSC SSC1 soc -L -s <sock2>
+    - ['R SSC1 RE LISTEN:\d+,ERROR']
+  - - SSC SSC1 soc -L -s 1000
+    - ['R SSC1 RE LISTEN:\d+,ERROR']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.ERROR
+
+    4 OK
+
+    5.OK
+
+    6.ERROR
+
+    7.OK
+
+    8.ERROR
+
+    9.ERROR'
+  initial condition: APM2
+  initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
+    a TC with initial condition APSTA2
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上建立TCP 监听 test_tcp_port1
+
+    2.target1上创建UDP传输socket,bind到本地ip 0.0.0.0,<test_udp_port1>
+
+    3.target1上使用步骤2创建的socket,去建立TCP 监听
+
+    4.target1上创建TCP socket
+
+    5.target1上使用步骤4创建的socket,去连接 PC的ip,<test_tcp_port1>
+
+    6.target1上使用步骤4创建的socket,创建TCP 监听
+
+    7.target1上shutdown 步骤4的socket
+
+    8.target1上使用步骤4创建的socket,创建TCP 监听
+
+    9.target1上使用不存在socket,创建TCP 监听'
+  sub module: TCP
+  summary: AP mode, server listen test. use socket in state that can't listen
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) in different state
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_TCP_0210
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SOC SOC1 ACCEPT SOC2
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -W -s <sock1> -o 0
+    - ['R SSC1 RE WORKTHREAD:\d+,OK']
+  - - SOC SOC2 SEND 146000
+    - [P SOC_COM R *]
+  - - SSC SSC1 soc -W -s <sock1> -o 1
+    - ['P SSC1 RE WORKTHREAD:\d+,OK', P SSC1 SL <sock1>+2920]
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK,pc tcp server accept成功
+
+    4.OK
+
+    6.OK
+
+    7.收到 146000 数据
+
+    '
+  initial condition: APM2
+  initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
+    a TC with initial condition APSTA2
+  level: Integration
+  module: TCPIP
+  steps: '1. PC上建立TCP 监听 test_tcp_port1
+
+    2.target1上创建TCP socket
+
+    3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1
+
+    4.PC与target1 创建好TCP 连接,有ACCEPT
+
+    5.target停止调用recv
+
+    6.PC send 100 * 1460 data to 8266,
+
+    7.target重新调用recv'
+  sub module: TCP
+  summary: AP mode, recv buffer test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) in different state
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_TCP_0212
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP -i <target_ap_ip>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP -i <target_ap_ip>
+    - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock2> -i <pc_ip_wifi> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -D -s <sock2>
+    - ['R SSC1 RE SHUTDOWN:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP -p <random_port>
+    - ['R SSC1 A <sock3>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -L -s <sock3>
+    - ['R SSC1 RE LISTEN:\d+,OK']
+  - - SOC SOC2 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
+    - ['R SSC1 A <sock4>:ACCEPT:(\d+),\d+,.+,\d+']
+  - - SSC SSC1 soc -I
+    - ['P SSC1 RE "SOCINFO:%%s,2,%%s,\d+,%%s,%%d"%%(<sock1>,<target_ap_ip>,<pc_ip_wifi>,<test_tcp_port1>)',
+      'P SSC1 RE "SOCINFO:%%s,2,.+,\d+,.+,\d+"%%(<sock2>)', 'P SSC1 RE "SOCINFO:%%s,82,.+,%%d,.+,\d+"%%(<sock3>,<random_port>)',
+      'P SSC1 RE "SOCINFO:%%s,2,%%s,%%d,%%s,\d+"%%(<sock4>,<target_ap_ip>,<random_port>,<pc_ip_wifi>)']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK,pc tcp server accept成功
+
+    4.OK
+
+    5.OK
+
+    6.OK
+
+    7.OK
+
+    8.OK
+
+    9.PC OK, target1 +ACCEPT:3,2,<pc_ip>,port
+
+    10.+SOCINFO:<sock1>,<target_ip>,<pc_ip>,<test_tcp_port1>
+
+    +SOCINFO:<sock2>,<target_ip>,<pc_ip>,<test_tcp_port1>
+
+    +SOCINFO:<sock3>,<random_port>
+
+    +SOCINFO:<sock4>,<target_ip>,<random_port>,<pc_ip>
+
+    +SOCINF0ALL'
+  initial condition: APM2
+  initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
+    a TC with initial condition APSTA2
+  level: Integration
+  module: TCPIP
+  steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1,本地ip target_ip\n3.target1上使用步骤2创建的socket1,去连接\
+    \ PC的ip,test_tcp_port1,PC有ACCEPT\n4.target1上创建TCP socket2,本地ip target_ip\n5.target1上使用步骤4创建的socket2,去连接\
+    \ PC的ip,test_tcp_port1,PC有ACCEPT\n6.target1 shutdown socket2 \n7.target1上创建TCP\
+    \ socket3,本地端口random_port\n8.target1上使用步骤7创建的socket3,去监听\n9.PC CONNECT<random_port>,<target_ip>\
+    \ ,tcp 连接创建成功,创建socket4  \n10.target1 查询the socket information"
+  sub module: TCP
+  summary: AP mode, get active socket info test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) in different state
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_TCP_0401
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SOC SOC1 ACCEPT SOC2
+    - [R SOC_COM L OK]
+  - - SSC SSC1 sta -D
+    - ['P SSC1 C +QAP:OK', 'P SSC1 RE CLOSED:\d+,0']
+  - - SSC SSC1 soc -S -s <sock1> -l 5
+    - ['P SSC1 RE SEND:\d+,ERROR']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK; PC TCP server accept 成功
+
+    4.OK
+
+    5.OK
+
+    6.ERROR'
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上建立TCP 监听 test_tcp_port1
+
+    2.target1上创建TCP socket1
+
+    3.target1上使用步骤2创建的socket1,去连接 PC的ip,test_tcp_port1
+
+    4.PC与target1创建好TCP 连接,有ACCEPT
+
+    5.断开与AP 连接
+
+    6.8266往PC上发送5字节数据'
+  sub module: TCP
+  summary: do TCP send after WIFI disconnected
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: abnormal/special use
+  test point 2: TCP handling abnormal event
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_TCP_0402
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SOC SOC1 ACCEPT SOC2
+    - [R SOC_COM L OK]
+  - - SSC SSC1 sta -D
+    - ['P SSC1 C +QAP:OK', 'P SSC1 RE CLOSED:\d+,0']
+  - - SSC SSC1 soc -T -s <sock1>
+    - ['R SSC1 RE CLOSE:\d+,OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK; PC TCP server accept 成功
+
+    4.OK
+
+    5.OK
+
+    6.OK'
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上建立TCP 监听 test_tcp_port1
+
+    2.target1上创建TCP socket1
+
+    3.target1上使用步骤2创建的socket1,去连接 PC的ip,test_tcp_port1
+
+    4.PC与target1创建好TCP 连接,有ACCEPT
+
+    5.断开与AP 连接
+
+    6.关闭建立的socket1连接'
+  sub module: TCP
+  summary: "close TCP socket after WIFI \ndisconnected"
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: abnormal/special use
+  test point 2: TCP handling abnormal event
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_TCP_0403
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SOC SOC1 ACCEPT SOC2
+    - [R SOC_COM L OK]
+  - - SSC SSC1 op -S -o 2
+    - ['P SSC1 C +MODE:OK', 'P SSC1 RE CLOSED:\d+,0']
+  - - SSC SSC1 soc -S -s <sock1> -l 5
+    - ['P SSC1 RE SEND:\d+,ERROR']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK; PC TCP server accept 成功
+
+    4.OK
+
+    5.OK
+
+    6.ERROR'
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1\n3.target1上使用步骤2创建的socket1,去连接\
+    \ PC的ip,test_tcp_port1\n4.PC与target1创建好TCP 连接,有ACCEPT\n5.修改8266的Mode为softAP mode\
+    \ \n6.8266往PC上发送5字节数据"
+  sub module: TCP
+  summary: do TCP send after mode changed
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: abnormal/special use
+  test point 2: TCP handling abnormal event
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_TCP_0404
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SOC SOC1 ACCEPT SOC2
+    - [R SOC_COM L OK]
+  - - SSC SSC1 op -S -o 2
+    - ['P SSC1 C +MODE:OK', 'P SSC1 RE CLOSED:\d+,0']
+  - - SSC SSC1 soc -T -s <sock1>
+    - ['R SSC1 RE CLOSE:\d+,OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK; PC TCP server accept 成功
+
+    4.OK
+
+    5.OK
+
+    6.OK'
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1\n3.target1上使用步骤2创建的socket1,去连接\
+    \ PC的ip,test_tcp_port1\n4.PC与target1创建好TCP 连接,有ACCEPT\n5.修改8266的Mode为softAP mode\
+    \ \n6.关闭建立的socket1连接"
+  sub module: TCP
+  summary: close TCP socket after mode changed
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: abnormal/special use
+  test point 2: TCP handling abnormal event
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_TCP_0405
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SOC SOC1 ACCEPT SOC2
+    - [R SOC_COM L OK]
+  - - NIC <pc_nic> DISABLED
+    - [R PC_COM C OK]
+  - - SSC SSC1 soc -S -s <sock1> -l 1
+    - ['']
+  - - DELAY 5400
+    - ['P SSC1 RE CLOSED:\d+,0']
+  comment: ''
+  execution time: 1.5
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK; PC TCP server accept 成功
+
+    4.OK
+
+    5.OK
+
+    6.TCP连接断开'
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上建立TCP 监听 test_tcp_port1
+
+    2.target1上创建TCP socket1
+
+    3.target1上使用步骤2创建的socket1,去连接 PC的ip,test_tcp_port1
+
+    4.PC与target1创建好TCP 连接,有ACCEPT
+
+    5.PC 网卡 disable
+
+    6.target1上使用socket1发送数据,等待 90 分钟'
+  sub module: TCP
+  summary: do TCP send after PC NIC disabled
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: abnormal/special use
+  test point 2: TCP handling abnormal event
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_TCP_0406
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SOC SOC1 ACCEPT SOC2
+    - [R SOC_COM L OK]
+  - - NIC <pc_nic> DISABLED
+    - [R PC_COM C OK]
+  - - SSC SSC1 soc -T -s <sock1>
+    - ['R SSC1 RE CLOSE:\d+,OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK; PC TCP server accept 成功
+
+    4.OK
+
+    5.OK
+
+    6.OK'
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1\n3.target1上使用步骤2创建的socket1,去连接\
+    \ PC的ip,test_tcp_port1\n4.PC与target1创建好TCP 连接,有ACCEPT\n5.PC上网卡禁止掉 \n6.关闭建立的socket1连接"
+  sub module: TCP
+  summary: close TCP socket after PC NIC disabled
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: abnormal/special use
+  test point 2: TCP handling abnormal event
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_TCP_0407
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SOC SOC1 ACCEPT SOC2
+    - [R SOC_COM L OK]
+  - - SSC SSC1 dhcp -E -o 1
+    - ['R SSC1 C +DHCP:STA,OK']
+  - - SSC SSC1 ip -S -o 1 -i 192.168.111.210
+    - ['P SSC1 C +IP:OK', 'P SSC1 RE CLOSED:\d+,0']
+  - - SSC SSC1 ip -Q -o 1
+    - ['R SSC1 C +STAIP:192.168.111.210']
+  - - SSC SSC1 soc -S -s <sock1> -l 5
+    - ['P SSC1 RE SEND:\d+,ERROR']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK; PC TCP server accept 成功
+
+    4.OK
+
+    5.OK
+
+    6.OK
+
+    7.OK
+
+    8.ERROR'
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1\n3.target1上使用步骤2创建的socket1,去连接\
+    \ PC的ip,test_tcp_port1\n4.PC与target1创建好TCP 连接,有ACCEPT\n5.关闭8266的DHCP 1\n6.设置sta\
+    \ ip \n7.查询sta ip 地址是否生效\n8.8266往PC上发送5字节数据"
+  sub module: TCP
+  summary: do TCP send after IP changed
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: abnormal/special use
+  test point 2: TCP handling abnormal event
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_TCP_0408
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SOC SOC1 ACCEPT SOC2
+    - [R SOC_COM L OK]
+  - - SSC SSC1 dhcp -E -o 1
+    - ['R SSC1 C +DHCP:STA,OK']
+  - - SSC SSC1 ip -S -o 1 -i 192.168.111.210
+    - ['P SSC1 C +IP:OK', 'P SSC1 RE CLOSED:\d+,0']
+  - - SSC SSC1 ip -Q -o 1
+    - ['R SSC1 C +STAIP:192.168.111.210']
+  - - SSC SSC1 soc -T -s <sock1>
+    - ['R SSC1 RE CLOSE:\d+,OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK; PC TCP server accept 成功
+
+    4.OK
+
+    5.OK
+
+    6.OK
+
+    7.OK
+
+    8.OK'
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1\n3.target1上使用步骤2创建的socket1,去连接\
+    \ PC的ip,test_tcp_port1\n4.PC与target1创建好TCP 连接,有ACCEPT\n5.关闭8266的DHCP 1\n6.设置sta\
+    \ ip \n7.查询sta ip 地址是否生效\n8.关闭建立的socket1连接"
+  sub module: TCP
+  summary: close TCP socket after IP changed
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: abnormal/special use
+  test point 2: TCP handling abnormal event
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_TCP_0411
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SOC SOC1 ACCEPT SOC2
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -S -s <sock2> -l 5
+    - ['P SSC1 RE SEND:\d+,ERROR']
+  - - SSC SSC1 soc -S -s <sock1> -l 5
+    - ['P SSC1 RE SEND:\d+,OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK; PC TCP server accept 成功
+
+    4.OK
+
+    5.OK
+
+    6.ERROR
+
+    7.OK'
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上建立TCP 监听 test_tcp_port1
+
+    2.target1上创建TCP socket1
+
+    3.target1上使用步骤2创建的socket1,去连接 PC的ip,test_tcp_port1
+
+    4.PC与target1创建好TCP 连接,有ACCEPT
+
+    5.target1上创建TCP socket2
+
+    6.8266往PC socket2上发送5字节数据
+
+    7.8266往PC socket1上发送5字节数据'
+  sub module: TCP
+  summary: do TCP send after socket changed
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: abnormal/special use
+  test point 2: TCP handling abnormal event
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_TCP_0412
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SOC SOC1 ACCEPT SOC2
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -T -s <sock1>
+    - ['R SSC1 RE CLOSE:\d+,OK']
+  - - SSC SSC1 soc -T -s <sock2>
+    - ['R SSC1 RE CLOSE:\d+,OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK; PC TCP server accept 成功
+
+    4.OK
+
+    5.OK
+
+    6.OK
+
+    7.OK'
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上建立TCP 监听 test_tcp_port1
+
+    2.target1上创建TCP socket1
+
+    3.target1上使用步骤2创建的socket1,去连接 PC的ip,test_tcp_port1
+
+    4.PC与target1创建好TCP 连接,有ACCEPT
+
+    5.target1上创建TCP socket2
+
+    6.关闭socket1 连接
+
+    7.关闭socket2连接'
+  sub module: TCP
+  summary: close TCP send after socket changed
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: abnormal/special use
+  test point 2: TCP handling abnormal event
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_UDP_0101
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 RE BIND:(\d+),OK']
+  - - SSC SSC1 soc -B -t UDP -i 0.0.0.0 -p <test_udp_port2>
+    - ['R SSC1 RE BIND:(\d+),OK']
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 C BIND:ERROR']
+  - - SSC SSC1 soc -B -t TCP -p <test_udp_port1>
+    - ['R SSC1 RE BIND:(\d+),OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.ERROR
+
+    4.OK'
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+    2.target1上UDP传输,Bind socket2,本地ip 0.0.0.0 target_udp_port2
+
+    3.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+    4.target1上创建TCP socket3, target_udp_port1'
+  sub module: UDP
+  summary: STA mode, udp bind test. use different ip, port
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use UDP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_UDP_0102
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: 1/5
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+    - [R SOC_COM L OK]
+  - - SOC SOC2 BIND <test_udp_port2> <pc_ip2>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 10
+    - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 10]
+  - - SSC SSC1 soc -S -s <sock1> -i <pc_ip2> -p <test_udp_port2> -l 10
+    - ['P SSC1 RE SEND:(\d+),OK', P SOC2 UL 10]
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK
+
+    4.OK
+
+    5.OK'
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
+
+    2.PC上SOC2 UDP传输,bing <test_udp_port2> <pc_ip2>
+
+    3.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+    4.target1上使用步骤3创建的socket1,往pc_ip,test_tcp_port1上发送10字节数据
+
+    5.target1上使用步骤3创建的socket1,往pc_ip2,test_tcp_port2上发送10字节数据'
+  sub module: UDP
+  summary: STA mode, sendto test. use different ip, port
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use UDP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_UDP_0103
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: 1/5
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 1
+    - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 1]
+  - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 1472
+    - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 1472]
+  - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 1473
+    - ['P SSC1 RE SEND:(\d+),OK', P SOC_COM NC SOC_RECVFROM]
+  - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 1472 -n 10 -j 20
+    - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 14720]
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK
+
+    4.OK
+
+    5.OK,没有到UDP包
+
+    6.OK'
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
+
+    2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+    3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1字节数据
+
+    4.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1472字节数据
+
+    5.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1473字节数据
+
+    6.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1472*10字节数据'
+  sub module: UDP
+  summary: STA mode, sendto test with different length
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use UDP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_UDP_0104
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: 1/5
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SOC SOC1 SENDTO 1 <test_udp_port1> <target_ip>
+    - [R SSC1 SL <sock1>+1]
+  - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ip>
+    - ['R SSC1 RE "RECVFROM:%%s,1472,%%s,%%u"%%(<sock1>,<pc_ip>,<test_udp_port1>)']
+  - - SOC SOC1 SENDTO 1473 <test_udp_port1> <target_ip>
+    - [P SSC1 NC +RECVFROM, P SOC_COM C OK]
+  - - SOC SOC2 BIND <test_udp_port2> <pc_ip2>
+    - [R SOC_COM L OK]
+  - - SOC SOC2 SENDTO 1472 <test_udp_port1> <target_ip>
+    - ['R SSC1 RE "RECVFROM:%%s,1472,%%s,%%u"%%(<sock1>,<pc_ip2>,<test_udp_port2>)']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK
+
+    4.OK
+
+    5.OK,没收到UDP包
+
+    6.OK
+
+    7.OK'
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
+
+    2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+    3.PC往8266上发送1字节数据
+
+    4.PC往8266上发送1472字节数据
+
+    5.PC往8266上发送1473字节数据
+
+    6.PC上SOC2 UDP传输,bing <test_udp_port2> <pc_ip2>
+
+    7.PC往8266上发送1472字节数据'
+  sub module: UDP
+  summary: STA mode, recvfrom basic test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use UDP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_UDP_0105
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -T -s <sock1>
+    - ['R SSC1 RE CLOSE:\d+']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK'
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+    2.关闭socket1'
+  sub module: UDP
+  summary: STA mode, close UDP sockets test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use UDP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_UDP_0106
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 RE BIND:(\d+),OK']
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port2>
+    - ['R SSC1 RE BIND:(\d+),OK']
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port3>
+    - ['R SSC1 RE BIND:(\d+),OK']
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port4>
+    - ['R SSC1 RE BIND:(\d+),OK']
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port5>
+    - ['R SSC1 RE BIND:(\d+),OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.ok
+
+    2.ok
+
+    3.ok
+
+    4.ok
+
+    5.ok'
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+    2.target1上UDP传输,Bind socket2,本地ip target_udp_port2
+
+    3.target1上UDP传输,Bind socket3,本地ip target_udp_port3
+
+    4.target1上UDP传输,Bind socket4,本地ip target_udp_port4
+
+    5.target1上UDP传输,Bind socket5,本地ip target_udp_port5'
+  sub module: UDP
+  summary: STA mode, create max udp socket test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use UDP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_UDP_0107
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -I
+    - ['P SSC1 RE "SOCINFO:%%s,1,.+,%%d"%%(<sock1>,<test_udp_port1>)']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK'
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+    2.target1上查询创建socket信息'
+  sub module: UDP
+  summary: STA mode, get active socket info test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use UDP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_UDP_0108
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 RE BIND:(\d+),OK']
+  - - SSC SSC1 soc -B -t UDP -i 0.0.0.0 -p <test_udp_port2>
+    - ['R SSC1 RE BIND:(\d+),OK']
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 C BIND:ERROR']
+  - - SSC SSC1 soc -B -t TCP -p <test_udp_port1>
+    - ['R SSC1 RE BIND:(\d+),OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.ERROR
+
+    4.OK'
+  initial condition: APM2
+  initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
+    a TC with initial condition APSTA2
+  level: Integration
+  module: TCPIP
+  steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+    2.target1上UDP传输,Bind socket2,本地ip 0.0.0.0 target_udp_port2
+
+    3.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+    4.target1上创建TCP socket3, target_udp_port1'
+  sub module: UDP
+  summary: AP mode, udp bind test. use different ip, port
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use UDP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_UDP_0109
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: 1/5
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+    - ['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 SSC2 sta -C -s <target_ssid> -p <target_password>
+    - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)']
+  - - SOC SOC1 BIND <test_udp_port1> <pc_ip_wifi>
+    - [R SOC_COM L OK]
+  - - SSC SSC2 ip
+    - ['R SSC2 A <ssc2_ip>:STAIP:(.+)\r\n']
+  - - SSC SSC2 soc -B -t UDP -p <test_udp_port2>
+    - ['R SSC2 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -S -s <sock2> -i <pc_ip_wifi> -p <test_udp_port1> -l 5
+    - [R SOC1 UL 5]
+  - - SSC SSC1 soc -S -s <sock2> -i <ssc2_ip> -p <test_udp_port2> -l 5
+    - ['R SSC2 RE "RECVFROM:%%s,5,%%s,%%u"%%(<sock1>,<target_ap_ip>,<test_udp_port1>)']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK
+
+    4.OK
+
+    5.OK'
+  initial condition: T2O_1
+  initial condition description (auto): same as T2_1 but will NOT autogen a TC with
+    initial condition T2_2
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
+
+    2.PC上SOC2 UDP传输,bing <test_udp_port2> <pc_ip2>
+
+    3.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+    4.target1上使用步骤3创建的socket1,往pc_ip,test_tcp_port1上发送10字节数据
+
+    5.target1上使用步骤3创建的socket1,往pc_ip2,test_tcp_port2上发送10字节数据'
+  sub module: UDP
+  summary: AP mode, sendto test. use different ip, port
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use UDP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_UDP_0110
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: 1/5
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 BIND <test_udp_port1> <pc_ip_wifi>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -S -s <sock1> -i <pc_ip_wifi> -p <test_udp_port1> -l 1
+    - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 1]
+  - - SSC SSC1 soc -S -s <sock1> -i <pc_ip_wifi> -p <test_udp_port1> -l 1472
+    - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 1472]
+  - - SSC SSC1 soc -S -s <sock1> -i <pc_ip_wifi> -p <test_udp_port1> -l 1473
+    - ['P SSC1 RE SEND:(\d+),OK', P SOC_COM NC SOC_RECVFROM]
+  - - SSC SSC1 soc -S -s <sock1> -i <pc_ip_wifi> -p <test_udp_port1> -l 1472 -n 10
+      -j 20
+    - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 14720]
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK
+
+    4.OK
+
+    5.OK,没收到UDP包
+
+    6.OK'
+  initial condition: APM2
+  initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
+    a TC with initial condition APSTA2
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
+
+    2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+    3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1字节数据
+
+    4.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1472字节数据
+
+    5.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1473字节数据
+
+    6.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1472*10字节数据'
+  sub module: UDP
+  summary: AP mode, sendto test with different length
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use UDP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_UDP_0111
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: 1/5
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+    - ['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 SSC2 sta -C -s <target_ssid> -p <target_password>
+    - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)']
+  - - SOC SOC1 BIND <test_udp_port1> <pc_ip_wifi>
+    - [R SOC_COM L OK]
+  - - SSC SSC2 ip
+    - ['R SSC2 A <ssc2_ip>:STAIP:(.+)\r\n']
+  - - SSC SSC2 soc -B -t UDP -p <test_udp_port2>
+    - ['R SSC2 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+  - - SOC SOC1 SENDTO 5 <test_udp_port1> <target_ap_ip>
+    - ['R SSC1 RE "RECVFROM:%%s,5,%%s,%%u"%%(<sock2>,<pc_ip_wifi>,<test_udp_port1>)']
+  - - SSC SSC2 soc -S -s <sock1> -i <target_ap_ip> -p <test_udp_port1> -l 5
+    - ['R SSC1 RE "RECVFROM:%%s,5,%%s,%%u"%%(<sock2>,<ssc2_ip>,<test_udp_port2>)']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK
+
+    4.OK
+
+    5.OK,没收到UDP包
+
+    6.OK
+
+    7.OK'
+  initial condition: T2O_1
+  initial condition description (auto): same as T2_1 but will NOT autogen a TC with
+    initial condition T2_2
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
+
+    2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+    3.PC往8266上发送1字节数据
+
+    4.PC往8266上发送1472字节数据
+
+    5.PC往8266上发送1473字节数据
+
+    6.PC上SOC2 UDP传输,bing <test_udp_port2> <pc_ip2>
+
+    7.PC往8266上发送1472字节数据'
+  sub module: UDP
+  summary: AP mode, recvfrom basic test
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use UDP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_UDP_0112
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -T -s <sock1>
+    - ['R SSC1 RE CLOSE:\d+']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK'
+  initial condition: APM2
+  initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
+    a TC with initial condition APSTA2
+  level: Integration
+  module: TCPIP
+  steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+    2.关闭socket1'
+  sub module: UDP
+  summary: AP mode, close UDP sockets test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use UDP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_UDP_0113
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 RE BIND:(\d+),OK']
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port2>
+    - ['R SSC1 RE BIND:(\d+),OK']
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port3>
+    - ['R SSC1 RE BIND:(\d+),OK']
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port4>
+    - ['R SSC1 RE BIND:(\d+),OK']
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port5>
+    - ['R SSC1 RE BIND:(\d+),OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.ok
+
+    2.ok
+
+    3.ok
+
+    4.ok
+
+    5.ok'
+  initial condition: APM2
+  initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
+    a TC with initial condition APSTA2
+  level: Integration
+  module: TCPIP
+  steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+    2.target1上UDP传输,Bind socket2,本地ip target_udp_port2
+
+    3.target1上UDP传输,Bind socket3,本地ip target_udp_port3
+
+    4.target1上UDP传输,Bind socket4,本地ip target_udp_port4
+
+    5.target1上UDP传输,Bind socket5,本地ip target_udp_port5'
+  sub module: UDP
+  summary: AP mode, create max udp socket test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use UDP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_UDP_0114
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -I
+    - ['P SSC1 RE "SOCINFO:%%s,1,.+,%%d"%%(<sock1>,<test_udp_port1>)']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK'
+  initial condition: APM2
+  initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
+    a TC with initial condition APSTA2
+  level: Integration
+  module: TCPIP
+  steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+    2.target1上查询创建socket信息'
+  sub module: UDP
+  summary: AP mode, get active socket info test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use UDP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_UDP_0201
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -W -s <sock1> -o 0
+    - ['R SSC1 RE WORKTHREAD:\d+,OK']
+  - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ip>
+    - ['']
+  - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ip>
+    - ['']
+  - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ip>
+    - ['']
+  - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ip>
+    - ['']
+  - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ip>
+    - ['']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK
+
+    4.PC OK
+
+    5.PC OK
+
+    6.PC OK
+
+    7.PC OK
+
+    8.PC OK SOC_CLOSE=SOC1'
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
+
+    2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+    3.target1上关闭工作线程
+
+    4.PC往8266上发送1472字节数据
+
+    5.PC往8266上发送1472字节数据
+
+    6.PC往8266上发送1472字节数据
+
+    7.PC往8266上发送1472字节数据
+
+    8.PC往8266上发送1472字节数据'
+  sub module: UDP
+  summary: STA mode, recv buffer test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: abnormal/special use
+  test point 2: use UDP SAP (socket/espconn API) in different state
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_UDP_0202
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 BIND <test_udp_port1> <pc_ip_wifi>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -W -s <sock1> -o 0
+    - ['R SSC1 RE WORKTHREAD:\d+,OK']
+  - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ap_ip>
+    - ['']
+  - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ap_ip>
+    - ['']
+  - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ap_ip>
+    - ['']
+  - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ap_ip>
+    - ['']
+  - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ap_ip>
+    - ['']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK
+
+    4.PC OK
+
+    5.PC OK
+
+    6.PC OK
+
+    7.PC OK
+
+    8.PC OK SOC_CLOSE=SOC1'
+  initial condition: APM2
+  initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
+    a TC with initial condition APSTA2
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
+
+    2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+    3.target1上关闭工作线程
+
+    4.PC往8266上发送1472字节数据
+
+    5.PC往8266上发送1472字节数据
+
+    6.PC往8266上发送1472字节数据
+
+    7.PC往8266上发送1472字节数据
+
+    8.PC往8266上发送1472字节数据'
+  sub module: UDP
+  summary: AP mode, recv buffer test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: abnormal/special use
+  test point 2: use UDP SAP (socket/espconn API) in different state
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_UDP_0301
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: 1/5
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t UDP -i <target_ip> -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
+    - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5]
+  - - SSC SSC1 sta -D
+    - ['P SSC1 C +QAP:OK']
+  - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
+    - ['P SSC1 RE SEND:\d+,ERROR']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK
+
+    4.OK
+
+    5.ERROR'
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
+
+    2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+    3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据
+
+    4.断开与AP 连接
+
+    5.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据'
+  sub module: UDP
+  summary: do UDP send after WIFI disconnected
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: abnormal/special use
+  test point 2: UDP handling abnormal event
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_UDP_0302
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: 1/5
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
+    - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5]
+  - - SSC SSC1 sta -D
+    - ['P SSC1 C +QAP:OK']
+  - - SSC SSC1 soc -T -s <sock1>
+    - ['R SSC1 RE CLOSE:\d+,OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK
+
+    4.OK
+
+    5.OK
+
+    '
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
+
+    2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+    3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据
+
+    4.断开与AP 连接
+
+    5.关闭建立的socket1连接'
+  sub module: UDP
+  summary: "close UDP  socket after WIFI \ndisconnected"
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: abnormal/special use
+  test point 2: UDP handling abnormal event
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_UDP_0303
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: 1/5
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
+    - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5]
+  - - SSC SSC1 op -S -o 2
+    - ['P SSC1 C +MODE:OK']
+  - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
+    - ['P SSC1 RE SEND:(\d+),OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK
+
+    4.OK
+
+    5.ERROR'
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: "1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>\n2.target1上UDP传输,Bind socket1,本地ip\
+    \ target_udp_port1\n3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据\n\
+    4.修改8266的Mode为softAP mode \n5.8266往PC上发送5字节数据"
+  sub module: UDP
+  summary: do UDP  send after mode changed
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: abnormal/special use
+  test point 2: UDP handling abnormal event
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_UDP_0304
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: 1/5
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
+    - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5]
+  - - SSC SSC1 op -S -o 2
+    - ['P SSC1 C +MODE:OK']
+  - - SSC SSC1 soc -T -s <sock1>
+    - ['R SSC1 RE CLOSE:\d+,OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK
+
+    4.OK
+
+    5.OK'
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: "1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>\n2.target1上UDP传输,Bind socket1,本地ip\
+    \ target_udp_port1\n3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据\n\
+    4.修改8266的Mode为softAP mode \n5.关闭建立的socket1连接"
+  sub module: UDP
+  summary: close UDP  socket after mode changed
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: abnormal/special use
+  test point 2: UDP handling abnormal event
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_UDP_0305
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: 1/5
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
+    - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5]
+  - - NIC <pc_nic> DISABLED
+    - [R PC_COM C OK]
+  - - SSC SSC1 soc -T -s <sock1>
+    - ['R SSC1 RE CLOSE:\d+,OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK
+
+    4.OK
+
+    5.OK'
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: "1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>\n2.target1上UDP传输,Bind socket1,本地ip\
+    \ target_udp_port1\n3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据\n\
+    4.PC上网卡禁止掉 \n5.关闭建立的socket1连接"
+  sub module: UDP
+  summary: close UDP socket after PC NIC disabled
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: abnormal/special use
+  test point 2: UDP handling abnormal event
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_UDP_0306
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: 1/5
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
+    - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5]
+  - - SSC SSC1 dhcp -E -o 1
+    - ['R SSC1 C +DHCP:STA,OK']
+  - - SSC SSC1 ip -S -o 1 -i 192.168.111.210
+    - ['P SSC1 C +IP:OK']
+  - - SSC SSC1 ip -Q -o 1
+    - ['R SSC1 C +STAIP:192.168.111.210']
+  - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 1
+    - ['P SSC1 RE SEND:\d+,OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK; PC TCP server accept 成功
+
+    4.OK
+
+    5.OK
+
+    6.OK
+
+    7.OK'
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: "1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>\n2.target1上UDP传输,Bind socket1,本地ip\
+    \ target_udp_port1\n3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据\n\
+    4.关闭8266的DHCP 1\n5.设置sta ip \n6.查询sta ip 地址是否生效\n7.8266往PC上发送5字节数据"
+  sub module: UDP
+  summary: do UDP send after IP changed
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: abnormal/special use
+  test point 2: UDP handling abnormal event
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: TCPIP_UDP_0307
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: 1/5
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
+    - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5]
+  - - SSC SSC1 dhcp -E -o 1
+    - ['R SSC1 C +DHCP:STA,OK']
+  - - SSC SSC1 ip -S -o 1 -i 192.168.111.210
+    - ['P SSC1 C +IP:OK']
+  - - SSC SSC1 ip -Q -o 1
+    - ['R SSC1 C +STAIP:192.168.111.210']
+  - - SSC SSC1 soc -T -s <sock1>
+    - ['R SSC1 RE CLOSE:\d+,OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK; PC TCP server accept 成功
+
+    4.OK
+
+    5.OK
+
+    6.OK
+
+    7.OK'
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: TCPIP
+  steps: "1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>\n2.target1上UDP传输,Bind socket1,本地ip\
+    \ target_udp_port1\n3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据\n\
+    4.关闭8266的DHCP 1\n5.设置sta ip \n6.查询sta ip 地址是否生效\n7.关闭建立的socket1连接"
+  sub module: UDP
+  summary: close UDP  socket after IP changed
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: abnormal/special use
+  test point 2: UDP handling abnormal event
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_ADDR_0101
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 op -S -o 3
+    - ['R SSC1 C +MODE:OK']
+  - - SSC SSC1 mac -S -o 1 -m 44:55:66:77:88:99
+    - ['R SSC1 C +MAC:STA,OK']
+  - - SSC SSC1 mac -S -o 2 -m 22:33:44:55:66:77
+    - ['R SSC1 C +MAC:AP,OK']
+  - - SSC SSC1 mac -Q -o 3
+    - ['R SSC1 C +STAMAC:44:55:66:77:88:99 C +APMAC:22:33:44:55:66:77']
+  - - SSC SSC1 mac -S -o 1 -m <target_mac>
+    - ['R SSC1 C +MAC:STA,OK']
+  - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+    - ['R SSC1 C +MAC:AP,OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.ok
+
+    3.ok
+
+    4.ok
+
+    5.ok
+
+    6.ok'
+  initial condition: T2_1
+  initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+    autogen a TC with initial condition T2_2
+  level: Integration
+  module: WIFI MAC
+  steps: "1.target1 设置mode 为sta+softAP mode\n2.target1 设置sta mode 下的mac \n3.target1\
+    \ 设置softAP mode 下的mac\n4.target1 查询softAP+sta 下的mac\n5.target1 设置sta mode 下的mac\
+    \ 为target1_mac\n6.target1 设置softAP mode 下的mac 为target1_ap_mac\n"
+  sub module: MAC Address
+  summary: set mac, query mac
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: mac address function test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_ADDR_0102
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 mac -S -o 2 -m 44:55:66:77:88:99
+    - ['R SSC1 C +MAC:AP,OK']
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+    - ['']
+  - - SSC SSC2 sta -S -b 44:55:66:77:88:99
+    - ['R SSC2 RE \+SCAN:.+,44:55:66:77:88:99,']
+  - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+    - ['R SSC1 C +MAC:AP,OK']
+  - - SSC SSC2 mac -Q -o 1
+    - ['R SSC2 A <target2_mac_tmp>:\+STAMAC:(.+)\r\n']
+  - - SSC SSC2 mac -S -o 1 -m 22:33:44:55:66:77
+    - ['R SSC2 C +MAC:STA,OK']
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - ['P SSC2 C +JAP:CONNECTED']
+  - - SSC SSC1 ap -L
+    - ['R SSC1 C +LSTA:22:33:44:55:66:77']
+  - - SSC SSC2 mac -S -o 1 -m <target2_mac>
+    - ['R SSC2 C +MAC:STA,OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.ok
+
+    3.ok
+
+    4.ok
+
+    5.ok
+
+    6.ok
+
+    7.ok
+
+    8.ok
+
+    9.ok'
+  initial condition: T2_1
+  initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+    autogen a TC with initial condition T2_2
+  level: Integration
+  module: WIFI MAC
+  steps: "1.target1 设置sta mode下的mac 44:55:66:77:88:99\n2.target1下设置ssid 和pwd 加密方式\n\
+    3.target2 查询mac为44:55:66:77:88:99的ssid\n4.target1 设置sta mode下的mac target_ap_mac\n\
+    5.target2 查询sta mode 下的mac 为target2_mac_tmp\n6.target2 设置sta mode 下的mac 为22:33:44:55:66:77\n\
+    7.target2 jap target1\n8.target1 查询连接到的sta \n9.target2 设置sta mode 下的mac 为 target2_mac\n"
+  sub module: MAC Address
+  summary: set mac and do scan/JAP/SAP
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: mac address function test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_CONN_0101
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <target_ssid> -t 0
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)']
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t 2
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)']
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)']
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t 4
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)']
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t 1
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC2 sta -S
+    - ['R SSC2 RE "\+SCAN:%%s,.+,0,\d+"%%(<target_ssid>)']
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t 5
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC2 sta -S
+    - ['R SSC2 RE "\+SCAN:%%s,.+,0,\d+"%%(<target_ssid>)']
+  comment: ''
+  execution time: 0.0
+  expected result: "1.target1 set AP,open, \n2.target 2 jap succeed\n3.target1 set\
+    \ AP,wpa_psk \n4.target 2 jap succeed\n5.target1 set AP, wpa2_psk \n6.target 2\
+    \ jap succeed\n7.target1 set AP,wap_wpa2_psk\n8.target 2 jap succeed\n9.target1\
+    \ set AP,加密方式为t 1\n10.target 2 上查询到target_ssid\n11.target1 set AP,加密方式为t 5\n12.target\
+    \ 2 上查询到target_ssid"
+  initial condition: T2_1
+  initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+    autogen a TC with initial condition T2_2
+  level: Integration
+  module: WIFI MAC
+  steps: "1.target1下设置ssid 和pwd,加密方式 open\n2.target2 jap target1\n3.target1下设置ssid\
+    \ 和pwd,加密方式 wpa_psk \n4.target2 jap target1\n5.target1下设置ssid 和pwd,加密方式 wpa2_psk\
+    \ \n6.target 2 jap target1\n7.target1下设置ssid 和pwd,加密方式 wap_wpa2_psk\n8.target2\
+    \ jap target1\n9.target1下设置ssid 和pwd,加密方式 wep \n10.target2上查询target_ssid\n11.target1下设置ssid\
+    \ 和pwd,加密方式 t 5 错误的加密方式\n12.target2上查询 target_ssid"
+  sub module: WIFI Connect
+  summary: station SAP+JAP test, different encryption
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: SAP/JAP with different config
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_CONN_0102
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <target_ssid> -t 0 -n 1
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)']
+  - - SSC SSC1 ap -S -s <target_ssid> -t 0 -n 13
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)']
+  - - SSC SSC1 ap -S -s <target_ssid> -n 15
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC2 sta -S
+    - ['R SSC2 RE "\+SCAN:%%s,.+,\d+,1"%%(<target_ssid>)']
+  comment: ''
+  execution time: 0.0
+  expected result: '1. target1 set AP,set channel 1
+
+    2.target 2 jap succeed
+
+    3.target1 set AP,set channel 10
+
+    4.target 2 jap succeed
+
+    5.target1 set AP,set channel 15
+
+    6.target 2 上查询到target_ssid'
+  initial condition: T2O_1
+  initial condition description (auto): same as T2_1 but will NOT autogen a TC with
+    initial condition T2_2
+  level: Integration
+  module: WIFI MAC
+  steps: '1. target1下设置ssid 和pwd 加密方式,set channel 1
+
+    2.target2 jap target 1
+
+    3.target1下设置ssid 和pwd 加密方式,set channel 10
+
+    4.target2 jap target 1
+
+    5.target1下设置ssid 和pwd 加密方式,set channel 15
+
+    6.target 2 上查询target_ssid'
+  sub module: WIFI Connect
+  summary: station SAP+JAP test, different channel
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: SAP/JAP with different config
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_CONN_0103
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -h
+      0
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC2 sta -S -h 0
+    - [R SSC2 P <target_ap_mac>, R SSC2 C +SCANDONE]
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -h
+      1
+    - ['R SSC1 C +SAP:OK']
+  - - DELAY 3
+    - ['']
+  - - SSC SSC2 sta -S -h 0
+    - [R SSC2 C +SCANDONE]
+  - - DELAY 3
+    - ['']
+  - - SSC SSC2 sta -S -h 0
+    - [R SSC2 NP <target_ap_mac> C +SCANDONE]
+  comment: ''
+  execution time: 0.0
+  expected result: '1.target1 set AP,set ssid broad cast
+
+    2.target 2上scan target_ap_mac
+
+    3.target1 set AP,set ssid hidden,
+
+    4.target 2上不能scan target_ap_mac'
+  initial condition: T2_1
+  initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+    autogen a TC with initial condition T2_2
+  level: Integration
+  module: WIFI MAC
+  steps: '1. target1下设置ssid 和pwd 加密方式,set ssid broad cast
+
+    2.target 2上scan target_ap_mac
+
+    3. target1下设置ssid 和pwd 加密方式,set ssid hidden,
+
+    4.target 2上scan target_ap_mac'
+  sub module: WIFI Connect
+  summary: station SAP+JAP test, ssid hidden
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: SAP/JAP with different config
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_CONN_0104
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -m
+      1
+    - ['R SSC1 C +SAP:OK']
+  - - WIFI <pc_wifi_nic> DISCONN
+    - ['R PC_COM C +WIFIDISCONN:OK']
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)']
+  - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
+      <target_encryption>
+    - ['R PC_COM C +WIFICONN:ERROR']
+  comment: ''
+  execution time: 0.0
+  expected result: '1. target1 set AP,set max allowed sta as 1
+
+    2. use PC disconnect,
+
+    3.target 2 jap succeed
+
+    4.PC WIFI can not CONN'
+  initial condition: T2_1
+  initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+    autogen a TC with initial condition T2_2
+  level: Integration
+  module: WIFI MAC
+  steps: '1.target1下设置ssid 和pwd 加密方式,set max allowed sta as 1
+
+    2.use PC disconnect target1
+
+    3.target 2 jap target1
+
+    4.PC WIFI CONNECT target1'
+  sub module: WIFI Connect
+  summary: station SAP test, max allowed sta
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: SAP/JAP with different config
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_CONN_0201
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+    - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+  - - SSC SSC1 sta -Q
+    - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+  - - SSC SSC1 sta -D
+    - ['R SSC1 C +QAP:OK']
+  - - SSC SSC1 sta -Q
+    - ['R SSC1 C +JAP:DISCONNECTED']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.target1 jion AP 成功
+
+    2.查询JAP的状态
+
+    3.target1 断开AP
+
+    4.查询target1 JAP 是DISCONN'
+  initial condition: STAM1
+  initial condition description (auto): sta mode, quit AP, DHCP on, will autogen a
+    TC with initial condition STAAP1
+  level: Integration
+  module: WIFI MAC
+  steps: '1.target1 jion AP 成功
+
+    2.查询JAP的状态
+
+    3.target1 断开AP
+
+    4.查询target1 JAP 是DISCONN'
+  sub module: WIFI Connect
+  summary: JAP query test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: query JAP status
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_CONN_0301
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -h
+      0 -m 8
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC1 ap -Q
+    - ['R SSC1 RE "\+APCONFIG:%%s,%%s,\d+,3,0,8,\d+"%%(<target_ssid>,<target_password>)']
+  comment: ''
+  execution time: 0.0
+  expected result: '1. target1 set AP
+
+    2.target 1上查询到跟设置AP时一致
+
+    '
+  initial condition: APM1
+  initial condition description (auto): AP mode, DHCP on, will autogen a TC with initial
+    condition APSTA1
+  level: Integration
+  module: WIFI MAC
+  steps: '1. target1 set AP
+
+    2.target 1上查询到跟设置AP时一致
+
+    '
+  sub module: WIFI Connect
+  summary: AP config query test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: query AP config
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_CONN_0401
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 sta -R -a 0
+    - ['R SSC1 C +AUTORECONN:OK']
+  - - SSC SSC1 sta -R -a 2
+    - ['R SSC1 C +AUTORECONN:0']
+  - - SSC SSC1 reboot
+    - ['']
+  - - DELAY 15
+    - ['']
+  - - SSC SSC1 sta -Q
+    - ['R SSC1 C JAP:DISCONNECTED']
+  - - SSC SSC1 sta -R -a 1
+    - ['R SSC1 C +AUTORECONN:OK']
+  - - SSC SSC1 sta -R -a 2
+    - ['R SSC1 C +AUTORECONN:1']
+  - - SSC SSC1 reboot
+    - ['R SSC1 C +JAP:CONNECTED']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.设置autoreconn,关闭
+
+    2.查询当前autoreconn状态是否关闭
+
+    3.重启系统,等待15s
+
+    4.查询target1 未自动重连AP
+
+    5.设置autoreconn,开启
+
+    6.查询当前autoreconn状态是否开启
+
+    7.系统重启后target1 自动重连AP'
+  initial condition: STAM2
+  initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+    TC with initial condition STAAP2
+  level: Integration
+  module: WIFI MAC
+  steps: '1.设置autoreconn,关闭
+
+    2.查询当前autoreconn状态是否关闭
+
+    3.重启系统,等待15s
+
+    4.查询target1 未自动重连AP
+
+    5.设置autoreconn,开启
+
+    6.查询当前autoreconn状态是否开启
+
+    7.系统重启后target1 自动重连AP'
+  sub module: WIFI Connect
+  summary: auto reconnect test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: power on auto reconnect test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_CONN_0501
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC2 sta -R -r 1
+    - ['R SSC2 C +RECONN:OK']
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)']
+  - - SSC SSC1 op -S -o 1
+    - ['R SSC1 C +MODE:OK']
+  - - DELAY 10
+    - ['']
+  - - SSC SSC1 op -S -o 2
+    - ['R SSC1 C +MODE:OK']
+  - - DELAY 15
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - SSC SSC2 sta -R -r 0
+    - ['R SSC2 C +RECONN:OK']
+  - - SSC SSC2 sta -R -r 2
+    - ['R SSC2 C +RECONN:0']
+  - - SSC SSC1 op -S -o 1
+    - ['R SSC1 C +MODE:OK']
+  - - DELAY 10
+    - ['']
+  - - SSC SSC1 op -S -o 2
+    - ['R SSC1 C +MODE:OK']
+  - - DELAY 15
+    - [P PC_COM C +DELAYDONE, 'P SSC2 NC +JAP:CONNECTED']
+  - - SSC SSC2 sta -R -r 1
+    - ['R SSC2 C +RECONN:OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.设置reconn,开启(此功能不需要重启系统)
+
+    2.target1 set AP
+
+    3.target2 JAP target1 成功
+
+    4.target2 断开target1 连接
+
+    5.等待10s,target2 自动重连target1
+
+    6.成功
+
+    7.查询reconn状态,关闭
+
+    8.修改mode 成功
+
+    9.等待15s,target2 不会自动重连target1'
+  initial condition: T2_1
+  initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+    autogen a TC with initial condition T2_2
+  level: Integration
+  module: WIFI MAC
+  steps: "1.设置reconn,开启(此功能不需要重启系统)\n2.target1下设置ssid 和pwd 加密方式\n3.target2 JAP target1\
+    \ \n4.target1 修改mode 为sta mode\n5.等待10s,target1 修改mode 为softAP mode\n6.设置reconn,关闭\n\
+    7.查询reconn状态,关闭\n8.target1 修改mode 为sta mode\n9.等待15s,target1 修改mode 为softAP mode"
+  sub module: WIFI Connect
+  summary: reconnect policy test
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: reconnect policy test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_CONN_0502
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - SSC SSC2 sta -R -r 1
+    - ['R SSC2 C +RECONN:OK']
+  - - SSC SSC1 op -S -o 1
+    - ['R SSC1 C +MODE:OK']
+  - - DELAY 5
+    - ['R SSC2 C +JAP:DISCONNECTED']
+  - - SSC SSC1 op -S -o 2
+    - ['R SSC1 C +MODE:OK']
+  - - DELAY 10
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - SSC SSC2 sta -D
+    - ['R SSC2 C +QAP:OK']
+  - - DELAY 10
+    - [P PC_COM C +DELAYDONE, 'P SSC2 NC +JAP:CONNECTED']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.target1 set AP
+
+    2.target2 jap target 1
+
+    3.设置reconn,开启(此功能不需要重启系统)
+
+    4.target2 断开target1 连接
+
+    5.等待10s,target2 自动重连target1
+
+    6.target2 断开target1 连接'
+  initial condition: T2_1
+  initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+    autogen a TC with initial condition T2_2
+  level: Integration
+  module: WIFI MAC
+  steps: '1.target1下设置ssid 和pwd 加密方式
+
+    2.target2 jap target 1
+
+    3.设置reconn,开启(此功能不需要重启系统)
+
+    4.target2 断开target1 连接
+
+    5.等待10s,target2 自动重连target1
+
+    6.target2 断开target1 连接'
+  sub module: WIFI Connect
+  summary: will not do reconnect after manually disconnected
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: abnormal/special use
+  test point 2: reconnect policy test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_CONN_0601
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+    - ['R SSC1 C +SAP:OK']
+  - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
+      <target_encryption>
+    - ['R PC_COM C +WIFICONN:OK']
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - SSC SSC1 ap -L
+    - ['R SSC1 C +LSTA:', 'R SSC1 C +LSTA:', R SSC1 C +LSTADONE]
+  comment: ''
+  execution time: 0.0
+  expected result: '1.target1 set AP
+
+    2.PC WIFI CONNECTED
+
+    3.target2 jap target 1
+
+    4.查询到两个sta 连接到target1 上'
+  initial condition: T2_1
+  initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+    autogen a TC with initial condition T2_2
+  level: Integration
+  module: WIFI MAC
+  steps: '1. target1下设置ssid 和pwd 加密方式
+
+    2.PC WIFI CONNECTED target1
+
+    3.target2 jap target 1
+
+    4.查询到两个sta 连接到target1 上'
+  sub module: WIFI Connect
+  summary: list stations connected to soft ap test
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: list SoftAP connected station
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_CONN_0801
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 0
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 2
+    - ['P SSC1 C +SAP:OK', 'P SSC2 C +JAP:AUTHCHANGED,2,0']
+  - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 3
+    - ['P SSC1 C +SAP:OK', 'P SSC2 C +JAP:AUTHCHANGED,3,2']
+  - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
+    - ['P SSC1 C +SAP:OK', 'P SSC2 C +JAP:AUTHCHANGED,4,3']
+  - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 0
+    - ['P SSC1 C +SAP:OK', 'P SSC2 C +JAP:AUTHCHANGED,0,4']
+  comment: ''
+  execution time: 0.0
+  expected result: '1. succeed
+
+    2. succeed
+
+    3. auth change event old mode 0 new mode 2
+
+    4. auth change event old mode 2 new mode 3
+
+    5. auth change event old mode 3 new mode 4
+
+    6. auth change event old mode 4 new mode 0'
+  initial condition: T2_1
+  initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+    autogen a TC with initial condition T2_2
+  level: Integration
+  module: WIFI MAC
+  steps: '1. set target1 softap auth mode 0
+
+    2. target2 connect to target1
+
+    3. set target1 softap auth mode 2, wait sta connected
+
+    4. set target1 softap auth mode 3, wait sta connected
+
+    5. set target1 softap auth mode 4, wait sta connected
+
+    6. set target1 softap auth mode 0, wait sta connected'
+  sub module: WIFI Connect
+  summary: test auth change event
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: wifi auth changed event test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_CONN_0901
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: basic function
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+    - ['R SSC1 C +JAP:CONNECTED']
+  - - SSC SSC1 sta -D
+    - ['R SSC1 RE JAP:DISCONNECTED,\d+,8']
+  - - SSC SSC1 sta -C -s <ap_ssid> -p <random_string>
+    - ['R SSC1 RE JAP:DISCONNECTED,\d+,15']
+  - - SSC SSC1 sta -C -s <random_string> -p <ap_password>
+    - ['R SSC1 RE JAP:DISCONNECTED,\d+,201']
+  comment: ''
+  execution time: 0.0
+  expected result: '1. disconnect event reason REASON_ASSOC_LEAVE
+
+    2. disconnect event reason REASON_4WAY_HANDSHAKE_TIMEOUT
+
+    3. disconnect event reason REASON_NO_AP_FOUND'
+  initial condition: STAM1
+  initial condition description (auto): sta mode, quit AP, DHCP on, will autogen a
+    TC with initial condition STAAP1
+  level: Integration
+  module: WIFI MAC
+  steps: '1. sta connect to AP, and disconnect
+
+    2. connect to AP with wrong password
+
+    3. connect to AP not exist'
+  sub module: WIFI Connect
+  summary: test wifi disconnect reason REASON_ASSOC_LEAVE, REASON_4WAY_HANDSHAKE_TIMEOUT,
+    REASON_NO_AP_FOUND
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: wifi disconnect reason test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_CONN_0902
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+    - ['R SSC1 C +JAP:CONNECTED']
+  - - APC <APC1> OFF <ap_apc>
+    - [P PC_COM L OK, 'R SSC1 RE JAP:DISCONNECTED,\d+,200']
+  - - APC <APC1> ON <ap_apc>
+    - [P PC_COM L OK]
+  comment: ''
+  execution time: 0.0
+  expected result: '1. succeed
+
+    2. disconnect event REASON_BEACON_TIMEOUT'
+  initial condition: STAM1
+  initial condition description (auto): sta mode, quit AP, DHCP on, will autogen a
+    TC with initial condition STAAP1
+  level: Integration
+  module: WIFI MAC
+  steps: '1. connect to AP
+
+    2. AP power off'
+  sub module: WIFI Connect
+  summary: test wifi disconnect reason REASON_BEACON_TIMEOUT
+  test environment: SSC_T1_APC
+  test environment description (auto): "PC has 1 wired NIC connected to AP.\nPC has\
+    \ 1 wired NIC connected to APC (static IP within the same subnet with APC). \n\
+    APC control AP power supply. \nPC has 1 WiFi NIC. \n1 SSC target connect with\
+    \ PC by UART."
+  test point 1: basic function
+  test point 2: wifi disconnect reason test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_CONN_0903
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 sta -C -s <wep_ap_ssid> -p bacfd
+    - ['R SSC1 RE JAP:DISCONNECTED,\d+,2']
+  comment: ''
+  execution time: 0.0
+  expected result: 1. disconect event reason REASON_AUTH_EXPIRE
+  initial condition: STAM1
+  initial condition description (auto): sta mode, quit AP, DHCP on, will autogen a
+    TC with initial condition STAAP1
+  level: Integration
+  module: WIFI MAC
+  steps: 1. connect WEP ap with error password (valid wep password)
+  sub module: WIFI Connect
+  summary: test wifi disconnect reason REASON_AUTH_EXPIRE
+  test environment: SSC_T1_WEP
+  test environment description (auto): '1 SSC target connect with PC by UART.
+
+    One WEP share key AP placed near SSC1.'
+  test point 1: basic function
+  test point 2: wifi disconnect reason test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_CONN_0904
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 3 -m 1
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC2 sta -C -s <random_string> -p 1234567890
+    - ['R SSC2 RE JAP:DISCONNECTED,\d+,204']
+  - - SSC SSC2 sta -D
+    - ['R SSC2 C +QAP:OK']
+  - - WIFI <pc_wifi_nic> CONN <random_string> <random_string> <pc_ip_wifi>
+    - ['R PC_COM NC ERROR C +WIFICONN:OK']
+  - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+    - ['R SSC2 RE JAP:DISCONNECTED,\d+,5']
+  - - WIFI <pc_wifi_nic> DISCONN
+    - [P PC_COM C OK, 'R SSC2 C +JAP:CONNECTED']
+  - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 3 -m 1
+    - ['P SSC1 C +SAP:OK', 'P SSC2 RE JAP:DISCONNECTED,\d+,4']
+  comment: ''
+  execution time: 0.0
+  expected result: '1. succeed
+
+    2. disconnect event REASON_HANDSHAKE_TIMEOUT
+
+    3. succeed
+
+    4. succeed
+
+    5. disconnect event REASON_ASSOC_TOOMANY
+
+    6. succeed, target2 connect succeed
+
+    7. disconnect event REASON_ASSOC_EXPIRE'
+  initial condition: T2_1
+  initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+    autogen a TC with initial condition T2_2
+  level: Integration
+  module: WIFI MAC
+  steps: '1. config target1 softap max sta allowed 1
+
+    2. target2 connect to target1 with wrong password
+
+    3. target2 disconnect
+
+    4. PC WIFI NIC connect to target1
+
+    5. target2 connect to target1 with correct password
+
+    6. PC WIFI NIC disconnect
+
+    7. reconfig softap'
+  sub module: WIFI Connect
+  summary: test wifi disconnect reason REASON_ASSOC_TOOMANY, REASON_HANDSHAKE_TIMEOUT,
+    REASON_ASSOC_EXPIRE
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: wifi disconnect reason test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_MODE_0101
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC1 op -S -o 1
+    - ['R SSC1 C +MODE:OK']
+  - - SSC SSC1 dhcp -S -o 1
+    - ['R SSC1 C +DHCP:STA,OK']
+  - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+    - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+  - - SSC SSC2 sta -S
+    - [R SSC2 NP <target_ssid> C +SCANDONE]
+  - - SSC SSC1 sta -D
+    - ['R SSC1 C +QAP:OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.target1下设置ssid 和pwd 、加密方式成功
+
+    2.修改target 1的mode 为sta mode
+
+    3.target1的dhcp打开
+
+    4.target1成功连接上AP
+
+    5.target2上不能查询到target_ssid
+
+    6.target1断开AP'
+  initial condition: T2O_1
+  initial condition description (auto): same as T2_1 but will NOT autogen a TC with
+    initial condition T2_2
+  level: Integration
+  module: WIFI MAC
+  steps: '1.target1下设置ssid 和pwd 加密方式
+
+    2.修改target1的mode 为sta mode
+
+    3.target1的dhcp打开
+
+    4.target1连接AP
+
+    5.target2查询target_ssid
+
+    6.target1断开AP'
+  sub module: WIFI Mode
+  summary: mode switch test (sta mode)
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: wifi mode fucntion
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_MODE_0102
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC2 sta -S
+    - [R SSC2 P <target_ssid>, R SSC2 C +SCANDONE]
+  - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+    - ['R SSC1 C +JAP:ERROR']
+  - - SSC SSC1 sta -D
+    - ['R SSC1 C +QAP:ERROR']
+  comment: ''
+  execution time: 0.0
+  expected result: '1. target1 set AP
+
+    2.target 2 上查询到target_ssid
+
+    3. target1 can''t join AP
+
+    4. target1 can''t QAP'
+  initial condition: T2O_1
+  initial condition description (auto): same as T2_1 but will NOT autogen a TC with
+    initial condition T2_2
+  level: Integration
+  module: WIFI MAC
+  steps: '1.target1下设置ssid 和pwd 加密方式
+
+    2.target 2 上查询target_ssid
+
+    3.target1 join AP
+
+    4.target1 DISCONN AP'
+  sub module: WIFI Mode
+  summary: mode switch test (AP mode)
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: wifi mode fucntion
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_MODE_0103
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 op -S -o 3
+    - ['R SSC1 C +MODE:OK']
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC1 dhcp -S -o 1
+    - ['R SSC1 C +DHCP:STA,OK']
+  - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+    - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+  - - SSC SSC2 sta -S
+    - [R SSC2 P <target_ssid>, R SSC2 C +SCANDONE]
+  comment: ''
+  execution time: 0.0
+  expected result: '1.target1 change to AP mode
+
+    2.target1 set AP
+
+    3.target 1 的dhcp 打开
+
+    4.target 1 成功连接上AP
+
+    5.target 2 上查询到target_ssid'
+  initial condition: T2O_1
+  initial condition description (auto): same as T2_1 but will NOT autogen a TC with
+    initial condition T2_2
+  level: Integration
+  module: WIFI MAC
+  steps: '1.target1 change to AP mode
+
+    2.target1下设置ssid 和pwd 加密方式
+
+    3.target1 的dhcp 打开
+
+    4.target1 连接AP
+
+    5.target2 上查询target_ssid'
+  sub module: WIFI Mode
+  summary: mode switch test (STA+AP mode)
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: wifi mode fucntion
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_PHY_0401
+  SDK: ESP32_IDF
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 phy -S -o 1 -m n -b 20
+    - ['R SSC1 C +PHY:OK']
+  - - SSC SSC1 phy -S -o 2 -m n -b 20
+    - ['R SSC1 C +PHY:OK']
+  - - SSC SSC2 phy -S -o 1 -m n -b 20
+    - ['R SSC2 C +PHY:OK']
+  - - SSC SSC1 sta -C -s <ap_ssid_c1_ht20> -p <ap_password_phy>
+    - ['R SSC1 C +JAP:CONNECTED']
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - ['']
+  - - DELAY 10
+    - ['P SSC1 NC +JAP:DISCONNECTED', 'P SSC2 C +JAP:CONNECTED']
+  comment: ''
+  execution time: 0.0
+  expected result: 3. SoftAP and STA in channel2, both bandwidth 20M, STA not disconnected
+  initial condition: T2_2
+  initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+  level: Integration
+  module: WIFI MAC
+  steps: '1. SoftAP 11n ht20, in channel1, ext AP 11n ht20, in channel2
+
+    2. STA connect to ext AP
+
+    3. AP get connected'
+  sub module: Phy Mode
+  summary: SoftAP ext AP in defferent channel, both bandwidth 20M, STA connect to
+    AP then Softap get connected
+  test environment: SSC_T2_PhyMode
+  test environment description (auto): '2 SSC target connect with PC by UART.
+
+    PC has one WiFi NIC support capture wlan packet using libpcap.
+
+    Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
+
+    Put 4 APs near SSC targets.'
+  test point 1: basic function
+  test point 2: STA+SoftAP initial channel test
+  version: v1 (2015-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_PHY_0402
+  SDK: ESP32_IDF
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 phy -S -o 1 -m n -b 20
+    - ['R SSC1 C +PHY:OK']
+  - - SSC SSC1 phy -S -o 2 -m n -b 20
+    - ['R SSC1 C +PHY:OK']
+  - - SSC SSC2 phy -S -o 1 -m n -b 20
+    - ['R SSC2 C +PHY:OK']
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - ['P SSC2 C +JAP:CONNECTED']
+  - - SSC SSC1 sta -C -s <ap_ssid_c1_ht20> -p <ap_password_phy>
+    - ['']
+  - - DELAY 10
+    - ['P SSC2 NC +JAP:DISCONNECTED', 'P SSC1 C +JAP:CONNECTED']
+  comment: ''
+  execution time: 0.0
+  expected result: 3. SoftAP and STA in channel2, both bandwidth 20M, SoftAP not get
+    disconnected
+  initial condition: T2_2
+  initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+  level: Integration
+  module: WIFI MAC
+  steps: '1. SoftAP 11n ht20, in channel1, ext AP 11n ht20, in channel2
+
+    2. AP get connected
+
+    3. STA connect to ext AP'
+  sub module: Phy Mode
+  summary: SoftAP ext AP in defferent channel, both bandwidth 20M, Softap get connected
+    than STA connect to AP
+  test environment: SSC_T2_PhyMode
+  test environment description (auto): '2 SSC target connect with PC by UART.
+
+    PC has one WiFi NIC support capture wlan packet using libpcap.
+
+    Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
+
+    Put 4 APs near SSC targets.'
+  test point 1: basic function
+  test point 2: STA+SoftAP initial channel test
+  version: v1 (2015-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_PHY_0403
+  SDK: ESP32_IDF
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 phy -S -o 1 -m n -b 40
+    - ['R SSC1 C +PHY:OK']
+  - - SSC SSC1 phy -S -o 2 -m n -b 20
+    - ['R SSC1 C +PHY:OK']
+  - - SSC SSC2 phy -S -o 1 -m n -b 20
+    - ['R SSC2 C +PHY:OK']
+  - - SSC SSC1 sta -C -s <ap_ssid_c1_ht40> -p <ap_password_phy>
+    - ['R SSC1 C +JAP:CONNECTED']
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - ['']
+  - - DELAY 10
+    - ['P SSC1 NC +JAP:DISCONNECTED', 'P SSC2 C +JAP:CONNECTED']
+  comment: ''
+  execution time: 0.0
+  expected result: 3. SoftAP and STA in channel2, SoftAP 20M, STA 40M, STA not disconnected
+  initial condition: T2_2
+  initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+  level: Integration
+  module: WIFI MAC
+  steps: '1. SoftAP 11n ht20, in channel1, ext AP 11n ht40, in channel2
+
+    2. STA connect to ext AP
+
+    3. AP get connected'
+  sub module: Phy Mode
+  summary: SoftAP ext AP in defferent channel, SoftAP 20M, ext AP 40M, STA connect
+    to AP then Softap get connected
+  test environment: SSC_T2_PhyMode
+  test environment description (auto): '2 SSC target connect with PC by UART.
+
+    PC has one WiFi NIC support capture wlan packet using libpcap.
+
+    Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
+
+    Put 4 APs near SSC targets.'
+  test point 1: basic function
+  test point 2: STA+SoftAP initial channel test
+  version: v1 (2015-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_PHY_0404
+  SDK: ESP32_IDF
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 phy -S -o 1 -m n -b 40
+    - ['R SSC1 C +PHY:OK']
+  - - SSC SSC1 phy -S -o 2 -m n -b 20
+    - ['R SSC1 C +PHY:OK']
+  - - SSC SSC2 phy -S -o 1 -m n -b 20
+    - ['R SSC2 C +PHY:OK']
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - ['P SSC2 C +JAP:CONNECTED']
+  - - SSC SSC1 sta -C -s <ap_ssid_c1_ht40> -p <ap_password_phy>
+    - ['']
+  - - DELAY 10
+    - ['P SSC2 NC +JAP:DISCONNECTED', 'P SSC1 C +JAP:CONNECTED']
+  comment: ''
+  execution time: 0.0
+  expected result: 3. SoftAP and STA in channel2, SoftAP 20M, STA 40M, SoftAP not
+    get disconnected
+  initial condition: T2_2
+  initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+  level: Integration
+  module: WIFI MAC
+  steps: '1. SoftAP 11n ht20, in channel1, ext AP 11n ht40, in channel2
+
+    2. AP get connected
+
+    3. STA connect to ext AP'
+  sub module: Phy Mode
+  summary: SoftAP ext AP in defferent channel, SoftAP 20M, ext AP 40M, Softap get
+    connected than STA connect to AP
+  test environment: SSC_T2_PhyMode
+  test environment description (auto): '2 SSC target connect with PC by UART.
+
+    PC has one WiFi NIC support capture wlan packet using libpcap.
+
+    Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
+
+    Put 4 APs near SSC targets.'
+  test point 1: basic function
+  test point 2: STA+SoftAP initial channel test
+  version: v1 (2015-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_PHY_0405
+  SDK: ESP32_IDF
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 phy -S -o 1 -m n -b 20
+    - ['R SSC1 C +PHY:OK']
+  - - SSC SSC1 phy -S -o 2 -m n -b 40
+    - ['R SSC1 C +PHY:OK']
+  - - SSC SSC2 phy -S -o 1 -m n -b 40
+    - ['R SSC2 C +PHY:OK']
+  - - SSC SSC1 sta -C -s <ap_ssid_c1_ht20> -p <ap_password_phy>
+    - ['R SSC1 C +JAP:CONNECTED']
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - ['']
+  - - DELAY 10
+    - ['P SSC1 NC +JAP:DISCONNECTED', 'P SSC2 C +JAP:CONNECTED']
+  comment: ''
+  execution time: 0.0
+  expected result: 3. SoftAP and STA in channel2, both bandwidth 40M, STA not disconnected
+  initial condition: T2_2
+  initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+  level: Integration
+  module: WIFI MAC
+  steps: '1. SoftAP 11n ht40, in channel1, ext AP 11n ht40, in channel2
+
+    2. STA connect to ext AP
+
+    3. AP get connected'
+  sub module: Phy Mode
+  summary: SoftAP ext AP in defferent channel, both bandwidth 40M, STA connect to
+    AP then Softap get connected
+  test environment: SSC_T2_PhyMode
+  test environment description (auto): '2 SSC target connect with PC by UART.
+
+    PC has one WiFi NIC support capture wlan packet using libpcap.
+
+    Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
+
+    Put 4 APs near SSC targets.'
+  test point 1: basic function
+  test point 2: STA+SoftAP initial channel test
+  version: v1 (2015-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_PHY_0406
+  SDK: ESP32_IDF
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 phy -S -o 1 -m n -b 20
+    - ['R SSC1 C +PHY:OK']
+  - - SSC SSC1 phy -S -o 2 -m n -b 40
+    - ['R SSC1 C +PHY:OK']
+  - - SSC SSC2 phy -S -o 1 -m n -b 40
+    - ['R SSC2 C +PHY:OK']
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - ['P SSC2 C +JAP:CONNECTED']
+  - - SSC SSC1 sta -C -s <ap_ssid_c1_ht20> -p <ap_password_phy>
+    - ['']
+  - - DELAY 10
+    - ['P SSC2 NC +JAP:DISCONNECTED', 'P SSC1 C +JAP:CONNECTED']
+  comment: ''
+  execution time: 0.0
+  expected result: 3. SoftAP and STA in channel2, both bandwidth 40M, SoftAP not get
+    disconnected
+  initial condition: T2_2
+  initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+  level: Integration
+  module: WIFI MAC
+  steps: '1. SoftAP 11n ht40, in channel1, ext AP 11n ht40, in channel2
+
+    2. AP get connected
+
+    3. STA connect to ext AP'
+  sub module: Phy Mode
+  summary: SoftAP ext AP in defferent channel, both bandwidth 40M, Softap get connected
+    than STA connect to AP
+  test environment: SSC_T2_PhyMode
+  test environment description (auto): '2 SSC target connect with PC by UART.
+
+    PC has one WiFi NIC support capture wlan packet using libpcap.
+
+    Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
+
+    Put 4 APs near SSC targets.'
+  test point 1: basic function
+  test point 2: STA+SoftAP initial channel test
+  version: v1 (2015-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_PHY_0407
+  SDK: ESP32_IDF
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 phy -S -o 1 -m n -b 40
+    - ['R SSC1 C +PHY:OK']
+  - - SSC SSC1 phy -S -o 2 -m n -b 40
+    - ['R SSC1 C +PHY:OK']
+  - - SSC SSC2 phy -S -o 1 -m n -b 40
+    - ['R SSC2 C +PHY:OK']
+  - - SSC SSC1 sta -C -s <ap_ssid_c1_ht40> -p <ap_password_phy>
+    - ['R SSC1 C +JAP:CONNECTED']
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - ['']
+  - - DELAY 10
+    - ['P SSC1 NC +JAP:DISCONNECTED', 'P SSC2 C +JAP:CONNECTED']
+  comment: ''
+  execution time: 0.0
+  expected result: 3. SoftAP and STA in channel2, SoftAP 40M, STA 20M, STA not disconnected
+  initial condition: T2_2
+  initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+  level: Integration
+  module: WIFI MAC
+  steps: '1. SoftAP 11n ht40, in channel1, ext AP 11n ht20, in channel2
+
+    2. STA connect to ext AP
+
+    3. AP get connected'
+  sub module: Phy Mode
+  summary: SoftAP ext AP in defferent channel, SoftAP 40M, ext AP 20M, STA connect
+    to AP then Softap get connected
+  test environment: SSC_T2_PhyMode
+  test environment description (auto): '2 SSC target connect with PC by UART.
+
+    PC has one WiFi NIC support capture wlan packet using libpcap.
+
+    Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
+
+    Put 4 APs near SSC targets.'
+  test point 1: basic function
+  test point 2: STA+SoftAP initial channel test
+  version: v1 (2015-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_PHY_0408
+  SDK: ESP32_IDF
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 phy -S -o 1 -m n -b 40
+    - ['R SSC1 C +PHY:OK']
+  - - SSC SSC1 phy -S -o 2 -m n -b 40
+    - ['R SSC1 C +PHY:OK']
+  - - SSC SSC2 phy -S -o 1 -m n -b 40
+    - ['R SSC2 C +PHY:OK']
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - ['P SSC2 C +JAP:CONNECTED']
+  - - SSC SSC1 sta -C -s <ap_ssid_c1_ht40> -p <ap_password_phy>
+    - ['']
+  - - DELAY 10
+    - ['P SSC2 NC +JAP:DISCONNECTED', 'P SSC1 C +JAP:CONNECTED']
+  comment: ''
+  execution time: 0.0
+  expected result: 3. SoftAP and STA in channel2, SoftAP 40M, STA 20M, SoftAP not
+    get disconnected
+  initial condition: T2_2
+  initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+  level: Integration
+  module: WIFI MAC
+  steps: '1. SoftAP 11n ht40, in channel1, ext AP 11n ht20, in channel2
+
+    2. AP get connected
+
+    3. STA connect to ext AP'
+  sub module: Phy Mode
+  summary: SoftAP ext AP in defferent channel, SoftAP 40M, ext AP 20M, Softap get
+    connected than STA connect to AP
+  test environment: SSC_T2_PhyMode
+  test environment description (auto): '2 SSC target connect with PC by UART.
+
+    PC has one WiFi NIC support capture wlan packet using libpcap.
+
+    Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
+
+    Put 4 APs near SSC targets.'
+  test point 1: basic function
+  test point 2: STA+SoftAP initial channel test
+  version: v1 (2015-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_PHY_0501
+  SDK: ESP32_IDF
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 phy -S -o 1 -m n -b 20
+    - ['R SSC1 C +PHY:OK']
+  - - SSC SSC1 phy -S -o 2 -m n -b 20
+    - ['R SSC1 C +PHY:OK']
+  - - SSC SSC2 sta -C -s <ap_ssid_c1_ht20> -p <ap_password_phy>
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - SSC SSC1 sta -C -s <target2_ssid> -p <target2_password>
+    - ['R SSC1 C +JAP:CONNECTED']
+  - - SSC SSC3 sta -C -s <target_ssid> -p <target_password>
+    - ['R SSC3 C +JAP:CONNECTED']
+  - - SSC SSC2 sta -C -s <ap_ssid_c2_ht20> -p <ap_password_phy>
+    - ['']
+  - - DELAY 10
+    - ['P SSC2 C +JAP:CONNECTED', 'P SSC[1,3] NC +JAP:DISCONNECTED']
+  comment: ''
+  execution time: 0.0
+  expected result: 4. all STA not get disconnected; target 1 SoftAP and STA both in
+    channel2 20M
+  initial condition: T3_PHY1
+  initial condition description (auto): '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'
+  level: Integration
+  module: WIFI MAC
+  steps: '1. target 1 STA and SoftAP set to 20M
+
+    2. target 2 STA connect to ap_channel1_20
+
+    3. target 1/3 STA connect to target 2/1 SoftAP
+
+    4. target 2 STA connect to ap_channel2_20'
+  sub module: Phy Mode
+  summary: SoftAP STA in channel1 20M, STA changed to channel2 20M
+  test environment: SSC_T3_PhyMode
+  test environment description (auto): '3 SSC target connect with PC by UART.
+
+    PC has one WiFi NIC support capture wlan packet using libpcap.
+
+    Set 4 AP with (HT20, channel1), (HT20, channel2), (HT40, channel1), (HT40, channel2).
+
+    Put 4 APs near SSC targets.'
+  test point 1: basic function
+  test point 2: STA+SoftAP dynamic channel switch test
+  version: v1 (2015-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_PHY_0502
+  SDK: ESP32_IDF
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 phy -S -o 1 -m n -b 40
+    - ['R SSC1 C +PHY:OK']
+  - - SSC SSC1 phy -S -o 2 -m n -b 20
+    - ['R SSC1 C +PHY:OK']
+  - - SSC SSC2 sta -C -s <ap_ssid_c1_ht20> -p <ap_password_phy>
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - SSC SSC1 sta -C -s <target2_ssid> -p <target2_password>
+    - ['R SSC1 C +JAP:CONNECTED']
+  - - SSC SSC3 sta -C -s <target_ssid> -p <target_password>
+    - ['R SSC3 C +JAP:CONNECTED']
+  - - SSC SSC2 sta -C -s <ap_ssid_c2_ht40> -p <ap_password_phy>
+    - ['']
+  - - DELAY 10
+    - ['P SSC2 C +JAP:CONNECTED', 'P SSC[1,3] NC +JAP:DISCONNECTED']
+  comment: ''
+  execution time: 0.0
+  expected result: 4. all STA not get disconnected; target 1 SoftAP and STA both in
+    channel2; SoftAP in 20M, STA in 40M
+  initial condition: T3_PHY1
+  initial condition description (auto): '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'
+  level: Integration
+  module: WIFI MAC
+  steps: '1. target 1 STA set to 40M, SoftAP set to 20M
+
+    2. target 2 STA connect to ap_channel1_20
+
+    3. target 1/3 STA connect to target 2/1 SoftAP
+
+    4. target 2 STA connect to ap_channel2_40'
+  sub module: Phy Mode
+  summary: SoftAP STA in channel1 20M, STA changed to channel2 40M
+  test environment: SSC_T3_PhyMode
+  test environment description (auto): '3 SSC target connect with PC by UART.
+
+    PC has one WiFi NIC support capture wlan packet using libpcap.
+
+    Set 4 AP with (HT20, channel1), (HT20, channel2), (HT40, channel1), (HT40, channel2).
+
+    Put 4 APs near SSC targets.'
+  test point 1: basic function
+  test point 2: STA+SoftAP dynamic channel switch test
+  version: v1 (2015-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_PHY_0503
+  SDK: ESP32_IDF
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 phy -S -o 1 -m n -b 40
+    - ['R SSC1 C +PHY:OK']
+  - - SSC SSC1 phy -S -o 2 -m n -b 20
+    - ['R SSC1 C +PHY:OK']
+  - - SSC SSC2 sta -C -s <ap_ssid_c1_ht40> -p <ap_password_phy>
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - SSC SSC1 sta -C -s <target2_ssid> -p <target2_password>
+    - ['R SSC1 C +JAP:CONNECTED']
+  - - SSC SSC3 sta -C -s <target_ssid> -p <target_password>
+    - ['R SSC3 C +JAP:CONNECTED']
+  - - SSC SSC2 sta -C -s <ap_ssid_c2_ht20> -p <ap_password_phy>
+    - ['']
+  - - DELAY 10
+    - ['P SSC2 C +JAP:CONNECTED', 'P SSC[1,3] NC +JAP:DISCONNECTED']
+  comment: ''
+  execution time: 0.0
+  expected result: 4. all STA not get disconnected; target 1 SoftAP and STA both in
+    channel2 20M
+  initial condition: T3_PHY1
+  initial condition description (auto): '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'
+  level: Integration
+  module: WIFI MAC
+  steps: '1. target 1 STA set to 40M, SoftAP set to 20M
+
+    2. target 2 STA connect to ap_channel1_40
+
+    3. target 1/3 STA connect to target 2/1 SoftAP
+
+    4. target 2 STA connect to ap_channel2_20'
+  sub module: Phy Mode
+  summary: SoftAP STA in channel1, SoftAP 20M, STA 40M, STA changed to channel2 20M
+  test environment: SSC_T3_PhyMode
+  test environment description (auto): '3 SSC target connect with PC by UART.
+
+    PC has one WiFi NIC support capture wlan packet using libpcap.
+
+    Set 4 AP with (HT20, channel1), (HT20, channel2), (HT40, channel1), (HT40, channel2).
+
+    Put 4 APs near SSC targets.'
+  test point 1: basic function
+  test point 2: STA+SoftAP dynamic channel switch test
+  version: v1 (2015-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_PHY_0504
+  SDK: ESP32_IDF
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 phy -S -o 1 -m n -b 40
+    - ['R SSC1 C +PHY:OK']
+  - - SSC SSC1 phy -S -o 2 -m n -b 40
+    - ['R SSC1 C +PHY:OK']
+  - - SSC SSC2 sta -C -s <ap_ssid_c1_ht40> -p <ap_password_phy>
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - SSC SSC1 sta -C -s <target2_ssid> -p <target2_password>
+    - ['R SSC1 C +JAP:CONNECTED']
+  - - SSC SSC3 sta -C -s <target_ssid> -p <target_password>
+    - ['R SSC3 C +JAP:CONNECTED']
+  - - SSC SSC2 sta -C -s <ap_ssid_c2_ht20> -p <ap_password_phy>
+    - ['']
+  - - DELAY 10
+    - ['P SSC2 C +JAP:CONNECTED', 'P SSC[1,3] NC +JAP:DISCONNECTED']
+  comment: ''
+  execution time: 0.0
+  expected result: 4. all STA not get disconnected; target 1 SoftAP and STA both in
+    channel2 20M
+  initial condition: T3_PHY1
+  initial condition description (auto): '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'
+  level: Integration
+  module: WIFI MAC
+  steps: '1. target 1 STA and SoftAP set to 40M
+
+    2. target 2 STA connect to ap_channel1_40
+
+    3. target 1/3 STA connect to target 2/1 SoftAP
+
+    4. target 2 STA connect to ap_channel2_20'
+  sub module: Phy Mode
+  summary: SoftAP STA in channel1, SoftAP 20M, STA 40M, STA changed to channel2 40M
+  test environment: SSC_T3_PhyMode
+  test environment description (auto): '3 SSC target connect with PC by UART.
+
+    PC has one WiFi NIC support capture wlan packet using libpcap.
+
+    Set 4 AP with (HT20, channel1), (HT20, channel2), (HT40, channel1), (HT40, channel2).
+
+    Put 4 APs near SSC targets.'
+  test point 1: basic function
+  test point 2: STA+SoftAP dynamic channel switch test
+  version: v1 (2015-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_PHY_0505
+  SDK: ESP32_IDF
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 phy -S -o 1 -m n -b 40
+    - ['R SSC1 C +PHY:OK']
+  - - SSC SSC1 phy -S -o 2 -m n -b 20
+    - ['R SSC1 C +PHY:OK']
+  - - SSC SSC2 sta -C -s <ap_ssid_c1_ht40> -p <ap_password_phy>
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - SSC SSC1 sta -C -s <target2_ssid> -p <target2_password>
+    - ['R SSC1 C +JAP:CONNECTED']
+  - - SSC SSC3 sta -C -s <target_ssid> -p <target_password>
+    - ['R SSC3 C +JAP:CONNECTED']
+  - - SSC SSC2 sta -C -s <ap_ssid_c2_ht20> -p <ap_password_phy>
+    - ['']
+  - - DELAY 10
+    - ['P SSC2 C +JAP:CONNECTED', 'P SSC[1,3] NC +JAP:DISCONNECTED']
+  comment: ''
+  execution time: 0.0
+  expected result: 4. all STA not get disconnected; target 1 SoftAP and STA both in
+    channel2; SoftAP in 20M, STA in 40M
+  initial condition: T3_PHY1
+  initial condition description (auto): '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'
+  level: Integration
+  module: WIFI MAC
+  steps: '1. target 1 STA set to 40M ,SoftAP set to 20M
+
+    2. target 2 STA connect to ap_channel1_40
+
+    3. target 1/3 STA connect to target 2/1 SoftAP
+
+    4. target 2 STA connect to ap_channel2_20'
+  sub module: Phy Mode
+  summary: SoftAP STA in channel1, SoftAP 40M, STA 40M, STA changed to channel2 20M
+  test environment: SSC_T3_PhyMode
+  test environment description (auto): '3 SSC target connect with PC by UART.
+
+    PC has one WiFi NIC support capture wlan packet using libpcap.
+
+    Set 4 AP with (HT20, channel1), (HT20, channel2), (HT40, channel1), (HT40, channel2).
+
+    Put 4 APs near SSC targets.'
+  test point 1: basic function
+  test point 2: STA+SoftAP dynamic channel switch test
+  version: v1 (2015-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_PHY_0506
+  SDK: ESP32_IDF
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 phy -S -o 1 -m n -b 40
+    - ['R SSC1 C +PHY:OK']
+  - - SSC SSC1 phy -S -o 2 -m n -b 40
+    - ['R SSC1 C +PHY:OK']
+  - - SSC SSC2 sta -C -s <ap_ssid_c1_ht40> -p <ap_password_phy>
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - SSC SSC1 sta -C -s <target2_ssid> -p <target2_password>
+    - ['R SSC1 C +JAP:CONNECTED']
+  - - SSC SSC3 sta -C -s <target_ssid> -p <target_password>
+    - ['R SSC3 C +JAP:CONNECTED']
+  - - SSC SSC2 sta -C -s <ap_ssid_c2_ht40> -p <ap_password_phy>
+    - ['']
+  - - DELAY 10
+    - ['P SSC2 C +JAP:CONNECTED', 'P SSC[1,3] NC +JAP:DISCONNECTED']
+  comment: ''
+  execution time: 0.0
+  expected result: 4. all STA not get disconnected; target 1 SoftAP and STA both in
+    channel2 40M
+  initial condition: T3_PHY1
+  initial condition description (auto): '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'
+  level: Integration
+  module: WIFI MAC
+  steps: '1. target 1 STA and SoftAP set to 40M
+
+    2. target 2 STA connect to ap_channel1_40
+
+    3. target 1/3 STA connect to target 2/1 SoftAP
+
+    4. target 2 STA connect to ap_channel2_40'
+  sub module: Phy Mode
+  summary: SoftAP STA in channel1, SoftAP 40M, STA 40M, STA changed to channel2 40M
+  test environment: SSC_T3_PhyMode
+  test environment description (auto): '3 SSC target connect with PC by UART.
+
+    PC has one WiFi NIC support capture wlan packet using libpcap.
+
+    Set 4 AP with (HT20, channel1), (HT20, channel2), (HT40, channel1), (HT40, channel2).
+
+    Put 4 APs near SSC targets.'
+  test point 1: basic function
+  test point 2: STA+SoftAP dynamic channel switch test
+  version: v1 (2015-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_SCAN_0101
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC2 sta -S -s .,juhg123
+    - ['R SSC2 NC +SCAN: C +SCANDONE']
+  - - SSC SSC1 ap -S -s <target_tmp_ssid> -p 123456789 -t 3
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC2 sta -S -s <target_tmp_ssid>
+    - ['R SSC2 C +SCAN:', R SSC2 P <target_tmp_ssid>, 'R SSC2 NC +SCAN: C +SCANDONE']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.target 2上不能scan  .,juhg123
+
+    2.target1 set AP
+
+    3.target2上查询到<target_tmp_ssid>'
+  initial condition: T2_1
+  initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+    autogen a TC with initial condition T2_2
+  level: Integration
+  module: WIFI MAC
+  steps: '1.target 2  scan  .,juhg123
+
+    2.target1下设置ssid 和pwd 加密方式
+
+    3.target2  scan <target_tmp_ssid>'
+  sub module: WIFI Scan
+  summary: scan with scan config ssid
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: scan with different config
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_SCAN_0102
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC2 sta -S -b ff:ff:ff:ff:ff:11
+    - ['R SSC2 NC +SCAN: C +SCANDONE']
+  - - SSC SSC2 sta -S -b <target_ap_mac>
+    - ['R SSC2 RE "\+SCAN:.+,%%s"%%(<target_ap_mac>)', 'R SSC2 NC +SCAN: C +SCANDONE']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.target2 上不能查询到此mac
+
+    2.target2上查询到<target_ap_mac>'
+  initial condition: T2_1
+  initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+    autogen a TC with initial condition T2_2
+  level: Integration
+  module: WIFI MAC
+  steps: '1.target2 上查询此macff:ff:ff:ff:ff:11
+
+    2.target2上查询<target_ap_mac>'
+  sub module: WIFI Scan
+  summary: scan with scan config bssid
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: scan with different config
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_SCAN_0103
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 sta -D
+    - ['R SSC1 C +QAP:']
+  - - SSC SSC1 ap -S -s <target_tmp_ssid> -p 123456789 -t 3 -n 6
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC2 sta -S -n 5
+    - [R SSC2 NP <target_tmp_ssid> C +SCANDONE]
+  - - SSC SSC2 sta -S -n 6
+    - ['R SSC2 C +SCAN:', R SSC2 P <target_tmp_ssid>]
+  comment: ''
+  execution time: 0.0
+  expected result: '1.target1 QAP
+
+    2. target1 set AP,set channel 6
+
+    3.target2 上scan不到 channel 5
+
+    4.target2 上查询channel 6的<target_tmp_ssid>'
+  initial condition: T2_1
+  initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+    autogen a TC with initial condition T2_2
+  level: Integration
+  module: WIFI MAC
+  steps: '1.target1 断开连接AP
+
+    2.target1下设置ssid 和pwd 加密方式,set channel 6
+
+    3.target2 上scan channel 5
+
+    4.target2 上查询channel 6的<target_tmp_ssid>'
+  sub module: WIFI Scan
+  summary: scan with scan config channel
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: scan with different config
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_SCAN_0104
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <target_tmp_ssid> -p 123456789 -t 3 -h 0
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC2 sta -S -h 0
+    - [R SSC2 P <target_tmp_ssid> C +SCANDONE]
+  - - SSC SSC2 sta -S -h 1
+    - [R SSC2 P <target_tmp_ssid> C +SCANDONE]
+  - - SSC SSC1 ap -S -s <target_tmp_ssid> -p 123456789 -h 1
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC2 sta -S -h 0
+    - [R SSC2 NP <target_tmp_ssid> C +SCANDONE]
+  - - SSC SSC2 sta -S -h 1
+    - [R SSC2 P <target_ap_mac> C +SCANDONE]
+  comment: ''
+  execution time: 0.0
+  expected result: '1.target1 set AP,set ssid broad cast
+
+    2.target 2上scan <target_tmp_ssid>
+
+    3.target 2上scan <target_tmp_ssid>
+
+    4.target1 set AP,set ssid hidden,
+
+    5.target 2上不能查询到 <target_tmp_ssid>
+
+    6.target 2上查询到<target_ap_mac>'
+  initial condition: T2_1
+  initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+    autogen a TC with initial condition T2_2
+  level: Integration
+  module: WIFI MAC
+  steps: '1.target1下设置ssid 和pwd 加密方式,set ssid broad cast
+
+    2.target 2上scan <target_tmp_ssid>
+
+    3.target 2上scan <target_tmp_ssid>
+
+    4.target1下设置ssid 和pwd 加密方式,set ssid hidden,
+
+    5.target 2上查询 <target_tmp_ssid>
+
+    6.target 2上查询<target_ap_mac>'
+  sub module: WIFI Scan
+  summary: scan with scan config show hidden
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: scan with different config
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_SCAN_0105
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 sta -D
+    - ['R SSC1 C +QAP:']
+  - - SSC SSC1 ap -S -s <target_tmp_ssid> -p 123456789 -t 3 -h 0 -n 11
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC2 sta -S -s <target_tmp_ssid> -b <target_ap_mac> -n 11
+    - [R SSC2 P <target_tmp_ssid> C +SCANDONE]
+  - - SSC SSC2 sta -S -s <target_ssid> -b <target_ap_mac> -n 11
+    - [R SSC2 NP <target_tmp_ssid> C +SCANDONE]
+  - - SSC SSC2 sta -S -s <target_tmp_ssid> -b ff:ff:ff:ff:ff:11 -n 11
+    - [R SSC2 P <target_tmp_ssid>, R SSC2 NP <target_tmp_ssid> C +SCANDONE]
+  - - SSC SSC2 sta -S -s <target_tmp_ssid> -b <target_ap_mac> -n 10
+    - [R SSC2 P <target_tmp_ssid>, R SSC2 NP <target_tmp_ssid> C +SCANDONE]
+  comment: ''
+  execution time: 0.0
+  expected result: '1.target1 QAP
+
+    2. target1 set AP,set ssid broad cast,set channel 11
+
+    3.target2 上查询到<target_tmp_ssid>
+
+    4.target2 上查询不到<target_tmp_ssid>
+
+    5.target2 上查询不到<target_tmp_ssid>
+
+    6.target2 上查询不到<target_tmp_ssid>'
+  initial condition: T2_1
+  initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+    autogen a TC with initial condition T2_2
+  level: Integration
+  module: WIFI MAC
+  steps: '1.target1 QAP
+
+    2. target1 set AP,set ssid broad cast,set channel 11
+
+    3.target2 上查询到<target_tmp_ssid>
+
+    4.target2 上查询不到<target_tmp_ssid>
+
+    5.target2 上查询不到<target_tmp_ssid>
+
+    6.target2 上查询不到<target_tmp_ssid>'
+  sub module: WIFI Scan
+  summary: scan with several configs
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: scan with different config
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_SCAN_0201
+  SDK: ESP32_IDF
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 phy -S -o 1 -m b
+    - ['R SSC1 C +PHY:OK']
+  - - SSC SSC1 sta -S
+    - [R SSC1 P <ap_ssid_11b> P <ap_ssid_11g> P <ap_ssid_11n_ht20> P <ap_ssid_11n_ht40>]
+  - - SSC SSC1 phy -S -o 1 -m g
+    - ['R SSC1 C +PHY:OK']
+  - - SSC SSC1 sta -S
+    - [R SSC1 P <ap_ssid_11b> P <ap_ssid_11g> P <ap_ssid_11n_ht20> P <ap_ssid_11n_ht40>]
+  - - SSC SSC1 phy -S -o 1 -m n -b 20
+    - ['R SSC1 C +PHY:OK']
+  - - SSC SSC1 sta -S
+    - [R SSC1 P <ap_ssid_11b> P <ap_ssid_11g> P <ap_ssid_11n_ht20> P <ap_ssid_11n_ht40>]
+  - - SSC SSC1 phy -S -o 1 -m n -b 40
+    - ['R SSC1 C +PHY:OK']
+  - - SSC SSC1 sta -S
+    - [R SSC1 P <ap_ssid_11b> P <ap_ssid_11g> P <ap_ssid_11n_ht20> P <ap_ssid_11n_ht40>]
+  comment: ''
+  execution time: 0.0
+  expected result: '3. find all 3 ext APs
+
+    5. find all 3 ext APs
+
+    7. find all 3 ext APs
+
+    9. find all 3 ext APs'
+  initial condition: STAM1
+  initial condition description (auto): sta mode, quit AP, DHCP on, will autogen a
+    TC with initial condition STAAP1
+  level: Integration
+  module: WIFI MAC
+  steps: '1. 3 ext APs in 11b, 11g, 11n mode
+
+    2. STA in 11b mode
+
+    3. do all channel scan
+
+    4. STA in 11g mode
+
+    5. do all channel scan
+
+    6. STA in 11n ht20 mode
+
+    7. do all channel scan
+
+    8. STA in 11n ht40 mode
+
+    9. do all channel scan'
+  sub module: WIFI Scan
+  summary: STA in differnt PHY mode to scan AP in different PHY mode
+  test environment: SSC_T2_PhyMode
+  test environment description (auto): '2 SSC target connect with PC by UART.
+
+    PC has one WiFi NIC support capture wlan packet using libpcap.
+
+    Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
+
+    Put 4 APs near SSC targets.'
+  test point 1: basic function
+  test point 2: Scan in different mode and channel
+  version: v1 (2015-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_SCAN_0301
+  SDK: ESP32_IDF
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 sta -S
+    - ['']
+  - - SSC SSC1 sta -S
+    - [P SSC1 C +SCANFAIL, 'P SSC1 P +SCAN:', R SSC1 C +SCANDONE]
+  comment: ''
+  execution time: 0.0
+  expected result: '1. second scan failed
+
+    2. first scan succeed'
+  initial condition: STAM1
+  initial condition description (auto): sta mode, quit AP, DHCP on, will autogen a
+    TC with initial condition STAAP1
+  level: Integration
+  module: WIFI MAC
+  steps: '1. do all channel scan
+
+    2. do scan before scan finished'
+  sub module: WIFI Scan
+  summary: reject scan request before scan finished
+  test environment: SSC_T2_PhyMode
+  test environment description (auto): '2 SSC target connect with PC by UART.
+
+    PC has one WiFi NIC support capture wlan packet using libpcap.
+
+    Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
+
+    Put 4 APs near SSC targets.'
+  test point 1: interaction
+  test point 2: Scan interact with other WiFi operation
+  version: v1 (2015-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_SCAN_0302
+  SDK: ESP32_IDF
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+    - ['R SSC1 C +JAP:CONNECTED']
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -n 1000000 -j 5
+    - ['']
+  - - SSC SSC2 phy -S -o 1 -m b
+    - ['R SSC2 C +PHY:OK']
+  - - SSC SSC2 sta -S -n <ap_channel>
+    - [R SSC2 P <ap_ssid>]
+  - - SSC SSC2 phy -S -o 1 -m g
+    - ['R SSC2 C +PHY:OK']
+  - - SSC SSC2 sta -S -n <ap_channel>
+    - [R SSC2 P <ap_ssid>]
+  - - SSC SSC2 phy -S -o 1 -m n -b 20
+    - ['R SSC2 C +PHY:OK']
+  - - SSC SSC2 sta -S -n <ap_channel>
+    - [R SSC2 P <ap_ssid>]
+  - - SSC SSC2 phy -S -o 1 -m n -b 40
+    - ['R SSC2 C +PHY:OK']
+  - - SSC SSC2 sta -S -n <ap_channel>
+    - [R SSC2 P <ap_ssid>]
+  comment: ''
+  execution time: 0.0
+  expected result: 3. target 2 able to scan AP
+  initial condition: T2_2
+  initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+  level: Integration
+  module: WIFI MAC
+  steps: '1. target 1 connect to AP
+
+    2. target 1 start sending UDP packets
+
+    3. target 2 scan in AP channel in 11b.g,n,ht40 mode'
+  sub module: WIFI Scan
+  summary: scan in congest channel
+  test environment: SSC_T2_PhyMode
+  test environment description (auto): '2 SSC target connect with PC by UART.
+
+    PC has one WiFi NIC support capture wlan packet using libpcap.
+
+    Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
+
+    Put 4 APs near SSC targets.'
+  test point 1: interaction
+  test point 2: Scan interact with other WiFi operation
+  version: v1 (2015-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_SCAN_0303
+  SDK: ESP32_IDF
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+    - ['R SSC1 C +JAP:OK']
+  - - SSC SSC1 sta -S
+    - [P SSC1 C +SCANDONE, 'P SSC1 C +JAP:CONNECTED']
+  - - SSC SSC1 sta -D
+    - ['R SSC1 C +QAP:OK']
+  - - SSC SSC1 sta -S
+    - ['']
+  - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+    - [P SSC1 C +SCANDONE, 'P SSC1 C +JAP:CONNECTED']
+  comment: ''
+  execution time: 0.0
+  expected result: '2. scan succeed, JAP succeed
+
+    5. JAP succeed, scan succeed'
+  initial condition: T2_2
+  initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+  level: Integration
+  module: WIFI MAC
+  steps: '1. target 1 STA join AP
+
+    2. target 1 STA scan before JAP succeed
+
+    3. target 1 quite AP
+
+    4. target 1 scan
+
+    5. target 1 JAP before scan succeed'
+  sub module: WIFI Scan
+  summary: scan during JAP
+  test environment: SSC_T2_PhyMode
+  test environment description (auto): '2 SSC target connect with PC by UART.
+
+    PC has one WiFi NIC support capture wlan packet using libpcap.
+
+    Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
+
+    Put 4 APs near SSC targets.'
+  test point 1: interaction
+  test point 2: Scan interact with other WiFi operation
+  version: v1 (2015-8-15)
+- CI ready: 'Yes'
+  ID: WIFI_SCAN_0304
+  SDK: ESP32_IDF
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - ['R SSC2 C +JAP:OK']
+  - - SSC SSC1 sta -S
+    - [P SSC1 C +SCANDONE, 'P SSC2 C +JAP:CONNECTED']
+  - - SSC SSC2 sta -D
+    - ['R SSC2 C +QAP:OK']
+  - - SSC SSC1 sta -S
+    - ['']
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - [P SSC1 C +SCANDONE, 'P SSC2 C +JAP:CONNECTED']
+  comment: ''
+  execution time: 0.0
+  expected result: '2. scan succeed, JAP succeed
+
+    5. JAP succeed, scan succeed'
+  initial condition: T2_2
+  initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+  level: Integration
+  module: WIFI MAC
+  steps: '1. target 2 STA join target 1 SoftAP
+
+    2. target 1 STA scan before target 2 JAP succeed
+
+    3. target 2 STA QAP
+
+    4. target 1 STA scan
+
+    5. target 2 STA JAP before target 1 STA scan succeed'
+  sub module: WIFI Scan
+  summary: scan during ext STA join SoftAP
+  test environment: SSC_T2_PhyMode
+  test environment description (auto): '2 SSC target connect with PC by UART.
+
+    PC has one WiFi NIC support capture wlan packet using libpcap.
+
+    Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
+
+    Put 4 APs near SSC targets.'
+  test point 1: interaction
+  test point 2: Scan interact with other WiFi operation
+  version: v1 (2015-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_DHCP_0101
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 dhcp -E -o 1
+    - ['R SSC1 C +DHCP:STA,OK']
+  - - SSC SSC1 ip -S -i 0.0.0.0
+    - ['R SSC1 C +IP:OK']
+  - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+    - ['']
+  - - DELAY 20
+    - [P PC_COM C +DELAYDONE, 'P SSC1 NC +JAP:CONNECTED']
+  - - SSC SSC1 dhcp -S -o 1
+    - ['R SSC1 C +DHCP:STA,OK']
+  - - SSC SSC1 ip -Q
+    - ['R SSC1 C +STAIP:0.0.0.0']
+  - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+    - ['R SSC1 C +JAP:CONNECTED']
+  - - SSC SSC1 ip -Q
+    - ['R SSC1 RE "\+STAIP:%%s"%%(<target_ip>)']
+  comment: ''
+  execution time: 0.0
+  expected result: "1.target1 关闭DHCP OK\n2.target1 设置ip add OK\n3.target1 连接AP fail\n\
+    4.target1 打开DHCP OK\n5.查询到sta ip \n6.target1 连接AP ok\n7.查询到sta ip 为target_ip"
+  initial condition: STAAP1
+  initial condition description (auto): testing sta on sta + ap mode, quit AP (autogen
+    by STAM1)
+  level: Integration
+  module: TCPIP
+  steps: "1.target1 关闭DHCP OK\n2.target1 设置ip add OK\n3.target1 连接AP fail\n4.target1\
+    \ 打开DHCP OK\n5.查询到sta ip \n6.target1 连接AP ok\n7.查询到sta ip 为target_ip"
+  sub module: DHCP
+  summary: dhcp client function test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: DHCP client function test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_DHCP_0102
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC1 dhcp -E -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - ['']
+  - - DELAY 20
+    - [P PC_COM C +DELAYDONE, 'P SSC2 NC +JAP:CONNECTED']
+  - - SSC SSC1 dhcp -S -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - ['R SSC2 C +JAP:CONNECTED']
+  comment: ''
+  execution time: 0.0
+  expected result: "1.target1 set AP OK \n2.target1 关闭DHCP OK\n3.target2 jap target\
+    \ 1,FAIL \n4.target1 打开DHCP OK\n5.target2 jap target 1,ok"
+  initial condition: T2_2
+  initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+  level: Integration
+  module: TCPIP
+  steps: "1.target1 set AP OK \n2.target1 关闭DHCP OK\n3.target2 jap target 1,FAIL \n\
+    4.target1 打开DHCP OK\n5.target2 jap target 1,ok"
+  sub module: DHCP
+  summary: dhcp server function test
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: DHCP client function test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_DHCP_0103
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 op -S -o 3
+    - ['R SSC1 C +MODE:OK']
+  - - SSC SSC1 dhcp -S -o 3
+    - ['R SSC1 C +DHCP:AP,OK C +DHCP:STA,OK']
+  - - SSC SSC1 dhcp -Q -o 3
+    - ['R SSC1 C +DHCP:STA,STARTED C +DHCP:AP,STARTED']
+  - - SSC SSC1 dhcp -Q -o 1
+    - ['R SSC1 C +DHCP:STA,STARTED NC +DHCP:AP,STARTED']
+  - - SSC SSC1 dhcp -Q -o 2
+    - ['R SSC1 NC +DHCP:STA,STARTED C +DHCP:AP,STARTED']
+  - - SSC SSC1 dhcp -E -o 3
+    - ['R SSC1 C +DHCP:AP,OK C +DHCP:STA,OK']
+  - - SSC SSC1 dhcp -Q -o 3
+    - ['R SSC1 C +DHCP:STA,STOPPED C +DHCP:AP,STOPPED']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.STA&AP STARTED
+
+    4.STA STARTED
+
+    5.AP STARTED
+
+    6.OK
+
+    7.STA&AP STOPPED'
+  initial condition: STAAP1
+  initial condition description (auto): testing sta on sta + ap mode, quit AP (autogen
+    by STAM1)
+  level: Integration
+  module: TCPIP
+  steps: '1.target1 设置mode 为sta+softAP mode
+
+    2.target1 打开DHCP 3
+
+    3.target1 查询DHCP 状态
+
+    4.target1 查询sta DHCP 状态
+
+    5.target1 查询softAP DHCP 状态
+
+    6.target1 关闭 DHCP 3
+
+    7.target1 查询 DHCP 状态'
+  sub module: DHCP
+  summary: dhcp status query
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: DHCP client function test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_DHCP_0201
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 dhcp -E -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - SSC SSC1 ip -S -o 2 -i <target_ap_ip>
+    - ['R SSC1 C +IP:OK']
+  - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
+    - ['R SSC1 C +DHCP:LEASE,OK']
+  - - SSC SSC1 dhcp -L -s 192.168.4.1 -e 192.168.4.10
+    - ['R SSC1 C +DHCP:LEASE,ERROR']
+  - - SSC SSC1 dhcp -L -s 192.168.4.5 -e 192.168.4.2
+    - ['R SSC1 C +DHCP:LEASE,ERROR']
+  - - SSC SSC1 dhcp -L -s 192.168.2.2 -e 192.168.2.5
+    - ['R SSC1 C +DHCP:LEASE,ERROR']
+  - - SSC SSC1 dhcp -S -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.target1 关闭DHCP 2 OK
+
+    2.target1 设置ip 成功
+
+    3.设置dhcp 地址池 OK
+
+    4.ERROR
+
+    5.ERROR
+
+    6.ERROR
+
+    7.target1 打开DHCP ok'
+  initial condition: APSTA1
+  initial condition description (auto): testing ap on sta + ap mode (autogen by APM1)
+  level: Integration
+  module: TCPIP
+  steps: "1.target1 关闭DHCP 2 \n2.target1 设置ip \n3.设置dhcp 地址池\n4.设置dhcp错误的参数\n5.设置dhcp错误的参数\n\
+    6.设置dhcp错误的参数\n7.target1 打开DHCP ok"
+  sub module: DHCP
+  summary: server dhcp lease test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: DHCP server function test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_DHCP_0202
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC1 dhcp -E -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
+    - ['R SSC1 C +DHCP:LEASE,OK']
+  - - SSC SSC1 dhcp -S -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - LOOP 3 4 "['01','02','03']" "[2,3,4]"
+    - ['']
+  - - SSC SSC2 sta -D
+    - ['R SSC2 C +QAP:OK']
+  - - SSC SSC2 mac -S -o 1 -m 10:22:33:44:55:{%s}
+    - ['R SSC2 C +MAC:STA,OK']
+  - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - SSC SSC2 ip -Q -o 1
+    - ['R SSC2 C +STAIP:192.168.4.{%s}']
+  comment: ''
+  execution time: 0.0
+  expected result: '1. succeed
+
+    2. succeed
+
+    3,4: get IP from dhcp pool with correct sequence'
+  initial condition: T2_2
+  initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+  level: Integration
+  module: TCPIP
+  steps: '1. config softap to a random ssid
+
+    2. config DHCP Server on Target1
+
+    3. target change mac, connect to Target1
+
+    4. Loop step3'
+  sub module: DHCP
+  summary: dhcp server ip pool
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: DHCP server function test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_DHCP_0203
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC1 dhcp -E -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.3
+    - ['R SSC1 C +DHCP:LEASE,OK']
+  - - SSC SSC1 dhcp -S -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - LOOP 2 4 "['01','02']" "[2,3]"
+    - ['']
+  - - SSC SSC2 sta -D
+    - ['R SSC2 C +QAP:OK']
+  - - SSC SSC2 mac -S -o 1 -m 10:22:33:44:55:{%s}
+    - ['R SSC2 C +MAC:STA,OK']
+  - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - SSC SSC2 ip -Q -o 1
+    - ['R SSC2 C +STAIP:192.168.4.{%s}']
+  - - SSC SSC2 mac -S -o 1 -m 10:22:33:44:55:66
+    - ['R SSC2 C +MAC:STA,OK']
+  - - DELAY 20
+    - ['']
+  - - SSC SSC2 ip -Q -o 1
+    - ['R SSC2 C +STAIP:0.0.0.0']
+  comment: ''
+  execution time: 0.0
+  expected result: '1. succeed
+
+    2. succeed
+
+    3. succeed
+
+    4.1 succeed
+
+    4.2 failed'
+  initial condition: T2_2
+  initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+  level: Integration
+  module: TCPIP
+  steps: '1. config softap to a random ssid
+
+    2. config DHCP Server on Target1(.4.2 - .4.3)
+
+    3. target change mac, connect to Target1
+
+    4. Loop step3 twice'
+  sub module: DHCP
+  summary: dhcp server ip pool empty
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: DHCP server function test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_DHCP_0204
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC1 dhcp -E -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.3 -t 1
+    - ['R SSC1 C +DHCP:LEASE,OK']
+  - - SSC SSC1 dhcp -S -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - SSC SSC2 ip -Q -o 1
+    - ['R SSC2 C +STAIP:192.168.4.2']
+  - - DELAY 90
+    - ['']
+  - - SSC SSC2 ip -Q -o 1
+    - ['R SSC2 C +STAIP:192.168.4.2']
+  - - SSC SSC2 sta -D
+    - ['R SSC2 C +JAP:DISCONNECTED']
+  - - DELAY 60
+    - ['']
+  - - SSC SSC2 mac -S -o 1 -m 10:22:33:44:55:66
+    - ['R SSC2 C +MAC:STA,OK']
+  - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - SSC SSC2 ip -Q -o 1
+    - ['R SSC2 C +STAIP:192.168.4.2']
+  comment: ''
+  execution time: 0.0
+  expected result: '1. succeed
+
+    2. succeed
+
+    3. get IP 192.168.4.2
+
+    5. succeed
+
+    6. succeed
+
+    8. get IP 192.168.4.2'
+  initial condition: T2_2
+  initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+  level: Integration
+  module: TCPIP
+  steps: '1. config softap to a random ssid
+
+    2. config DHCP timeout as 1 minute
+
+    3. target2 connect to target1
+
+    4. wait 90 seconds
+
+    5. check if target2 IP is same
+
+    6. target2 disconnect
+
+    7. wait 60s
+
+    8. target2 change mac and connect to target1'
+  sub module: DHCP
+  summary: dhcp server timeout test
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: DHCP server function test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_DHCP_0205
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - SSC SSC1 dhcp -E -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.3 -t 1
+    - ['P SSC1 C +DHCP:LEASE,OK']
+  - - SSC SSC1 dhcp -S -o 2
+    - ['P SSC1 C +DHCP:AP,OK', 'P SSC2 C +JAP:DISCONNECTED']
+  comment: ''
+  execution time: 0.0
+  expected result: '1. succeed
+
+    2. succeed
+
+    3. target2 wifi disconnected'
+  initial condition: T2_2
+  initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+  level: Integration
+  module: TCPIP
+  steps: '1. config softap to a random ssid
+
+    2. target2 connect to target1
+
+    3. disable DHCP server, do config and enable'
+  sub module: DHCP
+  summary: disconnect STA if config dhcp server
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: DHCP server function test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_DHCP_0206
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC1 dhcp -E -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
+    - ['R SSC1 C +DHCP:LEASE,OK']
+  - - SSC SSC1 dhcp -S -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - LOOP 4 4 "['01','02','03','01']" "[2,3,4,2]"
+    - ['']
+  - - SSC SSC2 sta -D
+    - ['R SSC2 C +QAP:OK']
+  - - SSC SSC2 mac -S -o 1 -m 10:22:33:44:55:{%s}
+    - ['R SSC2 C +MAC:STA,OK']
+  - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - SSC SSC2 ip -Q -o 1
+    - ['R SSC2 C +STAIP:192.168.4.{%s}']
+  comment: ''
+  execution time: 0.0
+  expected result: '1. succeed
+
+    2. succeed
+
+    4. get IP 192.168.4.2 - 192.168.4.4
+
+    5. get IP 192.168.4.2'
+  initial condition: T2_2
+  initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+  level: Integration
+  module: TCPIP
+  steps: '1. config softap to a random ssid
+
+    2. disable DHCP server, do config and enable
+
+    3. target2 change mac, connect to softap, disconnect
+
+    4. Loop step3 twice
+
+    5. change to first mac, connect to softap'
+  sub module: DHCP
+  summary: dhcp server assign same IP to same MAC when it's not released
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: DHCP server function test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_DHCP_0207
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC1 dhcp -E -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
+    - ['R SSC1 C +DHCP:LEASE,OK']
+  - - SSC SSC1 dhcp -S -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - WIFI <pc_wifi_nic> CONN <random_string> <random_string> 192.168.4.2
+    - ['R PC_COM NC ERROR C +WIFICONN:OK']
+  - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - WIFI <pc_wifi_nic> DISCONN2
+    - ['R PC_COM NC ERROR C +WIFIDISCONN:OK']
+  - - SSC SSC2 sta -D
+    - ['R SSC2 C +QAP:OK']
+  - - SSC SSC2 mac -S -o 1 -m 10:22:33:44:55:66
+    - ['R SSC2 C +MAC:STA,OK']
+  - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - SSC SSC2 ip -Q -o 1
+    - ['R SSC2 C +STAIP:192.168.4.2']
+  comment: ''
+  execution time: 0.0
+  expected result: '1. succeed
+
+    2. succeed
+
+    3. get IP 192.168.4.2
+
+    4. succeed
+
+    5. succeed
+
+    6. get IP 192.168.4.2'
+  initial condition: T2_2
+  initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+  level: Integration
+  module: TCPIP
+  steps: '1. config softap to a random ssid
+
+    2. disable DHCP server, do config and enable
+
+    3. PC WIFI NIC connect to target1 softap
+
+    4. target2 connect to target1 softap and disnnect
+
+    5. PC release IP and disconnected
+
+    6. target2 change mac and connect to target1'
+  sub module: DHCP
+  summary: dhcp server prefer assign released IP to new client
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: DHCP server function test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_DHCP_0208
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - SSC SSC1 dhcp -E -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
+    - ['R SSC1 C +DHCP:LEASE,OK']
+  - - SSC SSC1 dhcp -S -o 2
+    - ['P SSC1 C +DHCP:AP,OK', 'P SSC2 C +JAP:DISCONNECTED']
+  - - SSC SSC2 sta -D
+    - ['R SSC2 C +JAP:DISCONNECTED']
+  - - SSC SSC1 dhcp -S -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - WIFI <pc_wifi_nic> CONN <random_string> <random_string> 192.168.4.2
+    - ['R PC_COM NC ERROR C +WIFICONN:OK']
+  - - SSC SSC1 ap -L
+    - [R SSC1 C 192.168.4.2 P <pc_wifi_nic_mac>]
+  comment: ''
+  execution time: 0.0
+  expected result: '1. succeed
+
+    2. succeed
+
+    3. succeed
+
+    4. get IP 192.168.4.2
+
+    5. can only find target2 with IP 192.168.4.2'
+  initial condition: T2_2
+  initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+  level: Integration
+  module: TCPIP
+  steps: '1. config softap to a random ssid
+
+    2. PC NIC connect to target1 softap
+
+    3. disable DHCP server, do config and enable
+
+    4. target2 connect to target1 softap
+
+    5. softap list connected station'
+  sub module: DHCP
+  summary: dhcp server reconfig and new client able to get first IP in pool
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: DHCP server function test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_DHCP_0209
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - SSC SSC1 dhcp -E -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
+    - ['R SSC1 C +DHCP:LEASE,OK']
+  - - SSC SSC1 dhcp -S -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - WIFI <pc_wifi_nic> CONN <random_string> <random_string> 192.168.4.2
+    - ['R PC_COM NC ERROR C +WIFICONN:OK']
+  - - DELAY 20
+    - ['']
+  - - SSC SSC1 ap -L
+    - [R SSC1 C 192.168.4.2 C 192.168.4.3 P <pc_wifi_nic_mac> P <target2_mac>]
+  comment: ''
+  execution time: 0.0
+  expected result: '1. succeed
+
+    2. succeed
+
+    3. succeed
+
+    4. succeed
+
+    5. find target2 and PC'
+  initial condition: T2_2
+  initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+  level: Integration
+  module: TCPIP
+  steps: '1. config softap to a random ssid
+
+    2. target2 connect to target1 softap
+
+    3. disable DHCP server, do config and enable
+
+    4. PC NIC connect to target1 softap
+
+    5. softap list connected station'
+  sub module: DHCP
+  summary: dhcp server reconfig, old client and new client able to get IP
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: DHCP server function test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_DHCP_0210
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC1 dhcp -E -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
+    - ['R SSC1 C +DHCP:LEASE,OK']
+  - - SSC SSC1 dhcp -S -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - WIFI <pc_wifi_nic> CONN2 <random_string> <random_string> 192.168.4.2
+    - ['R PC_COM NC ERROR C +WIFICONN:OK']
+  - - SSC SSC1 ap -L
+    - [R SSC1 C 192.168.4.2 C 192.168.4.3 P <pc_wifi_nic_mac> P <target2_mac>]
+  comment: ''
+  execution time: 0.0
+  expected result: '1. succeed
+
+    2. succeed
+
+    3. succeed
+
+    4. succeed
+
+    5. find target2 and PC'
+  initial condition: T2_2
+  initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+  level: Integration
+  module: TCPIP
+  steps: '1. config softap to a random ssid
+
+    2. target2 connect to target1 softap
+
+    3. disable DHCP server, do config and enable
+
+    4. PC NIC connect to target1 softap try to renew IP 192.168.4.2
+
+    5. softap list connected station'
+  sub module: DHCP
+  summary: dhcp server reconfig, old client able to get IP (discover with requested
+    IP)
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: DHCP server function test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_DHCP_0211
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
+    - ['R SSC1 C +SAP:OK']
+  - - WIFI <pc_wifi_nic> CONN <random_string> <random_string> 192.168.4.2
+    - ['R PC_COM NC ERROR C +WIFICONN:OK']
+  - - SSC SSC1 dhcp -E -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
+    - ['R SSC1 C +DHCP:LEASE,OK']
+  - - SSC SSC1 dhcp -S -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - DELAY 10
+    - ['']
+  - - SSC SSC1 ap -L
+    - [R SSC1 C 192.168.4.2 C 192.168.4.3 P <pc_wifi_nic_mac> P <target2_mac>]
+  comment: ''
+  execution time: 0.0
+  expected result: '1. succeed
+
+    2. succeed
+
+    3. succeed
+
+    4. succeed
+
+    5. find target2 and PC'
+  initial condition: T2_2
+  initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+  level: Integration
+  module: TCPIP
+  steps: '1. config softap to a random ssid
+
+    2. target2 connect to target1 softap
+
+    3. disable DHCP server, do config and enable
+
+    4. PC NIC connect to target1 softap try to renew IP 192.168.4.2
+
+    5. softap list connected station'
+  sub module: DHCP
+  summary: dhcp server reconfig, old client able to renew IP (direct send request)
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: DHCP server function test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_DHCP_0301
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 dhcp -E -o 1
+    - ['R SSC1 C +DHCP:STA,OK']
+  - - SSC SSC1 ip -S -i 192.168.123.123 -o 1
+    - ['R SSC1 C +IP:OK']
+  - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+    - ['R SSC1 C +JAP:CONNECTED']
+  - - SSC SSC1 ip -S -i 0.0.0.0 -o 1
+    - ['R SSC1 C +IP:OK']
+  - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+    - ['']
+  - - DELAY 10
+    - [P PC_COM C +DELAYDONE, 'P SSC1 NC +JAP:CONNECTED']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.JAP CONNETED
+
+    4.OK
+
+    5.等待10s,JAP fail'
+  initial condition: STAAP1
+  initial condition description (auto): testing sta on sta + ap mode, quit AP (autogen
+    by STAM1)
+  level: Integration
+  module: TCPIP
+  steps: '1.target1 关闭DHCP 1
+
+    2.target1 设置sta ip 192.168.123.123
+
+    4.target1 jap AP
+
+    5.target1 设置sta ip 0.0.0.0
+
+    6.target1 jap AP'
+  sub module: DHCP
+  summary: sta dhcp static ip interaction
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: interaction
+  test point 2: static IP and DHCP interaction test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_DHCP_0302
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 dhcp -S -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - SSC SSC1 ip -S -i 192.168.123.123 -o 2
+    - ['R SSC1 C +IP:ERROR']
+  - - SSC SSC1 dhcp -L -s 192.168.2.2 -e 192.168.2.10
+    - ['R SSC1 C +DHCP:LEASE,ERROR']
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+    - ['']
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - ['P SSC2 C +JAP:CONNECTED']
+  - - SSC SSC1 dhcp -E -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - SSC SSC1 ip -S -i 192.168.4.1 -o 2
+    - ['R SSC1 C +IP:OK']
+  - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.10
+    - ['R SSC1 C +DHCP:LEASE,OK']
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - ['']
+  - - DELAY 10
+    - [P PC_COM C +DELAYDONE, 'P SSC2 NC +JAP:CONNECTED']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.target 1 OK
+
+    2.target1 ERROR
+
+    3.target1 ERROR
+
+    4.target2 jap target1 OK
+
+    5.target1 OK
+
+    6.target1 OK
+
+    7.target1 OK
+
+    8.target2 jap target1 OK'
+  initial condition: T2_2
+  initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+  level: Integration
+  module: TCPIP
+  steps: "1.target1 打开DHCP 2\n2.target1 设置softAP ip 192.168.123.123\n3.target1 设置地址池\n\
+    4.target1下设置ssid 和pwd 加密方式\n5.target2 连接target1 \n6.target1 关闭DHCP 2\n7.target1\
+    \ 设置softAP ip \n8.target1 设置正确的地址池\n9.target2 连接target1"
+  sub module: DHCP
+  summary: ap dhcp static ip interaction
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: interaction
+  test point 2: static IP and DHCP interaction test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_DNS_0101
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: 3/5
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 soc -H -d iot.espressif.cn
+    - ['R SSC1 C +HOSTIP:OK,115.29.202.58']
+  comment: ''
+  execution time: 0.0
+  expected result: 1.OK
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: 1. get host name "espressif.cn"
+  sub module: DNS
+  summary: get host by name test
+  test environment: SSC_T1_2
+  test environment description (auto): 'Able to access WAN after connect to AP.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: DNS function test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_DNS_0102
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: 3/5
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 soc -H -d iot.espressif.cn
+    - ['R SSC1 A <ip_addr>:\+HOSTIP:OK,(.+)\r\n']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:\+BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <ip_addr> -p 9001
+    - ['R SSC1 RE \+CONNECT:\d+,OK']
+  - - SSC SSC1 soc -S -s <sock1> -l 10
+    - ['P SSC1 RE \+SEND:\d+,OK', P SSC1 SL <sock1>+10]
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK
+
+    4.OK'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: '1. get host name "espressif.cn"
+
+    2. connect, send, recv1. get host name "espressif.cn"
+
+    2. connect, send, recv'
+  sub module: DNS
+  summary: TCP connect to iot.espressif.com
+  test environment: SSC_T1_2
+  test environment description (auto): 'Able to access WAN after connect to AP.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: DNS function test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_DNS_0103
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: 3/5
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 soc -H -d iot.espressif.cn
+    - ['R SSC1 A <ip_addr>:\+HOSTIP:OK,(.+)\r\n']
+  - - SSC SSC1 soc -B -t UDP
+    - ['R SSC1 A <sock1>:\+BIND:(\d+),OK']
+  - - SSC SSC1 soc -S -s <sock1> -i <ip_addr> -p 9003 -l 10
+    - ['P SSC1 RE \+SEND:\d+,OK', P SSC1 SL <sock1>+10]
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: '1. get host name "espressif.cn"
+
+    2. sendto, recvfrom1. get host name "espressif.cn"
+
+    2. sendto, recvfrom'
+  sub module: DNS
+  summary: UDP send to iot.expressif.com
+  test environment: SSC_T1_2
+  test environment description (auto): 'Able to access WAN after connect to AP.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: DNS function test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_ICMP_0101
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: 1/5
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ping -i <pc_ip>
+    - ['R SSC1 C +PING:OK']
+  - - SSC SSC1 ping -i <pc_ip> -c 2
+    - ['R SSC1 C +PING:OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.ok
+
+    2.ok'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: '1.ping -i <pc_ip>
+
+    2.ping -i <pc_ip> -c 2'
+  sub module: ICMP
+  summary: ping function test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: ping function test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_IGMP_0101
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 igmp -J -h <target_ip> -m 224.1.1.1
+    - ['R SSC1 C +IGMP:OK']
+  - - SSC SSC1 igmp -L -h <target_ip> -m 224.1.1.1
+    - ['R SSC1 C +IGMP:OK']
+  - - SSC SSC1 igmp -J -h <target_ip> -m 223.1.1.1
+    - ['R SSC1 C +IGMP:ERROR']
+  - - SSC SSC1 igmp -J -h <target_ip> -m 240.1.1.1
+    - ['R SSC1 C +IGMP:ERROR']
+  - - SSC SSC1 igmp -J -h 192.168.237.77 -m 224.1.1.1
+    - ['R SSC1 C +IGMP:ERROR']
+  - - SSC SSC1 igmp -J -h 192.168.237.77 -m 240.1.1.1
+    - ['R SSC1 C +IGMP:ERROR']
+  comment: ''
+  execution time: 0.0
+  expected result: '1. success
+
+    2. failed
+
+    3. failed
+
+    4. failed'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: '1. join group with correct host addr and multicast addr
+
+    2. join group with correct host addr and wrong multicast addr
+
+    3. join group with wrong host addr and correct multicast addr
+
+    4. join group with wrong host addr and wrong multicast addr'
+  sub module: IGMP
+  summary: station IGMP join group address check
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: IGMP API parameter check
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_IGMP_0102
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 igmp -J -h <target_ip> -m 224.1.1.1
+    - ['R SSC1 C +IGMP:OK']
+  - - SSC SSC1 igmp -L -h <target_ip> -m 224.1.1.2
+    - ['R SSC1 C +IGMP:ERROR']
+  - - SSC SSC1 igmp -L -h 192.168.237.77 -m 224.1.1.1
+    - ['R SSC1 C +IGMP:ERROR']
+  - - SSC SSC1 igmp -L -h 192.168.237.77 -m 240.1.1.1
+    - ['R SSC1 C +IGMP:ERROR']
+  - - SSC SSC1 igmp -L -h <target_ip> -m 224.1.1.1
+    - ['R SSC1 C +IGMP:OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1. success
+
+    2. failed
+
+    3. failed
+
+    4. failed
+
+    5. succeed'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: '1. join group with correct host addr and multicast addr
+
+    2. leave group with correct host addr and wrong multicast addr
+
+    3. leave group with wrong host addr and correct multicast addr
+
+    4. leave group with wrong host addr and wrong multicast addr
+
+    5. leave group with correct host addr and correct multicast addr'
+  sub module: IGMP
+  summary: station IGMP leave group address check
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: IGMP API parameter check
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_IGMP_0103
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 igmp -J -h <target_ap_ip> -m 224.1.1.1
+    - ['R SSC1 C +IGMP:OK']
+  - - SSC SSC1 igmp -L -h <target_ap_ip> -m 224.1.1.1
+    - ['R SSC1 C +IGMP:OK']
+  - - SSC SSC1 igmp -J -h <target_ap_ip> -m 223.1.1.1
+    - ['R SSC1 C +IGMP:ERROR']
+  - - SSC SSC1 igmp -J -h <target_ap_ip> -m 240.1.1.1
+    - ['R SSC1 C +IGMP:ERROR']
+  - - SSC SSC1 igmp -J -h 192.168.237.77 -m 224.1.1.1
+    - ['R SSC1 C +IGMP:ERROR']
+  - - SSC SSC1 igmp -J -h 192.168.237.77 -m 240.1.1.1
+    - ['R SSC1 C +IGMP:ERROR']
+  comment: ''
+  execution time: 0.0
+  expected result: '1. success
+
+    2. failed
+
+    3. failed
+
+    4. failed'
+  initial condition: APSTA2
+  initial condition description (auto): testing ap on sta + ap mode,  PC join AP (autogen
+    by APM2)
+  level: Integration
+  module: TCPIP
+  steps: '1. join group with correct host addr and multicast addr
+
+    2. join group with correct host addr and wrong multicast addr
+
+    3. join group with wrong host addr and correct multicast addr
+
+    4. join group with wrong host addr and wrong multicast addr'
+  sub module: IGMP
+  summary: softAP IGMP join group address check
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: IGMP API parameter check
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_IGMP_0104
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 igmp -J -h <target_ap_ip> -m 224.1.1.1
+    - ['R SSC1 C +IGMP:OK']
+  - - SSC SSC1 igmp -L -h <target_ap_ip> -m 224.1.1.2
+    - ['R SSC1 C +IGMP:ERROR']
+  - - SSC SSC1 igmp -L -h 192.168.237.77 -m 224.1.1.1
+    - ['R SSC1 C +IGMP:ERROR']
+  - - SSC SSC1 igmp -L -h 192.168.237.77 -m 240.1.1.1
+    - ['R SSC1 C +IGMP:ERROR']
+  - - SSC SSC1 igmp -L -h <target_ap_ip> -m 224.1.1.1
+    - ['R SSC1 C +IGMP:OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1. success
+
+    2. failed
+
+    3. failed
+
+    4. failed
+
+    5. succeed'
+  initial condition: APSTA2
+  initial condition description (auto): testing ap on sta + ap mode,  PC join AP (autogen
+    by APM2)
+  level: Integration
+  module: TCPIP
+  steps: '1. join group with correct host addr and multicast addr
+
+    2. leave group with correct host addr and wrong multicast addr
+
+    3. leave group with wrong host addr and correct multicast addr
+
+    4. leave group with wrong host addr and wrong multicast addr
+
+    5. leave group with correct host addr and correct multicast addr'
+  sub module: IGMP
+  summary: softAP IGMP leave group address check
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: IGMP API parameter check
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_IGMP_0201
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 igmp -J -h <target_ip> -m 224.1.1.1
+    - ['R SSC1 C +IGMP:OK']
+  - - SSC SSC1 soc -B -t UDP -i 224.1.1.1 -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:\+BIND:(\d+),OK']
+  - - SOC SOC1 BIND <test_udp_port1>
+    - [R SOC_COM L OK]
+  - - SOC SOC1 SENDTO 1 <test_udp_port1> 224.1.1.1
+    - [R SSC1 SL <sock1>+1]
+  - - SSC SSC1 igmp -L -h <target_ip> -m 224.1.1.1
+    - ['R SSC1 C +IGMP:OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1. succeed
+
+    2. succeed
+
+    3. able to recv packet'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: '1. join group
+
+    2. create UDP socket using multicast addr
+
+    3. PC send UDP packet to multicast addr'
+  sub module: IGMP
+  summary: station IGMP recv packets
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: IGMP send/recv test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_IGMP_0202
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC2 op -S -o 1
+    - ['R SSC2 C +MODE:OK']
+  - - SSC SSC2 sta -C -s <ap_ssid> -p <ap_password>
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - SSC SSC1 igmp -J -h <target_ip> -m 224.1.1.1
+    - ['R SSC1 C +IGMP:OK']
+  - - SSC SSC1 soc -B -t UDP -i 224.1.1.1 -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:\+BIND:(\d+),OK']
+  - - SSC SSC2 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC2 A <sock2>:\+BIND:(\d+),OK']
+  - - SSC SSC2 soc -S -s <sock2> -i 224.1.1.1 -p <test_udp_port1> -l 10
+    - [R SSC1 SL <sock1>+1]
+  - - SSC SSC1 igmp -L -h <target_ip> -m 224.1.1.1
+    - ['R SSC1 C +IGMP:OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1. succeed
+
+    2. succeed
+
+    3. succeed
+
+    4. target1 recv multicast packet'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: '1. target2 set to sta mode and join AP
+
+    2. target1 join group and create UDP socket using multicast addr
+
+    3. target2 create UDP socket
+
+    4. target2 send to multicast addr'
+  sub module: IGMP
+  summary: station send multicast packets
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: IGMP send/recv test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_IGMP_0203
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 igmp -J -h <target_ap_ip> -m 224.1.1.1
+    - ['R SSC1 C +IGMP:OK']
+  - - SSC SSC1 soc -B -t UDP -i 224.1.1.1 -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SOC SOC1 BIND <test_udp_port1> <pc_ip_wifi>
+    - [R SOC_COM L OK]
+  - - SOC SOC1 SENDTO 1 <test_udp_port1> 224.1.1.1
+    - [R SSC1 SL <sock1>+1]
+  - - SSC SSC1 igmp -L -h <target_ap_ip> -m 224.1.1.1
+    - ['R SSC1 C +IGMP:OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1. succeed
+
+    2. succeed
+
+    3. able to recv packet'
+  initial condition: APSTA2
+  initial condition description (auto): testing ap on sta + ap mode,  PC join AP (autogen
+    by APM2)
+  level: Integration
+  module: TCPIP
+  steps: '1. join group
+
+    2. create UDP socket using multicast addr
+
+    3. PC send UDP packet to multicast addr'
+  sub module: IGMP
+  summary: softAP IGMP recv packets
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: IGMP send/recv test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_IGMP_0204
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - SSC SSC1 igmp -J -h <target_ap_ip> -m 224.1.1.1
+    - ['R SSC1 C +IGMP:OK']
+  - - SSC SSC1 soc -B -t UDP -i 224.1.1.1 -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:\+BIND:(\d+),OK']
+  - - SSC SSC2 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC2 A <sock2>:\+BIND:(\d+),OK']
+  - - SSC SSC2 soc -S -s <sock2> -i 224.1.1.1 -p <test_udp_port1> -l 10
+    - [R SSC1 SL <sock1>+1]
+  - - SSC SSC1 igmp -L -h <target_ap_ip> -m 224.1.1.1
+    - ['R SSC1 C +IGMP:OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1. succeed
+
+    2. succeed
+
+    3. succeed
+
+    4. target1 recv multicast packet'
+  initial condition: T2_2
+  initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+  level: Integration
+  module: TCPIP
+  steps: '1. target2 join SoftAP
+
+    2. target1 join group and create UDP socket using multicast addr
+
+    3. target2 create UDP socket
+
+    4. target2 send to multicast addr'
+  sub module: IGMP
+  summary: softAP send multicast packets
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: IGMP send/recv test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_IP_0101
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 dhcp -S -o 1
+    - ['R SSC1 C +DHCP:STA,OK']
+  - - SSC SSC1 ip -S -o 1 -i 192.168.123.123
+    - ['R SSC1 C +IP:ERROR']
+  - - SSC SSC1 dhcp -E -o 1
+    - ['R SSC1 C +DHCP:STA,OK']
+  - - SSC SSC1 ip -S -o 1 -i 192.168.123.123
+    - ['R SSC1 C +IP:OK']
+  - - SSC SSC1 ip -Q -o 1
+    - ['R SSC1 C +STAIP:192.168.123.123']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.ERROR
+
+    3.OK
+
+    4.OK
+
+    5.STAIP:192.168.123.123'
+  initial condition: STAAP1
+  initial condition description (auto): testing sta on sta + ap mode, quit AP (autogen
+    by STAM1)
+  level: Integration
+  module: TCPIP
+  steps: '1.target1 打开DHCP 1
+
+    2.target1 设置sta ip 192.168.123.123
+
+    4.target1 关闭DHCP 1
+
+    5.target1 设置sta ip 192.168.123.123
+
+    6.target1 查询 当前sta ip'
+  sub module: IP
+  summary: sta set and query static ip test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: set and query static IP
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_IP_0102
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 dhcp -S -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - SSC SSC1 ip -S -o 2 -i 192.168.123.123
+    - ['R SSC1 C +IP:ERROR']
+  - - SSC SSC1 dhcp -E -o 2
+    - ['R SSC1 C +DHCP:AP,OK']
+  - - SSC SSC1 ip -S -o 2 -i 192.168.123.123
+    - ['R SSC1 C +IP:OK']
+  - - SSC SSC1 ip -Q -o 2
+    - ['R SSC1 C +APIP:192.168.123.123']
+  - - SSC SSC1 ip -S -o 2 -i <target_ap_ip>
+    - ['R SSC1 C +IP:OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.ERROR
+
+    3.OK
+
+    4.OK
+
+    5.APIP:192.168.123.123
+
+    6.OK'
+  initial condition: APSTA1
+  initial condition description (auto): testing ap on sta + ap mode (autogen by APM1)
+  level: Integration
+  module: TCPIP
+  steps: "1.target1 打开DHCP 2\n2.target1 设置softAP ip 192.168.123.123\n4.target1 关闭DHCP\
+    \ 2\n5.target1 设置softAP ip 192.168.123.123\n6.target1 查询 当前sta ip \n7.target1\
+    \ 设置softAP ip 为target_ap_ip"
+  sub module: IP
+  summary: ap set and query static ip test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: set and query static IP
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_TCP_0101
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1>
+    - [SOCR SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP -i 0.0.0.0 -p 0
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+    - ['P SSC1 RE CONNECT:\d+,OK', P SOC1 C +ACCEPT]
+  - - SSC SSC1 soc -B -t TCP -i 0.0.0.0 -p 0
+    - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock2> -i 123.456.678.789 -p <test_tcp_port1>
+    - ['P SSC1 RE CONNECT:\d+,ERROR']
+  - - SSC SSC1 soc -C -s <sock2> -i <pc_ip> -p <test_tcp_port2>
+    - ['P SSC1 RE CONNECT:\d+,ERROR']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK; PC TCP server accept 成功
+
+    4.OK
+
+    5.ERROR
+
+    6.ERROR'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上建立TCP 监听 test_tcp_port1
+
+    2.target1上创建TCP socket,bind到本地ip 0.0.0.0,本地端口 0
+
+    3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1
+
+    4.target1上创建TCP socket,bind到本地ip 0.0.0.0,本地端口 0
+
+    5.target1上使用步骤4创建的socket,去连接不存在的ip,test_tcp_port1
+
+    6.target1上使用步骤2创建的socket,去连接 PC的ip,远端端口不存在。'
+  sub module: TCP
+  summary: STA mode, connect test. use different ip, port
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_TCP_0102
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 soc -B -t TCP -p <random_port>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -L -s <sock1>
+    - ['R SSC1 RE LISTEN:\d+,OK']
+  - - SOC SOC1 CONNECT <random_port> <target_ip>
+    - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+', P SOC_COM C OK]
+  - - SOC SOC1 CONNECT <test_tcp_port2> <target_ip>
+    - [P SOC_COM C ERROR, P SSC1 NC ACCEPT]
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.PC TCP client accept
+
+    4.error'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: '1.target1上创建TCP socket,bind到本地端口<random_port>
+
+    2.target1上使用步骤1创建的socket,创建TCP 监听
+
+    3.PC TCP 连接到target1  <random_port>,<target_ip>
+
+    4.PC tcp 连接到不存在的port ,<target_ip>'
+  sub module: TCP
+  summary: STA mode, server listen test. use different kinds of port
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_TCP_0103
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SOC SOC1 ACCEPT SOC2
+    - [R SOC_COM L OK]
+  - - SOC SOC2 SEND 5
+    - [R SSC1 SL <sock1>+5]
+  - - SSC SSC1 soc -S -s <sock1> -l 5
+    - ['P SSC1 RE SEND:\d+,OK', P SOC2 RL 5]
+  - - SOC SOC2 SEND 146000
+    - [R SSC1 SL <sock1>+146000]
+  - - SSC SSC1 soc -S -s <sock1> -l 1460 -n 100
+    - ['P SSC1 RE SEND:\d+,OK', P SOC2 RL 146000]
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK,pc上回accept
+
+    4.OK
+
+    5.target收到5 byte
+
+    6.PC收到5 byte
+
+    7.target收到 146000 byte
+
+    8.OK,PC 回SOC_RECV=SOC2,RECV_LEN=字节数'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: '1. PC上建立TCP 监听 test_tcp_port1
+
+    2.target1上创建TCP socket
+
+    3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1
+
+    4.PC与target1 创建好TCP 连接,有ACCEPT
+
+    5.PC send 5 bytes to 8266
+
+    6.8266 send 5 bytes to PC
+
+    7. PC send 100 * 1460 data to 8266,
+
+    8.8266 send 100 * 1460 to PC.'
+  sub module: TCP
+  summary: STA mode, send/recv basic test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_TCP_0104
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -D -s <sock1> -h B
+    - ['R SSC1 RE SHUTDOWN:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock2> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -D -s <sock2> -h W
+    - ['R SSC1 RE SHUTDOWN:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock3>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock3> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -D -s <sock3> -h R
+    - ['R SSC1 RE SHUTDOWN:\d+,OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK,pc tcp server accept OK
+
+    4.OK
+
+    5.OK
+
+    6.OK,pc tcp server accept OK
+
+    7.OK
+
+    8.OK
+
+    9.OK,pc tcp server accept OK
+
+    10.OK'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: '1. PC上建立TCP 监听 test_tcp_port1
+
+    2.target1上创建TCP socket
+
+    3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+
+    4.target1 shutdown socket1 B
+
+    5.target1上创建TCP socket
+
+    6.target1上使用步骤5创建的socket,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+
+    7.target1 shutdown socket2 W
+
+    8.target1上创建TCP socket
+
+    9.target1上使用步骤8创建的socket,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+
+    10.target1 shutdown socket3 R'
+  sub module: TCP
+  summary: STA mode, shutdown basic test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_TCP_0105
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -T -s <sock1>
+    - ['R SSC1 RE CLOSE:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP -p <random_port>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -L -s <sock1>
+    - ['R SSC1 RE LISTEN:\d+,OK']
+  - - SOC SOC2 CONNECT <random_port> <target_ip>
+    - ['R SSC1 A <sock2>:ACCEPT:(\d+),\d+,.+,\d+']
+  - - SSC SSC1 soc -T -s <sock2>
+    - ['R SSC1 RE CLOSE:\d+,OK']
+  - - SSC SSC1 soc -T -s <sock1>
+    - ['R SSC1 RE CLOSE:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -T -s <sock1>
+    - ['R SSC1 RE CLOSE:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -D -s <sock1>
+    - ['R SSC1 RE SHUTDOWN:\d+,OK']
+  - - SSC SSC1 soc -T -s <sock1>
+    - ['R SSC1 RE CLOSE:\d+,OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK
+
+    4.OK
+
+    5.OK
+
+    6.OK
+
+    7.target1关闭socket1
+
+    8.target1关闭socket2
+
+    9.OK
+
+    10.OK,pc tcp server accept成功
+
+    11.target1关闭socket1
+
+    12.OK
+
+    13.OK,pc tcp server accept成功
+
+    14.OK
+
+    15.target1关闭socket1'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1\n3.target1关闭socket1\n\
+    4.target1上创建TCP socket 端口随机\n5.target1上使用步骤4创建的socket1,去监听\n6.PC CONNECT<random_port>,<target_ip>\
+    \ ,tcp 连接创建成功,创建socket2             \n7.target1关闭socket1\n8.target1关闭socket2\n\
+    9.target1上创建TCP socket1\n10.target1上使用步骤10创建的socket1,去连接 PC的ip,test_tcp_port1,PC有ACCEPT\n\
+    11.target1关闭socket1\n12.target1上创建TCP socket1\n13.target1上使用步骤13创建的socket1,去连接\
+    \ PC的ip,test_tcp_port1,PC有ACCEPT\n14.target1shutdown socket1\n15.target1关闭socket1"
+  sub module: TCP
+  summary: STA mode, close for different types of TCP sockets test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_TCP_0106
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock2> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock3>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock3> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock4>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock4> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock5>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock5> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK,pc tcp server accept成功
+
+    4 OK
+
+    5.OK,pc tcp server accept成功
+
+    6.OK
+
+    7.OK,pc tcp server accept成功
+
+    8 OK
+
+    9.OK,pc tcp server accept成功
+
+    10.OK
+
+    11.OK,pc tcp server accept成功'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上建立TCP 监听 test_tcp_port1
+
+    2.target1上创建TCP socket1
+
+    3.target1上使用步骤2创建的socket1,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+
+    4.target1上创建TCP socket2
+
+    5.target1上使用步骤4创建的socket2,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+
+    6.target1上创建TCP socket3
+
+    7.target1上使用步骤6创建的socket3,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+
+    8.target1上创建TCP socket4
+
+    9.target1上使用步骤8创建的socket4,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+
+    10.target1上创建TCP socket5
+
+    11.target1上使用步骤10创建的socket5,去连接 PC的ip,test_tcp_port1,PC有ACCEPT'
+  sub module: TCP
+  summary: STA mode, create max TCP sockets test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_TCP_0107
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 soc -B -t TCP -p <random_port>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -L -s <sock1>
+    - ['R SSC1 RE LISTEN:\d+,OK']
+  - - SOC SOC2 CONNECT <random_port> <target_ip>
+    - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
+  - - SOC SOC3 CONNECT <random_port> <target_ip>
+    - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
+  - - SOC SOC4 CONNECT <random_port> <target_ip>
+    - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
+  - - SOC SOC5 CONNECT <random_port> <target_ip>
+    - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
+  - - SOC SOC6 CONNECT <random_port> <target_ip>
+    - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.+BIND:0,OK,0.0.0.0
+
+    2.OK
+
+    3.OK,pc tcp server accept成功
+
+    4.OK,pc tcp server accept成功
+
+    5.OK,pc tcp server accept成功
+
+    6.OK,pc tcp server accept成功
+
+    7.OK,pc tcp server accept成功'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: "1.target1上创建TCP socket 端口随机\n2.target1上使用步骤4创建的socket1,去监听\n3.PC CONNECT<random_port>,<target_ip>\
+    \ ,tcp 连接创建成功,创建socket2 \n4.PC CONNECT<random_port>,<target_ip> ,tcp 连接创建成功,创建socket3\
+    \ \n5.PC CONNECT<random_port>,<target_ip> ,tcp 连接创建成功,创建socket4 \n6.PC CONNECT<random_port>,<target_ip>\
+    \ ,tcp 连接创建成功,创建socket5  \n7.PC CONNECT<random_port>,<target_ip> ,tcp 连接创建成功,创建socket6"
+  sub module: TCP
+  summary: STA mode, accept max TCP client by server test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_TCP_0110
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
+    - [SOCR SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP -i 0.0.0.0 -p 0
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
+    - ['P SSC1 RE CONNECT:\d+,OK', P SOC1 C +ACCEPT]
+  - - SSC SSC1 soc -B -t TCP -i 0.0.0.0 -p 0
+    - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock2> -i 123.456.678.789 -p <test_tcp_port1>
+    - ['P SSC1 RE CONNECT:\d+,ERROR']
+  - - SSC SSC1 soc -C -s <sock2> -i <pc_ip_wifi> -p <test_tcp_port2>
+    - ['P SSC1 RE CONNECT:\d+,ERROR']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK; PC TCP server accept 成功
+
+    4.OK
+
+    5.ERROR
+
+    6.ERROR'
+  initial condition: APSTA2
+  initial condition description (auto): testing ap on sta + ap mode,  PC join AP (autogen
+    by APM2)
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上建立TCP 监听 test_tcp_port1
+
+    2.target1上创建TCP socket,bind到本地ip 0.0.0.0,本地端口 0
+
+    3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1
+
+    4.target1上创建TCP socket,bind到本地ip 0.0.0.0,本地端口 0
+
+    5.target1上使用步骤4创建的socket,去连接不存在的ip,test_tcp_port1
+
+    6.target1上使用步骤2创建的socket,去连接 PC的ip,远端端口不存在。'
+  sub module: TCP
+  summary: AP mode, connect test. use different ip, port
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_TCP_0111
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 soc -B -t TCP -p <random_port>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -L -s <sock1>
+    - ['R SSC1 RE LISTEN:\d+,OK']
+  - - SOC SOC1 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
+    - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+', P SOC_COM C OK]
+  - - SOC SOC1 CONNECT <test_tcp_port2> <target_ap_ip> 0 <pc_ip_wifi>
+    - [P SOC_COM C ERROR, P SSC1 NC ACCEPT]
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.PC TCP client accept
+
+    4.error'
+  initial condition: APSTA2
+  initial condition description (auto): testing ap on sta + ap mode,  PC join AP (autogen
+    by APM2)
+  level: Integration
+  module: TCPIP
+  steps: '1.target1上创建TCP socket,bind到本地端口<random_port>
+
+    2.target1上使用步骤1创建的socket,创建TCP 监听
+
+    3.PC TCP 连接到target1  <random_port>,<target_ip>
+
+    4.PC tcp 连接到不存在的port ,<target_ip>'
+  sub module: TCP
+  summary: AP mode, server listen test. use different kinds of port
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_TCP_0112
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SOC SOC1 ACCEPT SOC2
+    - [R SOC_COM L OK]
+  - - SOC SOC2 SEND 5
+    - [R SSC1 SL <sock1>+5]
+  - - SSC SSC1 soc -S -s <sock1> -l 5
+    - ['P SSC1 RE SEND:\d+,OK', P SOC2 RL 5]
+  - - SOC SOC2 SEND 146000
+    - [R SSC1 SL <sock1>+146000]
+  - - SSC SSC1 soc -S -s <sock1> -l 1460 -n 100
+    - ['P SSC1 RE SEND:\d+,OK', P SOC2 RL 146000]
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK,pc tcp server accept成功
+
+    4.OK
+
+    5.target收到5byte数据
+
+    6.PC收到5byte数据
+
+    7.target收到146000 byte数据
+
+    8.OK,PC 收到146000 byte数据'
+  initial condition: APSTA2
+  initial condition description (auto): testing ap on sta + ap mode,  PC join AP (autogen
+    by APM2)
+  level: Integration
+  module: TCPIP
+  steps: '1. PC上建立TCP 监听 test_tcp_port1
+
+    2.target1上创建TCP socket
+
+    3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1
+
+    4.PC与target1 创建好TCP 连接,有ACCEPT
+
+    5.PC send 5 bytes to 8266
+
+    6.8266 send 5 bytes to PC
+
+    7. PC send 100 * 1460 data to 8266,
+
+    8.8266 send 100 * 1460 to PC.'
+  sub module: TCP
+  summary: AP mode, send/recv basic test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_TCP_0113
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -D -s <sock1> -h B
+    - ['R SSC1 RE SHUTDOWN:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock2> -i <pc_ip_wifi> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -D -s <sock2> -h W
+    - ['R SSC1 RE SHUTDOWN:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock3>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock3> -i <pc_ip_wifi> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -D -s <sock3> -h R
+    - ['R SSC1 RE SHUTDOWN:\d+,OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK,pc tcp server accept成功
+
+    4.OK
+
+    5.OK
+
+    6.OK,pc tcp server accept成功
+
+    7.OK
+
+    8.OK
+
+    9.OK,pc tcp server accept成功
+
+    10.OK'
+  initial condition: APSTA2
+  initial condition description (auto): testing ap on sta + ap mode,  PC join AP (autogen
+    by APM2)
+  level: Integration
+  module: TCPIP
+  steps: '1. PC上建立TCP 监听 test_tcp_port1
+
+    2.target1上创建TCP socket
+
+    3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+
+    4.target1 shutdown socket1 B
+
+    5.target1上创建TCP socket
+
+    6.target1上使用步骤5创建的socket,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+
+    7.target1 shutdown socket2 W
+
+    8.target1上创建TCP socket
+
+    9.target1上使用步骤8创建的socket,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+
+    10.target1 shutdown socket3 R'
+  sub module: TCP
+  summary: AP mode, shutdown basic test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_TCP_0114
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -T -s <sock1>
+    - ['R SSC1 RE CLOSE:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP -p <random_port>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -L -s <sock1>
+    - ['R SSC1 RE LISTEN:\d+,OK']
+  - - SOC SOC2 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
+    - ['R SSC1 A <sock2>:ACCEPT:(\d+),\d+,.+,\d+']
+  - - SSC SSC1 soc -T -s <sock2>
+    - ['R SSC1 RE CLOSE:\d+,OK']
+  - - SSC SSC1 soc -T -s <sock1>
+    - ['R SSC1 RE CLOSE:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -T -s <sock1>
+    - ['R SSC1 RE CLOSE:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -D -s <sock1>
+    - ['R SSC1 RE SHUTDOWN:\d+,OK']
+  - - SSC SSC1 soc -T -s <sock1>
+    - ['R SSC1 RE CLOSE:\d+,OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK
+
+    4.OK
+
+    5.OK
+
+    6.OK,target1上accept 成功
+
+    7.target1关闭socket1
+
+    8.target1关闭socket2
+
+    9.OK
+
+    10.OK,pc tcp server accept成功
+
+    11.target1关闭socket1
+
+    12.OK
+
+    13.OK,pc tcp server accept成功
+
+    14.OK
+
+    15.target1关闭socket1'
+  initial condition: APSTA2
+  initial condition description (auto): testing ap on sta + ap mode,  PC join AP (autogen
+    by APM2)
+  level: Integration
+  module: TCPIP
+  steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1\n3.target1关闭socket1\n\
+    4.target1上创建TCP socket 端口随机\n5.target1上使用步骤4创建的socket1,去监听\n6.PC CONNECT<random_port>,<target_ip>\
+    \ ,tcp 连接创建成功,创建socket2             \n7.target1关闭socket1\n8.target1关闭socket2\n\
+    9.target1上创建TCP socket1\n10.target1上使用步骤10创建的socket1,去连接 PC的ip,test_tcp_port1,PC有ACCEPT\n\
+    11.target1关闭socket1\n12.target1上创建TCP socket1\n13.target1上使用步骤13创建的socket1,去连接\
+    \ PC的ip,test_tcp_port1,PC有ACCEPT\n14.target1shutdown socket1\n15.target1关闭socket1"
+  sub module: TCP
+  summary: AP mode, close for different types of TCP sockets test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_TCP_0115
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock2> -i <pc_ip_wifi> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock3>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock3> -i <pc_ip_wifi> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock4>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock4> -i <pc_ip_wifi> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock5>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock5> -i <pc_ip_wifi> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK,pc tcp server accept成功
+
+    4 OK
+
+    5.OK,pc tcp server accept成功
+
+    6.OK
+
+    7.OK,pc tcp server accept成功
+
+    8 OK
+
+    9.OK,pc tcp server accept成功
+
+    10.OK
+
+    11.OK,pc tcp server accept成功'
+  initial condition: APSTA2
+  initial condition description (auto): testing ap on sta + ap mode,  PC join AP (autogen
+    by APM2)
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上建立TCP 监听 test_tcp_port1
+
+    2.target1上创建TCP socket1
+
+    3.target1上使用步骤2创建的socket1,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+
+    4.target1上创建TCP socket2
+
+    5.target1上使用步骤4创建的socket2,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+
+    6.target1上创建TCP socket3
+
+    7.target1上使用步骤6创建的socket3,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+
+    8.target1上创建TCP socket4
+
+    9.target1上使用步骤8创建的socket4,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+
+    10.target1上创建TCP socket5
+
+    11.target1上使用步骤10创建的socket5,去连接 PC的ip,test_tcp_port1,PC有ACCEPT'
+  sub module: TCP
+  summary: AP mode, create max TCP sockets test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_TCP_0116
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 soc -B -t TCP -p <random_port>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -L -s <sock1>
+    - ['R SSC1 RE LISTEN:\d+,OK']
+  - - SOC SOC2 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
+    - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
+  - - SOC SOC3 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
+    - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
+  - - SOC SOC4 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
+    - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
+  - - SOC SOC5 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
+    - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
+  - - SOC SOC6 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
+    - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.+BIND:0,OK,0.0.0.0
+
+    2.OK
+
+    3.OK,pc tcp server accept成功
+
+    4.OK,pc tcp server accept成功
+
+    5.OK,pc tcp server accept成功
+
+    6.OK,pc tcp server accept成功
+
+    7.OK,pc tcp server accept成功'
+  initial condition: APSTA2
+  initial condition description (auto): testing ap on sta + ap mode,  PC join AP (autogen
+    by APM2)
+  level: Integration
+  module: TCPIP
+  steps: "1.target1上创建TCP socket 端口随机\n2.target1上使用步骤4创建的socket1,去监听\n3.PC CONNECT<random_port>,<target_ip>\
+    \ ,tcp 连接创建成功,创建socket2 \n4.PC CONNECT<random_port>,<target_ip> ,tcp 连接创建成功,创建socket3\
+    \ \n5.PC CONNECT<random_port>,<target_ip> ,tcp 连接创建成功,创建socket4 \n6.PC CONNECT<random_port>,<target_ip>\
+    \ ,tcp 连接创建成功,创建socket5  \n7.PC CONNECT<random_port>,<target_ip> ,tcp 连接创建成功,创建socket6"
+  sub module: TCP
+  summary: AP mode, accept max TCP client by server test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_TCP_0201
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1>
+    - [SOCR SOC_COM L OK]
+  - - SSC SSC1 soc -B -t UDP -i 0.0.0.0 -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+    - ['P SSC1 RE CONNECT:\d+,ERROR']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -L -s <sock2>
+    - ['R SSC1 RE LISTEN:\d+,OK']
+  - - SSC SSC1 soc -C -s <sock2> -i <pc_ip> -p <test_tcp_port1>
+    - ['P SSC1 RE CONNECT:\d+,ERROR']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock3>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock3> -i <pc_ip> -p <test_tcp_port1>
+    - ['P SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -D -s <sock3> -h B
+    - ['P SSC1 RE SHUTDOWN:\d+,OK']
+  - - SSC SSC1 soc -C -s <sock3> -i <pc_ip> -p <test_tcp_port1>
+    - ['P SSC1 RE CONNECT:\d+,ERROR']
+  - - SSC SSC1 soc -T
+    - [R SSC1 C +CLOSEALL]
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+    - ['P SSC1 RE CONNECT:\d+,ERROR']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.ok
+
+    2.OK
+
+    3.ERROR
+
+    4.OK
+
+    5.OK
+
+    6.ERROR
+
+    7.OK
+
+    8.OK
+
+    9.OK
+
+    10.OK
+
+    11.OK
+
+    12.ERROR'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上建立TCP 监听 test_tcp_port1
+
+    2.target1上创建UDP传输socket,bind到本地ip 0.0.0.0,<test_udp_port1>
+
+    3.target1上使用步骤2创建的socket,去连接 PC的ip,<test_udp_port1>
+
+    4.target1上创建TCP socket
+
+    5.target1上使用步骤4创建的socket,创建TCP 监听
+
+    6.target1上使用步骤4创建的socket,去连接 PC的ip,<test_tcp_port1>
+
+    7.target1上创建TCP socket
+
+    8.target1上使用步骤7创建的socket,去连接 PC的ip,<test_tcp_port1>
+
+    9.target1上关闭步骤7创建的socket
+
+    10.target1上使用步骤7创建的socket,去连接 PC的ip,<test_tcp_port1>
+
+    11.target1上关闭所有创建的socket
+
+    12.target1上使用步骤2创建的socket,去连接 PC的ip,<test_tcp_port1>'
+  sub module: TCP
+  summary: STA mode, connect test. use socket in state that can't connect
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) in different state
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_TCP_0202
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -L -s <sock1>
+    - ['R SSC1 RE LISTEN:\d+,ERROR']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock2> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -L -s <sock2>
+    - ['R SSC1 RE LISTEN:\d+,ERROR']
+  - - SSC SSC1 soc -D -s <sock2>
+    - ['R SSC1 RE SHUTDOWN:\d+,OK']
+  - - SSC SSC1 soc -L -s <sock2>
+    - ['R SSC1 RE LISTEN:\d+,ERROR']
+  - - SSC SSC1 soc -L -s 1000
+    - ['R SSC1 RE LISTEN:\d+,ERROR']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.ERROR
+
+    4.OK
+
+    5.OK
+
+    6.ERROR
+
+    7.OK
+
+    8.ERROR
+
+    9.ERROR'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上建立TCP 监听 test_tcp_port1
+
+    2.target1上创建UDP传输socket,bind到本地ip 0.0.0.0,<test_udp_port1>
+
+    3.target1上使用步骤2创建的socket,去建立TCP 监听
+
+    4.target1上创建TCP socket
+
+    5.target1上使用步骤4创建的socket,去连接 PC的ip,<test_tcp_port1>
+
+    6.target1上使用步骤4创建的socket,创建TCP 监听
+
+    7.target1上shutdown 步骤4的socket
+
+    8.target1上使用步骤4创建的socket,创建TCP 监听
+
+    9.target1上使用不存在socket,创建TCP 监听'
+  sub module: TCP
+  summary: STA mode, server listen test. use socket in state that can't listen
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) in different state
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_TCP_0203
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -S -s <sock1>
+    - ['R SSC1 RE SEND:\d+,ERROR']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -S -s <sock2>
+    - ['R SSC1 RE SEND:\d+,ERROR']
+  - - SSC SSC1 soc -C -s <sock2> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -D -s <sock2>
+    - ['R SSC1 RE SHUTDOWN:\d+,OK']
+  - - SSC SSC1 soc -S -s <sock2>
+    - ['R SSC1 RE SEND:\d+,ERROR']
+  - - SSC SSC1 soc -S -s 1000
+    - ['R SSC1 RE SEND:\d+,ERROR']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.ERROR
+
+    4.OK
+
+    5.ERROR
+
+    6.OK
+
+    7.OK
+
+    8.ERROR
+
+    9.ERROR'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上建立TCP 监听 test_tcp_port1
+
+    2.target1上创建UDP传输socket1,<test_udp_port1>
+
+    3.target1上使用步骤2创建的socket1,去发送数据
+
+    4.target1上创建TCP socket2
+
+    5.target1上使用步骤4创建的socket2,去发送数据
+
+    6.target1上使用步骤4创建的socket2,创建TCP连接,连接成功
+
+    7.target1上shutdown 步骤4的socket2
+
+    8.target1往socket2发送错误命令发送数据
+
+    9.target1上不指定socket往上发送数据'
+  sub module: TCP
+  summary: send test. use socket in state that can't send
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) in different state
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_TCP_0204
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SOC SOC1 ACCEPT SOC2
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -W -s <sock1> -o 0
+    - ['R SSC1 RE WORKTHREAD:\d+,OK']
+  - - SOC SOC2 SEND 146000
+    - [P SOC_COM R *]
+  - - SSC SSC1 soc -W -s <sock1> -o 1
+    - ['P SSC1 RE WORKTHREAD:\d+,OK', P SSC1 SL <sock1>+2920]
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK,pc server accept OK
+
+    4.OK
+
+    5.OK
+
+    6.OK
+
+    7.target收到146000 byte'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: '1. PC上建立TCP 监听 test_tcp_port1
+
+    2.target1上创建TCP socket
+
+    3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1
+
+    4.PC与target1 创建好TCP 连接,有ACCEPT
+
+    5.target上不进行recv
+
+    6.PC send 100 * 1460 data to target,
+
+    7.在target上开始recv'
+  sub module: TCP
+  summary: STA mode, recv buffer test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) in different state
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_TCP_0206
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP -i <target_ip>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP -i <target_ip>
+    - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock2> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -D -s <sock2>
+    - ['R SSC1 RE SHUTDOWN:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP -p <random_port>
+    - ['R SSC1 A <sock3>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -L -s <sock3>
+    - ['R SSC1 RE LISTEN:\d+,OK']
+  - - SOC SOC2 CONNECT <random_port> <target_ip>
+    - ['R SSC1 A <sock4>:ACCEPT:(\d+),\d+,.+,\d+']
+  - - SSC SSC1 soc -I
+    - ['P SSC1 RE "SOCINFO:%%s,2,%%s,\d+,%%s,%%d"%%(<sock1>,<target_ip>,<pc_ip>,<test_tcp_port1>)',
+      'P SSC1 RE "SOCINFO:%%s,2,.+,\d+,.+,\d+"%%(<sock2>)', 'P SSC1 RE "SOCINFO:%%s,82,.+,%%d,.+,\d+"%%(<sock3>,<random_port>)',
+      'P SSC1 RE "SOCINFO:%%s,2,%%s,%%d,%%s,\d+"%%(<sock4>,<target_ip>,<random_port>,<pc_ip>)']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK,pc tcp server accept成功
+
+    4.OK
+
+    5.OK
+
+    6.OK
+
+    7.OK
+
+    8.OK
+
+    9.PC OK, target1 +ACCEPT:3,2,<pc_ip>,port
+
+    10.+SOCINFO:<sock1>,<target_ip>,<pc_ip>,<test_tcp_port1>
+
+    +SOCINFO:<sock2>,<target_ip>,<pc_ip>,<test_tcp_port1>
+
+    +SOCINFO:<sock3>,<random_port>
+
+    +SOCINFO:<sock4>,<target_ip>,<random_port>,<pc_ip>
+
+    +SOCINF0ALL'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1,本地ip target_ip\n3.target1上使用步骤2创建的socket1,去连接\
+    \ PC的ip,test_tcp_port1,PC有ACCEPT\n4.target1上创建TCP socket2,本地ip target_ip\n5.target1上使用步骤4创建的socket2,去连接\
+    \ PC的ip,test_tcp_port1,PC有ACCEPT\n6.target1 shutdown socket2 \n7.target1上创建TCP\
+    \ socket3,本地端口random_port\n8.target1上使用步骤7创建的socket3,去监听\n9.PC CONNECT<random_port>,<target_ip>\
+    \ ,tcp 连接创建成功,创建socket4  \n10.target1 查询the socket information"
+  sub module: TCP
+  summary: STA mode, get active socket info test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) in different state
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_TCP_0207
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
+    - [SOCR SOC_COM L OK]
+  - - SSC SSC1 soc -B -t UDP -i 0.0.0.0 -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
+    - ['P SSC1 RE CONNECT:\d+,ERROR']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -L -s <sock2>
+    - ['R SSC1 RE LISTEN:\d+,OK']
+  - - SSC SSC1 soc -C -s <sock2> -i <pc_ip_wifi> -p <test_tcp_port1>
+    - ['P SSC1 RE CONNECT:\d+,ERROR']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock3>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock3> -i <pc_ip_wifi> -p <test_tcp_port1>
+    - ['P SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -D -s <sock3> -h B
+    - ['P SSC1 RE SHUTDOWN:\d+,OK']
+  - - SSC SSC1 soc -C -s <sock3> -i <pc_ip_wifi> -p <test_tcp_port1>
+    - ['P SSC1 RE CONNECT:\d+,ERROR']
+  - - SSC SSC1 soc -T
+    - [R SSC1 C +CLOSEALL]
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
+    - ['P SSC1 RE CONNECT:\d+,ERROR']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.ok
+
+    2 OK
+
+    3.ERROR
+
+    4.OK
+
+    5.OK
+
+    6.ERROR
+
+    7.OK
+
+    8.OK
+
+    9.OK
+
+    10.OK
+
+    11.OK
+
+    12.ERROR'
+  initial condition: APSTA2
+  initial condition description (auto): testing ap on sta + ap mode,  PC join AP (autogen
+    by APM2)
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上建立TCP 监听 test_tcp_port1
+
+    2.target1上创建UDP传输socket,bind到本地ip 0.0.0.0,<test_udp_port1>
+
+    3.target1上使用步骤2创建的socket,去连接 PC的ip,<test_udp_port1>
+
+    4.target1上创建TCP socket
+
+    5.target1上使用步骤4创建的socket,创建TCP 监听
+
+    6.target1上使用步骤4创建的socket,去连接 PC的ip,<test_tcp_port1>
+
+    7.target1上创建TCP socket
+
+    8.target1上使用步骤7创建的socket,去连接 PC的ip,<test_tcp_port1>
+
+    9.target1上关闭步骤7创建的socket
+
+    10.target1上使用步骤7创建的socket,去连接 PC的ip,<test_tcp_port1>
+
+    11.target1上关闭所有创建的socket
+
+    12.target1上使用步骤2创建的socket,去连接 PC的ip,<test_tcp_port1>'
+  sub module: TCP
+  summary: AP mode, connect test. use socket in state that can't connect
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) in different state
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_TCP_0208
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -L -s <sock1>
+    - ['R SSC1 RE LISTEN:\d+,ERROR']
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock2> -i <pc_ip_wifi> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -L -s <sock2>
+    - ['R SSC1 RE LISTEN:\d+,ERROR']
+  - - SSC SSC1 soc -D -s <sock2>
+    - ['R SSC1 RE SHUTDOWN:\d+,OK']
+  - - SSC SSC1 soc -L -s <sock2>
+    - ['R SSC1 RE LISTEN:\d+,ERROR']
+  - - SSC SSC1 soc -L -s 1000
+    - ['R SSC1 RE LISTEN:\d+,ERROR']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.ERROR
+
+    4 OK
+
+    5.OK
+
+    6.ERROR
+
+    7.OK
+
+    8.ERROR
+
+    9.ERROR'
+  initial condition: APSTA2
+  initial condition description (auto): testing ap on sta + ap mode,  PC join AP (autogen
+    by APM2)
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上建立TCP 监听 test_tcp_port1
+
+    2.target1上创建UDP传输socket,bind到本地ip 0.0.0.0,<test_udp_port1>
+
+    3.target1上使用步骤2创建的socket,去建立TCP 监听
+
+    4.target1上创建TCP socket
+
+    5.target1上使用步骤4创建的socket,去连接 PC的ip,<test_tcp_port1>
+
+    6.target1上使用步骤4创建的socket,创建TCP 监听
+
+    7.target1上shutdown 步骤4的socket
+
+    8.target1上使用步骤4创建的socket,创建TCP 监听
+
+    9.target1上使用不存在socket,创建TCP 监听'
+  sub module: TCP
+  summary: AP mode, server listen test. use socket in state that can't listen
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) in different state
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_TCP_0210
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SOC SOC1 ACCEPT SOC2
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -W -s <sock1> -o 0
+    - ['R SSC1 RE WORKTHREAD:\d+,OK']
+  - - SOC SOC2 SEND 146000
+    - [P SOC_COM R *]
+  - - SSC SSC1 soc -W -s <sock1> -o 1
+    - ['P SSC1 RE WORKTHREAD:\d+,OK', P SSC1 SL <sock1>+2920]
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK,pc tcp server accept成功
+
+    4.OK
+
+    6.OK
+
+    7.收到 146000 数据'
+  initial condition: APSTA2
+  initial condition description (auto): testing ap on sta + ap mode,  PC join AP (autogen
+    by APM2)
+  level: Integration
+  module: TCPIP
+  steps: '1. PC上建立TCP 监听 test_tcp_port1
+
+    2.target1上创建TCP socket
+
+    3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1
+
+    4.PC与target1 创建好TCP 连接,有ACCEPT
+
+    5.target停止调用recv
+
+    6.PC send 100 * 1460 data to 8266,
+
+    7.target重新调用recv'
+  sub module: TCP
+  summary: AP mode, recv buffer test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) in different state
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_TCP_0212
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP -i <target_ap_ip>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP -i <target_ap_ip>
+    - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock2> -i <pc_ip_wifi> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SSC SSC1 soc -D -s <sock2>
+    - ['R SSC1 RE SHUTDOWN:\d+,OK']
+  - - SSC SSC1 soc -B -t TCP -p <random_port>
+    - ['R SSC1 A <sock3>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -L -s <sock3>
+    - ['R SSC1 RE LISTEN:\d+,OK']
+  - - SOC SOC2 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
+    - ['R SSC1 A <sock4>:ACCEPT:(\d+),\d+,.+,\d+']
+  - - SSC SSC1 soc -I
+    - ['P SSC1 RE "SOCINFO:%%s,2,%%s,\d+,%%s,%%d"%%(<sock1>,<target_ap_ip>,<pc_ip_wifi>,<test_tcp_port1>)',
+      'P SSC1 RE "SOCINFO:%%s,2,.+,\d+,.+,\d+"%%(<sock2>)', 'P SSC1 RE "SOCINFO:%%s,82,.+,%%d,.+,\d+"%%(<sock3>,<random_port>)',
+      'P SSC1 RE "SOCINFO:%%s,2,%%s,%%d,%%s,\d+"%%(<sock4>,<target_ap_ip>,<random_port>,<pc_ip_wifi>)']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK,pc tcp server accept成功
+
+    4.OK
+
+    5.OK
+
+    6.OK
+
+    7.OK
+
+    8.OK
+
+    9.PC OK, target1 +ACCEPT:3,2,<pc_ip>,port
+
+    10.+SOCINFO:<sock1>,<target_ip>,<pc_ip>,<test_tcp_port1>
+
+    +SOCINFO:<sock2>,<target_ip>,<pc_ip>,<test_tcp_port1>
+
+    +SOCINFO:<sock3>,<random_port>
+
+    +SOCINFO:<sock4>,<target_ip>,<random_port>,<pc_ip>
+
+    +SOCINF0ALL'
+  initial condition: APSTA2
+  initial condition description (auto): testing ap on sta + ap mode,  PC join AP (autogen
+    by APM2)
+  level: Integration
+  module: TCPIP
+  steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1,本地ip target_ip\n3.target1上使用步骤2创建的socket1,去连接\
+    \ PC的ip,test_tcp_port1,PC有ACCEPT\n4.target1上创建TCP socket2,本地ip target_ip\n5.target1上使用步骤4创建的socket2,去连接\
+    \ PC的ip,test_tcp_port1,PC有ACCEPT\n6.target1 shutdown socket2 \n7.target1上创建TCP\
+    \ socket3,本地端口random_port\n8.target1上使用步骤7创建的socket3,去监听\n9.PC CONNECT<random_port>,<target_ip>\
+    \ ,tcp 连接创建成功,创建socket4  \n10.target1 查询the socket information"
+  sub module: TCP
+  summary: AP mode, get active socket info test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use TCP SAP (socket/espconn API) in different state
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_TCP_0401
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SOC SOC1 ACCEPT SOC2
+    - [R SOC_COM L OK]
+  - - SSC SSC1 sta -D
+    - ['P SSC1 C +QAP:OK', 'P SSC1 RE CLOSED:\d+,0']
+  - - SSC SSC1 soc -S -s <sock1> -l 5
+    - ['P SSC1 RE SEND:\d+,ERROR']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK; PC TCP server accept 成功
+
+    4.OK
+
+    5.OK
+
+    6.ERROR'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上建立TCP 监听 test_tcp_port1
+
+    2.target1上创建TCP socket1
+
+    3.target1上使用步骤2创建的socket1,去连接 PC的ip,test_tcp_port1
+
+    4.PC与target1创建好TCP 连接,有ACCEPT
+
+    5.断开与AP 连接
+
+    6.8266往PC上发送5字节数据'
+  sub module: TCP
+  summary: do TCP send after WIFI disconnected
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: abnormal/special use
+  test point 2: TCP handling abnormal event
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_TCP_0402
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SOC SOC1 ACCEPT SOC2
+    - [R SOC_COM L OK]
+  - - SSC SSC1 sta -D
+    - ['P SSC1 C +QAP:OK', 'P SSC1 RE CLOSED:\d+,0']
+  - - SSC SSC1 soc -T -s <sock1>
+    - ['R SSC1 RE CLOSE:\d+,OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK; PC TCP server accept 成功
+
+    4.OK
+
+    5.OK
+
+    6.OK'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上建立TCP 监听 test_tcp_port1
+
+    2.target1上创建TCP socket1
+
+    3.target1上使用步骤2创建的socket1,去连接 PC的ip,test_tcp_port1
+
+    4.PC与target1创建好TCP 连接,有ACCEPT
+
+    5.断开与AP 连接
+
+    6.关闭建立的socket1连接'
+  sub module: TCP
+  summary: "close TCP socket after WIFI \ndisconnected"
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: abnormal/special use
+  test point 2: TCP handling abnormal event
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_TCP_0403
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SOC SOC1 ACCEPT SOC2
+    - [R SOC_COM L OK]
+  - - SSC SSC1 op -S -o 2
+    - ['P SSC1 C +MODE:OK', 'P SSC1 RE CLOSED:\d+,0']
+  - - SSC SSC1 soc -S -s <sock1> -l 5
+    - ['P SSC1 RE SEND:\d+,ERROR']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK; PC TCP server accept 成功
+
+    4.OK
+
+    5.OK
+
+    6.ERROR'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1\n3.target1上使用步骤2创建的socket1,去连接\
+    \ PC的ip,test_tcp_port1\n4.PC与target1创建好TCP 连接,有ACCEPT\n5.修改8266的Mode为softAP mode\
+    \ \n6.8266往PC上发送5字节数据"
+  sub module: TCP
+  summary: do TCP send after mode changed
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: abnormal/special use
+  test point 2: TCP handling abnormal event
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_TCP_0404
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SOC SOC1 ACCEPT SOC2
+    - [R SOC_COM L OK]
+  - - SSC SSC1 op -S -o 2
+    - ['P SSC1 C +MODE:OK', 'P SSC1 RE CLOSED:\d+,0']
+  - - SSC SSC1 soc -T -s <sock1>
+    - ['R SSC1 RE CLOSE:\d+,OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK; PC TCP server accept 成功
+
+    4.OK
+
+    5.OK
+
+    6.OK'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1\n3.target1上使用步骤2创建的socket1,去连接\
+    \ PC的ip,test_tcp_port1\n4.PC与target1创建好TCP 连接,有ACCEPT\n5.修改8266的Mode为softAP mode\
+    \ \n6.关闭建立的socket1连接"
+  sub module: TCP
+  summary: close TCP socket after mode changed
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: abnormal/special use
+  test point 2: TCP handling abnormal event
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_TCP_0405
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SOC SOC1 ACCEPT SOC2
+    - [R SOC_COM L OK]
+  - - NIC <pc_nic> DISABLED
+    - [R PC_COM C OK]
+  - - SSC SSC1 soc -S -s <sock1> -l 1
+    - ['']
+  - - DELAY 5400
+    - ['P SSC1 RE CLOSED:\d+,0']
+  comment: ''
+  execution time: 1.5
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK; PC TCP server accept 成功
+
+    4.OK
+
+    5.OK
+
+    6.TCP连接断开'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上建立TCP 监听 test_tcp_port1
+
+    2.target1上创建TCP socket1
+
+    3.target1上使用步骤2创建的socket1,去连接 PC的ip,test_tcp_port1
+
+    4.PC与target1创建好TCP 连接,有ACCEPT
+
+    5.PC 网卡 disable
+
+    6.target1上使用socket1发送数据,等待 90 分钟'
+  sub module: TCP
+  summary: do TCP send after PC NIC disabled
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: abnormal/special use
+  test point 2: TCP handling abnormal event
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_TCP_0406
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SOC SOC1 ACCEPT SOC2
+    - [R SOC_COM L OK]
+  - - NIC <pc_nic> DISABLED
+    - [R PC_COM C OK]
+  - - SSC SSC1 soc -T -s <sock1>
+    - ['R SSC1 RE CLOSE:\d+,OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK; PC TCP server accept 成功
+
+    4.OK
+
+    5.OK
+
+    6.OK'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1\n3.target1上使用步骤2创建的socket1,去连接\
+    \ PC的ip,test_tcp_port1\n4.PC与target1创建好TCP 连接,有ACCEPT\n5.PC上网卡禁止掉 \n6.关闭建立的socket1连接"
+  sub module: TCP
+  summary: close TCP socket after PC NIC disabled
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: abnormal/special use
+  test point 2: TCP handling abnormal event
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_TCP_0407
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SOC SOC1 ACCEPT SOC2
+    - [R SOC_COM L OK]
+  - - SSC SSC1 dhcp -E -o 1
+    - ['R SSC1 C +DHCP:STA,OK']
+  - - SSC SSC1 ip -S -o 1 -i 192.168.111.210
+    - ['P SSC1 C +IP:OK', 'P SSC1 RE CLOSED:\d+,0']
+  - - SSC SSC1 ip -Q -o 1
+    - ['R SSC1 C +STAIP:192.168.111.210']
+  - - SSC SSC1 soc -S -s <sock1> -l 5
+    - ['P SSC1 RE SEND:\d+,ERROR']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK; PC TCP server accept 成功
+
+    4.OK
+
+    5.OK
+
+    6.OK
+
+    7.OK
+
+    8.ERROR'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1\n3.target1上使用步骤2创建的socket1,去连接\
+    \ PC的ip,test_tcp_port1\n4.PC与target1创建好TCP 连接,有ACCEPT\n5.关闭8266的DHCP 1\n6.设置sta\
+    \ ip \n7.查询sta ip 地址是否生效\n8.8266往PC上发送5字节数据"
+  sub module: TCP
+  summary: do TCP send after IP changed
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: abnormal/special use
+  test point 2: TCP handling abnormal event
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_TCP_0408
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SOC SOC1 ACCEPT SOC2
+    - [R SOC_COM L OK]
+  - - SSC SSC1 dhcp -E -o 1
+    - ['R SSC1 C +DHCP:STA,OK']
+  - - SSC SSC1 ip -S -o 1 -i 192.168.111.210
+    - ['P SSC1 C +IP:OK', 'P SSC1 RE CLOSED:\d+,0']
+  - - SSC SSC1 ip -Q -o 1
+    - ['R SSC1 C +STAIP:192.168.111.210']
+  - - SSC SSC1 soc -T -s <sock1>
+    - ['R SSC1 RE CLOSE:\d+,OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK; PC TCP server accept 成功
+
+    4.OK
+
+    5.OK
+
+    6.OK
+
+    7.OK
+
+    8.OK'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1\n3.target1上使用步骤2创建的socket1,去连接\
+    \ PC的ip,test_tcp_port1\n4.PC与target1创建好TCP 连接,有ACCEPT\n5.关闭8266的DHCP 1\n6.设置sta\
+    \ ip \n7.查询sta ip 地址是否生效\n8.关闭建立的socket1连接"
+  sub module: TCP
+  summary: close TCP socket after IP changed
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: abnormal/special use
+  test point 2: TCP handling abnormal event
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_TCP_0411
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SOC SOC1 ACCEPT SOC2
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -S -s <sock2> -l 5
+    - ['P SSC1 RE SEND:\d+,ERROR']
+  - - SSC SSC1 soc -S -s <sock1> -l 5
+    - ['P SSC1 RE SEND:\d+,OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK; PC TCP server accept 成功
+
+    4.OK
+
+    5.OK
+
+    6.ERROR
+
+    7.OK'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上建立TCP 监听 test_tcp_port1
+
+    2.target1上创建TCP socket1
+
+    3.target1上使用步骤2创建的socket1,去连接 PC的ip,test_tcp_port1
+
+    4.PC与target1创建好TCP 连接,有ACCEPT
+
+    5.target1上创建TCP socket2
+
+    6.8266往PC socket2上发送5字节数据
+
+    7.8266往PC socket1上发送5字节数据'
+  sub module: TCP
+  summary: do TCP send after socket changed
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: abnormal/special use
+  test point 2: TCP handling abnormal event
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_TCP_0412
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+    - ['R SSC1 RE CONNECT:\d+,OK']
+  - - SOC SOC1 ACCEPT SOC2
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t TCP
+    - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -T -s <sock1>
+    - ['R SSC1 RE CLOSE:\d+,OK']
+  - - SSC SSC1 soc -T -s <sock2>
+    - ['R SSC1 RE CLOSE:\d+,OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK; PC TCP server accept 成功
+
+    4.OK
+
+    5.OK
+
+    6.OK
+
+    7.OK'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上建立TCP 监听 test_tcp_port1
+
+    2.target1上创建TCP socket1
+
+    3.target1上使用步骤2创建的socket1,去连接 PC的ip,test_tcp_port1
+
+    4.PC与target1创建好TCP 连接,有ACCEPT
+
+    5.target1上创建TCP socket2
+
+    6.关闭socket1 连接
+
+    7.关闭socket2连接'
+  sub module: TCP
+  summary: close TCP send after socket changed
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: abnormal/special use
+  test point 2: TCP handling abnormal event
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_UDP_0101
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 RE BIND:(\d+),OK']
+  - - SSC SSC1 soc -B -t UDP -i 0.0.0.0 -p <test_udp_port2>
+    - ['R SSC1 RE BIND:(\d+),OK']
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 C BIND:ERROR']
+  - - SSC SSC1 soc -B -t TCP -p <test_udp_port1>
+    - ['R SSC1 RE BIND:(\d+),OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.ERROR
+
+    4.OK'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+    2.target1上UDP传输,Bind socket2,本地ip 0.0.0.0 target_udp_port2
+
+    3.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+    4.target1上创建TCP socket3, target_udp_port1'
+  sub module: UDP
+  summary: STA mode, udp bind test. use different ip, port
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use UDP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_UDP_0102
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: 1/5
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+    - [R SOC_COM L OK]
+  - - SOC SOC2 BIND <test_udp_port2> <pc_ip2>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 10
+    - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 10]
+  - - SSC SSC1 soc -S -s <sock1> -i <pc_ip2> -p <test_udp_port2> -l 10
+    - ['P SSC1 RE SEND:(\d+),OK', P SOC2 UL 10]
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK
+
+    4.OK
+
+    5.OK'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
+
+    2.PC上SOC2 UDP传输,bing <test_udp_port2> <pc_ip2>
+
+    3.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+    4.target1上使用步骤3创建的socket1,往pc_ip,test_tcp_port1上发送10字节数据
+
+    5.target1上使用步骤3创建的socket1,往pc_ip2,test_tcp_port2上发送10字节数据'
+  sub module: UDP
+  summary: STA mode, sendto test. use different ip, port
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use UDP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_UDP_0103
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: 1/5
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 1
+    - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 1]
+  - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 1472
+    - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 1472]
+  - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 1473
+    - ['P SSC1 RE SEND:(\d+),OK', P SOC_COM NC SOC_RECVFROM]
+  - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 1472 -n 10 -j 20
+    - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 14720]
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK
+
+    4.OK
+
+    5.OK,没有到UDP包
+
+    6.OK'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
+
+    2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+    3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1字节数据
+
+    4.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1472字节数据
+
+    5.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1473字节数据
+
+    6.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1472*10字节数据'
+  sub module: UDP
+  summary: STA mode, sendto test with different length
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use UDP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_UDP_0104
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: 1/5
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SOC SOC1 SENDTO 1 <test_udp_port1> <target_ip>
+    - [R SSC1 SL <sock1>+1]
+  - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ip>
+    - ['R SSC1 RE "RECVFROM:%%s,1472,%%s,%%u"%%(<sock1>,<pc_ip>,<test_udp_port1>)']
+  - - SOC SOC1 SENDTO 1473 <test_udp_port1> <target_ip>
+    - [P SSC1 NC +RECVFROM, P SOC_COM C OK]
+  - - SOC SOC2 BIND <test_udp_port2> <pc_ip2>
+    - [R SOC_COM L OK]
+  - - SOC SOC2 SENDTO 1472 <test_udp_port1> <target_ip>
+    - ['R SSC1 RE "RECVFROM:%%s,1472,%%s,%%u"%%(<sock1>,<pc_ip2>,<test_udp_port2>)']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK
+
+    4.OK
+
+    5.OK,没收到UDP包
+
+    6.OK
+
+    7.OK'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
+
+    2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+    3.PC往8266上发送1字节数据
+
+    4.PC往8266上发送1472字节数据
+
+    5.PC往8266上发送1473字节数据
+
+    6.PC上SOC2 UDP传输,bing <test_udp_port2> <pc_ip2>
+
+    7.PC往8266上发送1472字节数据'
+  sub module: UDP
+  summary: STA mode, recvfrom basic test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use UDP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_UDP_0105
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -T -s <sock1>
+    - ['R SSC1 RE CLOSE:\d+']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+    2.关闭socket1'
+  sub module: UDP
+  summary: STA mode, close UDP sockets test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use UDP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_UDP_0106
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 RE BIND:(\d+),OK']
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port2>
+    - ['R SSC1 RE BIND:(\d+),OK']
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port3>
+    - ['R SSC1 RE BIND:(\d+),OK']
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port4>
+    - ['R SSC1 RE BIND:(\d+),OK']
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port5>
+    - ['R SSC1 RE BIND:(\d+),OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.ok
+
+    2.ok
+
+    3.ok
+
+    4.ok
+
+    5.ok'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+    2.target1上UDP传输,Bind socket2,本地ip target_udp_port2
+
+    3.target1上UDP传输,Bind socket3,本地ip target_udp_port3
+
+    4.target1上UDP传输,Bind socket4,本地ip target_udp_port4
+
+    5.target1上UDP传输,Bind socket5,本地ip target_udp_port5'
+  sub module: UDP
+  summary: STA mode, create max udp socket test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use UDP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_UDP_0107
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -I
+    - ['P SSC1 RE "SOCINFO:%%s,1,.+,%%d"%%(<sock1>,<test_udp_port1>)']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+    2.target1上查询创建socket信息'
+  sub module: UDP
+  summary: STA mode, get active socket info test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use UDP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_UDP_0108
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 RE BIND:(\d+),OK']
+  - - SSC SSC1 soc -B -t UDP -i 0.0.0.0 -p <test_udp_port2>
+    - ['R SSC1 RE BIND:(\d+),OK']
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 C BIND:ERROR']
+  - - SSC SSC1 soc -B -t TCP -p <test_udp_port1>
+    - ['R SSC1 RE BIND:(\d+),OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.ERROR
+
+    4.OK'
+  initial condition: APSTA2
+  initial condition description (auto): testing ap on sta + ap mode,  PC join AP (autogen
+    by APM2)
+  level: Integration
+  module: TCPIP
+  steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+    2.target1上UDP传输,Bind socket2,本地ip 0.0.0.0 target_udp_port2
+
+    3.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+    4.target1上创建TCP socket3, target_udp_port1'
+  sub module: UDP
+  summary: AP mode, udp bind test. use different ip, port
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use UDP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_UDP_0110
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: 1/5
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 BIND <test_udp_port1> <pc_ip_wifi>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -S -s <sock1> -i <pc_ip_wifi> -p <test_udp_port1> -l 1
+    - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 1]
+  - - SSC SSC1 soc -S -s <sock1> -i <pc_ip_wifi> -p <test_udp_port1> -l 1472
+    - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 1472]
+  - - SSC SSC1 soc -S -s <sock1> -i <pc_ip_wifi> -p <test_udp_port1> -l 1473
+    - ['P SSC1 RE SEND:(\d+),OK', P SOC_COM NC SOC_RECVFROM]
+  - - SSC SSC1 soc -S -s <sock1> -i <pc_ip_wifi> -p <test_udp_port1> -l 1472 -n 10
+      -j 20
+    - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 14720]
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK
+
+    4.OK
+
+    5.OK,没收到UDP包
+
+    6.OK'
+  initial condition: APSTA2
+  initial condition description (auto): testing ap on sta + ap mode,  PC join AP (autogen
+    by APM2)
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
+
+    2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+    3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1字节数据
+
+    4.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1472字节数据
+
+    5.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1473字节数据
+
+    6.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1472*10字节数据'
+  sub module: UDP
+  summary: AP mode, sendto test with different length
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use UDP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_UDP_0112
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -T -s <sock1>
+    - ['R SSC1 RE CLOSE:\d+']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK'
+  initial condition: APSTA2
+  initial condition description (auto): testing ap on sta + ap mode,  PC join AP (autogen
+    by APM2)
+  level: Integration
+  module: TCPIP
+  steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+    2.关闭socket1'
+  sub module: UDP
+  summary: AP mode, close UDP sockets test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use UDP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_UDP_0113
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 RE BIND:(\d+),OK']
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port2>
+    - ['R SSC1 RE BIND:(\d+),OK']
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port3>
+    - ['R SSC1 RE BIND:(\d+),OK']
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port4>
+    - ['R SSC1 RE BIND:(\d+),OK']
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port5>
+    - ['R SSC1 RE BIND:(\d+),OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.ok
+
+    2.ok
+
+    3.ok
+
+    4.ok
+
+    5.ok'
+  initial condition: APSTA2
+  initial condition description (auto): testing ap on sta + ap mode,  PC join AP (autogen
+    by APM2)
+  level: Integration
+  module: TCPIP
+  steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+    2.target1上UDP传输,Bind socket2,本地ip target_udp_port2
+
+    3.target1上UDP传输,Bind socket3,本地ip target_udp_port3
+
+    4.target1上UDP传输,Bind socket4,本地ip target_udp_port4
+
+    5.target1上UDP传输,Bind socket5,本地ip target_udp_port5'
+  sub module: UDP
+  summary: AP mode, create max udp socket test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use UDP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_UDP_0114
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -I
+    - ['P SSC1 RE "SOCINFO:%%s,1,.+,%%d"%%(<sock1>,<test_udp_port1>)']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK'
+  initial condition: APSTA2
+  initial condition description (auto): testing ap on sta + ap mode,  PC join AP (autogen
+    by APM2)
+  level: Integration
+  module: TCPIP
+  steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+    2.target1上查询创建socket信息'
+  sub module: UDP
+  summary: AP mode, get active socket info test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: use UDP SAP (socket/espconn API) with different parameter
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_UDP_0201
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -W -s <sock1> -o 0
+    - ['R SSC1 RE WORKTHREAD:\d+,OK']
+  - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ip>
+    - ['']
+  - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ip>
+    - ['']
+  - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ip>
+    - ['']
+  - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ip>
+    - ['']
+  - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ip>
+    - ['']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK
+
+    4.PC OK
+
+    5.PC OK
+
+    6.PC OK
+
+    7.PC OK
+
+    8.PC OK SOC_CLOSE=SOC1'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
+
+    2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+    3.target1上关闭工作线程
+
+    4.PC往8266上发送1472字节数据
+
+    5.PC往8266上发送1472字节数据
+
+    6.PC往8266上发送1472字节数据
+
+    7.PC往8266上发送1472字节数据
+
+    8.PC往8266上发送1472字节数据'
+  sub module: UDP
+  summary: STA mode, recv buffer test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: abnormal/special use
+  test point 2: use UDP SAP (socket/espconn API) in different state
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_UDP_0202
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 BIND <test_udp_port1> <pc_ip_wifi>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -W -s <sock1> -o 0
+    - ['R SSC1 RE WORKTHREAD:\d+,OK']
+  - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ap_ip>
+    - ['']
+  - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ap_ip>
+    - ['']
+  - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ap_ip>
+    - ['']
+  - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ap_ip>
+    - ['']
+  - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ap_ip>
+    - ['']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK
+
+    4.PC OK
+
+    5.PC OK
+
+    6.PC OK
+
+    7.PC OK
+
+    8.PC OK SOC_CLOSE=SOC1'
+  initial condition: APSTA2
+  initial condition description (auto): testing ap on sta + ap mode,  PC join AP (autogen
+    by APM2)
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
+
+    2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+    3.target1上关闭工作线程
+
+    4.PC往8266上发送1472字节数据
+
+    5.PC往8266上发送1472字节数据
+
+    6.PC往8266上发送1472字节数据
+
+    7.PC往8266上发送1472字节数据
+
+    8.PC往8266上发送1472字节数据'
+  sub module: UDP
+  summary: AP mode, recv buffer test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: abnormal/special use
+  test point 2: use UDP SAP (socket/espconn API) in different state
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_UDP_0301
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: 1/5
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t UDP -i <target_ip> -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
+    - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5]
+  - - SSC SSC1 sta -D
+    - ['P SSC1 C +QAP:OK']
+  - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
+    - ['P SSC1 RE SEND:\d+,ERROR']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK
+
+    4.OK
+
+    5.ERROR'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
+
+    2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+    3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据
+
+    4.断开与AP 连接
+
+    5.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据'
+  sub module: UDP
+  summary: do UDP send after WIFI disconnected
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: abnormal/special use
+  test point 2: UDP handling abnormal event
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_UDP_0302
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: 1/5
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
+    - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5]
+  - - SSC SSC1 sta -D
+    - ['P SSC1 C +QAP:OK']
+  - - SSC SSC1 soc -T -s <sock1>
+    - ['R SSC1 RE CLOSE:\d+,OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK
+
+    4.OK
+
+    5.OK'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
+
+    2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+    3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据
+
+    4.断开与AP 连接
+
+    5.关闭建立的socket1连接'
+  sub module: UDP
+  summary: "close UDP  socket after WIFI \ndisconnected"
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: abnormal/special use
+  test point 2: UDP handling abnormal event
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_UDP_0303
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: 1/5
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
+    - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5]
+  - - SSC SSC1 op -S -o 2
+    - ['P SSC1 C +MODE:OK']
+  - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
+    - ['P SSC1 RE SEND:(\d+),OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK
+
+    4.OK
+
+    5.ERROR'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: "1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>\n2.target1上UDP传输,Bind socket1,本地ip\
+    \ target_udp_port1\n3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据\n\
+    4.修改8266的Mode为softAP mode \n5.8266往PC上发送5字节数据"
+  sub module: UDP
+  summary: do UDP  send after mode changed
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: abnormal/special use
+  test point 2: UDP handling abnormal event
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_UDP_0304
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: 1/5
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
+    - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5]
+  - - SSC SSC1 op -S -o 2
+    - ['P SSC1 C +MODE:OK']
+  - - SSC SSC1 soc -T -s <sock1>
+    - ['R SSC1 RE CLOSE:\d+,OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK
+
+    4.OK
+
+    5.OK'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: "1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>\n2.target1上UDP传输,Bind socket1,本地ip\
+    \ target_udp_port1\n3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据\n\
+    4.修改8266的Mode为softAP mode \n5.关闭建立的socket1连接"
+  sub module: UDP
+  summary: close UDP  socket after mode changed
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: abnormal/special use
+  test point 2: UDP handling abnormal event
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_UDP_0305
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: 1/5
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
+    - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5]
+  - - NIC <pc_nic> DISABLED
+    - [R PC_COM C OK]
+  - - SSC SSC1 soc -T -s <sock1>
+    - ['R SSC1 RE CLOSE:\d+,OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK
+
+    4.OK
+
+    5.OK'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: "1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>\n2.target1上UDP传输,Bind socket1,本地ip\
+    \ target_udp_port1\n3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据\n\
+    4.PC上网卡禁止掉 \n5.关闭建立的socket1连接"
+  sub module: UDP
+  summary: close UDP socket after PC NIC disabled
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: abnormal/special use
+  test point 2: UDP handling abnormal event
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_UDP_0306
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: 1/5
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
+    - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5]
+  - - SSC SSC1 dhcp -E -o 1
+    - ['R SSC1 C +DHCP:STA,OK']
+  - - SSC SSC1 ip -S -o 1 -i 192.168.111.210
+    - ['P SSC1 C +IP:OK']
+  - - SSC SSC1 ip -Q -o 1
+    - ['R SSC1 C +STAIP:192.168.111.210']
+  - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 1
+    - ['P SSC1 RE SEND:\d+,OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK; PC TCP server accept 成功
+
+    4.OK
+
+    5.OK
+
+    6.OK
+
+    7.OK'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: "1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>\n2.target1上UDP传输,Bind socket1,本地ip\
+    \ target_udp_port1\n3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据\n\
+    4.关闭8266的DHCP 1\n5.设置sta ip \n6.查询sta ip 地址是否生效\n7.8266往PC上发送5字节数据"
+  sub module: UDP
+  summary: do UDP send after IP changed
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: abnormal/special use
+  test point 2: UDP handling abnormal event
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^TCPIP_UDP_0307
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: 1/5
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+    - [R SOC_COM L OK]
+  - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+    - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+  - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
+    - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5]
+  - - SSC SSC1 dhcp -E -o 1
+    - ['R SSC1 C +DHCP:STA,OK']
+  - - SSC SSC1 ip -S -o 1 -i 192.168.111.210
+    - ['P SSC1 C +IP:OK']
+  - - SSC SSC1 ip -Q -o 1
+    - ['R SSC1 C +STAIP:192.168.111.210']
+  - - SSC SSC1 soc -T -s <sock1>
+    - ['R SSC1 RE CLOSE:\d+,OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.OK
+
+    3.OK; PC TCP server accept 成功
+
+    4.OK
+
+    5.OK
+
+    6.OK
+
+    7.OK'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: TCPIP
+  steps: "1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>\n2.target1上UDP传输,Bind socket1,本地ip\
+    \ target_udp_port1\n3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据\n\
+    4.关闭8266的DHCP 1\n5.设置sta ip \n6.查询sta ip 地址是否生效\n7.关闭建立的socket1连接"
+  sub module: UDP
+  summary: close UDP  socket after IP changed
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: abnormal/special use
+  test point 2: UDP handling abnormal event
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^WIFI_ADDR_0101
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 op -S -o 3
+    - ['R SSC1 C +MODE:OK']
+  - - SSC SSC1 mac -S -o 1 -m 44:55:66:77:88:99
+    - ['R SSC1 C +MAC:STA,OK']
+  - - SSC SSC1 mac -S -o 2 -m 22:33:44:55:66:77
+    - ['R SSC1 C +MAC:AP,OK']
+  - - SSC SSC1 mac -Q -o 3
+    - ['R SSC1 C +STAMAC:44:55:66:77:88:99 C +APMAC:22:33:44:55:66:77']
+  - - SSC SSC1 mac -S -o 1 -m <target_mac>
+    - ['R SSC1 C +MAC:STA,OK']
+  - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+    - ['R SSC1 C +MAC:AP,OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.ok
+
+    3.ok
+
+    4.ok
+
+    5.ok
+
+    6.ok'
+  initial condition: T2_2
+  initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+  level: Integration
+  module: WIFI MAC
+  steps: "1.target1 设置mode 为sta+softAP mode\n2.target1 设置sta mode 下的mac \n3.target1\
+    \ 设置softAP mode 下的mac\n4.target1 查询softAP+sta 下的mac\n5.target1 设置sta mode 下的mac\
+    \ 为target1_mac\n6.target1 设置softAP mode 下的mac 为target1_ap_mac"
+  sub module: MAC Address
+  summary: set mac, query mac
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: mac address function test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^WIFI_ADDR_0102
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 mac -S -o 2 -m 44:55:66:77:88:99
+    - ['R SSC1 C +MAC:AP,OK']
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+    - ['']
+  - - SSC SSC2 sta -S -b 44:55:66:77:88:99
+    - ['R SSC2 RE \+SCAN:.+,44:55:66:77:88:99,']
+  - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+    - ['R SSC1 C +MAC:AP,OK']
+  - - SSC SSC2 mac -Q -o 1
+    - ['R SSC2 A <target2_mac_tmp>:\+STAMAC:(.+)\r\n']
+  - - SSC SSC2 mac -S -o 1 -m 22:33:44:55:66:77
+    - ['R SSC2 C +MAC:STA,OK']
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - ['P SSC2 C +JAP:CONNECTED']
+  - - SSC SSC1 ap -L
+    - ['R SSC1 C +LSTA:22:33:44:55:66:77']
+  - - SSC SSC2 mac -S -o 1 -m <target2_mac>
+    - ['R SSC2 C +MAC:STA,OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.OK
+
+    2.ok
+
+    3.ok
+
+    4.ok
+
+    5.ok
+
+    6.ok
+
+    7.ok
+
+    8.ok
+
+    9.ok'
+  initial condition: T2_2
+  initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+  level: Integration
+  module: WIFI MAC
+  steps: "1.target1 设置sta mode下的mac 44:55:66:77:88:99\n2.target1下设置ssid 和pwd 加密方式\n\
+    3.target2 查询mac为44:55:66:77:88:99的ssid\n4.target1 设置sta mode下的mac target_ap_mac\n\
+    5.target2 查询sta mode 下的mac 为target2_mac_tmp\n6.target2 设置sta mode 下的mac 为22:33:44:55:66:77\n\
+    7.target2 jap target1\n8.target1 查询连接到的sta \n9.target2 设置sta mode 下的mac 为 target2_mac"
+  sub module: MAC Address
+  summary: set mac and do scan/JAP/SAP
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: mac address function test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^WIFI_CONN_0101
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <target_ssid> -t 0
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)']
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t 2
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)']
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)']
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t 4
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)']
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t 1
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC2 sta -S
+    - ['R SSC2 RE "\+SCAN:%%s,.+,0,\d+"%%(<target_ssid>)']
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t 5
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC2 sta -S
+    - ['R SSC2 RE "\+SCAN:%%s,.+,0,\d+"%%(<target_ssid>)']
+  comment: ''
+  execution time: 0.0
+  expected result: "1.target1 set AP,open, \n2.target 2 jap succeed\n3.target1 set\
+    \ AP,wpa_psk \n4.target 2 jap succeed\n5.target1 set AP, wpa2_psk \n6.target 2\
+    \ jap succeed\n7.target1 set AP,wap_wpa2_psk\n8.target 2 jap succeed\n9.target1\
+    \ set AP,加密方式为t 1\n10.target 2 上查询到target_ssid\n11.target1 set AP,加密方式为t 5\n12.target\
+    \ 2 上查询到target_ssid"
+  initial condition: T2_2
+  initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+  level: Integration
+  module: WIFI MAC
+  steps: "1.target1下设置ssid 和pwd,加密方式 open\n2.target2 jap target1\n3.target1下设置ssid\
+    \ 和pwd,加密方式 wpa_psk \n4.target2 jap target1\n5.target1下设置ssid 和pwd,加密方式 wpa2_psk\
+    \ \n6.target 2 jap target1\n7.target1下设置ssid 和pwd,加密方式 wap_wpa2_psk\n8.target2\
+    \ jap target1\n9.target1下设置ssid 和pwd,加密方式 wep \n10.target2上查询target_ssid\n11.target1下设置ssid\
+    \ 和pwd,加密方式 t 5 错误的加密方式\n12.target2上查询 target_ssid"
+  sub module: WIFI Connect
+  summary: station SAP+JAP test, different encryption
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: SAP/JAP with different config
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^WIFI_CONN_0103
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -h
+      0
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC2 sta -S -h 0
+    - [R SSC2 P <target_ap_mac>, R SSC2 C +SCANDONE]
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -h
+      1
+    - ['R SSC1 C +SAP:OK']
+  - - DELAY 3
+    - ['']
+  - - SSC SSC2 sta -S -h 0
+    - [R SSC2 C +SCANDONE]
+  - - DELAY 3
+    - ['']
+  - - SSC SSC2 sta -S -h 0
+    - [R SSC2 NP <target_ap_mac> C +SCANDONE]
+  comment: ''
+  execution time: 0.0
+  expected result: '1.target1 set AP,set ssid broad cast
+
+    2.target 2上scan target_ap_mac
+
+    3.target1 set AP,set ssid hidden,
+
+    4.target 2上不能scan target_ap_mac'
+  initial condition: T2_2
+  initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+  level: Integration
+  module: WIFI MAC
+  steps: '1. target1下设置ssid 和pwd 加密方式,set ssid broad cast
+
+    2.target 2上scan target_ap_mac
+
+    3. target1下设置ssid 和pwd 加密方式,set ssid hidden,
+
+    4.target 2上scan target_ap_mac'
+  sub module: WIFI Connect
+  summary: station SAP+JAP test, ssid hidden
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: SAP/JAP with different config
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^WIFI_CONN_0104
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -m
+      1
+    - ['R SSC1 C +SAP:OK']
+  - - WIFI <pc_wifi_nic> DISCONN
+    - ['R PC_COM C +WIFIDISCONN:OK']
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)']
+  - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
+      <target_encryption>
+    - ['R PC_COM C +WIFICONN:ERROR']
+  comment: ''
+  execution time: 0.0
+  expected result: '1. target1 set AP,set max allowed sta as 1
+
+    2. use PC disconnect,
+
+    3.target 2 jap succeed
+
+    4.PC WIFI can not CONN'
+  initial condition: T2_2
+  initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+  level: Integration
+  module: WIFI MAC
+  steps: '1.target1下设置ssid 和pwd 加密方式,set max allowed sta as 1
+
+    2.use PC disconnect target1
+
+    3.target 2 jap target1
+
+    4.PC WIFI CONNECT target1'
+  sub module: WIFI Connect
+  summary: station SAP test, max allowed sta
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: SAP/JAP with different config
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^WIFI_CONN_0201
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+    - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+  - - SSC SSC1 sta -Q
+    - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+  - - SSC SSC1 sta -D
+    - ['R SSC1 C +QAP:OK']
+  - - SSC SSC1 sta -Q
+    - ['R SSC1 C +JAP:DISCONNECTED']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.target1 jion AP 成功
+
+    2.查询JAP的状态
+
+    3.target1 断开AP
+
+    4.查询target1 JAP 是DISCONN'
+  initial condition: STAAP1
+  initial condition description (auto): testing sta on sta + ap mode, quit AP (autogen
+    by STAM1)
+  level: Integration
+  module: WIFI MAC
+  steps: '1.target1 jion AP 成功
+
+    2.查询JAP的状态
+
+    3.target1 断开AP
+
+    4.查询target1 JAP 是DISCONN'
+  sub module: WIFI Connect
+  summary: JAP query test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: query JAP status
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^WIFI_CONN_0301
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -h
+      0 -m 8
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC1 ap -Q
+    - ['R SSC1 RE "\+APCONFIG:%%s,%%s,\d+,3,0,8,\d+"%%(<target_ssid>,<target_password>)']
+  comment: ''
+  execution time: 0.0
+  expected result: '1. target1 set AP
+
+    2.target 1上查询到跟设置AP时一致'
+  initial condition: APSTA1
+  initial condition description (auto): testing ap on sta + ap mode (autogen by APM1)
+  level: Integration
+  module: WIFI MAC
+  steps: '1. target1 set AP
+
+    2.target 1上查询到跟设置AP时一致'
+  sub module: WIFI Connect
+  summary: AP config query test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: query AP config
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^WIFI_CONN_0401
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 sta -R -a 0
+    - ['R SSC1 C +AUTORECONN:OK']
+  - - SSC SSC1 sta -R -a 2
+    - ['R SSC1 C +AUTORECONN:0']
+  - - SSC SSC1 reboot
+    - ['']
+  - - DELAY 15
+    - ['']
+  - - SSC SSC1 sta -Q
+    - ['R SSC1 C JAP:DISCONNECTED']
+  - - SSC SSC1 sta -R -a 1
+    - ['R SSC1 C +AUTORECONN:OK']
+  - - SSC SSC1 sta -R -a 2
+    - ['R SSC1 C +AUTORECONN:1']
+  - - SSC SSC1 reboot
+    - ['R SSC1 C +JAP:CONNECTED']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.设置autoreconn,关闭
+
+    2.查询当前autoreconn状态是否关闭
+
+    3.重启系统,等待15s
+
+    4.查询target1 未自动重连AP
+
+    5.设置autoreconn,开启
+
+    6.查询当前autoreconn状态是否开启
+
+    7.系统重启后target1 自动重连AP'
+  initial condition: STAAP2
+  initial condition description (auto): testing sta on sta + ap mode,  join AP, DHCP
+    on (autogen by STAM2)
+  level: Integration
+  module: WIFI MAC
+  steps: '1.设置autoreconn,关闭
+
+    2.查询当前autoreconn状态是否关闭
+
+    3.重启系统,等待15s
+
+    4.查询target1 未自动重连AP
+
+    5.设置autoreconn,开启
+
+    6.查询当前autoreconn状态是否开启
+
+    7.系统重启后target1 自动重连AP'
+  sub module: WIFI Connect
+  summary: auto reconnect test
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: power on auto reconnect test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^WIFI_CONN_0501
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC2 sta -R -r 1
+    - ['R SSC2 C +RECONN:OK']
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)']
+  - - SSC SSC1 op -S -o 1
+    - ['R SSC1 C +MODE:OK']
+  - - DELAY 10
+    - ['']
+  - - SSC SSC1 op -S -o 2
+    - ['R SSC1 C +MODE:OK']
+  - - DELAY 15
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - SSC SSC2 sta -R -r 0
+    - ['R SSC2 C +RECONN:OK']
+  - - SSC SSC2 sta -R -r 2
+    - ['R SSC2 C +RECONN:0']
+  - - SSC SSC1 op -S -o 1
+    - ['R SSC1 C +MODE:OK']
+  - - DELAY 10
+    - ['']
+  - - SSC SSC1 op -S -o 2
+    - ['R SSC1 C +MODE:OK']
+  - - DELAY 15
+    - [P PC_COM C +DELAYDONE, 'P SSC2 NC +JAP:CONNECTED']
+  - - SSC SSC2 sta -R -r 1
+    - ['R SSC2 C +RECONN:OK']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.设置reconn,开启(此功能不需要重启系统)
+
+    2.target1 set AP
+
+    3.target2 JAP target1 成功
+
+    4.target2 断开target1 连接
+
+    5.等待10s,target2 自动重连target1
+
+    6.成功
+
+    7.查询reconn状态,关闭
+
+    8.修改mode 成功
+
+    9.等待15s,target2 不会自动重连target1'
+  initial condition: T2_2
+  initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+  level: Integration
+  module: WIFI MAC
+  steps: "1.设置reconn,开启(此功能不需要重启系统)\n2.target1下设置ssid 和pwd 加密方式\n3.target2 JAP target1\
+    \ \n4.target1 修改mode 为sta mode\n5.等待10s,target1 修改mode 为softAP mode\n6.设置reconn,关闭\n\
+    7.查询reconn状态,关闭\n8.target1 修改mode 为sta mode\n9.等待15s,target1 修改mode 为softAP mode"
+  sub module: WIFI Connect
+  summary: reconnect policy test
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: reconnect policy test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^WIFI_CONN_0502
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - SSC SSC2 sta -R -r 1
+    - ['R SSC2 C +RECONN:OK']
+  - - SSC SSC1 op -S -o 1
+    - ['R SSC1 C +MODE:OK']
+  - - DELAY 5
+    - ['R SSC2 C +JAP:DISCONNECTED']
+  - - SSC SSC1 op -S -o 2
+    - ['R SSC1 C +MODE:OK']
+  - - DELAY 10
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - SSC SSC2 sta -D
+    - ['R SSC2 C +QAP:OK']
+  - - DELAY 10
+    - [P PC_COM C +DELAYDONE, 'P SSC2 NC +JAP:CONNECTED']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.target1 set AP
+
+    2.target2 jap target 1
+
+    3.设置reconn,开启(此功能不需要重启系统)
+
+    4.target2 断开target1 连接
+
+    5.等待10s,target2 自动重连target1
+
+    6.target2 断开target1 连接'
+  initial condition: T2_2
+  initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+  level: Integration
+  module: WIFI MAC
+  steps: '1.target1下设置ssid 和pwd 加密方式
+
+    2.target2 jap target 1
+
+    3.设置reconn,开启(此功能不需要重启系统)
+
+    4.target2 断开target1 连接
+
+    5.等待10s,target2 自动重连target1
+
+    6.target2 断开target1 连接'
+  sub module: WIFI Connect
+  summary: will not do reconnect after manually disconnected
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: abnormal/special use
+  test point 2: reconnect policy test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^WIFI_CONN_0601
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+    - ['R SSC1 C +SAP:OK']
+  - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
+      <target_encryption>
+    - ['R PC_COM C +WIFICONN:OK']
+  - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - SSC SSC1 ap -L
+    - ['R SSC1 C +LSTA:', 'R SSC1 C +LSTA:', R SSC1 C +LSTADONE]
+  comment: ''
+  execution time: 0.0
+  expected result: '1.target1 set AP
+
+    2.PC WIFI CONNECTED
+
+    3.target2 jap target 1
+
+    4.查询到两个sta 连接到target1 上'
+  initial condition: T2_2
+  initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+  level: Integration
+  module: WIFI MAC
+  steps: '1. target1下设置ssid 和pwd 加密方式
+
+    2.PC WIFI CONNECTED target1
+
+    3.target2 jap target 1
+
+    4.查询到两个sta 连接到target1 上'
+  sub module: WIFI Connect
+  summary: list stations connected to soft ap test
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: list SoftAP connected station
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^WIFI_CONN_0801
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 0
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+    - ['R SSC2 C +JAP:CONNECTED']
+  - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 2
+    - ['P SSC1 C +SAP:OK', 'P SSC2 C +JAP:AUTHCHANGED,2,0']
+  - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 3
+    - ['P SSC1 C +SAP:OK', 'P SSC2 C +JAP:AUTHCHANGED,3,2']
+  - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
+    - ['P SSC1 C +SAP:OK', 'P SSC2 C +JAP:AUTHCHANGED,4,3']
+  - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 0
+    - ['P SSC1 C +SAP:OK', 'P SSC2 C +JAP:AUTHCHANGED,0,4']
+  comment: ''
+  execution time: 0.0
+  expected result: '1. succeed
+
+    2. succeed
+
+    3. auth change event old mode 0 new mode 2
+
+    4. auth change event old mode 2 new mode 3
+
+    5. auth change event old mode 3 new mode 4
+
+    6. auth change event old mode 4 new mode 0'
+  initial condition: T2_2
+  initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+  level: Integration
+  module: WIFI MAC
+  steps: '1. set target1 softap auth mode 0
+
+    2. target2 connect to target1
+
+    3. set target1 softap auth mode 2, wait sta connected
+
+    4. set target1 softap auth mode 3, wait sta connected
+
+    5. set target1 softap auth mode 4, wait sta connected
+
+    6. set target1 softap auth mode 0, wait sta connected'
+  sub module: WIFI Connect
+  summary: test auth change event
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: wifi auth changed event test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^WIFI_CONN_0901
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: basic function
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+    - ['R SSC1 C +JAP:CONNECTED']
+  - - SSC SSC1 sta -D
+    - ['R SSC1 RE JAP:DISCONNECTED,\d+,8']
+  - - SSC SSC1 sta -C -s <ap_ssid> -p <random_string>
+    - ['R SSC1 RE JAP:DISCONNECTED,\d+,15']
+  - - SSC SSC1 sta -C -s <random_string> -p <ap_password>
+    - ['R SSC1 RE JAP:DISCONNECTED,\d+,201']
+  comment: ''
+  execution time: 0.0
+  expected result: '1. disconnect event reason REASON_ASSOC_LEAVE
+
+    2. disconnect event reason REASON_4WAY_HANDSHAKE_TIMEOUT
+
+    3. disconnect event reason REASON_NO_AP_FOUND'
+  initial condition: STAAP1
+  initial condition description (auto): testing sta on sta + ap mode, quit AP (autogen
+    by STAM1)
+  level: Integration
+  module: WIFI MAC
+  steps: '1. sta connect to AP, and disconnect
+
+    2. connect to AP with wrong password
+
+    3. connect to AP not exist'
+  sub module: WIFI Connect
+  summary: test wifi disconnect reason REASON_ASSOC_LEAVE, REASON_4WAY_HANDSHAKE_TIMEOUT,
+    REASON_NO_AP_FOUND
+  test environment: SSC_T1_1
+  test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: wifi disconnect reason test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^WIFI_CONN_0902
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+    - ['R SSC1 C +JAP:CONNECTED']
+  - - APC <APC1> OFF <ap_apc>
+    - [P PC_COM L OK, 'R SSC1 RE JAP:DISCONNECTED,\d+,200']
+  - - APC <APC1> ON <ap_apc>
+    - [P PC_COM L OK]
+  comment: ''
+  execution time: 0.0
+  expected result: '1. succeed
+
+    2. disconnect event REASON_BEACON_TIMEOUT'
+  initial condition: STAAP1
+  initial condition description (auto): testing sta on sta + ap mode, quit AP (autogen
+    by STAM1)
+  level: Integration
+  module: WIFI MAC
+  steps: '1. connect to AP
+
+    2. AP power off'
+  sub module: WIFI Connect
+  summary: test wifi disconnect reason REASON_BEACON_TIMEOUT
+  test environment: SSC_T1_APC
+  test environment description (auto): "PC has 1 wired NIC connected to AP.\nPC has\
+    \ 1 wired NIC connected to APC (static IP within the same subnet with APC). \n\
+    APC control AP power supply. \nPC has 1 WiFi NIC. \n1 SSC target connect with\
+    \ PC by UART."
+  test point 1: basic function
+  test point 2: wifi disconnect reason test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^WIFI_CONN_0903
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 sta -C -s <wep_ap_ssid> -p bacfd
+    - ['R SSC1 RE JAP:DISCONNECTED,\d+,2']
+  comment: ''
+  execution time: 0.0
+  expected result: 1. disconect event reason REASON_AUTH_EXPIRE
+  initial condition: STAAP1
+  initial condition description (auto): testing sta on sta + ap mode, quit AP (autogen
+    by STAM1)
+  level: Integration
+  module: WIFI MAC
+  steps: 1. connect WEP ap with error password (valid wep password)
+  sub module: WIFI Connect
+  summary: test wifi disconnect reason REASON_AUTH_EXPIRE
+  test environment: SSC_T1_WEP
+  test environment description (auto): '1 SSC target connect with PC by UART.
+
+    One WEP share key AP placed near SSC1.'
+  test point 1: basic function
+  test point 2: wifi disconnect reason test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^WIFI_CONN_0904
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 3 -m 1
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC2 sta -C -s <random_string> -p 1234567890
+    - ['R SSC2 RE JAP:DISCONNECTED,\d+,204']
+  - - SSC SSC2 sta -D
+    - ['R SSC2 C +QAP:OK']
+  - - WIFI <pc_wifi_nic> CONN <random_string> <random_string> <pc_ip_wifi>
+    - ['R PC_COM NC ERROR C +WIFICONN:OK']
+  - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+    - ['R SSC2 RE JAP:DISCONNECTED,\d+,5']
+  - - WIFI <pc_wifi_nic> DISCONN
+    - [P PC_COM C OK, 'R SSC2 C +JAP:CONNECTED']
+  - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 3 -m 1
+    - ['P SSC1 C +SAP:OK', 'P SSC2 RE JAP:DISCONNECTED,\d+,4']
+  comment: ''
+  execution time: 0.0
+  expected result: '1. succeed
+
+    2. disconnect event REASON_HANDSHAKE_TIMEOUT
+
+    3. succeed
+
+    4. succeed
+
+    5. disconnect event REASON_ASSOC_TOOMANY
+
+    6. succeed, target2 connect succeed
+
+    7. disconnect event REASON_ASSOC_EXPIRE'
+  initial condition: T2_2
+  initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+  level: Integration
+  module: WIFI MAC
+  steps: '1. config target1 softap max sta allowed 1
+
+    2. target2 connect to target1 with wrong password
+
+    3. target2 disconnect
+
+    4. PC WIFI NIC connect to target1
+
+    5. target2 connect to target1 with correct password
+
+    6. PC WIFI NIC disconnect
+
+    7. reconfig softap'
+  sub module: WIFI Connect
+  summary: test wifi disconnect reason REASON_ASSOC_TOOMANY, REASON_HANDSHAKE_TIMEOUT,
+    REASON_ASSOC_EXPIRE
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: wifi disconnect reason test
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^WIFI_SCAN_0101
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC2 sta -S -s .,juhg123
+    - ['R SSC2 NC +SCAN: C +SCANDONE']
+  - - SSC SSC1 ap -S -s <target_tmp_ssid> -p 123456789 -t 3
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC2 sta -S -s <target_tmp_ssid>
+    - ['R SSC2 C +SCAN:', R SSC2 P <target_tmp_ssid>, 'R SSC2 NC +SCAN: C +SCANDONE']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.target 2上不能scan  .,juhg123
+
+    2.target1 set AP
+
+    3.target2上查询到<target_tmp_ssid>'
+  initial condition: T2_2
+  initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+  level: Integration
+  module: WIFI MAC
+  steps: '1.target 2  scan  .,juhg123
+
+    2.target1下设置ssid 和pwd 加密方式
+
+    3.target2  scan <target_tmp_ssid>'
+  sub module: WIFI Scan
+  summary: scan with scan config ssid
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: scan with different config
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^WIFI_SCAN_0102
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC2 sta -S -b ff:ff:ff:ff:ff:11
+    - ['R SSC2 NC +SCAN: C +SCANDONE']
+  - - SSC SSC2 sta -S -b <target_ap_mac>
+    - ['R SSC2 RE "\+SCAN:.+,%%s"%%(<target_ap_mac>)', 'R SSC2 NC +SCAN: C +SCANDONE']
+  comment: ''
+  execution time: 0.0
+  expected result: '1.target2 上不能查询到此mac
+
+    2.target2上查询到<target_ap_mac>'
+  initial condition: T2_2
+  initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+  level: Integration
+  module: WIFI MAC
+  steps: '1.target2 上查询此macff:ff:ff:ff:ff:11
+
+    2.target2上查询<target_ap_mac>'
+  sub module: WIFI Scan
+  summary: scan with scan config bssid
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: scan with different config
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^WIFI_SCAN_0103
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 sta -D
+    - ['R SSC1 C +QAP:']
+  - - SSC SSC1 ap -S -s <target_tmp_ssid> -p 123456789 -t 3 -n 6
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC2 sta -S -n 5
+    - [R SSC2 NP <target_tmp_ssid> C +SCANDONE]
+  - - SSC SSC2 sta -S -n 6
+    - ['R SSC2 C +SCAN:', R SSC2 P <target_tmp_ssid>]
+  comment: ''
+  execution time: 0.0
+  expected result: '1.target1 QAP
+
+    2. target1 set AP,set channel 6
+
+    3.target2 上scan不到 channel 5
+
+    4.target2 上查询channel 6的<target_tmp_ssid>'
+  initial condition: T2_2
+  initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+  level: Integration
+  module: WIFI MAC
+  steps: '1.target1 断开连接AP
+
+    2.target1下设置ssid 和pwd 加密方式,set channel 6
+
+    3.target2 上scan channel 5
+
+    4.target2 上查询channel 6的<target_tmp_ssid>'
+  sub module: WIFI Scan
+  summary: scan with scan config channel
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: scan with different config
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^WIFI_SCAN_0104
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 ap -S -s <target_tmp_ssid> -p 123456789 -t 3 -h 0
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC2 sta -S -h 0
+    - [R SSC2 P <target_tmp_ssid> C +SCANDONE]
+  - - SSC SSC2 sta -S -h 1
+    - [R SSC2 P <target_tmp_ssid> C +SCANDONE]
+  - - SSC SSC1 ap -S -s <target_tmp_ssid> -p 123456789 -h 1
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC2 sta -S -h 0
+    - [R SSC2 NP <target_tmp_ssid> C +SCANDONE]
+  - - SSC SSC2 sta -S -h 1
+    - [R SSC2 P <target_ap_mac> C +SCANDONE]
+  comment: ''
+  execution time: 0.0
+  expected result: '1.target1 set AP,set ssid broad cast
+
+    2.target 2上scan <target_tmp_ssid>
+
+    3.target 2上scan <target_tmp_ssid>
+
+    4.target1 set AP,set ssid hidden,
+
+    5.target 2上不能查询到 <target_tmp_ssid>
+
+    6.target 2上查询到<target_ap_mac>'
+  initial condition: T2_2
+  initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+  level: Integration
+  module: WIFI MAC
+  steps: '1.target1下设置ssid 和pwd 加密方式,set ssid broad cast
+
+    2.target 2上scan <target_tmp_ssid>
+
+    3.target 2上scan <target_tmp_ssid>
+
+    4.target1下设置ssid 和pwd 加密方式,set ssid hidden,
+
+    5.target 2上查询 <target_tmp_ssid>
+
+    6.target 2上查询<target_ap_mac>'
+  sub module: WIFI Scan
+  summary: scan with scan config show hidden
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: scan with different config
+  version: v1 (2016-8-15)
+- CI ready: 'Yes'
+  ID: ^WIFI_SCAN_0105
+  SDK: '8266_NonOS
+
+    8266_RTOS
+
+    ESP32_IDF'
+  Test App: SSC
+  allow fail: ''
+  auto test: 'Yes'
+  category: Function
+  cmd set:
+  - ''
+  - - SSC SSC1 sta -D
+    - ['R SSC1 C +QAP:']
+  - - SSC SSC1 ap -S -s <target_tmp_ssid> -p 123456789 -t 3 -h 0 -n 11
+    - ['R SSC1 C +SAP:OK']
+  - - SSC SSC2 sta -S -s <target_tmp_ssid> -b <target_ap_mac> -n 11
+    - [R SSC2 P <target_tmp_ssid> C +SCANDONE]
+  - - SSC SSC2 sta -S -s <target_ssid> -b <target_ap_mac> -n 11
+    - [R SSC2 NP <target_tmp_ssid> C +SCANDONE]
+  - - SSC SSC2 sta -S -s <target_tmp_ssid> -b ff:ff:ff:ff:ff:11 -n 11
+    - [R SSC2 P <target_tmp_ssid>, R SSC2 NP <target_tmp_ssid> C +SCANDONE]
+  - - SSC SSC2 sta -S -s <target_tmp_ssid> -b <target_ap_mac> -n 10
+    - [R SSC2 P <target_tmp_ssid>, R SSC2 NP <target_tmp_ssid> C +SCANDONE]
+  comment: ''
+  execution time: 0.0
+  expected result: '1.target1 QAP
+
+    2. target1 set AP,set ssid broad cast,set channel 11
+
+    3.target2 上查询到<target_tmp_ssid>
+
+    4.target2 上查询不到<target_tmp_ssid>
+
+    5.target2 上查询不到<target_tmp_ssid>
+
+    6.target2 上查询不到<target_tmp_ssid>'
+  initial condition: T2_2
+  initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+  level: Integration
+  module: WIFI MAC
+  steps: '1.target1 QAP
+
+    2. target1 set AP,set ssid broad cast,set channel 11
+
+    3.target2 上查询到<target_tmp_ssid>
+
+    4.target2 上查询不到<target_tmp_ssid>
+
+    5.target2 上查询不到<target_tmp_ssid>
+
+    6.target2 上查询不到<target_tmp_ssid>'
+  sub module: WIFI Scan
+  summary: scan with several configs
+  test environment: SSC_T2_1
+  test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.'
+  test point 1: basic function
+  test point 2: scan with different config
+  version: v1 (2016-8-15)

+ 275 - 0
components/idf_test/integration_test/TestEnvAll.yml

@@ -0,0 +1,275 @@
+test environment:
+- {PC OS: '', Special: N, Target Count: 1.0, script path: EnvBase.py, tag: AT_T1_1,
+  test environment detail: 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 AT target connect with PC by UART (AT and LOG port).', test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 1.0, script path: EnvBase.py, tag: AT_T1_2,
+  test environment detail: 'PC has 1 WiFi NIC.
+
+    1 AT target connect with PC by UART (AT and LOG port).', test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 1.0, script path: EnvBase.py, tag: AT_T1_3,
+  test environment detail: 'Able to access WAN after connect to AP.
+
+    1 AT target connect with PC by UART (AT and LOG port).', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: AT_T1_ADC,
+  test environment detail: 'PC has 1 wired NIC connected to AP.
+
+    Analog input connect to AT1 TOUT.
+
+    Multimeter connect to input, able to measure input voltage.
+
+    1 AT target connect with PC by UART (AT and LOG port).', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: AT_T1_APC1,
+  test environment detail: "PC has 1 wired NIC connected to AP.\nPC has 1 wired NIC\
+    \ connected to APC (static IP within the same subnet with APC). \nAPC control\
+    \ AP power supply. \nPC has 1 WiFi NIC. \n1 AT target connect with PC by UART\
+    \ (AT and LOG port).", test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: AT_T1_APC2,
+  test environment detail: "Able to access WAN after connect to AP.\nPC has 1 wired\
+    \ NIC connected to APC (static IP within the same subnet with APC). \nAPC control\
+    \ AP power supply.\nPC has 1 WiFi NIC.\n1 AT target connect with PC by UART (AT\
+    \ and LOG port).", test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: AT_T1_HighSpeedUART,
+  test environment detail: 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 AT target connect with PC by high speed UART (AT and LOG port).', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: AT_T1_SmartConfigIOT,
+  test environment detail: '1 AT target connect with PC by UART (AT and LOG port).
+
+    PC has 1 wired NIC connect to Common AP.
+
+    Several AP are placed near AT target.
+
+    Several smart phone installed test APK are placed near AT target.', test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 2.0, script path: EnvBase.py, tag: AT_T2_1,
+  test environment detail: 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 AT target connect with PC by UART (AT and LOG port).', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 2.0, script path: EnvBase.py, tag: AT_T2_JAP,
+  test environment detail: "Several AP are placed near AT target.\nPC has 1 wired\
+    \ NIC connected to APC (static IP within the same subnet with APC).\nAPC control\
+    \ power supply for all APs. \n2 AT target connect with PC by UART (AT and LOG\
+    \ port).", test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 2.0, script path: EnvBase.py, tag: AT_T2_Sleep,
+  test environment detail: 'AP support DTIM placed with AT target.
+
+    2 AT target connect with PC by UART (AT and LOG port).
+
+    Multimeter connect with PC via GPIB.
+
+    Series multimeter between GND and VCC of AT1.
+
+    AT1''s light sleep wakeup pin and wakeup indication connect with AT2''s GPIO.',
+  test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 2.0, script path: EnvBase.py, tag: AT_T2_SmartConfig,
+  test environment detail: '2 AT target connect with PC by UART (AT and LOG port).
+
+    PC has 1 WiFi NIC.
+
+    One HT20 AP and One HT40 AP are placed near target.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, UART ports: 'SSC1
+
+    SSC2', additional param list: '', basic param list: '', script path: EnvBase.py,
+  tag: IR_T2_1, test environment detail: '[TBD] 本测试为非自动测试, 红外能够做到数据收发吻合即可通过', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 2.0, script path: EnvBase.py, tag: NVS_T1_1,
+  test environment detail: '1 NVS target connect with PC by UART.
+
+    1 SSC target connect with PC by UART.
+
+    SSC2 GPIO connect to NVS1 power control pin.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, UART ports: SSC_1, additional param list: '',
+  basic param list: '', script path: EnvBase.py, tag: PWM_T1_1, test environment detail: "[TBD]\
+    \ 1. PWM OS SDK 以及 Non-OS SDK的测试建议分开进行, 放在不同的文件夹, 防止文件命名混淆\n2. 分析CSV文件的Python脚本只能分析单个channel\
+    \ \n3. 如果Init脚本打印\"Network Error\" 检查TCP Server是不是正常发送data", test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_1,
+  test environment detail: 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.', test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_2,
+  test environment detail: 'Able to access WAN after connect to AP.
+
+    1 SSC target connect with PC by UART.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_8089,
+  test environment detail: 'PC has 1 wired NIC connected to AP.
+
+    1 8089 tablet able to run iperf test placed near SSC1.
+
+    1 SSC target connect with PC by UART.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_ADC,
+  test environment detail: 'PC has 1 wired NIC connected to AP.
+
+    Analog input connect to SSC1 TOUT.
+
+    Multimeter connect to input, able to measure input voltage.
+
+    1 SSC target connect with PC by UART.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_APC,
+  test environment detail: "PC has 1 wired NIC connected to AP.\nPC has 1 wired NIC\
+    \ connected to APC (static IP within the same subnet with APC). \nAPC control\
+    \ AP power supply. \nPC has 1 WiFi NIC. \n1 SSC target connect with PC by UART.",
+  test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_Enterprise,
+  test environment detail: "AP use WPA2-Etherprise is placed near SSC1. \n1 SSC target\
+    \ connect with PC by UART.", test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_IOT1,
+  test environment detail: 'PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.
+
+    AP todo IOT test are placed near SSC1.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 2.0, script path: EnvBase.py, tag: SSC_T1_InitData,
+  test environment detail: '2 SSC target connect with PC by UART.
+
+    SSC1 use 40M crystal oscillator.
+
+    SSC2 use normal 26M crystal oscillator.
+
+    SSC2 GPIO connect to SSC1 power control pin.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_ShieldBox,
+  test environment detail: 'refer to figure.
+
+    All APs and APC should be set to the same IP subnet.
+
+    PC wired NIC should set static IP address within the same subnet with AP.
+
+    Must use onboard wired NIC.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_TempBox,
+  test environment detail: '1 SSC target connect with PC by UART.
+
+    Put SSC target to temperature box.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, UART ports: SSC_1, additional param list: '',
+  basic param list: '', script path: EnvBase.py, tag: SSC_T1_Timer, test environment detail: '[TBD]
+    通过串口工具调节Timer, 将GPIO_13端口连接到逻辑分析仪', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_VDD33,
+  test environment detail: '1 SSC target connect with PC by UART.
+
+    Multimeter connect to VDD33, able to measure voltage.', test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_WEP,
+  test environment detail: '1 SSC target connect with PC by UART.
+
+    One WEP share key AP placed near SSC1.', test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 2.0, script path: EnvBase.py, tag: SSC_T2_1,
+  test environment detail: 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 2.0, UART ports: 'SSC1
+
+    SSC2', additional param list: '', basic param list: '', script path: EnvBase.py,
+  tag: SSC_T2_GPIO1, test environment detail: '[TBD] 2个ESP_8266通过UART连到PC, ESP_8266的
+    GPIO_6相连', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 2.0, UART ports: 'SSC1
+
+    SSC2', additional param list: '', basic param list: '', script path: EnvBase.py,
+  tag: SSC_T2_GPIO2, test environment detail: '[TBD] 1. 2个ESP_8266通过UART连到PC, ESP_8266的
+    GPIO_15通过面包板相连
+
+    2. 可借助面包板, 将GPIO_15, 以及中断函数被打开的8266板的GPIO_2 相连', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 2.0, UART ports: 'SSC1
+
+    SSC2', additional param list: '', basic param list: '', script path: EnvBase.py,
+  tag: SSC_T2_GPIO3, test environment detail: '[TBD] 2个ESP_8266通过UART连到PC, ESP_8266之间需要测试的Target_GPIO相连',
+  test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 2.0, script path: EnvBase.py, tag: SSC_T2_PhyMode,
+  test environment detail: '2 SSC target connect with PC by UART.
+
+    PC has one WiFi NIC support capture wlan packet using libpcap.
+
+    Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
+
+    Put 4 APs near SSC targets.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 2.0, script path: EnvBase.py, tag: SSC_T2_ShieldBox,
+  test environment detail: '2 SSC target connect with PC by UART.
+
+    Put them to Shield box.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 2.0, script path: EnvBase.py, tag: SSC_T2_Sleep1,
+  test environment detail: 'AP support DTIM placed with AT target.
+
+    2 SSC target connect with PC by UART.
+
+    Multimeter connect with PC via GPIB.
+
+    Series multimeter between GND and VCC of SSC1.
+
+    SSC1''s light sleep wakeup pin and wakeup indication connect with AT2''s GPIO.
+
+    SSC1''s XPD connect with RSTB.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 2.0, script path: EnvBase.py, tag: SSC_T2_Sleep2,
+  test environment detail: 'AP support DTIM placed with AT target.
+
+    2 SSC target connect with PC by UART.
+
+    Multimeter connect with PC via GPIB.
+
+    Series multimeter between GND and VCC of SSC1.
+
+    SSC1''s RSTB pin connect with AT2''s GPIO.', test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 2.0, script path: EnvBase.py, tag: SSC_T2_SmartConfig,
+  test environment detail: '2 SSC target connect with PC by UART.
+
+    PC has 1 WiFi NIC.
+
+    One HT20 AP and One HT40 AP are placed near target.', test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 3.0, script path: EnvBase.py, tag: SSC_T3_PhyMode,
+  test environment detail: '3 SSC target connect with PC by UART.
+
+    PC has one WiFi NIC support capture wlan packet using libpcap.
+
+    Set 4 AP with (HT20, channel1), (HT20, channel2), (HT40, channel1), (HT40, channel2).
+
+    Put 4 APs near SSC targets.', test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 5.0, script path: EnvBase.py, tag: SSC_T5_1,
+  test environment detail: 5 SSC target connect with PC by UART., test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T6_1,
+  test environment detail: 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    6 SSC target connect with PC by UART.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: TempSensor_T1_1,
+  test environment detail: 'Tempeture sensor target connect with PC by UART.
+
+    AP support DTIM placed with AT target.
+
+    Multimeter connect with PC via GPIB.
+
+    Series multimeter between GND and VCC of TempSensor1.
+
+    PC has 1 wired NIC connected to switch.
+
+    APC, AP also connect with swtich.
+
+    All devices connected with switch use the same IP subnet.
+
+    APC control AP power supply.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, UART ports: SSC_1, additional param list: '',
+  basic param list: '', script path: EnvBase.py, tag: UART_T1_1, test environment detail: '[TBD]
+    将ESP_8266通过UART连到PC', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, UART ports: 'SSC1
+
+    SSC2', additional param list: '', basic param list: '', script path: EnvBase.py,
+  tag: UART_T1_2, test environment detail: '[TBD] ESP_8266通过UART_0通过USB, UART_1 TXD
+    通过 TTLcable 连到PC', test script: EnvBase}
+- {PC OS: linux, Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: WebServer_T1_1,
+  test environment detail: 'Web Server target connect with PC by UART.
+
+    PC has 1 wired NIC connected to switch.
+
+    APC, AP also connect with swtich.
+
+    All devices connected with switch use same IP subnet.
+
+    APC control AP power supply.', test script: EnvBase}
+- {PC OS: linux, Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: WebServer_T1_2,
+  test environment detail: 'Web Server target connect with PC by UART.
+
+    4 PC with WiFi NIC placed near WebServer1.', test script: EnvBase}

+ 2935 - 0
components/idf_test/uint_test/InitialConditionAll.yml

@@ -0,0 +1,2935 @@
+initial condition:
+- check cmd set:
+  - ''
+  - - SSC SSC1 op -Q
+    - ['R SSC1 C +CURMODE:2']
+  - - SSC SSC1 ap -Q
+    - ['R SSC1 RE "\+APCONFIG:%%s,%%s,\d+,\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>]
+  force restore cmd set:
+  - ''
+  - - SSC SSC1 reboot
+    - [R SSC1 C !!!ready!!!]
+  - - 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>
+    - ['R SSC1 C +SAP:OK']
+  initial condition detail: AP mode, DHCP on, will autogen a TC with initial condition
+    APSTA1
+  restore cmd set:
+  - ''
+  - - 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>
+    - ['R SSC1 C +SAP:OK']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 soc -T
+    - [R SSC1 C +CLOSEALL]
+  - - SSC SSC1 ram
+    - ['R SSC1 C +FREEHEAP:']
+  script path: InitCondBase.py
+  start: 31.0
+  tag: APM1
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - SSC SSC1 op -Q
+    - ['R SSC1 C +CURMODE:2']
+  - - SSC SSC1 ap -Q
+    - ['R SSC1 RE "\+APCONFIG:%%s,%%s,\d+,\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>]
+  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>
+    - ['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']
+  initial condition detail: AP mode, PC join AP, DHCP on, will autogen a TC with initial
+    condition APSTA2
+  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>
+    - ['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']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 soc -T
+    - [R SSC1 C +CLOSEALL]
+  - - SSC SSC1 ram
+    - ['R SSC1 C +FREEHEAP:']
+  script path: InitCondBase.py
+  start: 38.0
+  tag: APM2
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - SSC SSC1 op -Q
+    - ['R SSC1 C +CURMODE:2']
+  - - SSC SSC1 ap -Q
+    - ['R SSC1 RE "\+APCONFIG:%%s,%%s,\d+,\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>]
+  force restore cmd set:
+  - ''
+  - - SSC SSC1 reboot
+    - [R SSC1 C !!!ready!!!]
+  - - 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>
+    - ['R SSC1 C +SAP:OK']
+  initial condition detail: AP mode, will NOT autogen a TC with initial condition
+    APSTA1
+  restore cmd set:
+  - ''
+  - - 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>
+    - ['R SSC1 C +SAP:OK']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 soc -T
+    - [R SSC1 C +CLOSEALL]
+  - - SSC SSC1 ram
+    - ['R SSC1 C +FREEHEAP:']
+  script path: InitCondBase.py
+  start: 31.0
+  tag: APO1
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - SSC SSC1 op -Q
+    - ['R SSC1 C +CURMODE:2']
+  - - SSC SSC1 ap -Q
+    - ['R SSC1 RE "\+APCONFIG:%%s,%%s,\d+,\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>]
+  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>
+    - ['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']
+  initial condition detail: AP mode, will NOT autogen a TC with initial condition
+    APSTA2
+  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>
+    - ['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']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 soc -T
+    - [R SSC1 C +CLOSEALL]
+  - - SSC SSC1 ram
+    - ['R SSC1 C +FREEHEAP:']
+  script path: InitCondBase.py
+  start: 38.0
+  tag: APO2
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - 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']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 upgrade -D
+    - ['R SSC1 C +UPGRADE:OK']
+  - - SSC SSC1 ram
+    - ['R SSC1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 31.0
+  tag: APOBIN0
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - SSC SSC1 op -Q
+    - ['R SSC1 C +CURMODE:3']
+  - - SSC SSC1 ap -Q
+    - ['R SSC1 RE "\+APCONFIG:%%s,%%s,\d+,\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>]
+  force restore cmd set:
+  - ''
+  - - SSC SSC1 reboot
+    - [R SSC1 C !!!ready!!!]
+  - - SSC SSC1 op -S -o 3
+    - ['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>
+    - ['R SSC1 C +SAP:OK']
+  initial condition detail: testing ap on sta + ap mode (autogen by APM1)
+  restore cmd set:
+  - ''
+  - - SSC SSC1 op -S -o 3
+    - ['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>
+    - ['R SSC1 C +SAP:OK']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 soc -T
+    - [R SSC1 C +CLOSEALL]
+  - - SSC SSC1 ram
+    - ['R SSC1 C +FREEHEAP:']
+  script path: InitCondBase.py
+  start: 59.0
+  tag: APSTA1
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - SSC SSC1 op -Q
+    - ['R SSC1 C +CURMODE:3']
+  - - SSC SSC1 ap -Q
+    - ['R SSC1 RE "\+APCONFIG:%%s,%%s,\d+,\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>]
+  force restore cmd set:
+  - ''
+  - - SSC SSC1 reboot
+    - [R SSC1 C !!!ready!!!]
+  - - SSC SSC1 op -S -o 3
+    - ['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>
+    - ['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']
+  initial condition detail: testing ap on sta + ap mode,  PC join AP (autogen by APM2)
+  restore cmd set:
+  - ''
+  - - SSC SSC1 op -S -o 3
+    - ['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>
+    - ['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']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 soc -T
+    - [R SSC1 C +CLOSEALL]
+  - - SSC SSC1 ram
+    - ['R SSC1 C +FREEHEAP:']
+  script path: InitCondBase.py
+  start: 66.0
+  tag: APSTA2
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 L +CWMODE_CUR:3']
+  - - ATS AT1 AT+CWLIF
+    - [R AT1 P <pc_ip>]
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - DELAY 5
+    - ['']
+  - - ATC AT1 CWSAP_DEF <target_ssid> <target_password> <target_channel> <target_auth_enum>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
+      <target_encryption>
+    - ['R PC_COM NC ERROR C +WIFICONN:OK']
+  - - ATS AT1 AT+CWLIF
+    - [R AT1 P <pc_ip>]
+  initial condition detail: StationSoftAP mode
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWLIF
+    - [R AT1 P <pc_ip>]
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 24.0
+  tag: ATAP1
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 C +CWMODE_CUR:3 L OK']
+  - - ATS AT1 AT+CWLIF
+    - [R AT1 P <pc_ip>]
+  - - ATS AT1 AT+CIPMUX?
+    - ['R AT1 L +CIPMUX:1']
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - DELAY 5
+    - ['']
+  - - ATC AT1 CWSAP_DEF <target_ssid> <target_password> <target_channel> <target_auth_enum>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
+      <target_encryption>
+    - ['R PC_COM NC ERROR C +WIFICONN:OK']
+  - - ATS AT1 AT+CWLIF
+    - [R AT1 P <pc_ip>]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  initial condition detail: StationSoftAP mode, PC join Target AP, multi link, use
+    dhcp
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMODE=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=1
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWLIF
+    - [R AT1 P <pc_ip>]
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 31.0
+  tag: ATAP3
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 C +CWMODE_CUR:3 L OK']
+  - - ATS AT1 AT+CWLIF
+    - [R AT1 P <pc_ip>]
+  - - ATS AT1 AT+CIPMUX?
+    - ['R AT1 L +CIPMUX:0']
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMODE=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWDHCP_DEF=1,1
+    - [R AT1 R *]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - DELAY 10
+    - ['']
+  - - ATC AT1 CWSAP_DEF <target_ssid> <target_password> <target_channel> <target_auth_enum>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
+      <target_encryption>
+    - ['R PC_COM NC ERROR C +WIFICONN:OK']
+  - - ATS AT1 AT+CWLIF
+    - [R AT1 P <pc_ip>]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=0
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  initial condition detail: StationSoftAP mode, PC join Target AP, single link, use
+    dhcp
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=0
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMODE=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWLIF
+    - [R AT1 P <pc_ip>]
+  - - ATS AT1 AT+CWDHCP_DEF=1,1
+    - [R AT1 R *]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 45.0
+  tag: ATAP4
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT
+    - [R AT1 L OK]
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+RST
+    - [R AT1 L OK]
+  initial condition detail: StationSoftAP mode, both PC join Target AP, single link,
+    use dhcp
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 3.0
+  tag: ATAP5
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT
+    - [R AT1 L OK]
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+RST
+    - [R AT1 L OK]
+  initial condition detail: StationSoftAP mode, both PC join Target AP, multi link,
+    use dhcp
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 3.0
+  tag: ATAP6
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 L +CWMODE_CUR:2']
+  - - ATS AT1 AT+CWDHCP_DEF=0,1
+    - [R AT1 R *]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=2
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=0,1
+    - [R AT1 R *]
+  initial condition detail: SoftAP mode, use dhcp
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=2
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=0,1
+    - [R AT1 R *]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 59.0
+  tag: ATAPO1
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 C +CWMODE_CUR:2 L OK']
+  - - ATS AT1 AT+CWLIF
+    - [R AT1 P <pc_ip>]
+  - - ATS AT1 AT+CIPMUX?
+    - ['R AT1 L +CIPMUX:1']
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWDHCP_DEF=0,1
+    - [R AT1 R *]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=2
+    - [R AT1 L OK]
+  - - ATC AT1 CWSAP_DEF <target_ssid> <target_password> <target_channel> <target_auth_enum>
+    - [R AT1 L 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']
+  - - ATS AT1 AT+CWLIF
+    - [R AT1 P <pc_ip>]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWDHCP_DEF=0,1
+    - [R AT1 R *]
+  initial condition detail: SoftAP mode, PC join Target AP, multi link, use dhcp
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=2
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMODE=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=1
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWLIF
+    - [R AT1 P <pc_ip>]
+  - - ATS AT1 AT+CWDHCP_DEF=0,1
+    - [R AT1 R *]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 66.0
+  tag: ATAPO3
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 C +CWMODE_CUR:2 L OK']
+  - - ATS AT1 AT+CWLIF
+    - [R AT1 P <pc_ip>]
+  - - ATS AT1 AT+CIPMUX?
+    - ['R AT1 L +CIPMUX:0']
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMODE=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWDHCP_DEF=0,1
+    - [R AT1 R *]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=2
+    - [R AT1 L OK]
+  - - ATC AT1 CWSAP_DEF <target_ssid> <target_password> <target_channel> <target_auth_enum>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=0,1
+    - [R AT1 R *]
+  - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
+      <target_encryption>
+    - ['R PC_COM NC ERROR C +WIFICONN:OK']
+  - - ATS AT1 AT+CWLIF
+    - [R AT1 P <pc_ip>]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=0
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  initial condition detail: SoftAP mode, PC join Target AP, single link, use dhcp
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=2
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=0
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMODE=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWLIF
+    - [R AT1 P <pc_ip>]
+  - - ATS AT1 AT+CWDHCP_DEF=0,1
+    - [R AT1 R *]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 73.0
+  tag: ATAPO4
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT
+    - [R AT1 L OK]
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+RST
+    - [R AT1 L OK]
+  initial condition detail: SoftAP mode, both PC join Target AP, single link, use
+    dhcp
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 3.0
+  tag: ATAPO5
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT
+    - [R AT1 L OK]
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+RST
+    - [R AT1 L OK]
+  initial condition detail: SoftAP mode, both PC join Target AP, multi link, use dhcp
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 3.0
+  tag: ATAPO6
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 L +CWMODE_CUR:3']
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  initial condition detail: StationSoftAP mode
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 87.0
+  tag: ATAPSTA1
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 L +CWMODE_CUR:3']
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  initial condition detail: StationSoftAP mode, DHCP client on
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 87.0
+  tag: ATAPSTA2
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 L +CWMODE_CUR:3']
+  - - ATS AT1 AT+CWJAP_CUR?
+    - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
+  - - ATS AT1 AT+CIPMUX?
+    - ['R AT1 L +CIPMUX:1']
+  - - ATS AT1 AT+CWDHCP_CUR?
+    - ['R AT1 C DHCP:3']
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  initial condition detail: StationSoftAP mode, connected to AP, multi link, use dhcp
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMODE=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 94.0
+  tag: ATAPSTA3
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 L +CWMODE_CUR:3']
+  - - ATS AT1 AT+CWJAP_CUR?
+    - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
+  - - ATS AT1 AT+CIPMUX?
+    - ['R AT1 L +CIPMUX:0']
+  - - ATS AT1 AT+CWDHCP_CUR?
+    - ['R AT1 C DHCP:3']
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMODE=0
+    - [R AT1 R *]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=0
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  initial condition detail: StationSoftAP mode, connected to AP, single link, use
+    dhcp
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=0
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMODE=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWDHCP_DEF=2,1
+    - [R AT1 R *]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 101.0
+  tag: ATAPSTA4
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 L +CWMODE_CUR:3']
+  - - ATS AT1 AT+CWJAP_CUR?
+    - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
+  - - ATS AT1 AT+CIPMUX?
+    - ['R AT1 L +CIPMUX:1']
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATC AT1 CIPSTA_DEF <target_static_ip>
+    - [R AT1 L OK]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATC AT1 CIPSTA_DEF <target_static_ip>
+    - [R AT1 L OK]
+  initial condition detail: StationSoftAP mode, connected to AP, multi link, use static
+    ip
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMODE=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATC AT1 CIPSTA_DEF <target_static_ip>
+    - [R AT1 L OK]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 129.0
+  tag: ATAPSTA5
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 L +CWMODE_CUR:3']
+  - - ATS AT1 AT+CWJAP_CUR?
+    - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
+  - - ATS AT1 AT+CIPMUX?
+    - ['R AT1 L +CIPMUX:0']
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMODE=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPSTA_DEF <target_static_ip>
+    - [R AT1 L OK]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=0
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATC AT1 CIPSTA_DEF <target_static_ip>
+    - [R AT1 L OK]
+  initial condition detail: StationSoftAP mode, connected to AP, single link, use
+    static ip
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=0
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMODE=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPSTA_DEF <target_static_ip>
+    - [R AT1 L OK]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 136.0
+  tag: ATAPSTA6
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT
+    - [R AT1 L OK]
+  - - ATS AT1 AT+RESTORE
+    - [R AT1 L OK, R AT1 C ready]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT
+    - [R AT1 L OK]
+  - - ATS AT1 AT+RESTORE
+    - [R AT1 L OK, R AT1 C ready]
+  initial condition detail: 'first time usage. Use restore function. '
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+RESTORE
+    - [R AT1 L OK, R AT1 C ready]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 143.0
+  tag: ATFTU
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT
+    - [R AT1 L OK]
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+RST
+    - [R AT1 L OK]
+  initial condition detail: none
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 3.0
+  tag: ATNone
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - DELAY 0.1
+    - [dummy]
+  force restore cmd set:
+  - ''
+  - - DELAY 0.1
+    - [dummy]
+  initial condition detail: none 2
+  restore cmd set:
+  - ''
+  - - DELAY 0.1
+    - [dummy]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 108.0
+  tag: ATNone2
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 L +CWMODE_CUR:1']
+  - - ATS AT1 AT+CWDHCP_DEF=1,1
+    - [R AT1 L OK]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=1,1
+    - [R AT1 L OK]
+  initial condition detail: same as STA1, but will not autogen STA+AP STA test case
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=1,1
+    - [R AT1 L OK]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 10.0
+  tag: ATOSTA1
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 L +CWMODE_CUR:1']
+  - - ATS AT1 AT+CWJAP_CUR?
+    - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
+  - - ATS AT1 AT+CIPMUX?
+    - ['R AT1 L +CIPMUX:0']
+  - - ATS AT1 AT+CWDHCP_CUR?
+    - ['R AT1 C DHCP:3']
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMODE=0
+    - [R AT1 R *]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=1,1
+    - [R AT1 R *]
+  - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=0
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  initial condition detail: same as STA4, but will not autogen STA+AP STA test case
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=1,1
+    - [R AT1 R *]
+  - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=0
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMODE=0
+    - [R AT1 R *]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 17.0
+  tag: ATOSTA4
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 C +CWMODE_CUR:3 C OK']
+  - - ATS AT2 AT+CWMODE_CUR?
+    - ['R AT2 C +CWMODE_CUR:1 C OK']
+  - - ATS AT1 AT+CWJAP_CUR?
+    - [R AT1 NC OK L ERROR]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - ATS AT2 AT+CWMODE_DEF=1
+    - [R AT2 L OK]
+  - - ATS AT1 AT+CWQAP
+    - [R AT1 L OK]
+  initial condition detail: same as OT2_1, but will not autogen STA+AP STA test case
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - ATS AT2 AT+CWMODE_DEF=1
+    - [R AT2 L OK]
+  - - ATS AT1 AT+CWQAP
+    - [R AT1 L OK]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 52.0
+  tag: ATOT2_1
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 L +CWMODE_CUR:1']
+  - - ATS AT1 AT+CWDHCP_DEF=1,1
+    - [R AT1 L OK]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=1,1
+    - [R AT1 L OK]
+  initial condition detail: station mode, use dhcp
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=1,1
+    - [R AT1 L OK]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 10.0
+  tag: ATSTA1
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 L +CWMODE_CUR:1']
+  - - ATS AT1 AT+CWDHCP_DEF=1,1
+    - [R AT1 L OK]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=1,1
+    - [R AT1 L OK]
+  initial condition detail: station mode, DHCP client on, use dhcp
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=1,1
+    - [R AT1 L OK]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 10.0
+  tag: ATSTA2
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 L +CWMODE_CUR:1']
+  - - ATS AT1 AT+CWJAP_CUR?
+    - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
+  - - ATS AT1 AT+CIPMUX?
+    - ['R AT1 L +CIPMUX:1']
+  - - ATS AT1 AT+CWDHCP_CUR?
+    - ['R AT1 C DHCP:3']
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=1,1
+    - [R AT1 R *]
+  - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  initial condition detail: station mode, connected to AP, multi link, use dhcp
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=1,1
+    - [R AT1 R *]
+  - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMODE=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 38.0
+  tag: ATSTA3
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 L +CWMODE_CUR:1']
+  - - ATS AT1 AT+CWJAP_CUR?
+    - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
+  - - ATS AT1 AT+CIPMUX?
+    - ['R AT1 L +CIPMUX:0']
+  - - ATS AT1 AT+CWDHCP_CUR?
+    - ['R AT1 C DHCP:3']
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMODE=0
+    - [R AT1 R *]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=1,1
+    - [R AT1 R *]
+  - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=0
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  initial condition detail: station mode, connected to AP, single link, use dhcp
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CWDHCP_DEF=1,1
+    - [R AT1 R *]
+  - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=0
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMODE=0
+    - [R AT1 R *]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 17.0
+  tag: ATSTA4
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 L +CWMODE_CUR:1']
+  - - ATS AT1 AT+CWJAP_CUR?
+    - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
+  - - ATS AT1 AT+CIPMUX?
+    - ['R AT1 L +CIPMUX:1']
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATC AT1 CIPSTA_DEF <target_static_ip>
+    - [R AT1 L OK]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=1
+    - [R AT1 L OK]
+  - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATC AT1 CIPSTA_DEF <target_static_ip>
+    - [R AT1 L OK]
+  initial condition detail: station mode, connected to AP, multi link, use static
+    ip
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=1
+    - [R AT1 L OK]
+  - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMODE=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=1
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATC AT1 CIPSTA_DEF <target_static_ip>
+    - [R AT1 L OK]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 115.0
+  tag: ATSTA5
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 L +CWMODE_CUR:1']
+  - - ATS AT1 AT+CWJAP_CUR?
+    - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
+  - - ATS AT1 AT+CIPMUX?
+    - ['R AT1 L +CIPMUX:0']
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMODE=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPSTA_DEF <target_static_ip>
+    - [R AT1 L OK]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=1
+    - [R AT1 L OK]
+  - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=0
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATC AT1 CIPSTA_DEF <target_static_ip>
+    - [R AT1 L OK]
+  initial condition detail: station mode, connected to AP, single link, use static
+    ip
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=1
+    - [R AT1 L OK]
+  - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPSERVER=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPCLOSE <max_conn>
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMUX=0
+    - [R AT1 L OK]
+  - - ATS AT1 AT+CIPCLOSE
+    - [R AT1 R *]
+  - - ATS AT1 AT+CIPMODE=0
+    - [R AT1 R *]
+  - - ATC AT1 CIPSTA_DEF <target_static_ip>
+    - [R AT1 L OK]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 122.0
+  tag: ATSTA6
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 C +CWMODE_CUR:3 C OK']
+  - - ATS AT2 AT+CWMODE_CUR?
+    - ['R AT2 C +CWMODE_CUR:1 C OK']
+  - - ATS AT1 AT+CWJAP_CUR?
+    - [R AT1 NC OK L ERROR]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - ATS AT2 AT+CWMODE_DEF=1
+    - [R AT2 L OK]
+  - - ATS AT1 AT+CWQAP
+    - [R AT1 L OK]
+  initial condition detail: Target 1 in StationSoftAP mode, Target 2 in station mode,
+    use dhcp
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=3
+    - [R AT1 L OK]
+  - - ATS AT2 AT+CWMODE_DEF=1
+    - [R AT2 L OK]
+  - - ATS AT1 AT+CWQAP
+    - [R AT1 L OK]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 52.0
+  tag: ATT2_1
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ATS AT1 AT+CWMODE_CUR?
+    - ['R AT1 C +CWMODE_CUR:2 C OK']
+  - - ATS AT2 AT+CWMODE_CUR?
+    - ['R AT2 C +CWMODE_CUR:3 C OK']
+  - - ATS AT1 AT+CWJAP_CUR?
+    - [R AT1 NC OK L ERROR]
+  force restore cmd set:
+  - ''
+  - - ATS AT1 AT+RST
+    - [R AT1 C ready]
+  - - ATS AT1 AT+CWMODE_DEF=2
+    - [R AT1 L OK]
+  - - ATS AT2 AT+CWMODE_DEF=3
+    - [R AT2 L OK]
+  initial condition detail: Target 1 in SoftAP mode, Target 2 in StationSoftAP mode,
+    use dhcp
+  restore cmd set:
+  - ''
+  - - ATSO AT1 +++
+    - ['']
+  - - ATS AT1 AT
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - ATS AT1 AT+CWMODE_DEF=2
+    - [R AT1 L OK]
+  - - ATS AT2 AT+CWMODE_DEF=3
+    - [R AT2 L OK]
+  restore post cmd set:
+  - ''
+  - - ATS AT1 AT+CWSTOPSMART
+    - [R AT1 R *]
+  - - ATS AT1 AT+SAVETRANSLINK=0
+    - [R AT1 R *]
+  - - AT+SYSRAM
+    - ['R AT1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 80.0
+  tag: ATT2_2
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ASSERT
+    - [dummy]
+  force restore cmd set:
+  - ''
+  - - SSC SSC[1-<node_num>] reboot
+    - ['P SSC[1-<node_num>] C !!!ready!!!']
+  - - SSC SSC[1-<node_num>] mesh -E -o 0
+    - ['P SSC[1-<node_num>] C +MESH:DISABLED']
+  - - SSC SSC[1-<node_num>] op -S -o 1
+    - ['P SSC[1-<node_num>] C +MODE:OK']
+  - - SSC SSC[1-<node_num>] sta -D
+    - ['P SSC[1-<node_num>] C +QAP:OK']
+  initial condition detail: all mesh node disabled
+  restore cmd set:
+  - ''
+  - - SSC SSC[1-<node_num>] mesh -E -o 0
+    - ['P SSC[1-<node_num>] C +MESH:DISABLED']
+  - - SSC SSC[1-<node_num>] op -S -o 1
+    - ['P SSC[1-<node_num>] C +MODE:OK']
+  - - SSC SSC[1-<node_num>] sta -D
+    - ['P SSC[1-<node_num>] C +QAP:OK']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 ram
+    - ['R SSC1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 31.0
+  tag: DISABLED
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ASSERT
+    - [dummy]
+  - - SSC SSC[1-<node_num>] mesh -Q -t 4
+    - ['R SSC[1-<node_num>] T <node_num>']
+  - - MESHTREE
+    - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%(<node_num>)']
+  force restore cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip>
+    - [R SOC_COM L OK]
+  - - SSC SSC[1-<node_num>] mesh -E -o 0
+    - ['P SSC[1-<node_num>] C +MESH:DISABLED']
+  - - SSC SSC[1-<node_num>] mesh -I -g <group_id> -a 4 -k <target_password> -i <pc_ip>
+      -p <test_tcp_port1> -h 5
+    - ['P SSC[1-<node_num>] C ENCRYPTION,OK C GROUP,OK C SERVER,OK C HOP,OK']
+  - - SSC SSC[1-<node_num>] mesh -A -s <ap_ssid> -k <ap_password>
+    - ['P SSC[1-<node_num>] C +MESHINIT:AP,OK']
+  - - SSC SSC1 mesh -E -o 1 -t 2
+    - ['P SSC1 C +MESH:ENABLED']
+  - - SOC SOC1 MACCEPT GSOC1
+    - [R SOC_COM L OK]
+  - - SSC SSC[2-<node_num>] mesh -E -o 1 -t 2
+    - ['P SSC[2-<node_num>] C +MESH:ENABLED']
+  - - DELAY 60
+    - ['']
+  - - SSC SSC[1-<node_num>] mesh -C
+    - ['P SSC[1-<node_num>] C +MESH:CONNECTED']
+  - - SSC SSC[1-<node_num>] mesh -Q -t 4
+    - ['R SSC[1-<node_num>] T <node_num>']
+  - - MESHTREE
+    - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%(<node_num>)']
+  - - SSC SSC[1-<node_num>] mesh -O -t 1 -o 1
+    - ['P SSC[1-<node_num>] C +MESH:OK']
+  initial condition detail: all mesh node enabled as ONLINE, mesh network established
+  restore cmd set:
+  - ''
+  - - SSC SSC[1-<node_num>] reboot
+    - ['P SSC[1-<node_num>] C !!!ready!!!']
+  - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip>
+    - [R SOC_COM L OK]
+  - - SSC SSC[1-<node_num>] mesh -E -o 0
+    - ['P SSC[1-<node_num>] C +MESH:DISABLED']
+  - - SSC SSC[1-<node_num>] mesh -I -g <group_id> -a 4 -k <target_password> -i <pc_ip>
+      -p <test_tcp_port1> -h 5
+    - ['P SSC[1-<node_num>] C ENCRYPTION,OK C GROUP,OK C SERVER,OK C HOP,OK']
+  - - SSC SSC[1-<node_num>] mesh -A -s <ap_ssid> -k <ap_password>
+    - ['P SSC[1-<node_num>] C +MESHINIT:AP,OK']
+  - - SSC SSC1 mesh -E -o 1 -t 2
+    - ['P SSC1 C +MESH:ENABLED']
+  - - SOC SOC1 MACCEPT GSOC1
+    - [R SOC_COM L OK]
+  - - SSC SSC[2-<node_num>] mesh -E -o 1 -t 2
+    - ['P SSC[2-<node_num>] C +MESH:ENABLED']
+  - - DELAY 60
+    - ['']
+  - - SSC SSC[1-<node_num>] mesh -C
+    - ['P SSC[1-<node_num>] C +MESH:CONNECTED']
+  - - SSC SSC[1-<node_num>] mesh -Q -t 4
+    - ['R SSC[1-<node_num>] T <node_num>']
+  - - MESHTREE
+    - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%(<node_num>)']
+  - - SSC SSC[1-<node_num>] mesh -O -t 1 -o 1
+    - ['P SSC[1-<node_num>] C +MESH:OK']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 ram
+    - ['R SSC1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 17.0
+  tag: ENABLED_1
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - ASSERT
+    - [dummy]
+  - - SSC SSC[1-<node_num>] mesh -Q -t 4
+    - ['R SSC[1-<node_num>] T <node_num>']
+  - - MESHTREE
+    - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%(<node_num>)']
+  force restore cmd set:
+  - ''
+  - - SSC SSC[1-<node_num>] reboot
+    - ['P SSC[1-<node_num>] C !!!ready!!!']
+  - - SSC SSC[1-<node_num>] mesh -I -g <group_id> -a 4 -k <target_password> -i <pc_ip>
+      -p <test_tcp_port1> -h 5
+    - ['P SSC[1-<node_num>] C ENCRYPTION,OK C GROUP,OK C SERVER,OK C HOP,OK']
+  - - SSC SSC1 mesh -A -s <ap_ssid> -k <ap_password>
+    - ['P SSC1 C +MESHINIT:AP,OK']
+  - - SSC SSC1 mesh -E -o 1 -t 1
+    - ['P SSC1 C +MESH:ENABLED']
+  - - SSC SSC[2-<node_num>] mesh -E -o 1 -t 2
+    - ['']
+  - - DELAY 60
+    - ['P SSC[2-<node_num>] C +MESH:ENABLED']
+  - - SSC SSC[1-<node_num>] mesh -C
+    - ['P SSC[1-<node_num>] C +MESH:CONNECTED']
+  - - SSC SSC[1-<node_num>] mesh -Q -t 4
+    - ['R SSC[1-<node_num>] T <node_num>']
+  - - MESHTREE
+    - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%(<node_num>)']
+  initial condition detail: root as LOCAL, rest node as ONLINE, mesh network established
+  restore cmd set:
+  - ''
+  - - SSC SSC[1-<node_num>] mesh -E -o 0
+    - ['P SSC[1-<node_num>] C +MESH:DISABLED']
+  - - SSC SSC[1-<node_num>] mesh -I -g <group_id> -a 4 -k <target_password> -i <pc_ip>
+      -p <test_tcp_port1> -h 5
+    - ['P SSC[1-<node_num>] C ENCRYPTION,OK C GROUP,OK C SERVER,OK C HOP,OK']
+  - - SSC SSC1 mesh -A -s <ap_ssid> -k <ap_password>
+    - ['P SSC1 C +MESHINIT:AP,OK']
+  - - SSC SSC1 mesh -E -o 1 -t 1
+    - ['P SSC1 C +MESH:ENABLED']
+  - - SSC SSC[2-<node_num>] mesh -E -o 1 -t 2
+    - ['']
+  - - DELAY 60
+    - ['P SSC[2-<node_num>] C +MESH:ENABLED']
+  - - SSC SSC[1-<node_num>] mesh -C
+    - ['P SSC[1-<node_num>] C +MESH:CONNECTED']
+  - - SSC SSC[1-<node_num>] mesh -Q -t 4
+    - ['R SSC[1-<node_num>] T <node_num>']
+  - - MESHTREE
+    - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%(<node_num>)']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 ram
+    - ['R SSC1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 24.0
+  tag: ENABLED_2
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - SSC SSC1 op -Q
+    - ['R SSC1 C +CURMODE:2']
+  - - SSC SSC1 mac -Q -o 2
+    - [R SSC1 P <target_ap_mac>]
+  - - 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
+    - ['R SSC1 C +MODE:OK']
+  - - SSC SSC1 mac -S -m <target_ap_mac> -o 2
+    - ['R SSC1 C +MAC:AP,OK']
+  - - SSC SSC1 espnow -D
+    - ['R SSC1 C +ESPNOW:']
+  initial condition detail: one target in AP mode and espnow is de-initialized
+  restore cmd set:
+  - ''
+  - - SSC SSC1 op -S -o 2
+    - ['R SSC1 C +MODE:OK']
+  - - SSC SSC1 mac -S -m <target_ap_mac> -o 2
+    - ['R SSC1 C +MAC:AP,OK']
+  - - SSC SSC1 espnow -D
+    - ['R SSC1 C +ESPNOW:']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 ram
+    - ['R SSC1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 17.0
+  tag: NOW1
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - 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']
+  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']
+  initial condition detail: multiple (<dev_num>) targets in AP mode, espnow is initialized
+    with self role slave
+  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']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 ram
+    - ['R SSC1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 24.0
+  tag: NOW2
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - DELAY 0.1
+    - [dummy]
+  force restore cmd set:
+  - ''
+  - - SSC SSC1 reboot
+    - [R SSC1 C !!!ready!!!]
+  initial condition detail: none
+  restore cmd set:
+  - ''
+  - - DELAY 0.1
+    - [dummy]
+  restore post cmd set:
+  - ''
+  - - DELAY 0.1
+    - [dummy]
+  script path: InitCondBase.py
+  start: 10.0
+  tag: None
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - SSC SSC1 sp -D
+    - ['R SSC1 C +SP:OK']
+  force restore cmd set:
+  - ''
+  - - SSC SSC1 sp -D
+    - ['R SSC1 C +SP:OK']
+  initial condition detail: one target and simple is de-inited
+  restore cmd set:
+  - ''
+  - - SSC SSC1 sp -D
+    - ['R SSC1 C +SP:OK']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 ram
+    - ['R SSC1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 31.0
+  tag: PAIR1
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - SSC SSC[1,2] op -Q
+    - ['R SSC[1,2] C +MODE:[2,1]']
+  - - SSC SSC[1,2] mac -Q -o 3
+    - ['R SSC[1,2] P <target[1,2]_ap_mac> P <target[1,2]_mac>']
+  - - SSC SSC[1,2] sp -D
+    - ['R SSC[1,2] C +SP:OK']
+  - - SSC SSC[1,2] sp -I
+    - ['R SSC[1,2] C +SP:OK']
+  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] mac -S -m <target[1,2]_ap_mac> -o 2
+    - ['R SSC[1,2] C +MAC:AP,OK']
+  - - SSC SSC[1,2] mac -S -m <target[1,2]_mac> -o 1
+    - ['R SSC[1,2] C +MAC:STA,OK']
+  - - SSC SSC[1,2] op -S -o [2,1]
+    - ['R SSC[1,2] C +MODE:OK']
+  - - SSC SSC[1,2] sp -D
+    - ['R SSC[1,2] C +SP:OK']
+  - - SSC SSC[1,2] sp -I
+    - ['R SSC[1,2] C +SP:OK']
+  initial condition detail: target1 in AP mode, target2 in STA mode, two targets de-init
+    and init simple pair
+  restore cmd set:
+  - ''
+  - - SSC SSC[1,2] op -S -o 3
+    - ['R SSC[1,2] C +MODE:OK']
+  - - SSC SSC[1,2] mac -S -m <target[1,2]_ap_mac> -o 2
+    - ['R SSC[1,2] C +MAC:AP,OK']
+  - - SSC SSC[1,2] mac -S -m <target[1,2]_mac> -o 1
+    - ['R SSC[1,2] C +MAC:STA,OK']
+  - - SSC SSC[1,2] op -S -o [2,1]
+    - ['R SSC[1,2] C +MODE:OK']
+  - - SSC SSC[1,2] sp -D
+    - ['R SSC[1,2] C +SP:OK']
+  - - SSC SSC[1,2] sp -I
+    - ['R SSC[1,2] C +SP:OK']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 ram
+    - ['R SSC1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 38.0
+  tag: PAIR2
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - SSC SSC[1,2] op -Q
+    - ['R SSC[1,2] C +MODE:[3,3]']
+  - - SSC SSC[1,2] mac -Q -o 3
+    - ['R SSC[1,2] P <target[1,2]_ap_mac> P <target[1,2]_mac>']
+  - - SSC SSC[1,2] sp -D
+    - ['R SSC[1,2] C +SP:OK']
+  - - SSC SSC[1,2] sp -I
+    - ['R SSC[1,2] C +SP:OK']
+  force restore cmd set:
+  - ''
+  - - SSC SSC[1,2] reboot
+    - ['R SSC[1,2] C !!!ready!!!']
+  - - SSC SSC[1,2] op -S -o [3,3]
+    - ['R SSC[1,2] C +MODE:OK']
+  - - SSC SSC[1,2] mac -S -m <target[1,2]_ap_mac> -o 2
+    - ['R SSC[1,2] C +MAC:AP,OK']
+  - - SSC SSC[1,2] mac -S -m <target[1,2]_mac> -o 1
+    - ['R SSC[1,2] C +MAC:STA,OK']
+  - - SSC SSC[1,2] sp -D
+    - ['R SSC[1,2] C +SP:OK']
+  - - SSC SSC[1,2] sp -I
+    - ['R SSC[1,2] C +SP:OK']
+  initial condition detail: target1 and target2 in STA+AP mode, two targets de-init
+    and init simple pair
+  restore cmd set:
+  - ''
+  - - SSC SSC[1,2] op -S -o [3,3]
+    - ['R SSC[1,2] C +MODE:OK']
+  - - SSC SSC[1,2] mac -S -m <target[1,2]_ap_mac> -o 2
+    - ['R SSC[1,2] C +MAC:AP,OK']
+  - - SSC SSC[1,2] mac -S -m <target[1,2]_mac> -o 1
+    - ['R SSC[1,2] C +MAC:STA,OK']
+  - - SSC SSC[1,2] sp -D
+    - ['R SSC[1,2] C +SP:OK']
+  - - SSC SSC[1,2] sp -I
+    - ['R SSC[1,2] C +SP:OK']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 ram
+    - ['R SSC1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 45.0
+  tag: PAIR3
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - SSC SSC1 op -Q
+    - ['R SSC1 C +CURMODE:3']
+  - - 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>]
+  force restore cmd set:
+  - ''
+  - - SSC SSC1 reboot
+    - [R SSC1 C !!!ready!!!]
+  - - SSC SSC1 op -S -o 3
+    - ['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']
+  initial condition detail: testing sta on sta + ap mode, quit AP (autogen by STAM1)
+  restore cmd set:
+  - ''
+  - - SSC SSC1 op -S -o 3
+    - ['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']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 soc -T
+    - [R SSC1 C +CLOSEALL]
+  - - SSC SSC1 ram
+    - ['R SSC1 C +FREEHEAP:']
+  script path: InitCondBase.py
+  start: 45.0
+  tag: STAAP1
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - SSC SSC1 op -Q
+    - ['R SSC1 C +CURMODE:3']
+  - - 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>]
+  force restore cmd set:
+  - ''
+  - - SSC SSC1 reboot
+    - [R SSC1 C !!!ready!!!]
+  - - SSC SSC1 op -S -o 3
+    - ['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>)']
+  initial condition detail: testing sta on sta + ap mode,  join AP, DHCP on (autogen
+    by STAM2)
+  restore cmd set:
+  - ''
+  - - SSC SSC1 op -S -o 3
+    - ['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>)']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 soc -T
+    - [R SSC1 C +CLOSEALL]
+  - - SSC SSC1 ram
+    - ['R SSC1 C +FREEHEAP:']
+  script path: InitCondBase.py
+  start: 52.0
+  tag: STAAP2
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - 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 3
+    - ['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>)']
+  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 3
+    - ['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 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>)']
+  initial condition detail: APSTA mode, connected to AP, 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 3
+    - ['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>)']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 upgrade -D
+    - ['R SSC1 C +UPGRADE:OK']
+  - - SSC SSC1 ram
+    - ['R SSC1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 24.0
+  tag: STAAPBIN0
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - SSC SSC1 op -Q
+    - ['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>]
+  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']
+  initial condition detail: sta mode, quit AP, DHCP on, will autogen a TC with initial
+    condition STAAP1
+  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']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 soc -T
+    - [R SSC1 C +CLOSEALL]
+  - - SSC SSC1 ram
+    - ['R SSC1 C +FREEHEAP:']
+  script path: InitCondBase.py
+  start: 17.0
+  tag: STAM1
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - 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>]
+  force restore cmd set:
+  - ''
+  - - 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>)']
+  initial condition detail: sta mode, join AP, DHCP on, will autogen a TC with initial
+    condition STAAP2
+  restore cmd set:
+  - ''
+  - - 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>)']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 soc -T
+    - [R SSC1 C +CLOSEALL]
+  - - SSC SSC1 ram
+    - ['R SSC1 C +FREEHEAP:']
+  script path: InitCondBase.py
+  start: 24.0
+  tag: STAM2
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - 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 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>)']
+  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 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>)']
+  initial condition detail: STA mode, connected to AP, 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 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>)']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 upgrade -D
+    - ['R SSC1 C +UPGRADE:OK']
+  - - SSC SSC1 ram
+    - ['R SSC1 A <heap_size>:(\d+)']
+  script path: InitCondBase.py
+  start: 17.0
+  tag: STAMBIN0
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - SSC SSC1 op -Q
+    - ['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>]
+  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']
+  initial condition detail: sta mode, quit AP, will NOT autogen a TC with initial
+    condition STAAP1
+  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']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 soc -T
+    - [R SSC1 C +CLOSEALL]
+  - - SSC SSC1 ram
+    - ['R SSC1 C +FREEHEAP:']
+  script path: InitCondBase.py
+  start: 17.0
+  tag: STAO1
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - 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>]
+  force restore cmd set:
+  - ''
+  - - 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>)']
+  initial condition detail: sta mode, join AP, DHCP on, will NOT autogen a TC with
+    initial condition STAAP2
+  restore cmd set:
+  - ''
+  - - 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>)']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 soc -T
+    - [R SSC1 C +CLOSEALL]
+  - - SSC SSC1 ram
+    - ['R SSC1 C +FREEHEAP:']
+  script path: InitCondBase.py
+  start: 24.0
+  tag: STAO2
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - SSC SSC1 op -Q
+    - ['R SSC1 C +CURMODE:2']
+  - - SSC SSC2 op -Q
+    - ['R SSC2 C +CURMODE:1']
+  - - 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 SSC1 mac -Q -o 2
+    - [R SSC1 P <target_ap_mac>]
+  - - SSC SSC2 mac -Q -o 1
+    - [R SSC2 P <target2_mac>]
+  force restore cmd set:
+  - ''
+  - - 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 1
+    - ['R SSC2 C +MODE:OK']
+  - - SSC SSC2 sta -D
+    - ['R SSC2 C +QAP:']
+  - - SSC SSC2 soc -T
+    - ['']
+  - - 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']
+  initial condition detail: same as T2_1 but will NOT autogen a TC with initial condition
+    T2_2
+  restore cmd set:
+  - ''
+  - - SSC SSC1 op -S -o 2
+    - ['R SSC1 C +MODE:OK']
+  - - SSC SSC2 op -S -o 1
+    - ['R SSC2 C +MODE:OK']
+  - - SSC SSC2 sta -D
+    - ['R SSC2 C +QAP:']
+  - - SSC SSC2 soc -T
+    - ['']
+  - - 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']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 soc -T
+    - [R SSC1 C +CLOSEALL]
+  - - SSC SSC1 ram
+    - ['R SSC1 C +FREEHEAP:']
+  script path: InitCondBase.py
+  start: 73.0
+  tag: T2O_1
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - SSC SSC1 op -Q
+    - ['R SSC1 C +CURMODE:2']
+  - - SSC SSC2 op -Q
+    - ['R SSC2 C +CURMODE:1']
+  - - 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 SSC1 mac -Q -o 2
+    - [R SSC1 P <target_ap_mac>]
+  - - SSC SSC2 mac -Q -o 1
+    - [R SSC2 P <target2_mac>]
+  force restore cmd set:
+  - ''
+  - - 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 1
+    - ['R SSC2 C +MODE:OK']
+  - - SSC SSC2 sta -D
+    - ['R SSC2 C +QAP:']
+  - - SSC SSC2 soc -T
+    - ['']
+  - - 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']
+  initial condition detail: target 1 as SoftAP, target 2 as STA, will autogen a TC
+    with initial condition T2_2
+  restore cmd set:
+  - ''
+  - - SSC SSC1 op -S -o 2
+    - ['R SSC1 C +MODE:OK']
+  - - SSC SSC2 op -S -o 1
+    - ['R SSC2 C +MODE:OK']
+  - - SSC SSC2 sta -D
+    - ['R SSC2 C +QAP:']
+  - - SSC SSC2 soc -T
+    - ['']
+  - - 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']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 soc -T
+    - [R SSC1 C +CLOSEALL]
+  - - SSC SSC1 ram
+    - ['R SSC1 C +FREEHEAP:']
+  script path: InitCondBase.py
+  start: 73.0
+  tag: T2_1
+  test script: InitCondBase
+- check cmd set:
+  - ''
+  - - SSC SSC1 op -Q
+    - ['R SSC1 C +CURMODE:3']
+  - - 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>]
+  force restore cmd set:
+  - ''
+  - - SSC SSC1 reboot
+    - [R SSC1 C !!!ready!!!]
+  - - SSC SSC2 reboot
+    - [R SSC2 C !!!ready!!!]
+  - - SSC SSC1 op -S -o 3
+    - ['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']
+  initial condition detail: target 1 as AP+STA, target 2 as AP+STA (autogen)
+  restore cmd set:
+  - ''
+  - - SSC SSC1 op -S -o 3
+    - ['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']
+  restore post cmd set:
+  - ''
+  - - SSC SSC1 soc -T
+    - [R SSC1 C +CLOSEALL]
+  - - SSC SSC1 ram
+    - ['R SSC1 C +FREEHEAP:']
+  script path: InitCondBase.py
+  start: 80.0
+  tag: T2_2
+  test script: InitCondBase
+- 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']
+  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']
+  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'
+  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']
+  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+)']
+  script path: InitCondBase.py
+  start: 87.0
+  tag: T3_PHY1
+  test script: InitCondBase

+ 1 - 0
components/idf_test/uint_test/TestCaseAll.yml

@@ -0,0 +1 @@
+test cases: []

+ 275 - 0
components/idf_test/uint_test/TestEnvAll.yml

@@ -0,0 +1,275 @@
+test environment:
+- {PC OS: '', Special: N, Target Count: 1.0, script path: EnvBase.py, tag: AT_T1_1,
+  test environment detail: 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 AT target connect with PC by UART (AT and LOG port).', test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 1.0, script path: EnvBase.py, tag: AT_T1_2,
+  test environment detail: 'PC has 1 WiFi NIC.
+
+    1 AT target connect with PC by UART (AT and LOG port).', test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 1.0, script path: EnvBase.py, tag: AT_T1_3,
+  test environment detail: 'Able to access WAN after connect to AP.
+
+    1 AT target connect with PC by UART (AT and LOG port).', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: AT_T1_ADC,
+  test environment detail: 'PC has 1 wired NIC connected to AP.
+
+    Analog input connect to AT1 TOUT.
+
+    Multimeter connect to input, able to measure input voltage.
+
+    1 AT target connect with PC by UART (AT and LOG port).', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: AT_T1_APC1,
+  test environment detail: "PC has 1 wired NIC connected to AP.\nPC has 1 wired NIC\
+    \ connected to APC (static IP within the same subnet with APC). \nAPC control\
+    \ AP power supply. \nPC has 1 WiFi NIC. \n1 AT target connect with PC by UART\
+    \ (AT and LOG port).", test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: AT_T1_APC2,
+  test environment detail: "Able to access WAN after connect to AP.\nPC has 1 wired\
+    \ NIC connected to APC (static IP within the same subnet with APC). \nAPC control\
+    \ AP power supply.\nPC has 1 WiFi NIC.\n1 AT target connect with PC by UART (AT\
+    \ and LOG port).", test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: AT_T1_HighSpeedUART,
+  test environment detail: 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 AT target connect with PC by high speed UART (AT and LOG port).', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: AT_T1_SmartConfigIOT,
+  test environment detail: '1 AT target connect with PC by UART (AT and LOG port).
+
+    PC has 1 wired NIC connect to Common AP.
+
+    Several AP are placed near AT target.
+
+    Several smart phone installed test APK are placed near AT target.', test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 2.0, script path: EnvBase.py, tag: AT_T2_1,
+  test environment detail: 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 AT target connect with PC by UART (AT and LOG port).', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 2.0, script path: EnvBase.py, tag: AT_T2_JAP,
+  test environment detail: "Several AP are placed near AT target.\nPC has 1 wired\
+    \ NIC connected to APC (static IP within the same subnet with APC).\nAPC control\
+    \ power supply for all APs. \n2 AT target connect with PC by UART (AT and LOG\
+    \ port).", test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 2.0, script path: EnvBase.py, tag: AT_T2_Sleep,
+  test environment detail: 'AP support DTIM placed with AT target.
+
+    2 AT target connect with PC by UART (AT and LOG port).
+
+    Multimeter connect with PC via GPIB.
+
+    Series multimeter between GND and VCC of AT1.
+
+    AT1''s light sleep wakeup pin and wakeup indication connect with AT2''s GPIO.',
+  test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 2.0, script path: EnvBase.py, tag: AT_T2_SmartConfig,
+  test environment detail: '2 AT target connect with PC by UART (AT and LOG port).
+
+    PC has 1 WiFi NIC.
+
+    One HT20 AP and One HT40 AP are placed near target.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, UART ports: 'SSC1
+
+    SSC2', additional param list: '', basic param list: '', script path: EnvBase.py,
+  tag: IR_T2_1, test environment detail: '[TBD] 本测试为非自动测试, 红外能够做到数据收发吻合即可通过', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 2.0, script path: EnvBase.py, tag: NVS_T1_1,
+  test environment detail: '1 NVS target connect with PC by UART.
+
+    1 SSC target connect with PC by UART.
+
+    SSC2 GPIO connect to NVS1 power control pin.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, UART ports: SSC_1, additional param list: '',
+  basic param list: '', script path: EnvBase.py, tag: PWM_T1_1, test environment detail: "[TBD]\
+    \ 1. PWM OS SDK 以及 Non-OS SDK的测试建议分开进行, 放在不同的文件夹, 防止文件命名混淆\n2. 分析CSV文件的Python脚本只能分析单个channel\
+    \ \n3. 如果Init脚本打印\"Network Error\" 检查TCP Server是不是正常发送data", test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_1,
+  test environment detail: 'PC has 2 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.', test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_2,
+  test environment detail: 'Able to access WAN after connect to AP.
+
+    1 SSC target connect with PC by UART.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_8089,
+  test environment detail: 'PC has 1 wired NIC connected to AP.
+
+    1 8089 tablet able to run iperf test placed near SSC1.
+
+    1 SSC target connect with PC by UART.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_ADC,
+  test environment detail: 'PC has 1 wired NIC connected to AP.
+
+    Analog input connect to SSC1 TOUT.
+
+    Multimeter connect to input, able to measure input voltage.
+
+    1 SSC target connect with PC by UART.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_APC,
+  test environment detail: "PC has 1 wired NIC connected to AP.\nPC has 1 wired NIC\
+    \ connected to APC (static IP within the same subnet with APC). \nAPC control\
+    \ AP power supply. \nPC has 1 WiFi NIC. \n1 SSC target connect with PC by UART.",
+  test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_Enterprise,
+  test environment detail: "AP use WPA2-Etherprise is placed near SSC1. \n1 SSC target\
+    \ connect with PC by UART.", test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_IOT1,
+  test environment detail: 'PC has 1 WiFi NIC.
+
+    1 SSC target connect with PC by UART.
+
+    AP todo IOT test are placed near SSC1.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 2.0, script path: EnvBase.py, tag: SSC_T1_InitData,
+  test environment detail: '2 SSC target connect with PC by UART.
+
+    SSC1 use 40M crystal oscillator.
+
+    SSC2 use normal 26M crystal oscillator.
+
+    SSC2 GPIO connect to SSC1 power control pin.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_ShieldBox,
+  test environment detail: 'refer to figure.
+
+    All APs and APC should be set to the same IP subnet.
+
+    PC wired NIC should set static IP address within the same subnet with AP.
+
+    Must use onboard wired NIC.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_TempBox,
+  test environment detail: '1 SSC target connect with PC by UART.
+
+    Put SSC target to temperature box.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, UART ports: SSC_1, additional param list: '',
+  basic param list: '', script path: EnvBase.py, tag: SSC_T1_Timer, test environment detail: '[TBD]
+    通过串口工具调节Timer, 将GPIO_13端口连接到逻辑分析仪', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_VDD33,
+  test environment detail: '1 SSC target connect with PC by UART.
+
+    Multimeter connect to VDD33, able to measure voltage.', test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_WEP,
+  test environment detail: '1 SSC target connect with PC by UART.
+
+    One WEP share key AP placed near SSC1.', test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 2.0, script path: EnvBase.py, tag: SSC_T2_1,
+  test environment detail: 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    2 SSC target connect with PC by UART.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 2.0, UART ports: 'SSC1
+
+    SSC2', additional param list: '', basic param list: '', script path: EnvBase.py,
+  tag: SSC_T2_GPIO1, test environment detail: '[TBD] 2个ESP_8266通过UART连到PC, ESP_8266的
+    GPIO_6相连', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 2.0, UART ports: 'SSC1
+
+    SSC2', additional param list: '', basic param list: '', script path: EnvBase.py,
+  tag: SSC_T2_GPIO2, test environment detail: '[TBD] 1. 2个ESP_8266通过UART连到PC, ESP_8266的
+    GPIO_15通过面包板相连
+
+    2. 可借助面包板, 将GPIO_15, 以及中断函数被打开的8266板的GPIO_2 相连', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 2.0, UART ports: 'SSC1
+
+    SSC2', additional param list: '', basic param list: '', script path: EnvBase.py,
+  tag: SSC_T2_GPIO3, test environment detail: '[TBD] 2个ESP_8266通过UART连到PC, ESP_8266之间需要测试的Target_GPIO相连',
+  test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 2.0, script path: EnvBase.py, tag: SSC_T2_PhyMode,
+  test environment detail: '2 SSC target connect with PC by UART.
+
+    PC has one WiFi NIC support capture wlan packet using libpcap.
+
+    Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
+
+    Put 4 APs near SSC targets.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 2.0, script path: EnvBase.py, tag: SSC_T2_ShieldBox,
+  test environment detail: '2 SSC target connect with PC by UART.
+
+    Put them to Shield box.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 2.0, script path: EnvBase.py, tag: SSC_T2_Sleep1,
+  test environment detail: 'AP support DTIM placed with AT target.
+
+    2 SSC target connect with PC by UART.
+
+    Multimeter connect with PC via GPIB.
+
+    Series multimeter between GND and VCC of SSC1.
+
+    SSC1''s light sleep wakeup pin and wakeup indication connect with AT2''s GPIO.
+
+    SSC1''s XPD connect with RSTB.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 2.0, script path: EnvBase.py, tag: SSC_T2_Sleep2,
+  test environment detail: 'AP support DTIM placed with AT target.
+
+    2 SSC target connect with PC by UART.
+
+    Multimeter connect with PC via GPIB.
+
+    Series multimeter between GND and VCC of SSC1.
+
+    SSC1''s RSTB pin connect with AT2''s GPIO.', test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 2.0, script path: EnvBase.py, tag: SSC_T2_SmartConfig,
+  test environment detail: '2 SSC target connect with PC by UART.
+
+    PC has 1 WiFi NIC.
+
+    One HT20 AP and One HT40 AP are placed near target.', test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 3.0, script path: EnvBase.py, tag: SSC_T3_PhyMode,
+  test environment detail: '3 SSC target connect with PC by UART.
+
+    PC has one WiFi NIC support capture wlan packet using libpcap.
+
+    Set 4 AP with (HT20, channel1), (HT20, channel2), (HT40, channel1), (HT40, channel2).
+
+    Put 4 APs near SSC targets.', test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 5.0, script path: EnvBase.py, tag: SSC_T5_1,
+  test environment detail: 5 SSC target connect with PC by UART., test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T6_1,
+  test environment detail: 'PC has 1 wired NIC connected to AP.
+
+    PC has 1 WiFi NIC.
+
+    6 SSC target connect with PC by UART.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: TempSensor_T1_1,
+  test environment detail: 'Tempeture sensor target connect with PC by UART.
+
+    AP support DTIM placed with AT target.
+
+    Multimeter connect with PC via GPIB.
+
+    Series multimeter between GND and VCC of TempSensor1.
+
+    PC has 1 wired NIC connected to switch.
+
+    APC, AP also connect with swtich.
+
+    All devices connected with switch use the same IP subnet.
+
+    APC control AP power supply.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, UART ports: SSC_1, additional param list: '',
+  basic param list: '', script path: EnvBase.py, tag: UART_T1_1, test environment detail: '[TBD]
+    将ESP_8266通过UART连到PC', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, UART ports: 'SSC1
+
+    SSC2', additional param list: '', basic param list: '', script path: EnvBase.py,
+  tag: UART_T1_2, test environment detail: '[TBD] ESP_8266通过UART_0通过USB, UART_1 TXD
+    通过 TTLcable 连到PC', test script: EnvBase}
+- {PC OS: linux, Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: WebServer_T1_1,
+  test environment detail: 'Web Server target connect with PC by UART.
+
+    PC has 1 wired NIC connected to switch.
+
+    APC, AP also connect with swtich.
+
+    All devices connected with switch use same IP subnet.
+
+    APC control AP power supply.', test script: EnvBase}
+- {PC OS: linux, Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: WebServer_T1_2,
+  test environment detail: 'Web Server target connect with PC by UART.
+
+    4 PC with WiFi NIC placed near WebServer1.', test script: EnvBase}