From fbc039df7665cbb172918e6c629578b8544dc59e Mon Sep 17 00:00:00 2001 From: Iacob Juc Date: Wed, 10 Dec 2025 15:57:21 +0100 Subject: [PATCH] ci: cram: test WPA-Personal-Compatibility interaction with prplMesh prplMesh controller can read configuration from pwhm or from NBAPI. This test covers both input methods. Initial state assumption (based on default configuration) : Controller is reading config from pwhm Operations : Restart prplMesh Enable Priv VAPs Read Security.ModeEnabled - default values Write WPA3-Personal-Compatibility to enabled VAPs - 3 Priv VAPs Check that Controller Reads new values, propagates them to the Agent, and Agent does not overwrite them not-overwrite is a double negation that means agent writes the same value as before. A change would imply that either: 1. Agent incorrectly reported capability - Controller downgraded security mode 2. Controller did not read the configuration and pushed a teardown for the Radiox instead Switch Controller to NBAPI configuration Push WPA3-Personal from NBAPI Push WPA3-Personal-Compatibility from NBAPI Restore Config to default values Increase the testbed timeout. 5min are required to run the test. Closes : PPM-3352 Signed-off-by: Iacob Juc Signed-off-by: Houssem Dafdouf --- .gitlab/testbed.yml | 2 +- .../mxl25641-hdk-6/113-prplmesh-wpa3-cm.t | 255 +++++++++++++++++ .../cram/wnc-freedom/113-prplmesh-wpa3-cm.t | 256 ++++++++++++++++++ 3 files changed, 512 insertions(+), 1 deletion(-) create mode 100644 .gitlab/tests/cram/mxl25641-hdk-6/113-prplmesh-wpa3-cm.t create mode 100644 .gitlab/tests/cram/wnc-freedom/113-prplmesh-wpa3-cm.t diff --git a/.gitlab/testbed.yml b/.gitlab/testbed.yml index c181683fc7..8ca63912b3 100644 --- a/.gitlab/testbed.yml +++ b/.gitlab/testbed.yml @@ -1,7 +1,7 @@ .testbed: stage: run image: "$CI_REGISTRY_IMAGE/$CI_DESIGNATED_BRANCH_SLUG/testbed:latest" - timeout: 58 minutes + timeout: 63 minutes rules: - if: '$CI_PIPELINE_SOURCE == "schedule"' when: never diff --git a/.gitlab/tests/cram/mxl25641-hdk-6/113-prplmesh-wpa3-cm.t b/.gitlab/tests/cram/mxl25641-hdk-6/113-prplmesh-wpa3-cm.t new file mode 100644 index 0000000000..0d896c9a20 --- /dev/null +++ b/.gitlab/tests/cram/mxl25641-hdk-6/113-prplmesh-wpa3-cm.t @@ -0,0 +1,255 @@ +Create R alias: + + $ alias R="${CRAM_REMOTE_COMMAND:-}" + $ . "${TESTDIR}/../scripts/wifi.sh" + + $ R logger -t cram "Starting prplMesh WPA3-CM test ..." + + $ R "amx_wait_for Device.WiFi" + +Set AutoChannelEnable=0 on all WiFi.Radio. interfaces: + + $ wifi_dm "Radio.*.AutoChannelEnable=0" + WiFi.Radio.1.AutoChannelEnable=0 + WiFi.Radio.2.AutoChannelEnable=0 + WiFi.Radio.3.AutoChannelEnable=0 + +Set channel to a non DFS one: + + $ wifi_dm "Radio.2.Channel=36" + WiFi.Radio.2.Channel=36 (re) + +Check default SecMode: + + $ R logger -t cram "Check default SecMode" + + $ wifi_dm "AccessPoint.1.Security.ModeEnabled?" + WiFi.AccessPoint.1.Security.ModeEnabled="WPA2-WPA3-Personal" + + $ wifi_dm "AccessPoint.2.Security.ModeEnabled?" + WiFi.AccessPoint.2.Security.ModeEnabled="WPA2-WPA3-Personal" + + $ wifi_dm "AccessPoint.3.Security.ModeEnabled?" + WiFi.AccessPoint.3.Security.ModeEnabled="WPA3-Personal" + +Check if private/guest VAPs contain WPA3-Personal-Compatibility in the Security.ModesAvailable list: + + $ wifi_dm "AccessPoint.*.Security.ModesAvailable?" | sed -n 's/^\(WiFi\.AccessPoint\.[1-6]\+\.Security\.ModesAvailable\).*WPA3-Personal-Compatibility.*/\1 has WPA3-Personal-Compatibility mode/p' + WiFi.AccessPoint.1.Security.ModesAvailable has WPA3-Personal-Compatibility mode + WiFi.AccessPoint.2.Security.ModesAvailable has WPA3-Personal-Compatibility mode + WiFi.AccessPoint.3.Security.ModesAvailable has WPA3-Personal-Compatibility mode + WiFi.AccessPoint.4.Security.ModesAvailable has WPA3-Personal-Compatibility mode + WiFi.AccessPoint.5.Security.ModesAvailable has WPA3-Personal-Compatibility mode + WiFi.AccessPoint.6.Security.ModesAvailable has WPA3-Personal-Compatibility mode + +Configure controller for NBAPI configuration: + + $ R logger -t cram "Stop prplmesh" + + $ R "( /etc/init.d/prplmesh 2>&1 > /dev/null stop ; sleep 2 )" 2>&1 > /dev/null + $ R "sed -i 's/use_dataelements_vap_configs=0/use_dataelements_vap_configs=1/g' /opt/prplmesh/config/beerocks_controller.conf" + $ R logger -t cram "Restart prplmesh" + $ R "( /etc/init.d/prplmesh gateway_mode ; sleep 2 ) > /tmp/prplmesh-gw-mode.log 2>&1 ; logger -t prplmesh-gateway-mode < /tmp/prplmesh-gw-mode.log" + $ R "amx_wait_for X_PRPLWARE-COM_WiFiController.Network.Device.1" + + $ sleep 10 + +Set WPA3-Personal-Compatibility and check that : 1. Controller reads it correctly, 2. triggers reconfiguration, and 3. agent applies the correct value: + + $ wifi_dm "AccessPoint.1.Security.ModeEnabled=\"WPA3-Personal-Compatibility\"" + WiFi.AccessPoint.1.Security.ModeEnabled="WPA3-Personal-Compatibility" + + $ wifi_dm "AccessPoint.2.Security.ModeEnabled=\"WPA3-Personal-Compatibility\"" + WiFi.AccessPoint.2.Security.ModeEnabled="WPA3-Personal-Compatibility" + + $ wifi_dm "AccessPoint.3.Security.ModeEnabled=\"WPA3-Personal-Compatibility\"" + WiFi.AccessPoint.3.Security.ModeEnabled="WPA3-Personal-Compatibility" + +Enable private vaps: + + $ R logger -t cram "Enable private vaps" + + $ enable_ap_sync 1 1 + AccessPoint.\d+.Enable=1 (re) + + $ enable_ap_sync 2 1 + AccessPoint.\d+.Enable=1 (re) + + $ enable_ap_sync 3 1 + AccessPoint.\d+.Enable=1 (re) + + $ check_ap_ref_ssid 1 Up + WiFi.AccessPoint.1 SSID Reference is Up + + $ check_ap_ref_ssid 2 Up + WiFi.AccessPoint.2 SSID Reference is Up + + $ check_ap_ref_ssid 3 Up + WiFi.AccessPoint.3 SSID Reference is Up + +Create one instances of Network.AccessPoint with WPA3-Personal enabled and push it to the agent: + + $ R logger -t cram "Create instances of Network.AccessPoint and push them to the agent" + + $ R "ba-cli \"X_PRPLWARE-COM_WiFiController.Network.AccessPoint+(Band2_4G=1,Band5GH=1,Band5GL=1,Band6G=1,MultiApMode=\"Fronthaul+Backhaul\",SSID=\"SSID_WPA3CM\",Security.ModeEnabled=\"WPA3-Personal\",Security.KeyPassphrase=\"password\",Enable=1)\"" | tail -n +2 | sed '/^$/d' + X_PRPLWARE-COM_WiFiController.Network.AccessPoint.* (re) + + $ R "ba-cli \"X_PRPLWARE-COM_WiFiController.Network.AccessPointCommit()\"" | tail -n +2 | sed '/^$/d' + X_PRPLWARE-COM_WiFiController.Network.AccessPointCommit() returned + [ + "" + ] + + $ sleep 10 + +Check that 3 SSID instances are still operating: + + $ R logger -t cram "Check private vaps" + + $ check_ap_ref_ssid 1 Up + WiFi.AccessPoint.1 SSID Reference is Up + + $ check_ap_ref_ssid 2 Up + WiFi.AccessPoint.2 SSID Reference is Up + + $ check_ap_ref_ssid 3 Up + WiFi.AccessPoint.3 SSID Reference is Up + +Check config from Nbapi AccessPoint is correctly applied : SSID / Security.ModeEnabled: + + $ wifi_dm "AccessPoint.1.SSIDReference+.SSID?" + Device.WiFi.SSID.\d+.SSID="SSID_WPA3CM" (re) + + $ wifi_dm "AccessPoint.2.SSIDReference+.SSID?" + Device.WiFi.SSID.\d+.SSID="SSID_WPA3CM" (re) + + $ wifi_dm "AccessPoint.3.SSIDReference+.SSID?" + Device.WiFi.SSID.\d+.SSID="SSID_WPA3CM" (re) + +Check if agent overrides the security mode: + + $ wifi_dm "AccessPoint.1.Security.ModeEnabled?" + WiFi.AccessPoint.1.Security.ModeEnabled="WPA3-Personal" + + $ wifi_dm "AccessPoint.2.Security.ModeEnabled?" + WiFi.AccessPoint.2.Security.ModeEnabled="WPA3-Personal" + + $ wifi_dm "AccessPoint.3.Security.ModeEnabled?" + WiFi.AccessPoint.3.Security.ModeEnabled="WPA3-Personal" + +Push WPA3-Personal-Compatibility: + + $ R logger -t cram "Push WPA3-Personal-Compatibility" + + $ R "ba-cli -l X_PRPLWARE-COM_WiFiController.Network.AccessPoint.1.Security.ModeEnabled=\"WPA3-Personal-Compatibility\"" | sed '/^$/d' + WPA3-Personal-Compatibility + + $ R "ba-cli \"X_PRPLWARE-COM_WiFiController.Network.AccessPointCommit()\"" | tail -n +2 | sed '/^$/d' + X_PRPLWARE-COM_WiFiController.Network.AccessPointCommit() returned + [ + "" + ] + + $ sleep 5 + +Check if agent overrides the security mode: + + $ wifi_dm "AccessPoint.1.Security.ModeEnabled?" + WiFi.AccessPoint.1.Security.ModeEnabled="WPA3-Personal-Compatibility" + + $ wifi_dm "AccessPoint.2.Security.ModeEnabled?" + WiFi.AccessPoint.2.Security.ModeEnabled="WPA3-Personal-Compatibility" + + $ wifi_dm "AccessPoint.3.Security.ModeEnabled?" + WiFi.AccessPoint.3.Security.ModeEnabled="WPA3-Personal-Compatibility" + +Check hostapd configuration file: +(RSN Override 1 is set, RSN Override 2 shouldn't be present) + + $ itf=$(R "ba-cli -l WiFi.AccessPoint.1.SSIDReference+.Name?" | sed '/^$/d') + $ get_hapd_config $itf rsn_override_key_mgmt + SAE + + $ get_hapd_config $itf rsn_override_key_mgmt_2 + Option 'rsn_override_key_mgmt_2' not found + + $ itf=$(R "ba-cli -l WiFi.AccessPoint.2.SSIDReference+.Name?" | sed '/^$/d') + $ get_hapd_config $itf rsn_override_key_mgmt + SAE + + $ get_hapd_config $itf rsn_override_key_mgmt_2 + Option 'rsn_override_key_mgmt_2' not found + +Restore default config: + + $ R logger -t cram "Restore default config" + + $ R "ba-cli -l \"X_PRPLWARE-COM_WiFiController.Network.AccessPoint.1.SSID=\"prplOS\"\"" | sed '/^$/d' + prplOS + +Restore security modes in two steps: WPA3 Transition to 2.4GHz/5GHz and then WPA3 Personal to 6GHz: + + $ R "ba-cli -l \"X_PRPLWARE-COM_WiFiController.Network.AccessPoint.1.Band6G=0\"" | sed '/^$/d' + 0 + + $ R "ba-cli -l \"X_PRPLWARE-COM_WiFiController.Network.AccessPoint.1.Security.ModeEnabled=\"WPA3-Personal-Transition\"\"" | sed '/^$/d' + WPA3-Personal-Transition + + $ R "ba-cli \"X_PRPLWARE-COM_WiFiController.Network.AccessPointCommit()\"" | tail -n +2 | sed '/^$/d' + X_PRPLWARE-COM_WiFiController.Network.AccessPointCommit() returned + [ + "" + ] + + $ sleep 5 + + $ R "ba-cli \"X_PRPLWARE-COM_WiFiController.Network.AccessPoint.1.{Band2_4G=0,Band5GH=0,Band5GL=0,Band6G=1}\"" | sed '/^$/d' | tail -n +3 + X_PRPLWARE-COM_WiFiController.Network.AccessPoint.1.Band2_4G=0 + X_PRPLWARE-COM_WiFiController.Network.AccessPoint.1.Band5GH=0 + X_PRPLWARE-COM_WiFiController.Network.AccessPoint.1.Band5GL=0 + X_PRPLWARE-COM_WiFiController.Network.AccessPoint.1.Band6G=1 + + $ R "ba-cli -l \"X_PRPLWARE-COM_WiFiController.Network.AccessPoint.1.Security.ModeEnabled=\"WPA3-Personal\"\"" | sed '/^$/d' + WPA3-Personal + + $ R "ba-cli \"X_PRPLWARE-COM_WiFiController.Network.AccessPointCommit()\"" | tail -n +2 | sed '/^$/d' + X_PRPLWARE-COM_WiFiController.Network.AccessPointCommit() returned + [ + "" + ] + + $ sleep 5 + + $ R logger -t cram "Stop prplmesh" + + $ R "( /etc/init.d/prplmesh stop ; sleep 2 ) 2>&1 > /dev/null" + $ R "sed -i 's/use_dataelements_vap_configs=1/use_dataelements_vap_configs=0/g' /opt/prplmesh/config/beerocks_controller.conf" + +Disable private vaps: + + $ R logger -t cram "Disable private vaps" + $ enable_ap_sync 3 0 + AccessPoint.\d+.Enable=0 (re) + + $ enable_ap_sync 2 0 + AccessPoint.\d+.Enable=0 (re) + + $ enable_ap_sync 1 0 + AccessPoint.\d+.Enable=0 (re) + + $ check_ap_ref_ssid 5 Down + WiFi.AccessPoint.5 SSID Reference is Down + + $ check_ap_ref_ssid 3 Down + WiFi.AccessPoint.3 SSID Reference is Down + + $ check_ap_ref_ssid 1 Down + WiFi.AccessPoint.1 SSID Reference is Down + +Restart prplmesh: + + $ R logger -t cram "Restart prplmesh" + $ R "( /etc/init.d/prplmesh gateway_mode ; sleep 2 ) > /tmp/prplmesh-gw-mode.log 2>&1 ; logger -t prplmesh-gateway-mode < /tmp/prplmesh-gw-mode.log" + $ R "amx_wait_for X_PRPLWARE-COM_WiFiController.Network.Device.1" + + $ R logger -t cram "Test finished!" diff --git a/.gitlab/tests/cram/wnc-freedom/113-prplmesh-wpa3-cm.t b/.gitlab/tests/cram/wnc-freedom/113-prplmesh-wpa3-cm.t new file mode 100644 index 0000000000..127559e3ca --- /dev/null +++ b/.gitlab/tests/cram/wnc-freedom/113-prplmesh-wpa3-cm.t @@ -0,0 +1,256 @@ +Create R alias: + + $ alias R="${CRAM_REMOTE_COMMAND:-}" + $ . "${TESTDIR}/../scripts/wifi.sh" + + $ R logger -t cram "Starting prplMesh WPA3-CM test ..." + + $ R "amx_wait_for Device.WiFi" + +Set AutoChannelEnable=0 on all WiFi.Radio. interfaces: + + $ wifi_dm "Radio.*.AutoChannelEnable=0" + WiFi.Radio.1.AutoChannelEnable=0 + WiFi.Radio.2.AutoChannelEnable=0 + WiFi.Radio.3.AutoChannelEnable=0 + +Set channel to a non DFS one: + + $ wifi_dm "Radio.2.Channel=36" + WiFi.Radio.2.Channel=36 (re) + +Check default SecMode: + + $ R logger -t cram "Check default SecMode" + + $ wifi_dm "AccessPoint.1.Security.ModeEnabled?" + WiFi.AccessPoint.1.Security.ModeEnabled="WPA2-WPA3-Personal" + + $ wifi_dm "AccessPoint.3.Security.ModeEnabled?" + WiFi.AccessPoint.3.Security.ModeEnabled="WPA2-WPA3-Personal" + + $ wifi_dm "AccessPoint.5.Security.ModeEnabled?" + WiFi.AccessPoint.5.Security.ModeEnabled="WPA3-Personal" + +Check if private/guest VAPs contain WPA3-Personal-Compatibility in the Security.ModesAvailable list: +(use the regex AccessPoint\.[1-6]\+\.Security to filter out backhaul vaps ) + + $ wifi_dm "AccessPoint.*.Security.ModesAvailable?" | sed -n 's/^\(WiFi\.AccessPoint\.[1-6]\+\.Security\.ModesAvailable\).*WPA3-Personal-Compatibility.*/\1 has WPA3-Personal-Compatibility mode/p' + WiFi.AccessPoint.1.Security.ModesAvailable has WPA3-Personal-Compatibility mode + WiFi.AccessPoint.2.Security.ModesAvailable has WPA3-Personal-Compatibility mode + WiFi.AccessPoint.3.Security.ModesAvailable has WPA3-Personal-Compatibility mode + WiFi.AccessPoint.4.Security.ModesAvailable has WPA3-Personal-Compatibility mode + WiFi.AccessPoint.5.Security.ModesAvailable has WPA3-Personal-Compatibility mode + WiFi.AccessPoint.6.Security.ModesAvailable has WPA3-Personal-Compatibility mode + +Configure controller for NBAPI configuration: + + $ R logger -t cram "Stop prplmesh" + + $ R "( /etc/init.d/prplmesh 2>&1 > /dev/null stop ; sleep 2 )" 2>&1 > /dev/null + $ R "sed -i 's/use_dataelements_vap_configs=0/use_dataelements_vap_configs=1/g' /opt/prplmesh/config/beerocks_controller.conf" + $ R logger -t cram "Restart prplmesh" + $ R "( /etc/init.d/prplmesh gateway_mode ; sleep 2 ) > /tmp/prplmesh-gw-mode.log 2>&1 ; logger -t prplmesh-gateway-mode < /tmp/prplmesh-gw-mode.log" + $ R "amx_wait_for X_PRPLWARE-COM_WiFiController.Network.Device.1" + + $ sleep 10 + +Set WPA3-Personal-Compatibility and check that : 1. Controller reads it correctly, 2. triggers reconfiguration, and 3. agent applies the correct value: + + $ wifi_dm "AccessPoint.1.Security.ModeEnabled=\"WPA3-Personal-Compatibility\"" + WiFi.AccessPoint.1.Security.ModeEnabled="WPA3-Personal-Compatibility" + + $ wifi_dm "AccessPoint.3.Security.ModeEnabled=\"WPA3-Personal-Compatibility\"" + WiFi.AccessPoint.3.Security.ModeEnabled="WPA3-Personal-Compatibility" + + $ wifi_dm "AccessPoint.5.Security.ModeEnabled=\"WPA3-Personal-Compatibility\"" + WiFi.AccessPoint.5.Security.ModeEnabled="WPA3-Personal-Compatibility" + +Enable private vaps: + + $ R logger -t cram "Enable private vaps" + + $ enable_ap_sync 1 1 + AccessPoint.\d+.Enable=1 (re) + + $ enable_ap_sync 3 1 + AccessPoint.\d+.Enable=1 (re) + + $ enable_ap_sync 5 1 + AccessPoint.\d+.Enable=1 (re) + + $ check_ap_ref_ssid 1 Up + WiFi.AccessPoint.1 SSID Reference is Up + + $ check_ap_ref_ssid 3 Up + WiFi.AccessPoint.3 SSID Reference is Up + + $ check_ap_ref_ssid 5 Up + WiFi.AccessPoint.5 SSID Reference is Up + +Create one instances of Network.AccessPoint with WPA3-Personal enabled and push it to the agent: + + $ R logger -t cram "Create instances of Network.AccessPoint and push them to the agent" + + $ R "ba-cli \"X_PRPLWARE-COM_WiFiController.Network.AccessPoint+(Band2_4G=1,Band5GH=1,Band5GL=1,Band6G=1,MultiApMode=\"Fronthaul+Backhaul\",SSID=\"SSID_WPA3CM\",Security.ModeEnabled=\"WPA3-Personal\",Security.KeyPassphrase=\"password\",Enable=1)\"" | tail -n +2 | sed '/^$/d' + X_PRPLWARE-COM_WiFiController.Network.AccessPoint.* (re) + + $ R "ba-cli \"X_PRPLWARE-COM_WiFiController.Network.AccessPointCommit()\"" | tail -n +2 | sed '/^$/d' + X_PRPLWARE-COM_WiFiController.Network.AccessPointCommit() returned + [ + "" + ] + + $ sleep 10 + +Check that 3 SSID instances are still operating: + + $ R logger -t cram "Check private vaps" + + $ check_ap_ref_ssid 1 Up + WiFi.AccessPoint.1 SSID Reference is Up + + $ check_ap_ref_ssid 3 Up + WiFi.AccessPoint.3 SSID Reference is Up + + $ check_ap_ref_ssid 5 Up + WiFi.AccessPoint.5 SSID Reference is Up + +Check config from Nbapi AccessPoint is correctly applied : SSID / Security.ModeEnabled: + + $ wifi_dm "AccessPoint.1.SSIDReference+.SSID?" + Device.WiFi.SSID.\d+.SSID="SSID_WPA3CM" (re) + + $ wifi_dm "AccessPoint.3.SSIDReference+.SSID?" + Device.WiFi.SSID.\d+.SSID="SSID_WPA3CM" (re) + + $ wifi_dm "AccessPoint.5.SSIDReference+.SSID?" + Device.WiFi.SSID.\d+.SSID="SSID_WPA3CM" (re) + +Check if agent overrides the security mode: + + $ wifi_dm "AccessPoint.1.Security.ModeEnabled?" + WiFi.AccessPoint.1.Security.ModeEnabled="WPA3-Personal" + + $ wifi_dm "AccessPoint.3.Security.ModeEnabled?" + WiFi.AccessPoint.3.Security.ModeEnabled="WPA3-Personal" + + $ wifi_dm "AccessPoint.5.Security.ModeEnabled?" + WiFi.AccessPoint.5.Security.ModeEnabled="WPA3-Personal" + +Push WPA3-Personal-Compatibility: + + $ R logger -t cram "Push WPA3-Personal-Compatibility" + + $ R "ba-cli -l X_PRPLWARE-COM_WiFiController.Network.AccessPoint.1.Security.ModeEnabled=\"WPA3-Personal-Compatibility\"" | sed '/^$/d' + WPA3-Personal-Compatibility + + $ R "ba-cli \"X_PRPLWARE-COM_WiFiController.Network.AccessPointCommit()\"" | tail -n +2 | sed '/^$/d' + X_PRPLWARE-COM_WiFiController.Network.AccessPointCommit() returned + [ + "" + ] + + $ sleep 5 + +Check if agent overrides the security mode: + + $ wifi_dm "AccessPoint.1.Security.ModeEnabled?" + WiFi.AccessPoint.1.Security.ModeEnabled="WPA3-Personal-Compatibility" + + $ wifi_dm "AccessPoint.3.Security.ModeEnabled?" + WiFi.AccessPoint.3.Security.ModeEnabled="WPA3-Personal-Compatibility" + + $ wifi_dm "AccessPoint.5.Security.ModeEnabled?" + WiFi.AccessPoint.5.Security.ModeEnabled="WPA3-Personal-Compatibility" + +Check hostapd configuration file: +(RSN Override 1 is set, RSN Override 2 shouldn't be present) + + $ itf=$(R "ba-cli -l WiFi.AccessPoint.1.SSIDReference+.Name?" | sed '/^$/d') + $ get_hapd_config $itf rsn_override_key_mgmt + SAE + + $ get_hapd_config $itf rsn_override_key_mgmt_2 + Option 'rsn_override_key_mgmt_2' not found + + $ itf=$(R "ba-cli -l WiFi.AccessPoint.3.SSIDReference+.Name?" | sed '/^$/d') + $ get_hapd_config $itf rsn_override_key_mgmt + SAE + + $ get_hapd_config $itf rsn_override_key_mgmt_2 + Option 'rsn_override_key_mgmt_2' not found + +Restore default config: + + $ R logger -t cram "Restore default config" + + $ R "ba-cli -l \"X_PRPLWARE-COM_WiFiController.Network.AccessPoint.1.SSID=\"prplOS\"\"" | sed '/^$/d' + prplOS + +Restore security modes in two steps: WPA3 Transition to 2.4GHz/5GHz and then WPA3 Personal to 6GHz: + + $ R "ba-cli -l \"X_PRPLWARE-COM_WiFiController.Network.AccessPoint.1.Band6G=0\"" | sed '/^$/d' + 0 + + $ R "ba-cli -l \"X_PRPLWARE-COM_WiFiController.Network.AccessPoint.1.Security.ModeEnabled=\"WPA3-Personal-Transition\"\"" | sed '/^$/d' + WPA3-Personal-Transition + + $ R "ba-cli \"X_PRPLWARE-COM_WiFiController.Network.AccessPointCommit()\"" | tail -n +2 | sed '/^$/d' + X_PRPLWARE-COM_WiFiController.Network.AccessPointCommit() returned + [ + "" + ] + + $ sleep 5 + + $ R "ba-cli \"X_PRPLWARE-COM_WiFiController.Network.AccessPoint.1.{Band2_4G=0,Band5GH=0,Band5GL=0,Band6G=1}\"" | sed '/^$/d' | tail -n +3 + X_PRPLWARE-COM_WiFiController.Network.AccessPoint.1.Band2_4G=0 + X_PRPLWARE-COM_WiFiController.Network.AccessPoint.1.Band5GH=0 + X_PRPLWARE-COM_WiFiController.Network.AccessPoint.1.Band5GL=0 + X_PRPLWARE-COM_WiFiController.Network.AccessPoint.1.Band6G=1 + + $ R "ba-cli -l \"X_PRPLWARE-COM_WiFiController.Network.AccessPoint.1.Security.ModeEnabled=\"WPA3-Personal\"\"" | sed '/^$/d' + WPA3-Personal + + $ R "ba-cli \"X_PRPLWARE-COM_WiFiController.Network.AccessPointCommit()\"" | tail -n +2 | sed '/^$/d' + X_PRPLWARE-COM_WiFiController.Network.AccessPointCommit() returned + [ + "" + ] + + $ sleep 5 + + $ R logger -t cram "Stop prplmesh" + + $ R "( /etc/init.d/prplmesh stop ; sleep 2 ) 2>&1 > /dev/null" + $ R "sed -i 's/use_dataelements_vap_configs=1/use_dataelements_vap_configs=0/g' /opt/prplmesh/config/beerocks_controller.conf" + +Disable private vaps: + + $ R logger -t cram "Disable private vaps" + $ enable_ap_sync 5 0 + AccessPoint.\d+.Enable=0 (re) + + $ enable_ap_sync 3 0 + AccessPoint.\d+.Enable=0 (re) + + $ enable_ap_sync 1 0 + AccessPoint.\d+.Enable=0 (re) + + $ check_ap_ref_ssid 5 Down + WiFi.AccessPoint.5 SSID Reference is Down + + $ check_ap_ref_ssid 3 Down + WiFi.AccessPoint.3 SSID Reference is Down + + $ check_ap_ref_ssid 1 Down + WiFi.AccessPoint.1 SSID Reference is Down + +Restart prplmesh: + + $ R logger -t cram "Restart prplmesh" + $ R "( /etc/init.d/prplmesh gateway_mode ; sleep 2 ) > /tmp/prplmesh-gw-mode.log 2>&1 ; logger -t prplmesh-gateway-mode < /tmp/prplmesh-gw-mode.log" + $ R "amx_wait_for X_PRPLWARE-COM_WiFiController.Network.Device.1" + + $ R logger -t cram "Test finished!"