ci: cram: mozart: sync wifi tests with 24.10 release

Sync wifi tests with new prplOS 24.10 release.

References: PCF-1970
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
This commit is contained in:
Christian Marangi 2025-09-28 10:48:48 +02:00 committed by Matthias Franck
parent 09c989d862
commit d467fd4524
5 changed files with 616 additions and 258 deletions

View File

@ -1,258 +0,0 @@
Create R alias:
$ alias R="${CRAM_REMOTE_COMMAND:-}"
Set channel to a non DFS one:
$ R "ubus -S call WiFi.Radio.2 _set '{\"parameters\":{\"Channel\":36}}'"
{"WiFi.Radio.2.":{"Channel":36}}
{}
{"amxd-error-code":0}
$ sleep 1
Switch channel bandwith from 160 to 80 Mhz to avoid doing DFS CAC operation, that lead to long delay before vaps being up (to be removed when PPM 2810 is fixed):
$ R "ubus -S call WiFi.Radio.2 _set '{\"parameters\":{\"OperatingChannelBandwidth\":\"80MHz\"}}'"
{"WiFi.Radio.2.":{"OperatingChannelBandwidth":"80MHz"}}
{}
{"amxd-error-code":0}
$ sleep 1
Check that wireless has desired configuration and state after boot:
$ R "ubus -S call WiFi.SSID _get | jsonfilter -e @[*].SSID -e @[*].Status | sort"
Dormant
Dormant
Dormant
Down
Down
Down
Down
Down
Down
PWHM_SSID2
PWHM_SSID5
PWHM_SSID8
prplOS
prplOS
prplOS
prplOS-guest
prplOS-guest
prplOS-guest
$ R "pgrep -f 'hostapd -ddt'"
[1]
$ R "ubus list | grep hostapd."
[1]
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 "ubus -t 60 wait_for X_PRPLWARE-COM_WiFiController.Network.Device.1"
Start wireless:
$ R logger -t cram "Start wireless"
$ R "ubus -S call WiFi.AccessPoint.1 _set '{\"parameters\":{\"Enable\":1}}'"
{"WiFi.AccessPoint.1.":{"Enable":true}}
{}
{"amxd-error-code":0}
$ R "ubus -S call WiFi.AccessPoint.2 _set '{\"parameters\":{\"Enable\":1}}'"
{"WiFi.AccessPoint.2.":{"Enable":true}}
{}
{"amxd-error-code":0}
$ R "ubus -S call WiFi.AccessPoint.3 _set '{\"parameters\":{\"Enable\":1}}'"
{"WiFi.AccessPoint.3.":{"Enable":true}}
{}
{"amxd-error-code":0}
$ R "ubus -S call WiFi.AccessPoint.4 _set '{\"parameters\":{\"Enable\":1}}'"
{"WiFi.AccessPoint.4.":{"Enable":true}}
{}
{"amxd-error-code":0}
$ R "ubus -S call WiFi.AccessPoint.5 _set '{\"parameters\":{\"Enable\":1}}'"
{"WiFi.AccessPoint.5.":{"Enable":true}}
{}
{"amxd-error-code":0}
$ R "ubus -S call WiFi.AccessPoint.6 _set '{\"parameters\":{\"Enable\":1}}'"
{"WiFi.AccessPoint.6.":{"Enable":true}}
{}
{"amxd-error-code":0}
$ sleep 10
Check that hostapd is operating as expected:
$ R logger -t cram "Check that hostapd is operating after reboot"
$ R "ps axw" | sed -nE 's/.*(hostapd.*)/\1/p' | head -1 | tr -s ' ' '\n' | LC_ALL=C sort
-ddt
/tmp/wlan0_hapd.conf
/tmp/wlan1_hapd.conf
/tmp/wlan2_hapd.conf
hostapd
$ R "ubus list | grep hostapd. | sort"
hostapd-auth
hostapd.wlan0.1
hostapd.wlan0.2
hostapd.wlan1.1
hostapd.wlan1.2
hostapd.wlan2.1
hostapd.wlan2.2
Check that wireless is operating:
$ R "ubus -S call WiFi.SSID _get | jsonfilter -e @[*].SSID -e @[*].Status | sort"
Dormant
Dormant
Dormant
PWHM_SSID2
PWHM_SSID5
PWHM_SSID8
Up
Up
Up
Up
Up
Up
prplOS
prplOS
prplOS
prplOS-guest
prplOS-guest
prplOS-guest
$ R "iw dev | grep -e Interface -e ssid | tr -d '\t' | sort"
Interface wlan0
Interface wlan0.1
Interface wlan0.2
Interface wlan1
Interface wlan1.1
Interface wlan1.2
Interface wlan2
Interface wlan2.1
Interface wlan2.2
ssid prplOS
ssid prplOS
ssid prplOS
ssid prplOS-guest
ssid prplOS-guest
ssid prplOS-guest
$ sleep 10
Check that prplmesh processes are running:
$ R logger -t cram "Check that prplmesh processes are running"
$ R "ps axw" | sed -nE 's/.*(\/opt\/prplmesh\/bin.*)/\1/p' | LC_ALL=C sort
/opt/prplmesh/bin/beerocks_agent
/opt/prplmesh/bin/beerocks_controller
/opt/prplmesh/bin/beerocks_fronthaul -i wlan0
/opt/prplmesh/bin/beerocks_fronthaul -i wlan1
/opt/prplmesh/bin/beerocks_fronthaul -i wlan2
/opt/prplmesh/bin/beerocks_vendor_message
/opt/prplmesh/bin/ieee1905_transport
Check that prplmesh is operational:
$ R logger -t cram "Check that prplmesh is operational"
$ R "/opt/prplmesh/scripts/prplmesh_utils.sh status" | LC_ALL=C sort
\x1b[0m (esc)
\x1b[0m\x1b[1;32mOK Main radio agent operational (esc)
\x1b[1;32moperational test success! (esc)
/opt/prplmesh/scripts/prplmesh_utils.sh: status
[0-9]+ beerocks_contro (re)
[0-9]+ beerocks_agent (re)
[0-9]+ beerocks_vendor (re)
[0-9]+ beerocks_fronth (re)
[0-9]+ beerocks_fronth (re)
[0-9]+ beerocks_fronth (re)
OK wlan0 radio agent operational
OK wlan1 radio agent operational
OK wlan2 radio agent operational
executing operational test using bml
Check that prplmesh is in operational state:
$ R logger -t cram "Check that prplmesh is in operational state"
$ R "/opt/prplmesh/bin/beerocks_cli -c bml_conn_map" | egrep '(wlan|OK)' | sed -E "s/.*: (wlan[0-9.]+) .*/\1/" | LC_ALL=C sort
bml_connect: return value is: BML_RET_OK, Success status
bml_disconnect: return value is: BML_RET_OK, Success status
bml_nw_map_query: return value is: BML_RET_OK, Success status
wlan0
wlan0.0
wlan0.1
wlan1
wlan1.0
wlan1.1
wlan2
wlan2.0
wlan2.1
Disable wireless:
$ R logger -t cram "Stop wireless"
$ R "ubus -S call WiFi.AccessPoint.6 _set '{\"parameters\":{\"Enable\":0}}'"
{"WiFi.AccessPoint.6.":{"Enable":false}}
{}
{"amxd-error-code":0}
$ R "ubus -S call WiFi.AccessPoint.5 _set '{\"parameters\":{\"Enable\":0}}'"
{"WiFi.AccessPoint.5.":{"Enable":false}}
{}
{"amxd-error-code":0}
$ R "ubus -S call WiFi.AccessPoint.4 _set '{\"parameters\":{\"Enable\":0}}'"
{"WiFi.AccessPoint.4.":{"Enable":false}}
{}
{"amxd-error-code":0}
$ R "ubus -S call WiFi.AccessPoint.3 _set '{\"parameters\":{\"Enable\":0}}'"
{"WiFi.AccessPoint.3.":{"Enable":false}}
{}
{"amxd-error-code":0}
$ R "ubus -S call WiFi.AccessPoint.2 _set '{\"parameters\":{\"Enable\":0}}'"
{"WiFi.AccessPoint.2.":{"Enable":false}}
{}
{"amxd-error-code":0}
$ R "ubus -S call WiFi.AccessPoint.1 _set '{\"parameters\":{\"Enable\":0}}'"
{"WiFi.AccessPoint.1.":{"Enable":false}}
{}
{"amxd-error-code":0}
$ sleep 10
Check that wireless is disabled:
$ R "ubus -S call WiFi.SSID _get | jsonfilter -e @[*].SSID -e @[*].Status | sort"
Dormant
Dormant
Dormant
Down
Down
Down
Down
Down
Down
PWHM_SSID2
PWHM_SSID5
PWHM_SSID8
prplOS
prplOS
prplOS
prplOS-guest
prplOS-guest
prplOS-guest

View File

@ -0,0 +1,358 @@
Create R alias:
$ alias R="${CRAM_REMOTE_COMMAND:-}"
Provide common helpers:
$ enable_ap() { R "ba-cli -j -l WiFi.AccessPoint.${1}.Enable=1 | grep -q Enable && echo '"WiFi.AccessPoint.${1}" enabled'";}
$ disable_ap() { R "ba-cli -j -l WiFi.AccessPoint.${1}.Enable=0 | grep -q Enable && echo '"WiFi.AccessPoint.${1}" disabled'";}
$ check_ap_ref_ssid() { R "i=15 ; while [ \$i -gt 1 ]; do ba-cli -j -l WiFi.AccessPoint.${1}.SSIDReference+.Status? | grep WiFi.SSID. | grep -q "${2}" && echo '"WiFi.AccessPoint.${1}" SSID Reference is "${2}"' && i=0 ; i=\$(( i-1 )); sleep 2 ; done";}
$ get_ssid_ref() { msg=$(R "ba-cli -j -l WiFi.AccessPoint.${1}.SSIDReference+.Status?"); echo "$msg" | sed '/^$/d';}
$ get_ssid_status() { R "ba-cli -j -l WiFi.SSID.?0 | jsonfilter -e @[0]'[@.Alias != \"ep2g0\" && @.Alias != \"ep5g0\" && @.Alias != \"ep6g0\"].Status'" | LC_ALL=C sort;}
$ R logger -t cram "Starting PWHM test ..."
Wait for Device.WiFi. datamodel availability:
$ R "amx_wait_for "Device.WiFi." "
$ sleep 10
Try Suspending prplMesh processes:
$ R "killall -SIGSTOP beerocks_agent > /dev/null 2>&1 || true"
$ R "killall -SIGSTOP beerocks_fronthaul > /dev/null 2>&1 || true"
Set AutoChannelEnable=0 on all WiFi.Radio. interfaces:
$ R "ba-cli -j -l WiFi.Radio.*.AutoChannelEnable=0 | sed '/^$/d'"
[{"WiFi.Radio.1.":{"AutoChannelEnable":0},"WiFi.Radio.2.":{"AutoChannelEnable":0},"WiFi.Radio.3.":{"AutoChannelEnable":0}}]
Set channel to a non DFS one:
$ R "ba-cli -j -l WiFi.Radio.2.Channel=36 | sed '/^$/d'"
[{"WiFi.Radio.2.":{"Channel":36}}]
$ sleep 5
Check default SSID status:
$ get_ssid_status
Down
Down
Down
Down
Down
Down
Check default SSID configuration of access points:
$ R "ba-cli -j -l WiFi.SSID.?0 | jsonfilter -e @[0]'[@.Alias != \"ep2g0\" && @.Alias != \"ep5g0\" && @.Alias != \"ep6g0\"].SSID'" | LC_ALL=C sort
prplOS
prplOS
prplOS
prplOS-guest
prplOS-guest
prplOS-guest
Check that no hostapd instance is running:
$ R "pgrep -f 'hostapd -ddt'"
[1]
Test activation of access point 1:
$ R logger -t cram "Test AccessPoint 1 activation "$(get_ssid_ref 1)""
$ enable_ap 1
WiFi.AccessPoint.1 enabled
$ check_ap_ref_ssid 1 Up
WiFi.AccessPoint.1 SSID Reference is Up
$ sleep 10
$ get_ssid_status
Down
Down
Down
Down
Down
Up
Test activation of access point 2:
$ R logger -t cram "Test AccessPoint 2 activation "$(get_ssid_ref 2)""
$ enable_ap 2
WiFi.AccessPoint.2 enabled
$ check_ap_ref_ssid 2 Up
WiFi.AccessPoint.2 SSID Reference is Up
$ sleep 10
$ get_ssid_status
Down
Down
Down
Down
Up
Up
Test activation of access point 3:
$ R logger -t cram "Test AccessPoint 3 activation "$(get_ssid_ref 3)""
$ enable_ap 3
WiFi.AccessPoint.3 enabled
$ check_ap_ref_ssid 3 Up
WiFi.AccessPoint.3 SSID Reference is Up
$ sleep 10
$ get_ssid_status
Down
Down
Down
Up
Up
Up
Test activation of access point 4:
$ R logger -t cram "Test AccessPoint 4 activation "$(get_ssid_ref 4)""
$ enable_ap 4
WiFi.AccessPoint.4 enabled
$ check_ap_ref_ssid 4 Up
WiFi.AccessPoint.4 SSID Reference is Up
$ sleep 10
$ get_ssid_status
Down
Down
Up
Up
Up
Up
Test activation of access point 5:
$ R logger -t cram "Test AccessPoint 5 activation "$(get_ssid_ref 5)""
$ enable_ap 5
WiFi.AccessPoint.5 enabled
$ check_ap_ref_ssid 5 Up
WiFi.AccessPoint.5 SSID Reference is Up
$ sleep 10
$ get_ssid_status
Down
Up
Up
Up
Up
Up
Test activation of access point 6:
$ R logger -t cram "Test AccessPoint 6 activation "$(get_ssid_ref 6)""
$ enable_ap 6
WiFi.AccessPoint.6 enabled
$ check_ap_ref_ssid 6 Up
WiFi.AccessPoint.6 SSID Reference is Up
$ sleep 10
$ get_ssid_status
Up
Up
Up
Up
Up
Up
Check that hostapd is operating as expected:
$ R logger -t cram "Check that hostapd is operating"
$ R "ps axw" | sed -nE 's/.*(hostapd.*)/\1/p' | head -1 | tr -s ' ' '\n' | LC_ALL=C sort
-ddt
/tmp/wlan0_hapd.conf
/tmp/wlan1_hapd.conf
/tmp/wlan2_hapd.conf
hostapd
$ R "ubus list | grep -e 'hostapd\.' | sort"
hostapd.wlan0.1
hostapd.wlan0.2
hostapd.wlan1.1
hostapd.wlan1.2
hostapd.wlan2.1
hostapd.wlan2.2
Check iw interfaces and beaconing:
$ R "iw dev | grep -e Interface -e ssid | tr -d '\t' | sort"
Interface wlan0
Interface wlan0.1
Interface wlan0.2
Interface wlan1
Interface wlan1.1
Interface wlan1.2
Interface wlan2
Interface wlan2.1
Interface wlan2.2
ssid prplOS
ssid prplOS
ssid prplOS
ssid prplOS-guest
ssid prplOS-guest
ssid prplOS-guest
Test deactivation of access point 6:
$ R logger -t cram "Test AccessPoint 6 deactivation "$(get_ssid_ref 6)""
$ disable_ap 6
WiFi.AccessPoint.6 disabled
$ check_ap_ref_ssid 6 Down
WiFi.AccessPoint.6 SSID Reference is Down
$ sleep 10
$ get_ssid_status
Down
Up
Up
Up
Up
Up
Test deactivation of access point 5:
$ R logger -t cram "Test AccessPoint 5 deactivation "$(get_ssid_ref 5)""
$ disable_ap 5
WiFi.AccessPoint.5 disabled
$ check_ap_ref_ssid 5 Down
WiFi.AccessPoint.5 SSID Reference is Down
$ sleep 10
$ get_ssid_status
Down
Down
Up
Up
Up
Up
Test deactivation of access point 4:
$ R logger -t cram "Test AccessPoint 4 deactivation "$(get_ssid_ref 4)""
$ disable_ap 4
WiFi.AccessPoint.4 disabled
$ check_ap_ref_ssid 4 Down
WiFi.AccessPoint.4 SSID Reference is Down
$ sleep 10
$ get_ssid_status
Down
Down
Down
Up
Up
Up
Test deactivation of access point 3:
$ R logger -t cram "Test AccessPoint 3 deactivation "$(get_ssid_ref 3)""
$ disable_ap 3
WiFi.AccessPoint.3 disabled
$ check_ap_ref_ssid 3 Down
WiFi.AccessPoint.3 SSID Reference is Down
$ sleep 10
$ get_ssid_status
Down
Down
Down
Down
Up
Up
Test deactivation of access point 2:
$ R logger -t cram "Test AccessPoint 2 deactivation "$(get_ssid_ref 2)""
$ disable_ap 2
WiFi.AccessPoint.2 disabled
$ check_ap_ref_ssid 2 Down
WiFi.AccessPoint.2 SSID Reference is Down
$ sleep 10
$ get_ssid_status
Down
Down
Down
Down
Down
Up
Test deactivation of access point 1:
$ R logger -t cram "Test AccessPoint 1 deactivation "$(get_ssid_ref 1)""
$ disable_ap 1
WiFi.AccessPoint.1 disabled
$ check_ap_ref_ssid 1 Down
WiFi.AccessPoint.1 SSID Reference is Down
$ sleep 5
$ get_ssid_status
Down
Down
Down
Down
Down
Down
Check if hostapd process is stopped:
$ R "pgrep -f 'hostapd -ddt'"
[1]
Resume prplMesh processes:
$ R "killall -SIGCONT beerocks_agent > /dev/null 2>&1 || true"
$ R "killall -SIGCONT beerocks_fronthaul > /dev/null 2>&1 || true"
$ R logger -t cram "Stopping PWHM test .."
Wait 20s before leaving the test:
$ sleep 20
$ R logger -t cram "Test finished!"

View File

@ -0,0 +1 @@
../wifi/wifi-usp.t

View File

@ -0,0 +1,256 @@
Create R alias:
$ alias R="${CRAM_REMOTE_COMMAND:-}"
Provide common helpers:
$ get_ssid_status() { R "ba-cli -j -l WiFi.SSID.?0 | jsonfilter -e @[0]'[@.Alias != \"ep2g0\" && @.Alias != \"ep5g0\" && @.Alias != \"ep6g0\"].Status'" | LC_ALL=C sort;}
$ get_ssid_ssid() { R "ba-cli -j -l WiFi.SSID.?0 | jsonfilter -e @[0]'[@.Alias != \"ep2g0\" && @.Alias != \"ep5g0\" && @.Alias != \"ep6g0\"].SSID'" | LC_ALL=C sort;}
Set AutoChannelEnable=0 on all WiFi.Radio. interfaces:
$ R "ba-cli -j -l WiFi.Radio.*.AutoChannelEnable=0 | sed '/^$/d'"
[{"WiFi.Radio.1.":{"AutoChannelEnable":0},"WiFi.Radio.2.":{"AutoChannelEnable":0},"WiFi.Radio.3.":{"AutoChannelEnable":0}}]
Set channel to a non DFS one:
$ R "ba-cli -j -l WiFi.Radio.2.Channel=36 | sed '/^$/d'"
[{"WiFi.Radio.2.":{"Channel":36}}]
$ sleep 5
Configure controller, requires PPM-3022 to work:
$ 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=0/use_dataelements_vap_configs=1/g' /opt/prplmesh/config/beerocks_controller.conf"
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 "ubus -t 60 wait_for X_PRPLWARE-COM_WiFiController.Network.Device.1"
First call of AccessPointCommit, controller should push empty config to agents:
$ R logger -t cram "first call of AccessPointCommit pushes empty config, global teardown"
$ R "ubus -S call X_PRPLWARE-COM_WiFiController.Network AccessPointCommit"
{"retval":""}
{}
{"amxd-error-code":0}
$ R sleep 15
Check all AccessPoint.SSIDReference+ instances are disabled
$ get_ssid_status
Down
Down
Down
Down
Down
Down
$ get_ssid_ssid
prplOS
prplOS
prplOS
prplOS-guest
prplOS-guest
prplOS-guest
Create instances of Network.AccessPoint and push them to the agent:
$ R logger -t cram "create instances of Network.AccessPoint and push them to the agent"
$ R "ubus -S call X_PRPLWARE-COM_WiFiController.Network.AccessPoint _add"
{"object":"X_PRPLWARE-COM_WiFiController.Network.AccessPoint.1.","index":1,"name":"1","parameters":{},"path":"X_PRPLWARE-COM_WiFiController.Network.AccessPoint.1."}
{}
{"amxd-error-code":0}
Since no persistent storage of NbAPI Network subsection, always index:1 after controller restart:
$ R "ubus -S call X_PRPLWARE-COM_WiFiController.Network.AccessPoint.1 _set '{\"parameters\":{\"Band2_4G\":1,\"Band5GH\":1,\"Band5GL\":1,\"Band6G\":1}}'"
{"X_PRPLWARE-COM_WiFiController.Network.AccessPoint.1.":{"Band5GH":true,"Band6G":true,"Band2_4G":true,"Band5GL":true}}
{}
{"amxd-error-code":0}
$ R "ubus -S call X_PRPLWARE-COM_WiFiController.Network.AccessPoint.1 _set '{\"parameters\":{\"MultiApMode\":\"Fronthaul+Backhaul\"}}'"
{"X_PRPLWARE-COM_WiFiController.Network.AccessPoint.1.":{"MultiApMode":"Fronthaul+Backhaul"}}
{}
{"amxd-error-code":0}
$ R "ubus -S call X_PRPLWARE-COM_WiFiController.Network.AccessPoint.1.Security _set '{\"parameters\":{\"ModeEnabled\":\"WPA2-Personal\",\"KeyPassphrase\":\"password\"}}'"
{"X_PRPLWARE-COM_WiFiController.Network.AccessPoint.1.Security.":{"KeyPassphrase":"password","ModeEnabled":"WPA2-Personal"}}
{}
{"amxd-error-code":0}
$ R "ubus -S call X_PRPLWARE-COM_WiFiController.Network.AccessPoint.1 _set '{\"parameters\":{\"SSID\":\"prplOSpriv\"}}'"
{"X_PRPLWARE-COM_WiFiController.Network.AccessPoint.1.":{"SSID":"prplOSpriv"}}
{}
{"amxd-error-code":0}
In case the controller does not yet have this parameter, catch error here isof later during teardown test:
$ R "ubus -S call X_PRPLWARE-COM_WiFiController.Network.AccessPoint.1 _set '{\"parameters\":{\"Enable\":1}}'"
{"X_PRPLWARE-COM_WiFiController.Network.AccessPoint.1.":{"Enable":true}}
{}
{"amxd-error-code":0}
Create second instance of Network.AccessPoint for guest VAPs:
$ R "ubus -S call X_PRPLWARE-COM_WiFiController.Network.AccessPoint _add"
{"object":"X_PRPLWARE-COM_WiFiController.Network.AccessPoint.2.","index":2,"name":"2","parameters":{},"path":"X_PRPLWARE-COM_WiFiController.Network.AccessPoint.2."}
{}
{"amxd-error-code":0}
$ R "ubus -S call X_PRPLWARE-COM_WiFiController.Network.AccessPoint.2 _set '{\"parameters\":{\"Band2_4G\":1,\"Band5GH\":1,\"Band5GL\":1,\"Band6G\":1}}'"
{"X_PRPLWARE-COM_WiFiController.Network.AccessPoint.2.":{"Band5GH":true,"Band6G":true,"Band2_4G":true,"Band5GL":true}}
{}
{"amxd-error-code":0}
$ R "ubus -S call X_PRPLWARE-COM_WiFiController.Network.AccessPoint.2 _set '{\"parameters\":{\"MultiApMode\":\"Fronthaul\"}}'"
{"X_PRPLWARE-COM_WiFiController.Network.AccessPoint.2.":{"MultiApMode":"Fronthaul"}}
{}
{"amxd-error-code":0}
$ R "ubus -S call X_PRPLWARE-COM_WiFiController.Network.AccessPoint.2.Security _set '{\"parameters\":{\"ModeEnabled\":\"WPA2-Personal\",\"KeyPassphrase\":\"passwordGUEST\"}}'"
{"X_PRPLWARE-COM_WiFiController.Network.AccessPoint.2.Security.":{"KeyPassphrase":"passwordGUEST","ModeEnabled":"WPA2-Personal"}}
{}
{"amxd-error-code":0}
$ R "ubus -S call X_PRPLWARE-COM_WiFiController.Network.AccessPoint.2 _set '{\"parameters\":{\"SSID\":\"prplOSguest\"}}'"
{"X_PRPLWARE-COM_WiFiController.Network.AccessPoint.2.":{"SSID":"prplOSguest"}}
{}
{"amxd-error-code":0}
In case the controller does not yet have this parameter, catch error here isof later during teardown test:
$ R "ubus -S call X_PRPLWARE-COM_WiFiController.Network.AccessPoint.2 _set '{\"parameters\":{\"Enable\":1}}'"
{"X_PRPLWARE-COM_WiFiController.Network.AccessPoint.2.":{"Enable":true}}
{}
{"amxd-error-code":0}
$ R "ubus -S call X_PRPLWARE-COM_WiFiController.Network AccessPointCommit"
{"retval":""}
{}
{"amxd-error-code":0}
$ sleep 15
Check that wireless is operating:
$ get_ssid_status
Up
Up
Up
Up
Up
Up
$ get_ssid_ssid
prplOSguest
prplOSguest
prplOSguest
prplOSpriv
prplOSpriv
prplOSpriv
$ sleep 10
Check that prplmesh processes are running:
$ R logger -t cram "Check that prplmesh processes are running"
$ R "ps axw" | sed -nE 's/.*(\/opt\/prplmesh\/bin.*)/\1/p' | LC_ALL=C sort
/opt/prplmesh/bin/beerocks_agent
/opt/prplmesh/bin/beerocks_controller
/opt/prplmesh/bin/beerocks_fronthaul -i wlan0
/opt/prplmesh/bin/beerocks_fronthaul -i wlan1
/opt/prplmesh/bin/beerocks_fronthaul -i wlan2
/opt/prplmesh/bin/beerocks_vendor_message
/opt/prplmesh/bin/ieee1905_transport
Check that prplmesh is operational:
$ R logger -t cram "Check that prplmesh is operational"
$ R "/opt/prplmesh/scripts/prplmesh_utils.sh status" | LC_ALL=C sort
\x1b[0m (esc)
\x1b[0m\x1b[1;32mOK Main radio agent operational (esc)
\x1b[1;32moperational test success! (esc)
/opt/prplmesh/scripts/prplmesh_utils.sh: status
[0-9]+ beerocks_contro (re)
[0-9]+ beerocks_agent (re)
[0-9]+ beerocks_vendor (re)
[0-9]+ beerocks_fronth (re)
[0-9]+ beerocks_fronth (re)
[0-9]+ beerocks_fronth (re)
OK wlan0 radio agent operational
OK wlan1 radio agent operational
OK wlan2 radio agent operational
executing operational test using bml
Check that controller received correct info about wifi subsystem:
$ R logger -t cram "Check controller info about network"
$ R "/opt/prplmesh/bin/beerocks_cli -c bml_conn_map" | egrep '(wlan|OK)' | sed -E "s/.*: (wlan[0-9.]+) .*/\1/" | LC_ALL=C sort
bml_connect: return value is: BML_RET_OK, Success status
bml_disconnect: return value is: BML_RET_OK, Success status
bml_nw_map_query: return value is: BML_RET_OK, Success status
wlan0
wlan0.0
wlan0.1
wlan1
wlan1.0
wlan1.1
wlan2
wlan2.0
wlan2.1
To disable wireless, disable instances of Network.AccessPoint{i} and call AccessPointCommit():
$ R logger -t cram "Stop wireless"
$ R "ubus -S call X_PRPLWARE-COM_WiFiController.Network.AccessPoint.1 _set '{\"parameters\":{\"Enable\":0}}'"
{"X_PRPLWARE-COM_WiFiController.Network.AccessPoint.1.":{"Enable":false}}
{}
{"amxd-error-code":0}
$ R "ubus -S call X_PRPLWARE-COM_WiFiController.Network.AccessPoint.2 _set '{\"parameters\":{\"Enable\":0}}'"
{"X_PRPLWARE-COM_WiFiController.Network.AccessPoint.2.":{"Enable":false}}
{}
{"amxd-error-code":0}
$ R "ubus -S call X_PRPLWARE-COM_WiFiController.Network AccessPointCommit"
{"retval":""}
{}
{"amxd-error-code":0}
$ sleep 10
Check that wireless is disabled:
$ get_ssid_status
Down
Down
Down
Down
Down
Down
Check that SSIDs did not change:
$ get_ssid_ssid
prplOSguest
prplOSguest
prplOSguest
prplOSpriv
prplOSpriv
prplOSpriv

View File

@ -0,0 +1 @@
../wifi/wifi-sensing.t