ci: remove support for urx851-hdk-3 board

OSPv1 board was removed quite some time ago and replaced with OSPv2
successor, so lets cleanup the CI bits a bit to keep the tree tidy.

References: PCF-1134
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
This commit is contained in:
Petr Štetiar 2026-01-22 08:36:34 +01:00 committed by Hela Saadani
parent bf021278cb
commit fe95746263
19 changed files with 15 additions and 2147 deletions

View File

@ -1,149 +0,0 @@
.urx851-cdrouter: &urx851_cdrouter
needs: ["build test mxl_x86_osp_tb341 mxl_wlan_hostap_ng prpl security"]
extends:
- .urx851-hdk-3 testbed
- .cdrouter
CDRouter-Top-100+mDNS-OSP URX851-HDK-3 eMMC:
<<: *urx851_cdrouter
variables:
DUT_INIT_SCRIPTS: |
.gitlab/scripts/dut-init/cdrouter-dut-flush-dns-relay-cache.sh
.gitlab/scripts/dut-init/cdrouter-dut-configure-dyndns.sh
CDRouter-Top-100+mDNS-OSP URX851-HDK-3 VLAN WAN/LAN eMMC:
<<: *urx851_cdrouter
variables:
CDROUTER_TEST_CONFIG: vlan
DUT_INIT_SCRIPTS: |
.gitlab/scripts/dut-init/cdrouter-dut-flush-dns-relay-cache.sh
.gitlab/scripts/dut-init/cdrouter-dut-configure-dyndns.sh
.gitlab/scripts/dut-init/cdrouter-dut-enable-vlans.sh
CDRouter-Top-100+mDNS-OSP URX851-HDK-3 PPPoE WAN eMMC:
<<: *urx851_cdrouter
variables:
CDROUTER_TEST_CONFIG: ppp
DUT_INIT_SCRIPTS: |
.gitlab/scripts/dut-init/cdrouter-dut-flush-dns-relay-cache.sh
.gitlab/scripts/dut-init/cdrouter-dut-configure-dyndns.sh
.gitlab/scripts/dut-init/cdrouter-dut-enable-pppoe.sh
CDRouter-Wireless-OSPv1 URX851-HDK-3 eMMC:
<<: *urx851_cdrouter
stage: smoke tests
timeout: 15 minutes
variables:
CDROUTER_TEST_CONFIG: wireless
DUT_INIT_SCRIPTS: |
.gitlab/scripts/dut-init/cdrouter-dut-flush-dns-relay-cache.sh
.gitlab/scripts/dut-init/cdrouter-dut-configure-wireless.sh
.urx851-cdrouter-ipv6: &urx851_cdrouter_ipv6
<<: *urx851_cdrouter
rules:
- if: '$CI_PIPELINE_SOURCE == "schedule"'
when: never
- if: '$CI_COMMIT_BRANCH == $CI_DESIGNATED_BRANCH'
- when: manual
CDRouter-UPnP-IPv46 URX851-HDK-3 eMMC:
<<: *urx851_cdrouter_ipv6
timeout: 60 minutes
variables:
CDROUTER_TEST_CONFIG: generic-ipv6-upnp
DUT_INIT_SCRIPTS: |
.gitlab/scripts/dut-init/cdrouter-dut-flush-dns-relay-cache.sh
CDRouter-UPnP-IPv46-Failing URX851-HDK-3 eMMC:
<<: *urx851_cdrouter_ipv6
timeout: 120 minutes
allow_failure: true
variables:
CDROUTER_TEST_CONFIG: generic-ipv6-upnp
DUT_INIT_SCRIPTS: |
.gitlab/scripts/dut-init/cdrouter-dut-flush-dns-relay-cache.sh
CDRouter-IPv6-Top-100+mDNS URX851-HDK-3 eMMC:
<<: *urx851_cdrouter_ipv6
variables:
CDROUTER_TEST_CONFIG: generic-ipv6
DUT_INIT_SCRIPTS: |
.gitlab/scripts/dut-init/cdrouter-dut-flush-dns-relay-cache.sh
prpl-Certification URX851-HDK-3 eMMC:
<<: *urx851_cdrouter_ipv6
timeout: 120 minutes
allow_failure: true
rules:
- if: '$CI_PIPELINE_SOURCE == "schedule"'
when: never
- when: manual
variables:
CDROUTER_TEST_CONFIG: generic-ipv6
DUT_INIT_SCRIPTS: |
.gitlab/scripts/dut-init/cdrouter-dut-flush-dns-relay-cache.sh
.gitlab/scripts/dut-init/cdrouter-dut-configure-cwmpd.sh
CDRouter-IPv6-Top-100+mDNS URX851-HDK-3 VLAN WAN/LAN eMMC:
<<: *urx851_cdrouter_ipv6
variables:
CDROUTER_TEST_CONFIG: vlan-ipv6
DUT_INIT_SCRIPTS: |
.gitlab/scripts/dut-init/cdrouter-dut-flush-dns-relay-cache.sh
.gitlab/scripts/dut-init/cdrouter-dut-enable-vlans.sh
.CDRouter-IPv6-Top-100+mDNS URX851-HDK-3 PPPoE WAN eMMC:
<<: *urx851_cdrouter_ipv6
variables:
CDROUTER_TEST_CONFIG: ppp-ipv6
DUT_INIT_SCRIPTS: |
.gitlab/scripts/dut-init/cdrouter-dut-flush-dns-relay-cache.sh
.gitlab/scripts/dut-init/cdrouter-dut-enable-pppoe.sh
CDRouter-TR-069 URX851-HDK-3 eMMC:
<<: *urx851_cdrouter
variables:
DUT_INIT_SCRIPTS: |
.gitlab/scripts/dut-init/cdrouter-dut-flush-dns-relay-cache.sh
.gitlab/scripts/dut-init/cdrouter-tr181-mockups.sh
CDRouter-USP-prpl URX851-HDK-3 eMMC:
<<: *urx851_cdrouter
allow_failure: true
rules:
- if: '$CI_PIPELINE_SOURCE == "schedule"'
when: never
- when: manual
variables:
DUT_INIT_SCRIPTS: |
.gitlab/scripts/dut-init/cdrouter-dut-flush-dns-relay-cache.sh
.gitlab/scripts/dut-init/cdrouter-dut-configure-dyndns.sh
prplWare-Smoke-Test-Suite URX851-HDK-3 eMMC:
<<: *urx851_cdrouter_ipv6
stage: smoke tests
variables:
CDROUTER_TEST_CONFIG: smoke-test
DUT_INIT_SCRIPTS: |
.gitlab/scripts/dut-init/cdrouter-dut-flush-dns-relay-cache.sh
.gitlab/scripts/dut-init/cdrouter-tr181-mockups.sh
.gitlab/scripts/dut-init/cdrouter-dut-configure-dyndns.sh
.gitlab/scripts/dut-init/cdrouter-dut-configure-prplmesh-controller.sh
prplOS-Network-Test-Plan-Mandatory-v1.1.0 URX851-HDK-3 eMMC:
<<: *urx851_cdrouter_ipv6
stage: certification tests
timeout: 70 minutes
allow_failure: true
rules:
- if: '$CI_PIPELINE_SOURCE == "schedule"'
when: never
- when: manual
variables:
CDROUTER_TEST_CONFIG: prplos-certification
DUT_INIT_SCRIPTS: |
.gitlab/scripts/dut-init/cdrouter-dut-flush-dns-relay-cache.sh
.gitlab/scripts/dut-init/cdrouter-dut-configure-cwmpd.sh
.gitlab/scripts/dut-init/cdrouter-dut-configure-prplos-certification.sh

