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:
parent
09c989d862
commit
d467fd4524
@ -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
|
||||
358
.gitlab/tests/cram/arcadyan-mozart/100-pwhm.t
Normal file
358
.gitlab/tests/cram/arcadyan-mozart/100-pwhm.t
Normal 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!"
|
||||
|
||||
1
.gitlab/tests/cram/arcadyan-mozart/102-pwhm-usp.t
Symbolic link
1
.gitlab/tests/cram/arcadyan-mozart/102-pwhm-usp.t
Symbolic link
@ -0,0 +1 @@
|
||||
../wifi/wifi-usp.t
|
||||
256
.gitlab/tests/cram/arcadyan-mozart/110-prplmesh-dataelements.t
Normal file
256
.gitlab/tests/cram/arcadyan-mozart/110-prplmesh-dataelements.t
Normal 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
|
||||
1
.gitlab/tests/cram/arcadyan-mozart/111-wifi-sensing.t
Symbolic link
1
.gitlab/tests/cram/arcadyan-mozart/111-wifi-sensing.t
Symbolic link
@ -0,0 +1 @@
|
||||
../wifi/wifi-sensing.t
|
||||
Loading…
Reference in New Issue
Block a user