diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 84607bfa86..9b9ef064ed 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -9,6 +9,7 @@ include: - local: .gitlab/cdrouter/turris-omnia.yml - local: .gitlab/cdrouter/urx851-hdk-3.yml - local: .gitlab/cdrouter/urx851-b0-dk-pon.yml + - local: .gitlab/cdrouter/wnc-freedom.yml - local: .gitlab/coverity.yml - local: .gitlab/docker.yml - local: .gitlab/docker/builder/gitlab.yml @@ -21,6 +22,7 @@ include: - local: .gitlab/testbed/turris-omnia.yml - local: .gitlab/testbed/urx851-hdk-3.yml - local: .gitlab/testbed/urx851-b0-dk-pon.yml + - local: .gitlab/testbed/wnc-freedom.yml stages: - docker @@ -85,3 +87,9 @@ run test URX851-B0-DK-PON with system on eMMC: - job: build test mxl_x86 mxl_wlan_hostap_ng prpl security optional: true extends: .urx851-b0-dk-pon testbed + +run test Freedom initramfs: + needs: + - job: build test qca_ipq95xx prpl security + optional: true + extends: .wnc-freedom testbed diff --git a/.gitlab/cdrouter/wnc-freedom.yml b/.gitlab/cdrouter/wnc-freedom.yml new file mode 100644 index 0000000000..be0239e1e8 --- /dev/null +++ b/.gitlab/cdrouter/wnc-freedom.yml @@ -0,0 +1,89 @@ +.wnc-freedom: &wnc_freedom + needs: + - job: build test qca_ipq95xx prpl security + optional: true + extends: + - .wnc-freedom testbed + - .cdrouter + +CDRouter-Top-100+mDNS Freedom initramfs: + <<: *wnc_freedom + variables: + DUT_INIT_SCRIPTS: | + .gitlab/scripts/dut-init/cdrouter-dut-configure-dyndns.sh + +CDRouter-Top-100+mDNS Freedom VLAN WAN/LAN initramfs: + <<: *wnc_freedom + 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 Freedom PPPoE WAN initramfs: + <<: *wnc_freedom + 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 Freedom initramfs: + <<: *wnc_freedom + variables: + CDROUTER_TEST_CONFIG: wireless + DUT_INIT_SCRIPTS: | + .gitlab/scripts/dut-init/cdrouter-dut-configure-wireless.sh + + +.wnc-freedom-ipv6: &wnc_freedom_ipv6 + <<: *wnc_freedom + 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 Freedom initramfs: + <<: *wnc_freedom_ipv6 + allow_failure: true + variables: + CDROUTER_TEST_CONFIG: generic-ipv6-upnp + +CDRouter-IPv6-Top-100+mDNS Freedom initramfs: + <<: *wnc_freedom_ipv6 + variables: + CDROUTER_TEST_CONFIG: generic-ipv6 + +CDRouter-IPv6-Top-100+mDNS Freedom VLAN WAN/LAN initramfs: + <<: *wnc_freedom_ipv6 + variables: + CDROUTER_TEST_CONFIG: vlan-ipv6 + DUT_INIT_SCRIPTS: | + .gitlab/scripts/dut-init/cdrouter-dut-enable-vlans.sh + +.CDRouter-IPv6-Top-100+mDNS Freedom PPPoE WAN initramfs: + <<: *wnc_freedom_ipv6 + variables: + CDROUTER_TEST_CONFIG: ppp-ipv6 + DUT_INIT_SCRIPTS: | + .gitlab/scripts/dut-init/cdrouter-dut-enable-pppoe.sh + +CDRouter-TR-069 Freedom eMMC: + <<: *wnc_freedom + variables: + LABGRID_TARGET: wnc-freedom-emmc + TFTP_IMAGE_FILENAME: openwrt-ipq95xx-prpl_freedom-squashfs-sysupgrade.bin + TFTP_IMAGE_FILENAME_PATTERN: /.*openwrt-ipq95xx-prpl_freedom-squashfs-sysupgrade.bin/ + DUT_INIT_SCRIPTS: | + .gitlab/scripts/dut-init/cdrouter-tr181-mockups.sh + +CDRouter-USP-Certification Freedom initramfs: + <<: *wnc_freedom + variables: + DUT_INIT_SCRIPTS: | + .gitlab/scripts/dut-init/cdrouter-dut-configure-dyndns.sh diff --git a/.gitlab/testbed/wnc-freedom.yml b/.gitlab/testbed/wnc-freedom.yml new file mode 100644 index 0000000000..19ccbe90ee --- /dev/null +++ b/.gitlab/testbed/wnc-freedom.yml @@ -0,0 +1,15 @@ +.wnc-freedom testbed: + extends: .testbed true.cz + variables: + DUT_ARCH: aarch64 + DUT_TARGET: ipq95xx + DUT_SUBTARGET: generic + DUT_BOARD: wnc-freedom + DUT_CPU_TYPE: cortex-a73 + DUT_CPU_SUBTYPE: neon-vfpv4 + DUT_WAN_INTERFACE: wan + LABGRID_TARGET: wnc-freedom-initramfs + TFTP_IMAGE_FILENAME: openwrt-ipq95xx-prpl_freedom-initramfs-uImage.itb + TFTP_IMAGE_FILENAME_PATTERN: /.*openwrt-ipq95xx-prpl_freedom-initramfs-uImage.itb/ + tags: + - dut-wnc-freedom diff --git a/.gitlab/tests/cram/wnc-freedom/010-network.t b/.gitlab/tests/cram/wnc-freedom/010-network.t new file mode 100644 index 0000000000..3149391c11 --- /dev/null +++ b/.gitlab/tests/cram/wnc-freedom/010-network.t @@ -0,0 +1,35 @@ +Create R alias: + + $ alias R="${CRAM_REMOTE_COMMAND:-}" + +Check correct routing table: + + $ R ip route + default via 10.0.0.1 dev wan + 10.0.0.0/24 dev wan 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.5.0/24 dev br-lcm proto kernel scope link src 192.168.5.1 linkdown + +Check correct interface setup: + + $ R "ip link | grep ^\\\\d | cut -d: -f2-" | LC_ALL=C sort + br-guest: mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000 + br-lan: mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000 + br-lcm: mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000 + ip6tnl0@NONE: mtu 1452 qdisc noop state DOWN mode DEFAULT group default qlen 1000 + lan1: mtu 1500 qdisc mq master br-lan state UP mode DEFAULT group default qlen 1000 + lan2: mtu 1500 qdisc mq master br-lan state DOWN mode DEFAULT group default qlen 1000 + lan3: mtu 1500 qdisc mq master br-lan state DOWN mode DEFAULT group default qlen 1000 + lan4: mtu 1500 qdisc mq master br-lan state DOWN mode DEFAULT group default qlen 1000 + lo: mtu 65535 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 + miireg: <> mtu 0 qdisc noop state DOWN mode DEFAULT group default qlen 1000 + teql0: mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 100 + wan: mtu 1500 qdisc htb state UP mode DEFAULT group default qlen 1000 + wlan0.1: mtu 1500 qdisc noop master br-lan state DOWN mode DEFAULT group default qlen 4096 + wlan0.2: mtu 1500 qdisc noop master br-guest state DOWN mode DEFAULT group default qlen 4096 + wlan0: mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 4096 + wlan1.1: mtu 1500 qdisc noop master br-guest state DOWN mode DEFAULT group default qlen 4096 + wlan1: mtu 1500 qdisc mq master br-lan state DOWN mode DEFAULT group default qlen 4096 + wlan2.1: mtu 1500 qdisc noop master br-guest state DOWN mode DEFAULT group default qlen 4096 + wlan2: mtu 1500 qdisc mq master br-lan state DOWN mode DEFAULT group default qlen 4096 diff --git a/.gitlab/tests/cram/wnc-freedom/011-tls.t b/.gitlab/tests/cram/wnc-freedom/011-tls.t new file mode 100644 index 0000000000..bd7b109168 --- /dev/null +++ b/.gitlab/tests/cram/wnc-freedom/011-tls.t @@ -0,0 +1,13 @@ +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}' + hostapd-qca-openssl + libopenssl-conf + libopenssl.* (re) + libustream-openssl.* (re) + openssl-util + wpa-supplicant-qca-openssl diff --git a/.gitlab/tests/cram/wnc-freedom/020-ubus.t b/.gitlab/tests/cram/wnc-freedom/020-ubus.t new file mode 100644 index 0000000000..fcf2da94a0 --- /dev/null +++ b/.gitlab/tests/cram/wnc-freedom/020-ubus.t @@ -0,0 +1,10 @@ +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" + ARMv8 Processor rev 0 + prpl Foundation Freedom + prpl,freedom diff --git a/.gitlab/tests/cram/wnc-freedom/030-wifi.t b/.gitlab/tests/cram/wnc-freedom/030-wifi.t new file mode 100644 index 0000000000..7b953e1765 --- /dev/null +++ b/.gitlab/tests/cram/wnc-freedom/030-wifi.t @@ -0,0 +1,14 @@ +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 wlan1.1 (esc) + \tInterface wlan2 (esc) + \tInterface wlan2.1 (esc) \ No newline at end of file diff --git a/.gitlab/tests/cram/wnc-freedom/100-prplmesh.t b/.gitlab/tests/cram/wnc-freedom/100-prplmesh.t new file mode 100644 index 0000000000..6bb70db581 --- /dev/null +++ b/.gitlab/tests/cram/wnc-freedom/100-prplmesh.t @@ -0,0 +1,142 @@ +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 + Down + Down + Down + Down + Down + PWHM_SSID7 + prplOS + prplOS + prplOS + prplOS-guest + prplOS-guest + prplOS-guest + + $ R "pgrep -f 'hostapd -ddt'" + [1] + + $ R "ubus list | grep hostapd." + [1] + +Restart prplmesh: + +Start wireless: + + $ R logger -t cram "Start wireless" + + $ R "ubus -S call WiFi.AccessPoint.1 _set '{\"parameters\":{\"Enable\":1}}'" + {"WiFi.AccessPoint.1.":{"Enable":true}} + {} + {"amxd-error-code":0} + + $ R "ubus -S call WiFi.AccessPoint.2 _set '{\"parameters\":{\"Enable\":1}}'" + {"WiFi.AccessPoint.2.":{"Enable":true}} + {} + {"amxd-error-code":0} + + $ R "ubus -S call WiFi.AccessPoint.3 _set '{\"parameters\":{\"Enable\":1}}'" + {"WiFi.AccessPoint.3.":{"Enable":true}} + {} + {"amxd-error-code":0} + + $ R "ubus -S call WiFi.AccessPoint.4 _set '{\"parameters\":{\"Enable\":1}}'" + {"WiFi.AccessPoint.4.":{"Enable":true}} + {} + {"amxd-error-code":0} + + $ R "ubus -S call WiFi.AccessPoint.5 _set '{\"parameters\":{\"Enable\":1}}'" + {"WiFi.AccessPoint.5.":{"Enable":true}} + {} + {"amxd-error-code":0} + + $ R "ubus -S call WiFi.AccessPoint.6 _set '{\"parameters\":{\"Enable\":1}}'" + {"WiFi.AccessPoint.6.":{"Enable":true}} + {} + {"amxd-error-code":0} + + $ sleep 10 + +Check that hostapd is operating as expected: + + $ R logger -t cram "Check that hostapd is operating after reboot" + $ R "ps axw" | sed -nE 's/.*(hostapd.*)/\1/p' | head -3 | LC_ALL=C sort + hostapd -ddt /tmp/wlan0_hapd.conf + hostapd/global + hostapd/global + + $ R "ubus list | grep hostapd. | sort" + hostapd.wlan0.1 + hostapd.wlan0.2 + hostapd.wlan1 + hostapd.wlan1.1 + hostapd.wlan2 + hostapd.wlan2.1 + +Check that wireless is operating: + + $ R "iw dev | grep -e Interface -e ssid | tr -d '\t' | sort" + Interface wlan0 + Interface wlan0.1 + Interface wlan0.2 + Interface wlan1 + Interface wlan1.1 + Interface wlan2 + Interface wlan2.1 + ssid prplOS + ssid prplOS + ssid prplOS + ssid prplOS-guest + ssid prplOS-guest + ssid prplOS-guest + +Check that prplmesh processes are running: + +Check that prplmesh is operational: + +Check that prplmesh is in operational state: + +Disable wireless: + + $ R logger -t cram "Stop wireless" + + $ R "ubus -S call WiFi.AccessPoint.1 _set '{\"parameters\":{\"Enable\":0}}'" + {"WiFi.AccessPoint.1.":{"Enable":false}} + {} + {"amxd-error-code":0} + + $ R "ubus -S call WiFi.AccessPoint.2 _set '{\"parameters\":{\"Enable\":0}}'" + {"WiFi.AccessPoint.2.":{"Enable":false}} + {} + {"amxd-error-code":0} + + $ R "ubus -S call WiFi.AccessPoint.3 _set '{\"parameters\":{\"Enable\":0}}'" + {"WiFi.AccessPoint.3.":{"Enable":false}} + {} + {"amxd-error-code":0} + + $ R "ubus -S call WiFi.AccessPoint.4 _set '{\"parameters\":{\"Enable\":0}}'" + {"WiFi.AccessPoint.4.":{"Enable":false}} + {} + {"amxd-error-code":0} + + $ R "ubus -S call WiFi.AccessPoint.5 _set '{\"parameters\":{\"Enable\":0}}'" + {"WiFi.AccessPoint.5.":{"Enable":false}} + {} + {"amxd-error-code":0} + + $ R "ubus -S call WiFi.AccessPoint.6 _set '{\"parameters\":{\"Enable\":0}}'" + {"WiFi.AccessPoint.6.":{"Enable":false}} + {} + {"amxd-error-code":0} + + $ sleep 10 + +Check that wireless is disabled: diff --git a/.gitlab/tests/cram/wnc-freedom/acceleration-plan-components/020-bridging-guest.t b/.gitlab/tests/cram/wnc-freedom/acceleration-plan-components/020-bridging-guest.t new file mode 100644 index 0000000000..2246d0f84a --- /dev/null +++ b/.gitlab/tests/cram/wnc-freedom/acceleration-plan-components/020-bridging-guest.t @@ -0,0 +1,65 @@ +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@wlan2 + br-lan@wlan1 + br-lan@wlan0.1 + br-lan@lan4 + br-lan@lan3 + br-lan@lan2 + br-lan@lan1 + br-guest@wlan2.1 + br-guest@wlan1.1 + br-guest@wlan0.2 + +Remove lan4 from LAN bridge and add it to the Guest bridge: + + $ printf ' \ + > ubus-cli Bridging.Bridge.lan.Port.LAN4-\n + > ubus-cli Bridging.Bridge.guest.Port.+{Name="LAN4", Alias="eth_port4", LowerLayers="Device.Ethernet.Interface.5."}\n + > ubus-cli Bridging.Bridge.guest.Port.eth_port4.Enable=1\n + > ' > /tmp/run + $ script --command "ssh -t root@$TARGET_LAN_IP '$(cat /tmp/run)'" > /dev/null + $ sleep 5 + +Check that lan4 is added to Guest bridge: + + $ R "bridge -json link" | jq -r 'sort_by(.master,.ifname) | reverse | .[] | "\(.master)@\(.ifname)"' + br-lan@wlan2 + br-lan@wlan1 + br-lan@wlan0.1 + br-lan@lan3 + br-lan@lan2 + br-lan@lan1 + br-guest@wlan2.1 + br-guest@wlan1.1 + br-guest@wlan0.2 + br-guest@lan4 + +Remove lan4 from the Guest bridge and add it back to the LAN bridge: + + $ printf '\ + > ubus-cli Bridging.Bridge.guest.Port.eth_port4-\n + > ubus-cli Bridging.Bridge.lan.Port.+{Name="LAN4", Alias="eth_port4", LowerLayers="Device.Ethernet.Interface.5."}\n + > ubus-cli Bridging.Bridge.lan.Port.eth_port4.Enable=1\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 "bridge -json link" | jq -r 'sort_by(.master,.ifname) | reverse | .[] | "\(.master)@\(.ifname)"' + br-lan@wlan2 + br-lan@wlan1 + br-lan@wlan0.1 + br-lan@lan4 + br-lan@lan3 + br-lan@lan2 + br-lan@lan1 + br-guest@wlan2.1 + br-guest@wlan1.1 + br-guest@wlan0.2 diff --git a/.gitlab/tests/cram/wnc-freedom/acceleration-plan-components/030-lcm.t b/.gitlab/tests/cram/wnc-freedom/acceleration-plan-components/030-lcm.t new file mode 100644 index 0000000000..ccfec3427f --- /dev/null +++ b/.gitlab/tests/cram/wnc-freedom/acceleration-plan-components/030-lcm.t @@ -0,0 +1,91 @@ +Create R alias: + + $ alias R="${CRAM_REMOTE_COMMAND:-}" + +Check Cthulhu.Sandbox datamodel: + + $ R "ubus -S call Cthulhu.Sandbox.Instances.1 _get | jsonfilter -e @[*].Status -e @[*].Enable -e @[*].SandboxId | sort" + Up + generic + true + +Check Cthulhu.Config datamodel: + + $ R "ubus -S call Cthulhu.Config _get | jsonfilter -e @[*].UseOverlayFS -e @[*].DefaultBackend -e @[*].ImageLocation | sort" + /usr/lib/cthulhu-lxc/cthulhu-lxc.so + /usr/share/rlyeh/images + true + +Install testing prplOS container v1: + + $ cat > /tmp/run-container < ubus-cli SoftwareModules.InstallDU\( \ + > URL="docker://registry.gitlab.com/prpl-foundation/prplos/prplos/prplos/lcm-test-ipq807x-generic:prplos-v1", \ + > UUID="0f032bd7-54bd-5b81-b14e-9441d730092f", \ + > ExecutionEnvRef="generic", \ + > NetworkConfig = { "AccessInterfaces" = [{"Reference" = "Lan"}] } \ + > \) + > EOF + $ script --command "ssh -t root@$TARGET_LAN_IP '$(cat /tmp/run-container)'" > /dev/null + +Check that prplOS container v1 is running: + + $ sleep 30 + + $ R "ubus -S call Cthulhu.Container.Instances.1 _get | jsonfilter -e @[*].Status -e @[*].Bundle -e @[*].BundleVersion -e @[*].ContainerId -e @[*].Alias | sort" + Running + c879945e-d002-5775-88a8-e29bc0c641b4 + cpe-c879945e-d002-5775-88a8-e29bc0c641b4 + prpl-foundation/prplos/prplos/prplos/lcm-test-ipq807x-generic + prplos-v1 + + $ container_ip=$(R "ubus call DHCPv4Server.Pool.3.Client.1.IPv4Address.1 _get | jsonfilter -e @[*].IPAddress") + $ R "ssh -y root@$container_ip 'cat /etc/container-version ; ip r' 2> /dev/null" + 1 + default via 192.168.5.1 dev lcm0 + 192.168.5.0/24 dev lcm0 scope link src 192.168.5.* (re) + +Update to prplOS container v2: + + $ cat > /tmp/run-container < ubus-cli SoftwareModules.DeploymentUnit.cpe-c879945e-d002-5775-88a8-e29bc0c641b4.Update\( \ + > URL="docker://registry.gitlab.com/prpl-foundation/prplos/prplos/prplos/lcm-test-ipq807x-generic:prplos-v2", \ + > UUID="0f032bd7-54bd-5b81-b14e-9441d730092f", \ + > ExecutionEnvRef="generic", \ + > NetworkConfig = { "AccessInterfaces" = [{"Reference" = "Lan"}] } \ + > \) + > EOF + $ script --command "ssh -t root@$TARGET_LAN_IP '$(cat /tmp/run-container)'" > /dev/null + +Check that prplOS container v2 is running: + + $ sleep 30 + + $ R "ubus -S call Cthulhu.Container.Instances.1 _get | jsonfilter -e @[*].Status -e @[*].Bundle -e @[*].BundleVersion -e @[*].ContainerId -e @[*].Alias | sort" + Running + c879945e-d002-5775-88a8-e29bc0c641b4 + cpe-c879945e-d002-5775-88a8-e29bc0c641b4 + prpl-foundation/prplos/prplos/prplos/lcm-test-ipq807x-generic + prplos-v2 + + $ container_ip=$(R "ubus call DHCPv4Server.Pool.3.Client.2.IPv4Address.1 _get | jsonfilter -e @[*].IPAddress") + $ R "ssh -y root@$container_ip 'cat /etc/container-version ; ip r' 2> /dev/null" + 2 + default via 192.168.5.1 dev lcm0 + 192.168.5.0/24 dev lcm0 scope link src 192.168.5.* (re) + +Uninstall prplOS testing container: + + $ script --command "ssh -t root@$TARGET_LAN_IP 'ubus-cli SoftwareModules.DeploymentUnit.cpe-c879945e-d002-5775-88a8-e29bc0c641b4.Uninstall\(\)'" > /dev/null; sleep 5 + +Check that prplOS container is not running: + + $ R "ubus -S call Cthulhu.Container.Instances.1 _get" + [4] + +Check that Rlyeh has no container images: + + $ R "ubus -S call Rlyeh.Images _get" + {"Rlyeh.Images.":{}} + {} + {"amxd-error-code":0} diff --git a/.testbed/labgrid/default.yaml b/.testbed/labgrid/default.yaml index 6883926ebe..6b9cdacdd6 100644 --- a/.testbed/labgrid/default.yaml +++ b/.testbed/labgrid/default.yaml @@ -282,3 +282,55 @@ targets: - setenv fullimage openwrt-intel_x86-lgm-PRPL_OSP_TB341-osp_tb341_fullimage.img - mmc dev 0 && mmc erase ${overlay_container_a_block_start} ${overlay_container_a_block_size} && run update_fullimage UBootStrategy: {} + + wnc-freedom-initramfs: + resources: + RawSerialPort: + port: "/dev/wnc-freedom" + 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) + await_login_timeout: 16 + username: kingbanik + UBootDriver: + prompt: 'IPQ9574# ' + init_commands: + - setenv serverip 10.0.0.1 + - setenv ipaddr 10.0.0.2 + boot_command: tftpboot openwrt-ipq95xx-prpl_freedom-initramfs-uImage.itb && bootm + boot_command_delay: 3 + UBootStrategy: {} + + wnc-freedom-emmc: + resources: + RawSerialPort: + port: "/dev/wnc-freedom" + 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) + await_login_timeout: 16 + username: kingbanik + UBootDriver: + prompt: 'IPQ9574# ' + init_commands: + - setenv serverip 10.0.0.1 + - setenv ipaddr 10.0.0.2 + - sleep 5 + - tftpboot 0x44000000 openwrt-ipq95xx-prpl_freedom-squashfs-sysupgrade.bin + - setenv untar_addr_kernel; setenv untar_addr_root; echo + - untar 0x$fileaddr 0x$filesize kernel root + - if test -n $untar_addr_kernel; then flash "0:HLOS" 0x$untar_addr_kernel 0x$untar_size_kernel; else echo "kernel is not found"; fi + - if test -n $untar_addr_root; then flash "rootfs" 0x$untar_addr_root 0x$untar_size_root; else echo "rootfs is not found"; fi + UBootStrategy: {} diff --git a/.testbed/labgrid/testbed-02.yaml b/.testbed/labgrid/testbed-02.yaml index 99d02b266f..3bdd62177f 100644 --- a/.testbed/labgrid/testbed-02.yaml +++ b/.testbed/labgrid/testbed-02.yaml @@ -159,3 +159,65 @@ targets: - setenv fullimage openwrt-intel_x86-lgm-LGM_PRPL-lgp_b0_pon_fullimage.img - mmc dev 0 && mmc erase c6800 10000 && mmc erase d6800 10000 && run update_fullimage UBootStrategy: {} + + wnc-freedom-initramfs: + resources: + ModbusTCPCoil: + host: quido.testbed-02.vpn.true.cz + coil: 1 + managed_coils: 8 + exclusive_coil_mode: True + write_multiple_coils: True + RawSerialPort: + port: "/dev/wnc-freedom" + 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: 16 + username: kingbanik + UBootDriver: + prompt: 'IPQ9574# ' + init_commands: + - setenv serverip 10.0.0.1 + - setenv ipaddr 10.0.0.2 + boot_command: tftpboot openwrt-ipq95xx-prpl_freedom-initramfs-uImage.itb && bootm + boot_command_delay: 3 + UBootStrategy: {} + + wnc-freedom-emmc: + resources: + ModbusTCPCoil: + host: quido.testbed-02.vpn.true.cz + coil: 1 + managed_coils: 8 + exclusive_coil_mode: True + write_multiple_coils: True + RawSerialPort: + port: "/dev/wnc-freedom" + 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: 16 + username: kingbanik + UBootDriver: + prompt: 'IPQ9574# ' + init_commands: + - setenv serverip 10.0.0.1 + - setenv ipaddr 10.0.0.2 + - sleep 5 + - tftpboot 0x44000000 openwrt-ipq95xx-prpl_freedom-squashfs-sysupgrade.bin + - setenv untar_addr_kernel; setenv untar_addr_root; echo + - untar 0x$fileaddr 0x$filesize kernel root + - if test -n $untar_addr_kernel; then flash "0:HLOS" 0x$untar_addr_kernel 0x$untar_size_kernel; else echo "kernel is not found"; fi + - if test -n $untar_addr_root; then flash "rootfs" 0x$untar_addr_root 0x$untar_size_root; else echo "rootfs is not found"; fi + UBootStrategy: {}