View File

@ -1,14 +0,0 @@
.urx851-hdk-3 testbed:
extends: .testbed true.cz
variables:
DUT_ARCH: x86_64
DUT_TARGET: intel_x86
DUT_SUBTARGET: lgm
DUT_BOARD: urx851-hdk-3
LABGRID_TARGET: urx851-hdk-3-emmc
TFTP_IMAGE_FILENAME: prplos-intel_x86-lgm-PRPL_OSP_TB341-osp_tb341_fullimage.img
TFTP_IMAGE_FILENAME_PATTERN: /.*prplos-intel_x86-lgm-PRPL_OSP_TB341-osp_tb341_fullimage.img/
DUT_ARCH_PACKAGES_PATH: $PACKAGE_DIR/${DUT_ARCH}
CDROUTER_CONFIG_LAN_IFACE_ALIAS: ETH0_2
tags:
- dut-urx851-hdk-3

View File

@ -2,12 +2,10 @@ Create R alias:
$ alias R="${CRAM_REMOTE_COMMAND:-}"
Don't run test on Turris Omnia and OSPv1 boards as they don't have Reset and WPS buttons:
Don't run test on Turris Omnia as it doesn't have Reset and WPS buttons:
$ [ "$DUT_BOARD" = "turris-omnia" ] && exit 80
[1]
$ [ "$DUT_BOARD" = "urx851-hdk-3" ] && exit 80
[1]
Check that all buttons are in the expected state:

