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 <iacob.juc_ext@softathome.com>
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
This commit is contained in:
Iacob Juc 2025-12-10 15:57:21 +01:00 committed by Hela Saadani
parent f8c9ef264b
commit fbc039df76
3 changed files with 512 additions and 1 deletions

View File

@ -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

View File

@ -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!"

View File

@ -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!"