ci: cleanup obsolete and unused devices, tests and support bits
There is currently a lot of old and already very obsolete stuff in the tree for the past devices like glinet-b1300, urx851-b0-dk, nec-wx3000hp. So lets cleanup all those unused bits to make the tree more tidy and easier to maintain. Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
This commit is contained in:
parent
3e060477f5
commit
91811f9f0d
@ -22,7 +22,6 @@ include:
|
||||
- local: .gitlab/testbed/prpl-haze.yml
|
||||
- local: .gitlab/testbed/turris-omnia.yml
|
||||
- local: .gitlab/testbed/urx851-hdk-3.yml
|
||||
- local: .gitlab/testbed/urx851-b0-dk-pon.yml
|
||||
- local: .gitlab/testbed/mxl25641-hdk-6.yml
|
||||
- local: .gitlab/testbed/wnc-freedom.yml
|
||||
|
||||
@ -40,15 +39,6 @@ stages:
|
||||
- cdrouter
|
||||
- coverity
|
||||
|
||||
.build test mxl_x86 mxl_wlan_hostap_ng prpl security:
|
||||
image: registry.gitlab.com/prpl-foundation/prplos/prplos/prplos-nightly/builder-osp@sha256:081488878a834952dbfd223f90dba987052082019f5816a0798f72bc4b3a95a1
|
||||
extends: .build test config
|
||||
artifacts:
|
||||
tags:
|
||||
- firmware-builder-osp
|
||||
rules:
|
||||
- when: manual
|
||||
|
||||
build test mxl_x86_osp_tb341 mxl_wlan_hostap_ng prpl security:
|
||||
image: registry.gitlab.com/prpl-foundation/prplos/prplos/prplos-nightly/builder-osp@sha256:081488878a834952dbfd223f90dba987052082019f5816a0798f72bc4b3a95a1
|
||||
extends: .build test config
|
||||
@ -104,12 +94,6 @@ run test URX851-HDK-3 with system on eMMC:
|
||||
optional: true
|
||||
extends: .urx851-hdk-3 testbed
|
||||
|
||||
.run test URX851-B0-DK-PON with system on eMMC:
|
||||
needs:
|
||||
- job: build test mxl_x86 mxl_wlan_hostap_ng prpl security
|
||||
optional: true
|
||||
extends: .urx851-b0-dk-pon testbed
|
||||
|
||||
run test MXL25641-HDK-6 with system on eMMC:
|
||||
needs:
|
||||
- job: build test mxl_x86_osp_tb341_v2 mxl_wlan_hostap_ng_wav700 prpl security
|
||||
|
||||
@ -1,91 +0,0 @@
|
||||
.glinet-cdrouter: &glinet_cdrouter
|
||||
needs:
|
||||
- job: build test ipq40xx prpl security
|
||||
optional: true
|
||||
extends:
|
||||
- .glinet-b1300 testbed
|
||||
- .cdrouter
|
||||
|
||||
CDRouter-Top-100+mDNS Gl.iNet initramfs:
|
||||
<<: *glinet_cdrouter
|
||||
variables:
|
||||
DUT_INIT_SCRIPTS: |
|
||||
.gitlab/scripts/dut-init/cdrouter-dut-configure-dyndns.sh
|
||||
|
||||
CDRouter-Top-100+mDNS Gl.iNet VLAN WAN/LAN initramfs:
|
||||
<<: *glinet_cdrouter
|
||||
variables:
|
||||
CDROUTER_TEST_CONFIG: vlan
|
||||
DUT_INIT_SCRIPTS: |
|
||||
.gitlab/scripts/dut-init/cdrouter-dut-configure-dyndns.sh
|
||||
.gitlab/scripts/dut-init/cdrouter-dut-enable-vlans.sh
|
||||
|
||||
CDRouter-Top-100+mDNS Gl.iNet PPPoE WAN initramfs:
|
||||
<<: *glinet_cdrouter
|
||||
variables:
|
||||
CDROUTER_TEST_CONFIG: ppp
|
||||
DUT_INIT_SCRIPTS: |
|
||||
.gitlab/scripts/dut-init/cdrouter-dut-configure-dyndns.sh
|
||||
.gitlab/scripts/dut-init/cdrouter-dut-enable-pppoe.sh
|
||||
|
||||
CDRouter-Wireless Gl.iNet initramfs:
|
||||
<<: *glinet_cdrouter
|
||||
variables:
|
||||
CDROUTER_TEST_CONFIG: wireless
|
||||
DUT_INIT_SCRIPTS: |
|
||||
.gitlab/scripts/dut-init/cdrouter-dut-configure-wireless.sh
|
||||
|
||||
|
||||
.glinet-cdrouter-ipv6: &glinet_cdrouter_ipv6
|
||||
<<: *glinet_cdrouter
|
||||
rules:
|
||||
- if: '$CI_PIPELINE_SOURCE == "schedule"'
|
||||
when: never
|
||||
- if: '$TFTP_IMAGE_DOWNLOAD_URL =~ $TFTP_IMAGE_FILENAME_PATTERN'
|
||||
when: always
|
||||
- if: '$TFTP_IMAGE_DOWNLOAD_URL'
|
||||
when: never
|
||||
- if: '$CI_COMMIT_BRANCH == $CI_DESIGNATED_BRANCH'
|
||||
- when: manual
|
||||
|
||||
CDRouter-UPnP-IPv46 Gl.iNet initramfs:
|
||||
<<: *glinet_cdrouter_ipv6
|
||||
allow_failure: true
|
||||
variables:
|
||||
CDROUTER_TEST_CONFIG: generic-ipv6-upnp
|
||||
|
||||
CDRouter-IPv6-Top-100+mDNS Gl.iNet initramfs:
|
||||
<<: *glinet_cdrouter_ipv6
|
||||
variables:
|
||||
CDROUTER_TEST_CONFIG: generic-ipv6
|
||||
|
||||
CDRouter-IPv6-Top-100+mDNS Gl.iNet VLAN WAN/LAN initramfs:
|
||||
<<: *glinet_cdrouter_ipv6
|
||||
variables:
|
||||
CDROUTER_TEST_CONFIG: vlan-ipv6
|
||||
DUT_INIT_SCRIPTS: |
|
||||
.gitlab/scripts/dut-init/cdrouter-dut-enable-vlans.sh
|
||||
|
||||
CDRouter-TR-069 Gl.iNet NOR:
|
||||
<<: *glinet_cdrouter
|
||||
variables:
|
||||
LABGRID_TARGET: glinet-b1300-nor
|
||||
TFTP_IMAGE_FILENAME: prplos-ipq40xx-generic-glinet_gl-b1300-squashfs-sysupgrade.bin
|
||||
TFTP_IMAGE_FILENAME_PATTERN: /.*prplos-ipq40xx-generic-glinet_gl-b1300-squashfs-sysupgrade.bin/
|
||||
DUT_INIT_SCRIPTS: |
|
||||
.gitlab/scripts/dut-init/cdrouter-tr181-mockups.sh
|
||||
|
||||
.CDRouter-IPv6-Top-100+mDNS Gl.iNet PPPoE WAN initramfs:
|
||||
<<: *glinet_cdrouter_ipv6
|
||||
variables:
|
||||
CDROUTER_TEST_CONFIG: ppp-ipv6
|
||||
DUT_INIT_SCRIPTS: |
|
||||
.gitlab/scripts/dut-init/cdrouter-dut-enable-pppoe.sh
|
||||
|
||||
CDRouter-IPv6-Top-100+mDNS+dslite Gl.iNet initramfs:
|
||||
<<: *glinet_cdrouter_ipv6
|
||||
allow_failure: true
|
||||
variables:
|
||||
CDROUTER_TEST_CONFIG: generic-ipv6-dslite
|
||||
DUT_INIT_SCRIPTS: |
|
||||
.gitlab/scripts/dut-init/cdrouter-dut-configure-dslite.sh
|
||||
@ -1,98 +0,0 @@
|
||||
.urx851-pon-cdrouter: &urx851_pon_cdrouter
|
||||
needs:
|
||||
- job: build test mxl_x86 mxl_wlan_hostap_ng prpl security
|
||||
optional: true
|
||||
extends:
|
||||
- .urx851-b0-dk-pon testbed
|
||||
- .cdrouter
|
||||
rules:
|
||||
- if: '$CI_PIPELINE_SOURCE == "schedule"'
|
||||
when: never
|
||||
- if: '$TFTP_IMAGE_DOWNLOAD_URL =~ $TFTP_IMAGE_FILENAME_PATTERN'
|
||||
when: always
|
||||
- if: '$TFTP_IMAGE_DOWNLOAD_URL'
|
||||
when: never
|
||||
- when: manual
|
||||
|
||||
CDRouter-Top-100+mDNS-OSP URX851-B0-DK PON eMMC:
|
||||
<<: *urx851_pon_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-B0-DK PON VLAN WAN/LAN eMMC:
|
||||
<<: *urx851_pon_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-B0-DK PON PPPoE WAN eMMC:
|
||||
<<: *urx851_pon_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 URX851-B0-DK PON eMMC:
|
||||
<<: *urx851_pon_cdrouter
|
||||
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-pon-cdrouter-ipv6: &urx851_pon_cdrouter_ipv6
|
||||
<<: *urx851_pon_cdrouter
|
||||
rules:
|
||||
- if: '$CI_PIPELINE_SOURCE == "schedule"'
|
||||
when: never
|
||||
- if: '$TFTP_IMAGE_DOWNLOAD_URL =~ $TFTP_IMAGE_FILENAME_PATTERN'
|
||||
when: always
|
||||
- if: '$TFTP_IMAGE_DOWNLOAD_URL'
|
||||
when: never
|
||||
- when: manual
|
||||
|
||||
CDRouter-UPnP-IPv46 URX851-B0-DK PON eMMC:
|
||||
<<: *urx851_pon_cdrouter_ipv6
|
||||
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-B0-DK PON eMMC:
|
||||
<<: *urx851_pon_cdrouter_ipv6
|
||||
variables:
|
||||
CDROUTER_TEST_CONFIG: generic-ipv6
|
||||
DUT_INIT_SCRIPTS: |
|
||||
.gitlab/scripts/dut-init/cdrouter-dut-flush-dns-relay-cache.sh
|
||||
|
||||
CDRouter-IPv6-Top-100+mDNS URX851-B0-DK PON VLAN WAN/LAN eMMC:
|
||||
<<: *urx851_pon_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-B0-DK PON PPPoE WAN eMMC:
|
||||
<<: *urx851_pon_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-B0-DK PON eMMC:
|
||||
<<: *urx851_pon_cdrouter
|
||||
variables:
|
||||
DUT_INIT_SCRIPTS: |
|
||||
.gitlab/scripts/dut-init/cdrouter-dut-flush-dns-relay-cache.sh
|
||||
.gitlab/scripts/dut-init/cdrouter-tr181-mockups.sh
|
||||
@ -101,34 +101,6 @@ class TestbedDevice:
|
||||
self.shell_driver = self.target.get_driver("ShellDriver")
|
||||
self.shell = OpenWrtConsoleShell(self.args, self.shell_driver)
|
||||
|
||||
def init_swconfig_glinet(self):
|
||||
self.shell.run("swconfig dev switch0 vlan 1 set vid 201")
|
||||
self.shell.run("swconfig dev switch0 vlan 1 set ports '0t 3t 4t'")
|
||||
|
||||
self.shell.run("swconfig dev switch0 vlan 2 set vid 101")
|
||||
self.shell.run("swconfig dev switch0 vlan 2 set ports '0t 5t'")
|
||||
|
||||
self.shell.run("swconfig dev switch0 vlan 1 show")
|
||||
self.shell.run("swconfig dev switch0 vlan 2 show")
|
||||
|
||||
self.shell.run(
|
||||
"""
|
||||
uci add network switch_vlan &&
|
||||
uci set network.@switch_vlan[-1]=switch_vlan &&
|
||||
uci set network.@switch_vlan[-1].device='switch0' &&
|
||||
uci set network.@switch_vlan[-1].vlan='2' &&
|
||||
uci set network.@switch_vlan[-1].vid='101' &&
|
||||
uci set network.@switch_vlan[-1].ports='0t 5t' &&
|
||||
uci set network.@switch_vlan[0].vid='201' &&
|
||||
uci set network.@switch_vlan[0].ports='3t 4t 0t' &&
|
||||
uci commit network
|
||||
"""
|
||||
)
|
||||
|
||||
def _init_swconfig(self):
|
||||
if self.board_name.startswith("glinet"):
|
||||
self.init_swconfig_glinet()
|
||||
|
||||
def _init_wan_vlan(self):
|
||||
self.shell.run("ubus -t 60 wait_for WANManager.WAN")
|
||||
self.shell.run("ubus-cli WANManager.WAN.2.Intf.1.VlanID=101")
|
||||
@ -180,7 +152,6 @@ class TestbedDevice:
|
||||
self.ubus_tr181 = UbusTR181(self.args, self.shell)
|
||||
self._init_wan_vlan()
|
||||
self._init_lan_vlan()
|
||||
self._init_swconfig()
|
||||
|
||||
logging.info(
|
||||
"Let the system apply the new configuration, waiting 15 seconds..."
|
||||
|
||||
@ -1,14 +0,0 @@
|
||||
.glinet-b1300 testbed:
|
||||
extends: .testbed true.cz
|
||||
variables:
|
||||
DUT_ARCH: arm
|
||||
DUT_TARGET: ipq40xx
|
||||
DUT_SUBTARGET: generic
|
||||
DUT_BOARD: glinet-b1300
|
||||
DUT_CPU_TYPE: cortex-a7
|
||||
DUT_CPU_SUBTYPE: neon-vfpv4
|
||||
LABGRID_TARGET: glinet-b1300-initramfs
|
||||
TFTP_IMAGE_FILENAME: prplos-ipq40xx-generic-glinet_gl-b1300-initramfs-fit-zImage.itb
|
||||
TFTP_IMAGE_FILENAME_PATTERN: /.*prplos-ipq40xx-generic-glinet_gl-b1300-initramfs-fit-zImage.itb/
|
||||
tags:
|
||||
- dut-glinet-b1300
|
||||
@ -1,14 +0,0 @@
|
||||
.nec-wx3000hp testbed:
|
||||
extends: .testbed true.cz
|
||||
variables:
|
||||
DUT_ARCH: mips
|
||||
DUT_TARGET: intel_mips
|
||||
DUT_SUBTARGET: xrx500
|
||||
DUT_BOARD: nec-wx3000hp
|
||||
DUT_CPU_TYPE: 24kc
|
||||
DUT_CPU_SUBTYPE: nomips16
|
||||
LABGRID_TARGET: nec-wx3000hp-nand
|
||||
TFTP_IMAGE_FILENAME: AX3000_1600_ETH_11AXUCI_ASURADA-squashfs-fullimage.img
|
||||
TFTP_IMAGE_FILENAME_PATTERN: /.*AX3000_1600_ETH_11AXUCI_ASURADA-squashfs-fullimage.img/
|
||||
tags:
|
||||
- dut-nec-wx3000hp
|
||||
@ -9,11 +9,3 @@ Contains tests which could be used on all devices.
|
||||
## turris-omnia
|
||||
|
||||
Contains tests which could be used against `Turris Omnia` device.
|
||||
|
||||
## glinet-b1300
|
||||
|
||||
Contains tests which could be used against `Gl.iNet B1300` device.
|
||||
|
||||
## nec-wx3000hp
|
||||
|
||||
Contains tests which could be used against `NEC WX3000HP` device.
|
||||
|
||||
@ -1,30 +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
|
||||
default via 10.0.0.1 dev eth1 proto static src 10.0.0.2
|
||||
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
|
||||
|
||||
Check correct interface setup:
|
||||
|
||||
$ R "ip link | grep ^\\\\d | 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
|
||||
eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br-lan state UP mode DEFAULT group default qlen 1000
|
||||
eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc htb state UP mode DEFAULT group default qlen 1000
|
||||
ifb0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 32
|
||||
ifb1: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 32
|
||||
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
|
||||
teql0: <NOARP> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 100
|
||||
veth_gene_0@if3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-lan state UP mode DEFAULT group default qlen 1000
|
||||
wlan0.1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
|
||||
wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000
|
||||
wlan1.1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
|
||||
wlan1: <BROADCAST,MULTICAST> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000
|
||||
@ -1,494 +0,0 @@
|
||||
Create R alias:
|
||||
|
||||
$ alias R="${CRAM_REMOTE_COMMAND:-}"
|
||||
|
||||
Check that ubus has all expected services available:
|
||||
|
||||
$ R "ubus list | grep -v '^[[:upper:]]'"
|
||||
dhcp
|
||||
dnsmasq
|
||||
hostapd
|
||||
network
|
||||
network.device
|
||||
network.interface
|
||||
network.interface.guest
|
||||
network.interface.lan
|
||||
network.interface.loopback
|
||||
network.interface.wan
|
||||
network.interface.wan6
|
||||
network.wireless
|
||||
service
|
||||
session
|
||||
system
|
||||
uci
|
||||
umdns
|
||||
wpa_supplicant
|
||||
|
||||
Check that we've correct system info:
|
||||
|
||||
$ R "ubus call system board | jsonfilter -e @.system -e @.model -e @.board_name"
|
||||
ARMv7 Processor rev 5 (v7l)
|
||||
GL.iNet GL-B1300
|
||||
glinet,gl-b1300
|
||||
|
||||
$ R "ubus call DeviceInfo _get | jsonfilter -e '@[\"DeviceInfo.\"].ProductClass'"
|
||||
gl-b1300
|
||||
|
||||
Check that we've correct bridge port aliases:
|
||||
|
||||
$ R "ubus call Bridging _get \"{'rel_path':'Bridge.*.Port.*.Alias'}\" | jsonfilter -e @[*].Alias | sort"
|
||||
eth_port0
|
||||
guest_bridge
|
||||
guest_wl0
|
||||
guest_wl1
|
||||
lan_bridge
|
||||
lcm_bridge
|
||||
wlan_port0
|
||||
wlan_port1
|
||||
|
||||
Check that we've correct ethernet interface details:
|
||||
|
||||
$ R "ubus call Ethernet _get \"{'rel_path':'Interface.'}\" | grep -E '(Alias|Enable|Name)' | sort"
|
||||
\t\t"Alias": "ETH0", (esc)
|
||||
\t\t"Alias": "ETH1", (esc)
|
||||
\t\t"EEEEnable": false, (esc)
|
||||
\t\t"EEEEnable": false, (esc)
|
||||
\t\t"Enable": true, (esc)
|
||||
\t\t"Enable": true, (esc)
|
||||
\t\t"Name": "eth0", (esc)
|
||||
\t\t"Name": "eth1", (esc)
|
||||
|
||||
Check that we've correct ethernet link details:
|
||||
|
||||
$ R "ubus call Ethernet _get \"{'rel_path':'Link.'}\" | grep -E '(Alias|Enable|Name)' | sort"
|
||||
\t\t"Alias": "bridge_guest", (esc)
|
||||
\t\t"Alias": "bridge_lan", (esc)
|
||||
\t\t"Alias": "bridge_lcm", (esc)
|
||||
\t\t"Alias": "eth_wan", (esc)
|
||||
\t\t"Alias": "link_lo", (esc)
|
||||
\t\t"Enable": true, (esc)
|
||||
\t\t"Enable": true, (esc)
|
||||
\t\t"Enable": true, (esc)
|
||||
\t\t"Enable": true, (esc)
|
||||
\t\t"Enable": true, (esc)
|
||||
\t\t"Name": "br-guest", (esc)
|
||||
\t\t"Name": "br-lan", (esc)
|
||||
\t\t"Name": "br-lcm", (esc)
|
||||
\t\t"Name": "eth1", (esc)
|
||||
\t\t"Name": "lo", (esc)
|
||||
|
||||
Check that IP.Interface provides expected output:
|
||||
|
||||
$ R "ubus call IP _get '{\"rel_path\":\"Interface.\",\"depth\":100}' | jsonfilter -e @[*].Alias -e @[*].Name -e @[*].IPAddress -e @[*].SubnetMask | sort" | egrep -v '(^f[0-9a-z:]+|^$)'
|
||||
10.0.0.2
|
||||
127.0.0.1
|
||||
192.0.0.2
|
||||
192.168.1.1
|
||||
192.168.2.1
|
||||
192.168.5.1
|
||||
255.0.0.0
|
||||
255.255.255.0
|
||||
255.255.255.0
|
||||
255.255.255.0
|
||||
255.255.255.0
|
||||
255.255.255.0
|
||||
::1
|
||||
DHCP
|
||||
DHCP
|
||||
DSLite-entry
|
||||
DSLite-exit
|
||||
GUA
|
||||
GUA
|
||||
GUA
|
||||
GUA
|
||||
GUA_IAPD
|
||||
GUA_IAPD
|
||||
GUA_IAPD
|
||||
GUA_IAPD
|
||||
GUA_RA
|
||||
GUA_RA
|
||||
GUA_RA
|
||||
GUA_RA
|
||||
LLA
|
||||
LLA
|
||||
ULA
|
||||
ULA1
|
||||
ULA64
|
||||
br-guest
|
||||
br-lan
|
||||
eth1
|
||||
guest
|
||||
guest
|
||||
iptv
|
||||
lan
|
||||
lan
|
||||
lcm
|
||||
lcm
|
||||
lo
|
||||
loopback
|
||||
loopback_ipv4
|
||||
loopbackipv6
|
||||
mgmt
|
||||
primary
|
||||
primary
|
||||
primary
|
||||
primary
|
||||
primary
|
||||
public-lan
|
||||
voip
|
||||
wan
|
||||
wan6
|
||||
|
||||
Check that NAT.Interface provides expected output:
|
||||
|
||||
$ R "ubus call NAT _get '{\"rel_path\":\"InterfaceSetting.\",\"depth\":100}' | jsonfilter -e @[*].Alias -e @[*].Interface"
|
||||
lcm
|
||||
wan
|
||||
lan
|
||||
guest
|
||||
Device.IP.Interface.5.
|
||||
Device.Logical.Interface.1.
|
||||
Device.IP.Interface.3.
|
||||
Device.IP.Interface.4.
|
||||
|
||||
Check that NetDev.Link provides expected output:
|
||||
|
||||
$ R "ubus call NetDev _get '{\"rel_path\":\"Link.\",\"depth\":100}' | jsonfilter -e @[*].Name | sort"
|
||||
br-guest
|
||||
br-lan
|
||||
eth0
|
||||
eth1
|
||||
ifb0
|
||||
ifb1
|
||||
ip6tnl0
|
||||
lo
|
||||
teql0
|
||||
veth_gene_0
|
||||
wlan0
|
||||
wlan1
|
||||
|
||||
Check that NetModel.Intf provides expected output:
|
||||
|
||||
$ R "ubus call NetModel _get '{\"rel_path\":\"Intf.\",\"depth\":100}' | jsonfilter -e @[*].Alias -e @[*].Flags -e @[*].Name -e @[*].Status | sed '/^$/d' | grep -v -e ^bridgeport -e 'bridge '| sort"
|
||||
Disabled
|
||||
Disabled
|
||||
Disabled
|
||||
Disabled
|
||||
Disabled
|
||||
Disabled
|
||||
Disabled
|
||||
Disabled
|
||||
Enabled
|
||||
Enabled
|
||||
Enabled
|
||||
Enabled
|
||||
Enabled
|
||||
Enabled
|
||||
Enabled
|
||||
Enabled
|
||||
Error
|
||||
Error
|
||||
Error
|
||||
Error
|
||||
Error
|
||||
Error
|
||||
Error
|
||||
Error
|
||||
Error
|
||||
Error
|
||||
Error
|
||||
Error
|
||||
Error
|
||||
Error
|
||||
br-guest
|
||||
br-guest
|
||||
br-guest
|
||||
br-lan
|
||||
br-lan
|
||||
br-lan
|
||||
br-lcm
|
||||
br-lcm
|
||||
bridge-ETH1
|
||||
bridge-ETH1
|
||||
bridge-eth_port0
|
||||
bridge-eth_port0
|
||||
bridge-eth_port0
|
||||
bridge-guest_bridge
|
||||
bridge-guest_bridge
|
||||
bridge-guest_bridge
|
||||
bridge-guest_bridge
|
||||
bridge-guest_wl0
|
||||
bridge-guest_wl0
|
||||
bridge-guest_wl1
|
||||
bridge-guest_wl1
|
||||
bridge-lan_bridge
|
||||
bridge-lan_bridge
|
||||
bridge-lan_bridge
|
||||
bridge-lan_bridge
|
||||
bridge-lan_bridge
|
||||
bridge-lcm_bridge
|
||||
bridge-lcm_bridge
|
||||
bridge-wlan_port0
|
||||
bridge-wlan_port0
|
||||
bridge-wlan_port1
|
||||
bridge-wlan_port1
|
||||
cpe-IPv4Address-1
|
||||
cpe-IPv4Address-1
|
||||
cpe-IPv4Address-1
|
||||
cpe-IPv4Address-1
|
||||
cpe-IPv4Address-1
|
||||
cpe-IPv4Address-1
|
||||
cpe-IPv4Address-1
|
||||
cpe-IPv4Address-1
|
||||
cpe-IPv4Address-1
|
||||
cpe-IPv4Address-2
|
||||
cpe-IPv6Address.* (re)
|
||||
cpe-IPv6Address.* (re)
|
||||
cpe-IPv6Address.* (re)
|
||||
cpe-IPv6Address.* (re)
|
||||
cpe-IPv6Address.* (re)
|
||||
cpe-IPv6Address.* (re)
|
||||
cpe-IPv6Address.* (re)
|
||||
cpe-IPv6Address.* (re)
|
||||
cpe-IPv6Address.* (re)
|
||||
cpe-IPv6Address.* (re)
|
||||
cpe-IPv6Address.* (re)
|
||||
cpe-IPv6Prefix-1
|
||||
cpe-IPv6Prefix-1
|
||||
cpe-IPv6Prefix-1
|
||||
cpe-IPv6Prefix-1
|
||||
cpe-IPv6Prefix-2
|
||||
cpe-IPv6Prefix-2
|
||||
cpe-IPv6Prefix-2
|
||||
cpe-IPv6Prefix-2
|
||||
cpe-IPv6Prefix-3
|
||||
cpe-ReqOption-1
|
||||
cpe-ReqOption-1
|
||||
cpe-ReqOption-1
|
||||
cpe-ReqOption-1
|
||||
cpe-ReqOption-10
|
||||
cpe-ReqOption-10
|
||||
cpe-ReqOption-10
|
||||
cpe-ReqOption-10
|
||||
cpe-ReqOption-2
|
||||
cpe-ReqOption-2
|
||||
cpe-ReqOption-2
|
||||
cpe-ReqOption-2
|
||||
cpe-ReqOption-3
|
||||
cpe-ReqOption-3
|
||||
cpe-ReqOption-3
|
||||
cpe-ReqOption-3
|
||||
cpe-ReqOption-4
|
||||
cpe-ReqOption-4
|
||||
cpe-ReqOption-4
|
||||
cpe-ReqOption-4
|
||||
cpe-ReqOption-5
|
||||
cpe-ReqOption-5
|
||||
cpe-ReqOption-5
|
||||
cpe-ReqOption-5
|
||||
cpe-ReqOption-6
|
||||
cpe-ReqOption-6
|
||||
cpe-ReqOption-6
|
||||
cpe-ReqOption-6
|
||||
cpe-ReqOption-7
|
||||
cpe-ReqOption-7
|
||||
cpe-ReqOption-7
|
||||
cpe-ReqOption-7
|
||||
cpe-ReqOption-8
|
||||
cpe-ReqOption-8
|
||||
cpe-ReqOption-8
|
||||
cpe-ReqOption-8
|
||||
cpe-ReqOption-9
|
||||
cpe-ReqOption-9
|
||||
cpe-ReqOption-9
|
||||
cpe-ReqOption-9
|
||||
default_radio0
|
||||
default_radio1
|
||||
dslite netdev
|
||||
dslite-dslite0
|
||||
dslite0
|
||||
eth0
|
||||
eth0
|
||||
eth1
|
||||
eth1
|
||||
eth1
|
||||
eth1
|
||||
ethIntf-ETH0
|
||||
ethIntf-ETH0
|
||||
ethIntf-ETH1
|
||||
ethIntf-ETH1
|
||||
ethIntf-ETH1
|
||||
ethLink-bridge_guest
|
||||
ethLink-bridge_guest
|
||||
ethLink-bridge_guest
|
||||
ethLink-bridge_lan
|
||||
ethLink-bridge_lan
|
||||
ethLink-bridge_lan
|
||||
ethLink-bridge_lcm
|
||||
ethLink-bridge_lcm
|
||||
ethLink-bridge_lcm
|
||||
ethLink-eth_wan
|
||||
ethLink-eth_wan
|
||||
ethLink-eth_wan
|
||||
ethLink-eth_wan
|
||||
ethLink-eth_wan
|
||||
ethLink-eth_wan
|
||||
ethLink-eth_wan
|
||||
ethLink-link_lo
|
||||
ethLink-link_lo
|
||||
eth_intf netdev.* (re)
|
||||
eth_intf netdev.* (re)
|
||||
eth_link enabled
|
||||
eth_link enabled
|
||||
eth_link enabled up
|
||||
eth_link enabled up
|
||||
false
|
||||
false
|
||||
false
|
||||
false
|
||||
false
|
||||
false
|
||||
false
|
||||
false
|
||||
false
|
||||
false
|
||||
false
|
||||
false
|
||||
false
|
||||
false
|
||||
false
|
||||
false
|
||||
false
|
||||
false
|
||||
false
|
||||
false
|
||||
false
|
||||
false
|
||||
false
|
||||
false
|
||||
guest
|
||||
guest
|
||||
guest_radio0
|
||||
guest_radio1
|
||||
ip .* (re)
|
||||
ip .* (re)
|
||||
ip .* (re)
|
||||
ip .* (re)
|
||||
ip .* (re)
|
||||
ip .* (re)
|
||||
ip .* (re)
|
||||
ip .* (re)
|
||||
ip .* (re)
|
||||
ip .* (re)
|
||||
ip .* (re)
|
||||
ip-DSLite-entry
|
||||
ip-DSLite-entry
|
||||
ip-DSLite-exit
|
||||
ip-DSLite-exit
|
||||
ip-guest
|
||||
ip-guest
|
||||
ip-guest
|
||||
ip-iptv
|
||||
ip-iptv
|
||||
ip-iptv
|
||||
ip-lan
|
||||
ip-lan
|
||||
ip-lan
|
||||
ip-lcm
|
||||
ip-lcm
|
||||
ip-loopback
|
||||
ip-loopback
|
||||
ip-mgmt
|
||||
ip-mgmt
|
||||
ip-mgmt
|
||||
ip-voip
|
||||
ip-voip
|
||||
ip-voip
|
||||
ip-wan
|
||||
ip-wan
|
||||
ip-wan
|
||||
ip-wan6
|
||||
iptv
|
||||
iptv
|
||||
lan
|
||||
lan
|
||||
lo
|
||||
lo
|
||||
logical up enabled
|
||||
logical up enabled
|
||||
logical up enabled
|
||||
logical up enabled
|
||||
logical up enabled
|
||||
logical up enabled
|
||||
mgmt
|
||||
mgmt
|
||||
netdev eth_link netdev-bound enabled ipv4 ipv6.* (re)
|
||||
permanent
|
||||
permanent
|
||||
permanent
|
||||
permanent
|
||||
permanent
|
||||
permanent
|
||||
permanent
|
||||
permanent
|
||||
ppp netdev
|
||||
ppp-wan
|
||||
ppp-wan
|
||||
pppoe-wan
|
||||
radio enabled
|
||||
radio enabled
|
||||
radio-wifi0
|
||||
radio-wifi0
|
||||
radio-wifi0
|
||||
radio-wifi1
|
||||
radio-wifi1
|
||||
radio-wifi1
|
||||
radio-wifi1
|
||||
resolver
|
||||
resolver
|
||||
ssid netdev netdev-bound
|
||||
ssid netdev netdev-bound
|
||||
ssid netdev netdev-bound
|
||||
ssid netdev netdev-bound
|
||||
ssid netdev netdev-bound
|
||||
ssid-ep5g0
|
||||
ssid-ep5g0
|
||||
ssid-vap2g0guest
|
||||
ssid-vap2g0guest
|
||||
ssid-vap2g0priv
|
||||
ssid-vap2g0priv
|
||||
ssid-vap5g0guest
|
||||
ssid-vap5g0guest
|
||||
ssid-vap5g0priv
|
||||
ssid-vap5g0priv
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
up
|
||||
voip
|
||||
voip
|
||||
wan
|
||||
wan
|
||||
wlan0
|
||||
wlan0
|
||||
wlan0.1
|
||||
wlan1
|
||||
wlan1
|
||||
wlan1
|
||||
wlan1.1
|
||||
@ -1,4 +0,0 @@
|
||||
Check that we've correct system info:
|
||||
|
||||
$ script --command "ssh -t root@$TARGET_LAN_IP 'ubus-cli DeviceInfo.?'" | grep ProductClass
|
||||
DeviceInfo.ProductClass="gl-b1300"\r (esc)
|
||||
@ -1,9 +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 wlan1 (esc)
|
||||
@ -1,108 +0,0 @@
|
||||
Create R alias:
|
||||
|
||||
$ alias R="${CRAM_REMOTE_COMMAND:-}"
|
||||
|
||||
Check that wireless has desired configuration and state after boot:
|
||||
|
||||
$ R "ubus -S call WiFi.SSID _get | jsonfilter -e @[*].SSID -e @[*].Status | sort"
|
||||
Down
|
||||
Down
|
||||
prplOS
|
||||
prplOS
|
||||
|
||||
$ R "pgrep -f 'hostapd -ddt'"
|
||||
[1]
|
||||
|
||||
$ R "ubus list | grep hostapd."
|
||||
[1]
|
||||
|
||||
|
||||
Stop prplmesh before starting wireless:
|
||||
|
||||
$ R logger -t cram "Stop prplmesh"
|
||||
$ R "/etc/init.d/prplmesh stop && sleep 5" > /dev/null 2>&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}}
|
||||
|
||||
$ R "ubus -t 30 wait_for hostapd.wlan0"
|
||||
|
||||
$ R "ubus -S call WiFi.AccessPoint.2 _set '{\"parameters\":{\"Enable\":1}}'"
|
||||
{"WiFi.AccessPoint.2.":{"Enable":true}}
|
||||
|
||||
$ R "ubus -t 30 wait_for hostapd.wlan1"
|
||||
|
||||
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 -3 | LC_ALL=C sort
|
||||
hostapd -ddt /tmp/wlan0_hapd.conf
|
||||
hostapd -ddt /tmp/wlan1_hapd.conf
|
||||
hostapd/global
|
||||
|
||||
$ R "ubus list | grep hostapd. | sort"
|
||||
hostapd.wlan0
|
||||
hostapd.wlan1
|
||||
|
||||
Check that wireless is operating:
|
||||
|
||||
$ R "ubus -S call WiFi.SSID _get | jsonfilter -e @[*].SSID -e @[*].Status | sort"
|
||||
Up
|
||||
Up
|
||||
prplOS
|
||||
prplOS
|
||||
|
||||
$ R "iw dev | grep -e Interface -e ssid | tr -d '\t' | sort"
|
||||
Interface wlan0
|
||||
Interface wlan1
|
||||
ssid prplOS
|
||||
ssid prplOS
|
||||
|
||||
Restart prplmesh:
|
||||
|
||||
$ R logger -t cram "Restart prplmesh"
|
||||
$ R "/etc/init.d/prplmesh gateway_mode && sleep 5" > /dev/null 2>&1
|
||||
$ sleep 60
|
||||
|
||||
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/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_contro (re)
|
||||
[0-9]+ beerocks_agent (re)
|
||||
[0-9]+ beerocks_fronth (re)
|
||||
[0-9]+ beerocks_fronth (re)
|
||||
OK wlan0 radio agent operational
|
||||
OK wlan1 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
|
||||
wlan1
|
||||
wlan1.0
|
||||
@ -1,38 +0,0 @@
|
||||
Create R alias:
|
||||
|
||||
$ alias R="${CRAM_REMOTE_COMMAND:-}"
|
||||
|
||||
Get initial state of bridges:
|
||||
|
||||
$ R "brctl show | grep -E '(br-lan|br-guest)' | sort | cut -d$'\t' -f1,6" | tr '\t' ' '
|
||||
br-guest
|
||||
br-lan lan(1|2) (re)
|
||||
|
||||
Add lan2 to the Guest bridge:
|
||||
|
||||
$ printf ' \
|
||||
> ubus-cli Bridging.Bridge.guest.Port.+{Name="lan2", Alias="LAN2"}\n
|
||||
> ubus-cli Bridging.Bridge.guest.Port.LAN2.Enable=1\n
|
||||
> ' > /tmp/run
|
||||
$ script --command "ssh -t root@$TARGET_LAN_IP '$(cat /tmp/run)'" > /dev/null
|
||||
$ sleep 5
|
||||
|
||||
Check that lan2 is added to br-guest bridge:
|
||||
|
||||
$ R "brctl show | grep -E '(br-lan|br-guest)' | sort | cut -d$'\t' -f1,6" | tr '\t' ' '
|
||||
br-guest lan2
|
||||
br-lan lan1
|
||||
|
||||
Remove lan2 from the Guest bridge:
|
||||
|
||||
$ printf '\
|
||||
> ubus-cli Bridging.Bridge.guest.Port.LAN2-\n
|
||||
> ' > /tmp/run
|
||||
$ script --command "ssh -t root@$TARGET_LAN_IP '$(cat /tmp/run)'" > /dev/null
|
||||
$ sleep 5
|
||||
|
||||
Check for initial state of bridges again:
|
||||
|
||||
$ R "brctl show | grep -E '(br-lan|br-guest)' | sort | cut -d$'\t' -f1,6" | tr '\t' ' '
|
||||
br-guest
|
||||
br-lan lan(1|2) (re)
|
||||
@ -1,94 +0,0 @@
|
||||
Create R alias:
|
||||
|
||||
$ alias R="${CRAM_REMOTE_COMMAND:-}"
|
||||
|
||||
Check that Sandbox is not configured properly:
|
||||
|
||||
$ R "ubus -S call Cthulhu.Sandbox.Instances.1.NetworkNS.Interfaces.1 _get"
|
||||
[4]
|
||||
|
||||
$ R "ubus -S call Cthulhu.Config _get | jsonfilter -e @[*].DhcpCommand"
|
||||
|
||||
|
||||
Configure Sandbox:
|
||||
|
||||
$ cat > /tmp/run-sandbox <<EOF
|
||||
> ubus-cli "Cthulhu.Sandbox.stop(SandboxId=\"generic\")"
|
||||
> ubus-cli Cthulhu.Sandbox.Instances.1.NetworkNS.Type="Veth"
|
||||
> ubus-cli Cthulhu.Sandbox.Instances.1.NetworkNS.Interfaces.+
|
||||
> ubus-cli Cthulhu.Sandbox.Instances.1.NetworkNS.Interfaces.1.Bridge="br-lan"
|
||||
> ubus-cli Cthulhu.Sandbox.Instances.1.NetworkNS.Interfaces.1.Interface="eth0"
|
||||
> ubus-cli Cthulhu.Sandbox.Instances.1.NetworkNS.Enable=1
|
||||
> ubus-cli "Cthulhu.Sandbox.start(SandboxId=\"generic\")"
|
||||
> EOF
|
||||
$ script --command "ssh -t root@$TARGET_LAN_IP '$(cat /tmp/run-sandbox)'" > /dev/null
|
||||
$ sleep 10
|
||||
|
||||
Check that Sandbox was configured properly:
|
||||
|
||||
$ R "ubus -S call Cthulhu.Sandbox.Instances.1.NetworkNS.Interfaces.1 _get"
|
||||
{"Cthulhu.Sandbox.Instances.1.NetworkNS.Interfaces.1.":{"EnableDhcp":false,"Interface":"eth0","Bridge":"br-lan"}}
|
||||
|
||||
Install testing prplOS container v1:
|
||||
|
||||
$ cat > /tmp/run-container <<EOF
|
||||
> ubus-cli "SoftwareModules.InstallDU(URL=\"docker://registry.gitlab.com/prpl-foundation/prplos/prplos/prplos-testing-container-ipq40xx-generic:v1\", UUID=\"prplos-testing\", ExecutionEnvRef=\"generic\")"
|
||||
> EOF
|
||||
$ script --command "ssh -t root@$TARGET_LAN_IP '$(cat /tmp/run-container)'" > /dev/null
|
||||
|
||||
Check that prplOS container v1 is running:
|
||||
|
||||
$ sleep 40
|
||||
|
||||
$ R "ubus -S call Cthulhu.Container.Instances.1 _get | jsonfilter -e @[*].Status -e @[*].Bundle -e @[*].BundleVersion -e @[*].ContainerId -e @[*].Alias | sort"
|
||||
Running
|
||||
cpe-prplos-testing
|
||||
prplos-testing
|
||||
prplos/prplos/prplos-testing-container-ipq40xx-generic
|
||||
v1
|
||||
|
||||
$ container_ip=$(R "ubus call DHCPv4.Server.Pool.1.Client.1.IPv4Address.1 _get | jsonfilter -e @[*].IPAddress")
|
||||
$ R "ssh -y root@$container_ip 'cat /etc/container-version' 2> /dev/null"
|
||||
1
|
||||
|
||||
Update to prplOS container v2:
|
||||
|
||||
$ cat > /tmp/run-container <<EOF
|
||||
> ubus-cli "SoftwareModules.DeploymentUnit.cpe-prplos-testing.Update(URL=\"docker://registry.gitlab.com/prpl-foundation/prplos/prplos/prplos-testing-container-ipq40xx-generic:v2\")"
|
||||
> EOF
|
||||
$ script --command "ssh -t root@$TARGET_LAN_IP '$(cat /tmp/run-container)'" > /dev/null
|
||||
|
||||
Check that prplOS container v2 is running:
|
||||
|
||||
$ sleep 40
|
||||
|
||||
$ R "ubus -S call Cthulhu.Container.Instances.2 _get | jsonfilter -e @[*].Status -e @[*].Bundle -e @[*].BundleVersion -e @[*].ContainerId -e @[*].Alias | sort"
|
||||
Running
|
||||
cpe-prplos-testing
|
||||
prplos-testing
|
||||
prplos/prplos/prplos-testing-container-ipq40xx-generic
|
||||
v2
|
||||
|
||||
$ container_ip=$(R "ubus call DHCPv4.Server.Pool.1.Client.1.IPv4Address.1 _get | jsonfilter -e @[*].IPAddress")
|
||||
$ R "ssh -y root@$container_ip 'cat /etc/container-version' 2> /dev/null"
|
||||
2
|
||||
|
||||
Uninstall prplOS testing container:
|
||||
|
||||
$ script --command "ssh -t root@$TARGET_LAN_IP 'ubus-cli SoftwareModules.DeploymentUnit.cpe-prplos-testing.Uninstall\(\)'" > /dev/null; sleep 5
|
||||
|
||||
Check that prplOS container is not running:
|
||||
|
||||
$ R "ubus -S call Cthulhu.Container.Instances.2 _get"
|
||||
[4]
|
||||
|
||||
Check that Rlyeh has no container images:
|
||||
|
||||
$ R "ubus -S call Rlyeh.Images _get"
|
||||
{"Rlyeh.Images.":{}}
|
||||
|
||||
Check that container image is gone from the filesystem as well:
|
||||
|
||||
$ R "ls -al /lcm_data/rlyeh/images/prplos"
|
||||
ls: /lcm_data/rlyeh/images/prplos: No such file or directory
|
||||
[1]
|
||||
@ -1,31 +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
|
||||
default via 10.0.0.1 dev eth1 proto static src 10.0.0.2
|
||||
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
|
||||
|
||||
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 | grep -v veth_gene_0
|
||||
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
|
||||
eth0_0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
|
||||
eth0_1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast master br-lan state DOWN mode DEFAULT group default qlen 1000
|
||||
eth0_2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast master br-lan state DOWN mode DEFAULT group default qlen 1000
|
||||
eth0_3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast master br-lan state DOWN mode DEFAULT group default qlen 1000
|
||||
eth0_4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br-lan state UP mode DEFAULT group default qlen 1000
|
||||
eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc htb state UNKNOWN mode DEFAULT group default qlen 1000
|
||||
ifb0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 32
|
||||
ifb1: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 32
|
||||
ip6tnl0@NONE: <NOARP> mtu 1452 qdisc noop state DOWN mode DEFAULT group default qlen 1
|
||||
lite0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN mode DEFAULT group default qlen 1000
|
||||
lo: <LOOPBACK,UP,LOWER_UP> mtu 65535 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
|
||||
loopdev0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
|
||||
teql0: <NOARP> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 100
|
||||
@ -1,30 +0,0 @@
|
||||
Create R alias:
|
||||
|
||||
$ alias R="${CRAM_REMOTE_COMMAND:-}"
|
||||
|
||||
Check that ubus has all expected services available:
|
||||
|
||||
$ R "ubus list | grep -v '^[[:upper:]]'"
|
||||
dhcp
|
||||
dnsmasq
|
||||
network
|
||||
network.device
|
||||
network.interface
|
||||
network.interface.guest
|
||||
network.interface.lan
|
||||
network.interface.loopback
|
||||
network.interface.wan
|
||||
network.interface.wan6
|
||||
network.wireless
|
||||
service
|
||||
session
|
||||
system
|
||||
uci
|
||||
umdns
|
||||
|
||||
Check that we've correct system info:
|
||||
|
||||
$ R "ubus call system board | jsonfilter -e @.system -e @.model -e @.board_name"
|
||||
GRX500 rev 1.2
|
||||
EASY350 ANYWAN (GRX350) Axepoint Asurada model
|
||||
EASY350 ANYWAN (GRX350) Axepoint Asurada model
|
||||
@ -1,8 +0,0 @@
|
||||
Create R alias:
|
||||
|
||||
$ alias R="${CRAM_REMOTE_COMMAND:-}"
|
||||
|
||||
Check for correct SSID setup:
|
||||
|
||||
$ R "iwinfo" | awk '/wlan[0-9.]+/{printf("%s %s ",$1,$3)};/Point:/{print $3}' | grep -v 00:00:00:00:00:00
|
||||
[1]
|
||||
@ -1,109 +0,0 @@
|
||||
Skip test on nec-wx3000hp until PCF-728 is fixed:
|
||||
|
||||
$ [ "$DUT_BOARD" = "nec-wx3000hp" ] && exit 80
|
||||
[1]
|
||||
|
||||
Create R alias:
|
||||
|
||||
$ alias R="${CRAM_REMOTE_COMMAND:-}"
|
||||
|
||||
Check that wireless has desired configuration and state after boot:
|
||||
|
||||
$ R "ubus -S call WiFi.SSID _get | jsonfilter -e @[*].SSID -e @[*].Status | sort"
|
||||
Down
|
||||
Down
|
||||
prplOS
|
||||
prplOS
|
||||
|
||||
$ R "pgrep hostapd"
|
||||
[1]
|
||||
|
||||
$ R "ubus list | grep hostapd."
|
||||
[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}}
|
||||
|
||||
$ R "ubus -t 30 wait_for hostapd.wlan0"
|
||||
|
||||
$ R "ubus -S call WiFi.AccessPoint.2 _set '{\"parameters\":{\"Enable\":1}}'"
|
||||
{"WiFi.AccessPoint.2.":{"Enable":true}}
|
||||
|
||||
$ R "ubus -t 30 wait_for hostapd.wlan1"
|
||||
|
||||
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 -2 | LC_ALL=C sort
|
||||
hostapd -ddt /tmp/wlan0_hapd.conf
|
||||
hostapd -ddt /tmp/wlan1_hapd.conf
|
||||
|
||||
$ R "ubus list | grep hostapd. | sort"
|
||||
hostapd.wlan0
|
||||
hostapd.wlan1
|
||||
|
||||
Check that wireless is operating:
|
||||
|
||||
$ R "ubus -S call WiFi.SSID _get | jsonfilter -e @[*].SSID -e @[*].Status | sort"
|
||||
Up
|
||||
Up
|
||||
prplOS
|
||||
prplOS
|
||||
|
||||
$ R "iw dev | grep -e Interface -e ssid | tr -d '\t' | sort"
|
||||
Interface wlan0
|
||||
Interface wlan1
|
||||
ssid prplOS
|
||||
ssid prplOS
|
||||
|
||||
Restart prplmesh:
|
||||
|
||||
$ R logger -t cram "Restart prplmesh"
|
||||
$ R "/etc/init.d/prplmesh gateway_mode && sleep 5" > /dev/null 2>&1
|
||||
$ sleep 60
|
||||
|
||||
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/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_contro (re)
|
||||
[0-9]+ beerocks_agent (re)
|
||||
[0-9]+ beerocks_fronth (re)
|
||||
[0-9]+ beerocks_fronth (re)
|
||||
OK wlan0 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
|
||||
wlan2
|
||||
wlan2.0
|
||||
wlan2.1
|
||||
@ -1,52 +0,0 @@
|
||||
Create R alias:
|
||||
|
||||
$ alias R="${CRAM_REMOTE_COMMAND:-}"
|
||||
|
||||
Get initial state of bridges:
|
||||
|
||||
$ R "brctl show | sort | cut -d$'\t' -f1,4-"
|
||||
\t\t\t\t\teth0_2 (esc)
|
||||
\t\t\t\t\teth0_3 (esc)
|
||||
\t\t\t\t\teth0_4 (esc)
|
||||
br-guest\tno\t\t (esc)
|
||||
br-lan\tno\t\teth0_1 (esc)
|
||||
bridge name\tSTP enabled\tinterfaces (esc)
|
||||
|
||||
Remove eth0_1 from LAN bridge and add it to the Guest bridge:
|
||||
|
||||
$ printf ' \
|
||||
> ubus-cli Bridging.Bridge.lan.Port.eth_port0-\n
|
||||
> ubus-cli Bridging.Bridge.guest.Port.+{Name="eth0_1", Alias="eth_port0", LowerLayers="Device.Ethernet.Interface.2."}\n
|
||||
> ubus-cli Bridging.Bridge.guest.Port.eth_port0.Enable=1\n
|
||||
> ' > /tmp/run
|
||||
$ script --command "ssh -t root@$TARGET_LAN_IP '$(cat /tmp/run)'" > /dev/null
|
||||
$ sleep 10
|
||||
|
||||
Check that eth0_1 is added to Guest bridge:
|
||||
|
||||
$ R "brctl show | sort | cut -d$'\t' -f1,4-"
|
||||
\t\t\t\t\teth0_3 (esc)
|
||||
\t\t\t\t\teth0_4 (esc)
|
||||
br-guest\tno\t\teth0_1 (esc)
|
||||
br-lan\tno\t\teth0_2 (esc)
|
||||
bridge name\tSTP enabled\tinterfaces (esc)
|
||||
|
||||
Remove eth0_1 from the Guest bridge and add it back to the LAN bridge:
|
||||
|
||||
$ printf '\
|
||||
> ubus-cli Bridging.Bridge.guest.Port.eth_port0-\n
|
||||
> ubus-cli Bridging.Bridge.lan.Port.+{Name="eth0_1", Alias="eth_port0", LowerLayers="Device.Ethernet.Interface.2."}\n
|
||||
> ubus-cli Bridging.Bridge.lan.Port.eth_port0.Enable=1\n
|
||||
> ' > /tmp/run
|
||||
$ script --command "ssh -t root@$TARGET_LAN_IP '$(cat /tmp/run)'" > /dev/null
|
||||
$ sleep 10
|
||||
|
||||
Check for initial state of bridges again:
|
||||
|
||||
$ R "brctl show | sort | cut -d$'\t' -f1,4-"
|
||||
\t\t\t\t\teth0_2 (esc)
|
||||
\t\t\t\t\teth0_3 (esc)
|
||||
\t\t\t\t\teth0_4 (esc)
|
||||
br-guest\tno\t\t (esc)
|
||||
br-lan\tno\t\teth0_1 (esc)
|
||||
bridge name\tSTP enabled\tinterfaces (esc)
|
||||
@ -1,101 +0,0 @@
|
||||
Skip test on nec-wx3000hp until LCM-579 is fixed:
|
||||
|
||||
$ [ "$DUT_BOARD" = "nec-wx3000hp" ] && exit 80
|
||||
[1]
|
||||
|
||||
Create R alias:
|
||||
|
||||
$ alias R="${CRAM_REMOTE_COMMAND:-}"
|
||||
|
||||
Check that Sandbox is not configured properly:
|
||||
|
||||
$ R "ubus -S call Cthulhu.Sandbox.Instances.1.NetworkNS.Interfaces.1 _get"
|
||||
[4]
|
||||
|
||||
$ R "ubus -S call Cthulhu.Config _get | jsonfilter -e @[*].DhcpCommand"
|
||||
|
||||
|
||||
Configure Sandbox:
|
||||
|
||||
$ cat > /tmp/run-sandbox <<EOF
|
||||
> ubus-cli Cthulhu.Config.DhcpCommand=\"udhcpc -r 192.168.1.200 -i\"
|
||||
> ubus-cli Cthulhu.Sandbox.Instances.1.NetworkNS.Type="Veth"
|
||||
> ubus-cli Cthulhu.Sandbox.Instances.1.NetworkNS.Interfaces.+
|
||||
> ubus-cli Cthulhu.Sandbox.Instances.1.NetworkNS.Interfaces.1.Bridge="br-lan"
|
||||
> ubus-cli Cthulhu.Sandbox.Instances.1.NetworkNS.Interfaces.1.Interface="eth0"
|
||||
> ubus-cli Cthulhu.Sandbox.Instances.1.NetworkNS.Interfaces.1.EnableDhcp=1
|
||||
> ubus-cli Cthulhu.Sandbox.Instances.1.NetworkNS.Enable=1
|
||||
> ubus-cli "Cthulhu.Sandbox.start(SandboxId=\"generic\")"
|
||||
> EOF
|
||||
$ script --command "ssh -t root@$TARGET_LAN_IP '$(cat /tmp/run-sandbox)'" > /dev/null
|
||||
$ sleep 10
|
||||
|
||||
Check that Sandbox was configured properly:
|
||||
|
||||
$ R "ubus -S call Cthulhu.Sandbox.Instances.1.NetworkNS.Interfaces.1 _get"
|
||||
{"Cthulhu.Sandbox.Instances.1.NetworkNS.Interfaces.1.":{"EnableDhcp":true,"Interface":"eth0","Bridge":"br-lan"}}
|
||||
|
||||
$ R "ubus -S call Cthulhu.Config _get | jsonfilter -e @[*].DhcpCommand"
|
||||
udhcpc -r 192.168.1.200 -i
|
||||
|
||||
Install testing prplOS container v1:
|
||||
|
||||
$ cat > /tmp/run-container <<EOF
|
||||
> ubus-cli "SoftwareModules.InstallDU(URL=\"docker://registry.gitlab.com/prpl-foundation/prplos/prplos/prplos-testing-container-intel_mips-xrx500:v1\", UUID=\"prplos-testing\", ExecutionEnvRef=\"generic\")"
|
||||
> EOF
|
||||
$ script --command "ssh -t root@$TARGET_LAN_IP '$(cat /tmp/run-container)'" > /dev/null
|
||||
|
||||
Check that prplOS container v1 is running:
|
||||
|
||||
$ sleep 50
|
||||
|
||||
$ R "ubus -S call Cthulhu.Container.Instances.1 _get | jsonfilter -e @[*].Status -e @[*].Bundle -e @[*].BundleVersion -e @[*].ContainerId -e @[*].Alias | sort"
|
||||
Running
|
||||
cpe-prplos-testing
|
||||
prplos-testing
|
||||
prplos/prplos-testing-container-intel_mips-xrx500
|
||||
v1
|
||||
|
||||
$ R "ssh -y root@192.168.1.200 'cat /etc/container-version' 2> /dev/null"
|
||||
1
|
||||
|
||||
Update to prplOS container v2:
|
||||
|
||||
$ cat > /tmp/run-container <<EOF
|
||||
> ubus-cli "SoftwareModules.DeploymentUnit.cpe-prplos-testing.Update(URL=\"docker://registry.gitlab.com/prpl-foundation/prplos/prplos/prplos-testing-container-intel_mips-xrx500:v2\")"
|
||||
> EOF
|
||||
$ script --command "ssh -t root@$TARGET_LAN_IP '$(cat /tmp/run-container)'" > /dev/null
|
||||
|
||||
Check that prplOS container v2 is running:
|
||||
|
||||
$ sleep 40
|
||||
|
||||
$ R "ubus -S call Cthulhu.Container.Instances.2 _get | jsonfilter -e @[*].Status -e @[*].Bundle -e @[*].BundleVersion -e @[*].ContainerId -e @[*].Alias | sort"
|
||||
Running
|
||||
cpe-prplos-testing
|
||||
prplos-testing
|
||||
prplos/prplos-testing-container-intel_mips-xrx500
|
||||
v2
|
||||
|
||||
$ R "ssh -y root@192.168.1.200 'cat /etc/container-version' 2> /dev/null"
|
||||
2
|
||||
|
||||
Uninstall prplOS testing container:
|
||||
|
||||
$ script --command "ssh -t root@$TARGET_LAN_IP 'ubus-cli SoftwareModules.DeploymentUnit.cpe-prplos-testing.Uninstall\(\)'" > /dev/null; sleep 5
|
||||
|
||||
Check that prplOS container is not running:
|
||||
|
||||
$ R "ubus -S call Cthulhu.Container.Instances.2 _get"
|
||||
[4]
|
||||
|
||||
Check that Rlyeh has no container images:
|
||||
|
||||
$ R "ubus -S call Rlyeh.Images _get"
|
||||
{"Rlyeh.Images.":{}}
|
||||
|
||||
Check that container image is gone from the filesystem as well:
|
||||
|
||||
$ R "ls -al /lcm_data/rlyeh/images/prplos"
|
||||
ls: /lcm_data/rlyeh/images/prplos: No such file or directory
|
||||
[1]
|
||||
@ -1,56 +0,0 @@
|
||||
Create R alias:
|
||||
|
||||
$ alias R="${CRAM_REMOTE_COMMAND:-}"
|
||||
|
||||
Check correct routing table:
|
||||
|
||||
$ R ip route
|
||||
default via 10.0.0.1 dev VANI0 proto static src 10.0.0.2
|
||||
10.0.0.0/24 dev VANI0 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
|
||||
|
||||
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
|
||||
VANI0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc htb state UNKNOWN mode DEFAULT group default qlen 1000
|
||||
VUNI0_0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9198 qdisc mq master sw257 state UNKNOWN mode DEFAULT group default qlen 1000
|
||||
VUNI0_1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
|
||||
VUNI0_2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
|
||||
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
|
||||
eth0_1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq master br-lan state DOWN mode DEFAULT group default qlen 1000
|
||||
eth0_2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq master br-lan state DOWN 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: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br-lan state UP mode DEFAULT group default qlen 1000
|
||||
gem-omci@pon0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP,M-DOWN> mtu 2030 qdisc pfifo_fast state UNKNOWN mode DEFAULT group default qlen 1000
|
||||
gem1023@pon0: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc pfifo_fast state UNKNOWN mode DEFAULT group default qlen 1000
|
||||
gem65534@pon0: <BROADCAST,MULTICAST,M-DOWN> mtu 1500 qdisc noop state DOWN 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
|
||||
iphost1@iphost1_bp: <BROADCAST,MULTICAST,M-DOWN> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
|
||||
iphost1_bp@ip0: <BROADCAST,MULTICAST,M-DOWN> mtu 1500 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
|
||||
pmapper4354@pon0: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc pfifo_fast master sw257 state UNKNOWN mode DEFAULT group default qlen 1000
|
||||
sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN mode DEFAULT group default qlen 1000
|
||||
sw-multicast: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
|
||||
sw257: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
|
||||
tcont-omci@pon0: <BROADCAST,MULTICAST,M-DOWN> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
|
||||
tcont32768@pon0: <BROADCAST,MULTICAST,M-DOWN> mtu 1500 qdisc prio 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
|
||||
veth_gene_0@if9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-lan state UP 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
|
||||
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 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
|
||||
@ -1 +0,0 @@
|
||||
../urx851-b0-dk/011-tls.t
|
||||
@ -1 +0,0 @@
|
||||
../urx851-b0-dk/020-ubus.t
|
||||
@ -1 +0,0 @@
|
||||
../urx851-b0-dk/030-wifi.t
|
||||
@ -1,64 +0,0 @@
|
||||
Create R alias:
|
||||
|
||||
$ alias R="${CRAM_REMOTE_COMMAND:-}"
|
||||
|
||||
Check that datamodel has expected content:
|
||||
|
||||
$ R "ubus call XPON.ONU.1.ANI.1.Transceiver.1 _get | jsonfilter -e @[*].Connector -e @[*].PONMode -e @[*].Identifier | sort"
|
||||
3
|
||||
SC
|
||||
XGS-PON
|
||||
|
||||
$ R "ubus -S call XPON.ONU.1.ANI.1.TC.ONUActivation _get"
|
||||
{"XPON.ONU.1.ANI.1.TC.ONUActivation.":{"ONUID":0,"VendorID":"ALCL","SerialNumber":"ALCL96F0E9A0","ONUState":"O5"}}
|
||||
{}
|
||||
{"amxd-error-code":0}
|
||||
|
||||
$ R "ubus -S call XPON.ONU.1.ANI.1 _get"
|
||||
{"XPON.ONU.1.ANI.1.":{"TransceiverNumberOfEntries":1,"PONMode":"XGS-PON","LastChange":[0-9]+,"Enable":true,"Name":"","Alias":"cpe-ANI-1","Status":"Up"}} (re)
|
||||
{}
|
||||
{"amxd-error-code":0}
|
||||
|
||||
Check that there is no Transceiver.2 datamodel available:
|
||||
|
||||
$ R "ubus call XPON.ONU.1.ANI.1.Transceiver.2 _get"
|
||||
Command failed: Not found
|
||||
[4]
|
||||
|
||||
Disable PON ONU:
|
||||
|
||||
$ R "ubus -S call XPON.ONU.1 _set '{\"parameters\":{\"Enable\":0}}'" ; sleep 10
|
||||
{"XPON.ONU.1.":{"Enable":false}}
|
||||
{}
|
||||
{"amxd-error-code":0}
|
||||
|
||||
Check for expected ONU state:
|
||||
|
||||
$ R "ubus -S call XPON.ONU.1.ANI.1.TC.ONUActivation _get"
|
||||
{"XPON.ONU.1.ANI.1.TC.ONUActivation.":{"ONUID":0,"VendorID":"ALCL","SerialNumber":"ALCL96F0E9A0","ONUState":"O1"}}
|
||||
{}
|
||||
{"amxd-error-code":0}
|
||||
|
||||
$ R "ubus -S call XPON.ONU.1.ANI.1 _get"
|
||||
{"XPON.ONU.1.ANI.1.":{"TransceiverNumberOfEntries":1,"PONMode":"XGS-PON","LastChange":[0-9]+,"Enable":true,"Name":"","Alias":"cpe-ANI-1","Status":"Dormant"}} (re)
|
||||
{}
|
||||
{"amxd-error-code":0}
|
||||
|
||||
Enable PON ONU again:
|
||||
|
||||
$ R "ubus -S call XPON.ONU.1 _set '{\"parameters\":{\"Enable\":1}}'" ; sleep 10
|
||||
{"XPON.ONU.1.":{"Enable":true}}
|
||||
{}
|
||||
{"amxd-error-code":0}
|
||||
|
||||
Check for expected ONU state:
|
||||
|
||||
$ R "ubus -S call XPON.ONU.1.ANI.1.TC.ONUActivation _get"
|
||||
{"XPON.ONU.1.ANI.1.TC.ONUActivation.":{"ONUID":0,"VendorID":"ALCL","SerialNumber":"ALCL96F0E9A0","ONUState":"O5"}}
|
||||
{}
|
||||
{"amxd-error-code":0}
|
||||
|
||||
$ R "ubus -S call XPON.ONU.1.ANI.1 _get"
|
||||
{"XPON.ONU.1.ANI.1.":{"TransceiverNumberOfEntries":1,"PONMode":"XGS-PON","LastChange":[0-9]+,"Enable":true,"Name":"","Alias":"cpe-ANI-1","Status":"Up"}} (re)
|
||||
{}
|
||||
{"amxd-error-code":0}
|
||||
@ -1 +0,0 @@
|
||||
../urx851-b0-dk/100-prplmesh.t
|
||||
@ -1 +0,0 @@
|
||||
../urx851-b0-dk/acceleration-plan-components
|
||||
@ -1,211 +1,5 @@
|
||||
targets:
|
||||
|
||||
nec-wx3000hp-nand:
|
||||
resources:
|
||||
RawSerialPort:
|
||||
port: "/dev/nec-wx3000hp"
|
||||
drivers:
|
||||
ExternalPowerDriver:
|
||||
cmd_on: ssh root@uart-relay.testbed.vpn.true.cz power_on 2
|
||||
cmd_off: ssh root@uart-relay.testbed.vpn.true.cz power_off 2
|
||||
SerialDriver: {}
|
||||
ShellDriver:
|
||||
console_ready: Please press Enter to activate this console.
|
||||
prompt: 'root@[\w()]+:[^ ]+ '
|
||||
login_prompt: built-in shell (ash)
|
||||
username: kingbanik
|
||||
SmallUBootDriver:
|
||||
prompt: 'GRX500 #'
|
||||
boot_secret: ''
|
||||
boot_expression: 'Hit any key to stop autoboot'
|
||||
init_command_timeout: 60
|
||||
init_commands:
|
||||
- setenv bootdelay 5
|
||||
- setenv serverip 192.168.1.2
|
||||
- setenv ipaddr 192.168.1.1
|
||||
- setenv bootargs debug earlyprintk console=ttyLTQ0,115200
|
||||
- setenv fullimage AX3000_1600_ETH_11AXUCI_ASURADA-squashfs-fullimage.img
|
||||
- ubi part system_sw
|
||||
- ubi remove rootfs_data
|
||||
- ubi create rootfs_data 0x2000000 dynamic
|
||||
- run update_fullimage
|
||||
- run run_bootcore
|
||||
- ubi read $loadaddr $kernel_vol
|
||||
- run flashargs addmisc
|
||||
UBootStrategy: {}
|
||||
|
||||
nec-wx3000hp-firstboot:
|
||||
resources:
|
||||
RawSerialPort:
|
||||
port: "/dev/nec-wx3000hp"
|
||||
drivers:
|
||||
ExternalPowerDriver:
|
||||
cmd_on: ssh root@uart-relay.testbed.vpn.true.cz power_on 2
|
||||
cmd_off: ssh root@uart-relay.testbed.vpn.true.cz power_off 2
|
||||
SerialDriver: {}
|
||||
ShellDriver:
|
||||
console_ready: Please press Enter to activate this console.
|
||||
prompt: 'root@[\w()]+:[^ ]+ '
|
||||
login_prompt: built-in shell (ash)
|
||||
username: kingbanik
|
||||
SmallUBootDriver:
|
||||
prompt: 'GRX500 #'
|
||||
boot_secret: ''
|
||||
boot_expression: 'Hit any key to stop autoboot'
|
||||
init_command_timeout: 60
|
||||
init_commands:
|
||||
- setenv bootargs debug earlyprintk console=ttyLTQ0,115200
|
||||
- ubi part system_sw
|
||||
- ubi remove rootfs_data
|
||||
- ubi create rootfs_data 0x2000000 dynamic
|
||||
- ubi read $loadaddr $kernel_vol
|
||||
- run flashargs addmisc
|
||||
UBootStrategy: {}
|
||||
|
||||
netgear-rax40-nand:
|
||||
resources:
|
||||
RawSerialPort:
|
||||
port: "/dev/netgear-rax40"
|
||||
drivers:
|
||||
ExternalPowerDriver:
|
||||
cmd_on: ssh root@uart-relay.testbed.vpn.true.cz power_on 1
|
||||
cmd_off: ssh root@uart-relay.testbed.vpn.true.cz power_off 1
|
||||
SerialDriver: {}
|
||||
ShellDriver:
|
||||
console_ready: Please press Enter to activate this console.
|
||||
prompt: 'root@[\w()]+:[^ ]+ '
|
||||
login_prompt: built-in shell (ash)
|
||||
username: kingbanik
|
||||
SmallUBootDriver:
|
||||
prompt: 'GRX500 #'
|
||||
boot_secret: ''
|
||||
boot_expression: 'Hit any key to stop autoboot'
|
||||
init_command_timeout: 60
|
||||
init_commands:
|
||||
- setenv bootdelay 0
|
||||
- setenv serverip 192.168.1.2
|
||||
- setenv ipaddr 192.168.1.1
|
||||
- setenv bootargs debug earlyprintk console=ttyLTQ0,115200
|
||||
- setenv fullimage NETGEAR_RAX40-squashfs-fullimage.img
|
||||
- ubi part system_sw
|
||||
- ubi remove rootfs_data
|
||||
- ubi create rootfs_data 0x2000000 dynamic 5
|
||||
- run update_fullimage
|
||||
- run run_bootcore
|
||||
- ubi read $(loadaddr) $(kernel_vol)
|
||||
- run flashargs addmisc
|
||||
UBootStrategy: {}
|
||||
|
||||
netgear-rax40-initramfs:
|
||||
resources:
|
||||
RawSerialPort:
|
||||
port: "/dev/ttyS1"
|
||||
drivers:
|
||||
ExternalPowerDriver:
|
||||
cmd_on: ssh root@uart-relay.testbed.vpn.true.cz power_on 1
|
||||
cmd_off: ssh root@uart-relay.testbed.vpn.true.cz power_off 1
|
||||
SerialDriver: {}
|
||||
ShellDriver:
|
||||
console_ready: Please press Enter to activate this console.
|
||||
prompt: 'root@[\w()]+:[^ ]+ '
|
||||
login_prompt: built-in shell (ash)
|
||||
username: kingbanik
|
||||
SmallUBootDriver:
|
||||
prompt: 'GRX500 #'
|
||||
boot_secret: ''
|
||||
boot_expression: 'Hit any key to stop autoboot'
|
||||
init_command_timeout: 60
|
||||
init_commands:
|
||||
- setenv bootdelay 0
|
||||
- setenv serverip 192.168.1.2
|
||||
- setenv ipaddr 192.168.1.1
|
||||
- setenv bootargs debug earlyprintk console=ttyLTQ0,115200
|
||||
- tftpboot 0x8f500000 NETGEAR_RAX40-initramfs-kernel.bin
|
||||
UBootStrategy: {}
|
||||
|
||||
tplink-c6v2-initramfs:
|
||||
resources:
|
||||
RawSerialPort:
|
||||
port: "/dev/tplink-c6v2"
|
||||
drivers:
|
||||
ExternalPowerDriver:
|
||||
cmd_on: ssh root@uart-relay.testbed.vpn.true.cz power_on 0
|
||||
cmd_off: ssh root@uart-relay.testbed.vpn.true.cz power_off 0
|
||||
SerialDriver: {}
|
||||
ShellDriver:
|
||||
console_ready: Please press Enter to activate this console.
|
||||
prompt: 'root@[\w()]+:[^ ]+ '
|
||||
login_prompt: built-in shell (ash)
|
||||
await_login_timeout: 15
|
||||
username: kingbanik
|
||||
SmallUBootDriver:
|
||||
prompt: 'ath> '
|
||||
boot_expression: 'Hit any key to stop autoboot'
|
||||
init_commands:
|
||||
- setenv bootdelay 0
|
||||
- setenv serverip 192.168.1.2
|
||||
- setenv ipaddr 192.168.1.1
|
||||
- setenv bootargs debug earlyprintk console=ttyS0,115200
|
||||
- ping 192.168.1.2; ping 192.168.1.2; ping 192.168.1.2
|
||||
- tftpboot 0x81000000 prplos-ath79-generic-tplink_archer-c6-v2-initramfs-kernel.bin
|
||||
UBootStrategy: {}
|
||||
|
||||
glinet-b1300-initramfs:
|
||||
resources:
|
||||
RawSerialPort:
|
||||
port: "/dev/glinet-b1300"
|
||||
drivers:
|
||||
ExternalPowerDriver:
|
||||
cmd_on: ssh root@uart-relay.testbed.vpn.true.cz power_on 1
|
||||
cmd_off: ssh root@uart-relay.testbed.vpn.true.cz power_off 1
|
||||
SerialDriver: {}
|
||||
ShellDriver:
|
||||
console_ready: Please press Enter to activate this console.
|
||||
prompt: 'root@[\w()]+:[^ ]+ '
|
||||
login_prompt: built-in shell (ash)
|
||||
await_login_timeout: 15
|
||||
username: kingbanik
|
||||
UBootDriver:
|
||||
prompt: '\(IPQ40xx\) # '
|
||||
password: 'gl'
|
||||
password_prompt: 'Hit "gl" key to stop booting'
|
||||
init_commands:
|
||||
- setenv bootdelay 0
|
||||
- setenv serverip 192.168.1.2
|
||||
- setenv ipaddr 192.168.1.1
|
||||
boot_command_delay: 5
|
||||
boot_timeout: 90
|
||||
boot_command: tftpboot 0x88000000 prplos-ipq40xx-generic-glinet_gl-b1300-initramfs-fit-zImage.itb && bootm 0x88000000
|
||||
UBootStrategy: {}
|
||||
|
||||
glinet-b1300-nor:
|
||||
resources:
|
||||
RawSerialPort:
|
||||
port: "/dev/glinet-b1300"
|
||||
drivers:
|
||||
ExternalPowerDriver:
|
||||
cmd_on: ssh root@uart-relay.testbed.vpn.true.cz power_on 1
|
||||
cmd_off: ssh root@uart-relay.testbed.vpn.true.cz power_off 1
|
||||
SerialDriver: {}
|
||||
ShellDriver:
|
||||
console_ready: Please press Enter to activate this console.
|
||||
prompt: 'root@[\w()]+:[^ ]+ '
|
||||
login_prompt: built-in shell (ash)
|
||||
await_login_timeout: 15
|
||||
username: kingbanik
|
||||
UBootDriver:
|
||||
prompt: '\(IPQ40xx\) # '
|
||||
password: 'gl'
|
||||
password_prompt: 'Hit "gl" key to stop booting'
|
||||
init_commands:
|
||||
- setenv bootdelay 0
|
||||
- setenv serverip 192.168.1.2
|
||||
- setenv ipaddr 192.168.1.1
|
||||
boot_command_delay: 5
|
||||
boot_timeout: 180
|
||||
boot_command: tftpboot 0x84000000 prplos-ipq40xx-generic-glinet_gl-b1300-squashfs-sysupgrade.bin && sf probe && sf erase 0x180000 0x1e80000 && sf write 0x84000000 0x180000 $filesize && bootipq
|
||||
UBootStrategy: {}
|
||||
|
||||
# needs patched u-boot for emmc r/w https://lists.denx.de/pipermail/u-boot/2021-February/441964.html
|
||||
turris-omnia-emmc:
|
||||
resources:
|
||||
|
||||
@ -1,71 +1,5 @@
|
||||
targets:
|
||||
|
||||
glinet-b1300-initramfs:
|
||||
resources:
|
||||
ModbusTCPCoil:
|
||||
host: quido.testbed-02.vpn.true.cz
|
||||
coil: 7
|
||||
managed_coils: 8
|
||||
exclusive_coil_mode: True
|
||||
write_multiple_coils: True
|
||||
RawSerialPort:
|
||||
port: "/dev/glinet-b1300"
|
||||
drivers:
|
||||
ModbusCoilDriver: {}
|
||||
DigitalOutputPowerDriver: {}
|
||||
SerialDriver: {}
|
||||
ShellDriver:
|
||||
console_ready: Please press Enter to activate this console.
|
||||
prompt: 'root@[\w()]+:[^ ]+ '
|
||||
login_prompt: built-in shell (ash)
|
||||
await_login_timeout: 15
|
||||
username: kingbanik
|
||||
UBootDriver:
|
||||
prompt: '\(IPQ40xx\) # '
|
||||
password: 'gl'
|
||||
password_prompt: 'Hit "gl" key to stop booting'
|
||||
init_commands:
|
||||
- setenv bootdelay 0
|
||||
- setenv serverip 192.168.1.2
|
||||
- setenv ipaddr 192.168.1.1
|
||||
boot_command_delay: 5
|
||||
boot_timeout: 90
|
||||
boot_command: tftpboot 0x88000000 prplos-ipq40xx-generic-glinet_gl-b1300-initramfs-fit-zImage.itb && bootm 0x88000000
|
||||
UBootStrategy: {}
|
||||
|
||||
glinet-b1300-nor:
|
||||
resources:
|
||||
ModbusTCPCoil:
|
||||
host: quido.testbed-02.vpn.true.cz
|
||||
coil: 7
|
||||
managed_coils: 8
|
||||
exclusive_coil_mode: True
|
||||
write_multiple_coils: True
|
||||
RawSerialPort:
|
||||
port: "/dev/glinet-b1300"
|
||||
drivers:
|
||||
ModbusCoilDriver: {}
|
||||
DigitalOutputPowerDriver: {}
|
||||
SerialDriver: {}
|
||||
ShellDriver:
|
||||
console_ready: Please press Enter to activate this console.
|
||||
prompt: 'root@[\w()]+:[^ ]+ '
|
||||
login_prompt: built-in shell (ash)
|
||||
await_login_timeout: 15
|
||||
username: kingbanik
|
||||
UBootDriver:
|
||||
prompt: '\(IPQ40xx\) # '
|
||||
password: 'gl'
|
||||
password_prompt: 'Hit "gl" key to stop booting'
|
||||
init_commands:
|
||||
- setenv bootdelay 0
|
||||
- setenv serverip 192.168.1.2
|
||||
- setenv ipaddr 192.168.1.1
|
||||
boot_command_delay: 5
|
||||
boot_timeout: 180
|
||||
boot_command: tftpboot 0x84000000 prplos-ipq40xx-generic-glinet_gl-b1300-squashfs-sysupgrade.bin && sf probe && sf erase 0x180000 0x1e80000 && sf write 0x84000000 0x180000 $filesize && bootipq
|
||||
UBootStrategy: {}
|
||||
|
||||
prpl-haze-initramfs:
|
||||
resources:
|
||||
ModbusTCPCoil:
|
||||
@ -129,37 +63,6 @@ targets:
|
||||
- flasherase rootfs_data
|
||||
UBootStrategy: {}
|
||||
|
||||
urx851-b0-dk-pon-emmc:
|
||||
resources:
|
||||
ModbusTCPCoil:
|
||||
host: quido.testbed-02.vpn.true.cz
|
||||
coil: 2
|
||||
managed_coils: 8
|
||||
write_multiple_coils: True
|
||||
exclusive_coil_mode: True
|
||||
RawSerialPort:
|
||||
port: "/dev/urx851-b0-dk"
|
||||
drivers:
|
||||
ModbusCoilDriver: {}
|
||||
DigitalOutputPowerDriver: {}
|
||||
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 fullimage prplos-intel_x86-lgm-LGM_PRPL-lgp_b0_pon_fullimage.img
|
||||
- mmc dev 0 && mmc erase ${rootfs_data_block_start} ${rootfs_data_block_size} && run update_fullimage
|
||||
UBootStrategy: {}
|
||||
|
||||
wnc-freedom-initramfs:
|
||||
resources:
|
||||
ModbusTCPCoil:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user