View File

@ -2,9 +2,9 @@ Setup the test configuration:
$ alias R="${CRAM_REMOTE_COMMAND:-}"
Run the tests only on OSPv1 board (PCF-1209, PCF-1356):
Run the tests only on OSPv2 board (PCF-1209, PCF-1356):
$ [ "$DUT_BOARD" = "urx851-hdk-3" ] || exit 80
$ [ "$DUT_BOARD" = "mxl25641-hdk-6" ] || exit 80
Check /lcm is running on expected ext4 filesystem:

View File

@ -1 +0,0 @@
../urx851-b0-dk/011-tls.t

View File

@ -0,0 +1,12 @@
Create R alias:
$ alias R="${CRAM_REMOTE_COMMAND:-}"
Check that there is just single TLS library OpenSSL:
$ R "opkg list-installed" | grep -E '(openssl|mbedtls|wolfssl)' | sort | awk -F ' - ' '{print $1}'
libopenssl-conf
libopenssl.* (re)
libustream-openssl.* (re)
lighttpd-mod-openssl
openssl-util

File diff suppressed because it is too large Load Diff

View File

@ -1,46 +0,0 @@
Create R alias:
$ alias R="${CRAM_REMOTE_COMMAND:-}"
Check correct routing table:
$ R ip route
default via 10.0.0.1 dev eth1 proto static
10.0.0.0/24 dev eth1 proto kernel scope link src 10.0.0.2
192.168.1.0/24 dev br-lan proto kernel scope link src 192.168.1.1
192.168.2.0/24 dev br-guest proto kernel scope link src 192.168.2.1 linkdown
192.168.3.0/24 dev br-lcm proto kernel scope link src 192.168.3.1 linkdown
Check correct interface setup:
$ R "ip link" | awk '/^[0-9]+:/ { printf $0; next } { print ";"$2 }' | awk '/lo:/{print} !/00:00:00:00:00:00/{print}' | cut -d\; -f1 | cut -d: -f2- | LC_ALL=C sort
br-guest: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000
br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
br-lcm: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000
eth0_1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq master br-lan state DOWN mode DEFAULT group default qlen 1000
eth0_2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br-lan state UP mode DEFAULT group default qlen 1000
eth0_3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq master br-lan state DOWN mode DEFAULT group default qlen 1000
eth0_4: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq master br-lan state DOWN mode DEFAULT group default qlen 1000
eth0_5: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq master br-lan state DOWN mode DEFAULT group default qlen 1000
eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
gre0@NONE: <NOARP> mtu 1476 qdisc noop state DOWN mode DEFAULT group default qlen 1000
ip6gre0@NONE: <NOARP> mtu 1448 qdisc noop state DOWN mode DEFAULT group default qlen 1000
ip6tnl0@NONE: <NOARP> mtu 1452 qdisc noop state DOWN mode DEFAULT group default qlen 1000
lo: <LOOPBACK,UP,LOWER_UP> mtu 65535 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
lpdev0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UNKNOWN mode DEFAULT group default qlen 1000
mxl_vpn: <> mtu 10034 qdisc noop state DOWN mode DEFAULT group default qlen 1000
sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN mode DEFAULT group default qlen 1000
teql0: <NOARP> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 100
tunl0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN mode DEFAULT group default qlen 1000
wlan0.1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop master br-lan state DOWN mode DEFAULT group default qlen 1000
wlan0.2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop master br-guest state DOWN mode DEFAULT group default qlen 1000
wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
wlan1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq master br-lan state DOWN mode DORMANT group default qlen 1000
wlan2.1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop master br-lan state DOWN mode DEFAULT group default qlen 1000
wlan2.2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop master br-guest state DOWN mode DEFAULT group default qlen 1000
wlan2: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
wlan3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq master br-lan state DOWN mode DORMANT group default qlen 1000
wlan4.1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop master br-lan state DOWN mode DEFAULT group default qlen 1000
wlan4.2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop master br-guest state DOWN mode DEFAULT group default qlen 1000
wlan4: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
wlan5: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq master br-lan state DOWN mode DORMANT group default qlen 1000

View File

@ -1,12 +0,0 @@
Create R alias:
$ alias R="${CRAM_REMOTE_COMMAND:-}"
Check that there is just single TLS library OpenSSL:
$ R "opkg list-installed" | grep -E '(openssl|mbedtls|wolfssl)' | sort | awk -F ' - ' '{print $1}'
libopenssl-conf
libopenssl.* (re)
libustream-openssl.* (re)
lighttpd-mod-openssl
openssl-util

View File

@ -1,10 +0,0 @@
Create R alias:
$ alias R="${CRAM_REMOTE_COMMAND:-}"
Check that we've correct system info:
$ R "ubus call system board | jsonfilter -e @.system -e @.model -e @.board_name"
Intel(R) Atom(TM) Quad IA CPU @ 2.49GHz
mxl,osp-tb341
mxl,lgm

View File

@ -1,19 +0,0 @@
Create R alias:
$ alias R="${CRAM_REMOTE_COMMAND:-}"
Check for correct SSID setup:
$ R "iw dev | grep -e Interface -e ssid | sort"
\tInterface wlan0 (esc)
\tInterface wlan0.1 (esc)
\tInterface wlan0.2 (esc)
\tInterface wlan1 (esc)
\tInterface wlan2 (esc)
\tInterface wlan2.1 (esc)
\tInterface wlan2.2 (esc)
\tInterface wlan3 (esc)
\tInterface wlan4 (esc)
\tInterface wlan4.1 (esc)
\tInterface wlan4.2 (esc)
\tInterface wlan5 (esc)

View File

@ -1,349 +0,0 @@
Create R alias:
$ alias R="${CRAM_REMOTE_COMMAND:-}"
$ . "${TESTDIR}/../scripts/wifi.sh"
$ R logger -t cram "Starting 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 -t'"
[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 5
$ 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 5
$ 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 5
$ 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 5
$ 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 5
$ 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 5
$ 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
-t
/tmp/wlan0_hapd.conf
/tmp/wlan2_hapd.conf
/tmp/wlan4_hapd.conf
hostapd
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 wlan2
Interface wlan2.1
Interface wlan2.2
Interface wlan3
Interface wlan4
Interface wlan4.1
Interface wlan4.2
Interface wlan5
ssid dummy_ssid_2.4GHz
ssid dummy_ssid_5GHz
ssid dummy_ssid_6GHz
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 5
$ 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 5
$ 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 5
$ 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 5
$ 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 5
$ 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 -t'"
[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 test .."
Wait 20s before leaving the test:
$ sleep 20
$ R logger -t cram "Test finished!"

View File

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

View File

@ -1,253 +0,0 @@
Create R alias:
$ alias R="${CRAM_REMOTE_COMMAND:-}"
$ . "${TESTDIR}/../scripts/wifi.sh"
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 wlan2
/opt/prplmesh/bin/beerocks_fronthaul -i wlan4
/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" | sed 's/^[0-9]\+ //' | 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
OK wlan0 radio agent operational
OK wlan2 radio agent operational
OK wlan4 radio agent operational
beerocks_agent
beerocks_contro
beerocks_fronth
beerocks_fronth
beerocks_fronth
beerocks_vendor
executing operational test using bml
ieee1905_transp
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
wlan2
wlan2.0
wlan2.1
wlan4
wlan4.0
wlan4.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

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

View File

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

View File

@ -1,79 +0,0 @@
Create R alias:
$ alias R="${CRAM_REMOTE_COMMAND:-}"
Get initial state of bridges:
$ R "bridge -json link" | jq -r 'sort_by(.master,.ifname) | reverse | .[] | "\(.master)@\(.ifname)"'
br-lan@wlan5
br-lan@wlan4.1
br-lan@wlan3
br-lan@wlan2.1
br-lan@wlan1
br-lan@wlan0.1
br-lan@eth0_5
br-lan@eth0_4
br-lan@eth0_3
br-lan@eth0_2
br-lan@eth0_1
br-guest@wlan4.2
br-guest@wlan2.2
br-guest@wlan0.2
Remove eth0_1 from LAN bridge and add it to the Guest bridge:
$ printf ' \
> ubus-cli Bridging.Bridge.lan.Port.ETH0_1-\n
> ubus-cli Bridging.Bridge.guest.Port.+{Name="eth0_1", Alias="ETH0_1", LowerLayers="Device.Ethernet.Interface.2."}\n
> sleep 1\n
> ubus-cli Bridging.Bridge.guest.Port.ETH0_1.Enable=1\n
> ' > /tmp/run
$ script --command "ssh -t root@$TARGET_LAN_IP '$(cat /tmp/run)'" > /dev/null
$ sleep 2
Check that eth0_1 is added to Guest bridge:
$ R "bridge -json link" | jq -r 'sort_by(.master,.ifname) | reverse | .[] | "\(.master)@\(.ifname)"'
br-lan@wlan5
br-lan@wlan4.1
br-lan@wlan3
br-lan@wlan2.1
br-lan@wlan1
br-lan@wlan0.1
br-lan@eth0_5
br-lan@eth0_4
br-lan@eth0_3
br-lan@eth0_2
br-guest@wlan4.2
br-guest@wlan2.2
br-guest@wlan0.2
br-guest@eth0_1
Remove eth0_1 from the Guest bridge and add it back to the LAN bridge:
$ printf '\
> ubus-cli Bridging.Bridge.guest.Port.ETH0_1-\n
> ubus-cli Bridging.Bridge.lan.Port.+{Name="eth0_1", Alias="ETH0_1", LowerLayers="Device.Ethernet.Interface.2."}\n
> sleep 1\n
> ubus-cli Bridging.Bridge.lan.Port.ETH0_1.Enable=1\n
> ' > /tmp/run
$ script --command "ssh -t root@$TARGET_LAN_IP '$(cat /tmp/run)'" > /dev/null
$ sleep 2
Check for initial state of bridges again:
$ R "bridge -json link" | jq -r 'sort_by(.master,.ifname) | reverse | .[] | "\(.master)@\(.ifname)"'
br-lan@wlan5
br-lan@wlan4.1
br-lan@wlan3
br-lan@wlan2.1
br-lan@wlan1
br-lan@wlan0.1
br-lan@eth0_5
br-lan@eth0_4
br-lan@eth0_3
br-lan@eth0_2
br-lan@eth0_1
br-guest@wlan4.2
br-guest@wlan2.2
br-guest@wlan0.2

View File

@ -1,96 +0,0 @@
Create R alias:
$ alias R="${CRAM_REMOTE_COMMAND:-}"
Assure USB. datamodel content with no USB devices plugged in:
$ R "ba-cli -lj USB.?" | jq .
[
{
"USB.Port.1.": {
"Standard": "2.0",
"Name": "usb-Port-1",
"Power": "Unknown",
"Alias": "usb-Port-1",
"Rate": "High",
"Type": "Host",
"Receptacle": "Standard-A"
},
"USB.USBHosts.": {
"HostNumberOfEntries": 4
},
"USB.USBHosts.Host.1.": {
"USBVersion": "2.00",
"DeviceNumberOfEntries": 0,
"PowerManagementEnable": 0,
"Enable": 1,
"Name": "usb-Host-1",
"Reset": 0,
"Alias": "usb-Host-1",
"Type": "xHCI"
},
"USB.USBHosts.Host.3.": {
"USBVersion": "2.00",
"DeviceNumberOfEntries": 0,
"PowerManagementEnable": 0,
"Enable": 1,
"Name": "usb-Host-3",
"Reset": 0,
"Alias": "usb-Host-3",
"Type": "xHCI"
},
"USB.Interface.1.": {
"Port": "",
"Upstream": 0,
"MaxBitRate": 0,
"Status": "Down",
"LowerLayers": "",
"MACAddress": "",
"LastChange": 0,
"Enable": 0,
"Name": "usb-Interface-1",
"Alias": "usb-Interface-1"
},
"USB.Interface.1.Stats.": {
"MulticastPacketsSent": 0,
"ErrorsSent": 0,
"BroadcastPacketsSent": 0,
"BytesSent": 0,
"PacketsSent": 0,
"BytesReceived": 0,
"DiscardPacketsReceived": 0,
"ErrorsReceived": 0,
"MulticastPacketsReceived": 0,
"UnknownProtoPacketsReceived": 0,
"UnicastPacketsSent": 0,
"UnicastPacketsReceived": 0,
"PacketsReceived": 0,
"DiscardPacketsSent": 0,
"BroadcastPacketsReceived": 0
},
"USB.": {
"InterfaceNumberOfEntries": 1,
"PortNumberOfEntries": 1
},
"USB.USBHosts.Host.2.": {
"USBVersion": "3.10",
"DeviceNumberOfEntries": 0,
"PowerManagementEnable": 0,
"Enable": 1,
"Name": "usb-Host-2",
"Reset": 0,
"Alias": "usb-Host-2",
"Type": "xHCI"
},
"USB.USBHosts.Host.4.": {
"USBVersion": "3.10",
"DeviceNumberOfEntries": 0,
"PowerManagementEnable": 0,
"Enable": 1,
"Name": "usb-Host-4",
"Reset": 0,
"Alias": "usb-Host-4",
"Type": "xHCI"
}
}
]

View File

@ -1 +0,0 @@
urx851-b0-dk

View File

@ -51,34 +51,6 @@ targets:
boot_command: bootm 0x2000000
UBootStrategy: {}
urx851-hdk-3-emmc:
resources:
RawSerialPort:
port: "/dev/urx851-hdk-3"
drivers:
ExternalPowerDriver:
cmd_on: ssh root@uart-relay.testbed.vpn.true.cz power_on 3
cmd_off: ssh root@uart-relay.testbed.vpn.true.cz power_off 3
SerialDriver:
txdelay: 0.01
ShellDriver:
console_ready: Please press Enter to activate this console.
prompt: 'root@[\w()]+:[^ ]+ '
login_prompt: built-in shell (ash)
username: kingbanik
UBootDriver:
prompt: 'Lightning #'
console_decodeerrors: 'backslashreplace'
init_command_timeout: 90
init_commands:
- setenv serverip 192.168.1.2
- setenv ipaddr 192.168.1.1
- setenv lcm_data_block_start 0xf6800
- setenv fullimage prplos-intel_x86-lgm-PRPL_OSP_TB341-osp_tb341_fullimage.img
- mmc dev 0 && mmc erase ${lcm_data_block_start} 0x400
- mmc dev 0 && mmc erase ${rootfs_data_block_start} ${rootfs_data_block_size} && run update_fullimage
UBootStrategy: {}
wnc-freedom-initramfs:
resources:
RawSerialPort: