The u-boot-freedom package requires lzop to compress the FIT DTB blob
(fit-dtb.blob.lzo) during the final build stage. The uboot-tools host
package requires OpenSSL headers to build. The regular build job has
these available via OpenWrt's host tools, but under Coverity's cov-build
wrapper they are not available, causing build failures:
/bin/sh: 1: lzop: not found
make[3]: *** [Makefile:1216: fit-dtb.blob.lzo] Error 127
ERROR: package/feeds/feed_prplos/uboot-tools [host] failed to build.
Install lzop and libssl-dev via apt-get alongside the other Coverity
job dependencies.
Reference: PPW-2121
Signed-off-by: Mouna Aloui <mouna.aloui@softathome.com>
The following cram tests fail on Nokia Valyrian and are skipped on this
platform (CI_JOB_NAME guard, exit 80) until addressed, matching the
existing per-platform skip convention:
generic/acceleration-plan-components/046-qos-classification.t
generic/lcm/038-lcm-pcm.t
generic/lcm/042-lcm-usp-direct-connection.t
generic/obuspa.t
generic/verify-config-restore/020-verify-backup-restore-flags.t
nokia-valyrian/100-pwhm_step_1.t
nokia-valyrian/100-pwhm_step_2.t
The guards only skip on Valyrian; behaviour on other platforms is
unchanged. obuspa.t is a known flaky test (USP re-registration race after
obuspa restart) affecting all platforms; tracked separately.
References: PCF-2669
Signed-off-by: Peter Steinhaeuser <ps@embedd.com>
The image-authentication feature and its dependencies (libbotan, librnp,
libsexpp) and timingila-rlyeh-security are now part of the Valyrian build.
Add them to the expected package list.
Signed-off-by: Peter Steinhaeuser <ps@embedd.com>
The 110 test used the parameter name X_PRPLWARE_VapType, which the data
model does not define (amxd returns error_code 4, parameter not found),
so the ubus _set failed. The vendor parameter is X_PRPLWARE-COM_VapType,
as used by every other platform variant of this test. Correct the name in
both _set calls and align the expected output (name and key order) with
the device output.
Signed-off-by: Peter Steinhaeuser <ps@embedd.com>
tr181-usb have a regression that makes this test fail from version 0.7.0+.
This was verified to be working with test 0.3.1 and it's a bug in tr181-usb
itself. Skip the test until it's fixed.
References: PCF-2617
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Signed-off-by: Peter Steinhaeuser <ps@embedd.com>
Add Airoha/Nokia profile for the Valyrian board. Required packages
are imported from the feed-airoha repository.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Signed-off-by: Peter Steinhaeuser <ps@embedd.com>
Some ubus datamodel are specific to devices with cellular support. Move
these element to the specific ubus datamodel test to fix the generic test
from failing.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Signed-off-by: Peter Steinhaeuser <ps@embedd.com>
Some device (Nokia Valyrian) have up to 36 queues and on creating a new
one for HTB test, the returned value from tc qdisc show is now 37.
Update the generic test to address for this new device that define
additional HW queues.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Signed-off-by: Peter Steinhaeuser <ps@embedd.com>
This reverts commit 370bbd875e.
PCF-2663 is fixed: the previous commit e3c5cc3b5a30 ("profiles:
qca_ipq95xx: extend PCIe link retries so the 5G modem enumerates")
raises link_retries_count so the controller waits long enough for the
Quectel RM520N-GL PCIe link to train. The modem enumerates on PCIe
again, so re-enable the full modem cram test suite on Freedom that was
provisionally skipped.
References: PCF-2663
Assisted-by: claude:opus-4-8:1m-context
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Include all currently enabled non-TX BSS-related 6GHz links in the
expected output when disabling non-TX BSS links belonging to the same
MLD.
Due to a hostapd limitation (PCF-2595), non-TX BSS links cannot be
dynamically reconfigured and therefore must be re-added.
Context:
This limitation could be workarounded by setting WiFi.Radio.3.IEEE80211ax.MBSSIDAdvertisementMode
to "Off", which was temporarily done through the feed config in the
context of PCF-2539. Now as PCF-2539 in fixed and the config is set
back to Auto, we need to update the expected output.
References: FEAT-389,PCF-2595,PCF-2539
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
Fixes below issues:
* WLAN interface does not come up after changing the configuration from hidden SSID to non-hidden SSID
* Stability issue causing WLAN interfaces to go down after approximately 15 hours in a multi-client setup
* Hostapd crashes randomly when WLAN radio configurations are applied after boot
* tc commands failing when trying to create WMM stat queues
* lighttpd configuration fails when configured with PKCS#11 URI
* Default sessions cache not refreshed on netif status change
Enhancements:
* debugfs support for static pp session
* Configure MTU for VEIP interface to max available value
Signed-off-by: Bhavesh Bharadiya <bnbharadiya@maxlinear.com>
Add 3 manual cram tests:
- manual_test_ethernet_dhcp.t
- manual_test_gpon_dhcp.t
- manual_test_gpon_onboard_dhcp.t
They respectively test following WAN modes:
- Ethernet_DHCP
- GPON_DHCP
- GPON_ONBOARD_DHCP
Those tests should not be part of ci. Each of them requires the user to
create the proper setup manually before.
cram tests cannot pause mid-test and interactively ask a human for
input. And testing those WAN modes requires unplugging and replugging
SFPs. Therefore it's difficult to write automatic cram tests which are
part of ci to test those WAN modes.
References: PCF-2549, FEAT-287
Signed-off-by: Patrick ROGIER <patrick.rogier_ext@softathome.com>
Problem: Some expected errors are randomly different
Cause: sleep duration was too short for serveile to start correctly
resulting in a 9015 error instead of a 9012
Solution: Increase sleep duration and change how the CABundle is added
to avoid unexpected error
References: PPW-1766, PPW-1632
Signed-off-by: Théo-Paul Bodin <theo-paul.bodin@softathome.com>
After migrating Freedom to the new SFL/SMD secure-boot layout, the Quectel
RM520N-GL 5G modem is no longer enumerated on the PCIe bus: its PCIe
controller PHY link never trains in time, so mhi-pci-generic never binds
(the modem stays reachable only over USB). Every modem-dependent cram test
therefore fails on Freedom.
Provisionally skip the modem test suite on Freedom (DUT_BOARD=wnc-freedom)
until PCF-2663 is fixed, keeping the rest of the platform coverage intact:
- generic/cellular-manager/*.t (all 10) -- exit 80 guard
- generic/acceleration-plan-components/50-cellular-offline.t -- exit 80 guard
- generic/acceleration-plan-components/018-cellular-trusted-elements.t -- exit 80 guard
- wnc-freedom/015-platform.t -- drop the PCI / mhi-pci-generic assertion only;
the USB-modem, ethernet-alias and WPS/reset GPIO checks keep running
Revert this commit once the modem is back on PCIe (PCF-2663).
References: PCF-2663, PCF-2643
Assisted-by: claude:opus-4-8:1m-context
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Switch the OSPv2 (mxl25641-hdk-6) and Freedom (wnc-freedom) eMMC flash
flow to the FEAT-29 U-Boot update script, replacing the legacy OSPv2
update_fullimage path and the Freedom untar/flash sysupgrade path. This
exercises the image/update tooling introduced in prplos!1964.
The flow tftpboots the per-board update_script.itb, sources it and runs
update_prpl against the FEAT-29 OS artifacts:
- OSPv2: PRPL_OSP_v2-wgrtd159be_b_wav700-ext4.img (4G variant)
- Freedom: prpl_freedom-kernel.itb + prpl_freedom-rootfs.itb
update_rescue_bank is set to yes so both OS banks carry the same image
and a bank failover cannot boot a stale rootfs. U-Boot/RBE/XBL/SMD are
left unset: those are one-time migration inputs and must not be
reflashed on every refresh. Boards are expected to already be on the
prpl flash layout. Hand-off to Linux uses run bootcmd (bootprpl/bootipq)
instead of reset, which avoids a power cycle and the labgrid autoboot
re-interrupt hazard.
init_command_timeout bounds the whole init_commands sequence and is set
deliberately tight, per board, so a network/perf regression (e.g. image
TFTP throughput roughly halving) trips the timeout instead of silently
passing, while still absorbing TFTP first-packet jitter. Validated runs
executed the init_commands in:
- OSPv2: ~30s (update_script TFTP ~10s + update_prpl ~18s) -> 60s
- Freedom: ~37s (sleep 5 + update_script TFTP ~3.5s + update_prpl ~24s,
two images to both banks) -> 75s
The rootfs_data overlay is erased before update_prpl so every refresh
boots from a clean overlay; update_prpl itself leaves rootfs_data
untouched. The block offsets are hardcoded from each board's GPT because
the target U-Boot has no part command to derive them:
- OSPv2: mmc erase 0x86c00 0x10000 (32 MiB, UPDK 9.2.0)
- Freedom: mmc erase 0x534022 0x40000 (128 MiB)
Because update_prpl needs both the update script and the OS image over
TFTP, generalise the testbed/cdrouter firmware copy to a list via the
new TFTP_IMAGE_FILENAMES variable (falling back to TFTP_IMAGE_FILENAME),
rather than overloading TFTP_IMAGE_UNPACK_COMMAND. The Freedom testbed
job now drives the wnc-freedom-emmc target instead of initramfs, so the
now-unused wnc-freedom-initramfs labgrid target is dropped.
Flip the wnc-freedom and mxl25641-hdk-6 testbed runner tags to the -sfl
variant (dut-wnc-freedom-sfl, dut-mxl25641-hdk-6-b-sfl), to make it
clear, that those devices are converted to the prpl Standard Flash
Layout.
References: FEAT-29
Closes: PCF-2644, PCF-2645
Assisted-by: claude:opus-4-8:1m-context
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Test reading the FIT version from u-boot-active and kernel-active
partitions and compare it against the version stored in /etc/os-release.
cram file:
212-read-fit-version.t
Implements: PCF-2606
Tracked-by: FEAT-29
Signed-off-by: Paul HENRYS <paul.henrys_ext@softathome.com>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org> [cram fixes]
Test reading the FIT version from u-boot-active, kernel-active and rootfs-active
partitions and compare it against the version stored in /etc/os-release.
cram file:
212-read-fit-version.t
Implements: PCF-2606
Tracked-by: FEAT-29
Signed-off-by: Paul HENRYS <paul.henrys_ext@softathome.com>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org> [cram fixes]
Read and write the bootcount register using sysregister driver.
Implements: PCF-2098, PCF-2099, PCF-2289
Tracked-by: FEAT-29
Signed-off-by: yan wang <yan.wang@softathome.com>
Run upgrades in dry-mode with a correctly signed image and another one
where the keys to sign the .swu image and to authenticate the image
before the upgrade are different.
This last test also covers the case where the image is corrupted.
Implements: PCF-1876, PCF-1878
Tracked-by: FEAT-29
Signed-off-by: yan wang <yan.wang@softathome.com>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org> [cram fixes]
Run upgrades in dry-mode with a correctly signed image and another one
where the keys to sign the .swu image and to authenticate the image
before the upgrade are different.
This last test also covers the case where the image is corrupted.
Implements: PCF-1876, PCF-1878
Tracked-by: FEAT-29
Signed-off-by: yan wang <yan.wang@softathome.com>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org> [cram fixes]
Test reading a non encrypted field and an encrypted one in Linux.
Implements: PCF-2103
Tracked-by: FEAT-29
Signed-off-by: yan wang <yan.wang@softathome.com>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org> [cram fixes]
Test reading a non encrypted field and an encrypted one in Linux.
Implements: PCF-2103
Tracked-by: FEAT-29
Signed-off-by: yan wang <yan.wang@softathome.com>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org> [cram fixes]
Disable devmem related options in the Linux kernel and Busybox.
Implements: PCF-1854
Tracked-by: FEAT-29
Signed-off-by: Bhavesh Bharadiya <bnbharadiya@maxlinear.com>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org> [cram fixes]
Exclude from the artifact images that are not required for prpl upgrade
This is a temporary workaround while waiting for MaxLinear to build and
copy only the required images.
Fixes: PCF-1854
Tracked-by: FEAT-29
Signed-off-by: Paul HENRYS <paul.henrys_ext@softathome.com>
imagegenerator is both a target and host package. Enable the target
package that installs public keys in the rootfs of the targets.
Implements: PCF-1874, PCF-1885, PCF-2141
Tracked-by: FEAT-29
Signed-off-by: Paul HENRYS <paul.henrys_ext@softathome.com>
OpenWrt does not provide an host package for OpenSSL but OpenSSL headers
files are required to build U-Boot hosttools. libssl-dev is therefore
installed in the Docker prior to launching the build.
Implements: PCF-1874
Tracked-by: FEAT-29
Signed-off-by: Paul HENRYS <paul.henrys_ext@softathome.com>
Change the way to check the prplMesh status from the `ps` command to the
check X_PRPLWARE-COM_ProcessManager.PrplMesh.Status.
Affected cram tests:
* arcadyan-mozart/110-prplmesh-dataelements.t
* prpl-haze/100-prplmesh.t
* turris-omnia/100-prplmesh.t
* wnc-freedom/102-pwhm-static-puncturing.t
Closes: PPM-4071
Signed-off-by: Igor Plesser <i.plesser@inango-systems.com>
Change the way to check the prplMesh status from the `ps` command to the
check X_PRPLWARE-COM_ProcessManager.PrplMesh.Status.
Affected cram tests (Freedom):
* 102-pwhm-static-puncturing.t;
* 126-wifi-radio-capability.t.
Closes: PPW-1862
Signed-off-by: Roman Shcherbakov <r.shcherbakov@inango-systems.com>
Update the test script with the following test cases:
- Move all endpoints to a new MLDUnit
- Verify the data model after clearing MLDUnit
References: FEAT-488
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
To overcome the known USP events limitation in OBUSPA (PCF-1287), the LCM cram
tests created and used an amx cli configuration (`usp-cli`) that connects
exclusively to the USP broker. This configuration allows creating a subscription
to OBUSPA with a specific EndpointID (`proto::local_controller`), and
notifications are handled by a Lua event script.
After integrating FEAT-27, a default amx cli called `usp-cli` (same name as used
by the LCM tests) is added as part of prplOS configuration. This leads to a
conflict between the configuration defined by the cram tests and the new default
configuration regarding the USP EndpointID (`proto::usp-cli` vs.
`proto::local_controller`).
If the event script hangs, the usp-cli becomes unusable, as two USP controllers
cannot connect to OBUSPA with the same EndpointID.
To fix this, the amx cli configuration required for the test will be installed
using a different name (`usp-test-cli`), as done in recent LCM scripts
(040-lcm-security-part1.t and 040-lcm-security-part2.t), avoiding any conflict
with the default integrated `usp-cli`.
Tests that only require a normal usp cli (no specific config) do not need to
install the cli configuration, as it is now part of the default prplOS
configuration after integrating FEAT-27.
Closes: PPW-1900
References: FEAT-27
Signed-off-by: Artem Trokhymchuk <a.trokhymchuk@inango-systems.com>
Add allow_block_sfp.t: it tests allowing and blocking of a copper
Ethernet SFP.
References: PCF-2253, PCF-2524, FEAT-376
Signed-off-by: Patrick ROGIER <patrick.rogier_ext@softathome.com>
FEAT-376 adds support to allow/block SFPs. It includes the addition of a
new object to the BBF TR-181 SFPs datamodel. Adapt ubus-datamodel-list.t
accordingly.
References: PCF-2253, FEAT-376
Signed-off-by: Patrick ROGIER <patrick.rogier_ext@softathome.com>
(cherry picked from commit 3523aa7f6e8dc88b498b7048aa595aec7e437d8b)
FEAT-376 adds support to allow/block SFPs.
To achieve this, a new object and a few new parameters where added to the SFPs datamodel in tr181.
These new parameters need to be added to the expected output of the obuspa test accordingly
References: PCF-2253, FEAT-376
Signed-off-by: Toon Caeyers <toon.caeyers_ext@softathome.com>
(cherry picked from commit 21c3031dfb2497639f34cba02e05ffe659a75264)
After the integration of PCF-2288, this test needs to be enabled again.
This reverts commit 16151853e4.
References: PPW-2015
Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
Split the LCM security tests into two separate subsets.
The first subset is responsible for testing signature authentication methods,
supported protocols for the authentication server, and support for customizing
the User-Agent.
The second subset tests server (signature/registry) validation through CABundles
as well as mTLS.
Splitting the tests is required due to a limitation in cram, which impacts the
tests and causes failures when a test starts by executing a remote command (over
SSH) followed by a number of additional commands (even local ones). After a
certain number of commands, cram's behavior becomes unpredictable and the last
part of the test is ignored.
To reproduce this issue, the cram test pattern should be:
$ alias R="${CRAM_REMOTE_COMMAND:-}"
$ R logger -t cram "Starting LCM security test"
Echo a line:
$ echo "testing cram limitation"
testing cram limitation
Repeat the above test lines (e.g., 200 times) in the same cram test file.
References: PCF-2279, FEAT-300
Signed-off-by: Nabil BIZID <nabil.bizid@softathome.com>
Add a test to check signature server Basic authentication with
a wrong password.
This complements the existing tests that verify authentication
with a correct password.
References: PCF-2279, FEAT-300
Signed-off-by: Nabil BIZID <nabil.bizid@softathome.com>
Adding support for using CABundle/Certificates as defined by
TR181 for both remote registry and signature server.
Adding support for signature server authentication (username/password)
Adding support for setting custom User-Agent
References: PCF-2279, FEAT-300
Signed-off-by: Nabil BIZID <nabil.bizid@softathome.com>
Add the new expected object and parameters introduced by the PCF-2279 feature.
Add the new expected components introduced by the PCF-2279 feature.
References: PCF-2279, FEAT-300
Signed-off-by: Nabil BIZID <nabil.bizid@softathome.com>
Problem:
The revert of MR !2395 is incomplete. It added the new
103-pwhm-usp.t symlink but kept the previous 102-pwhm-usp.t symlink.
As a result, both symlinks point to the same script, causing the
pwhm-usp test to be executed twice in the same test run. Running the
script twice in a row without delay is unreliable and may lead to some
failures.
Solution:
- Remove the obsolete 102-pwhm-usp.t symlink so only 103-pwhm-usp.t
remains.
- Ensure the AccessPoint is disabled before starting the test.
Closes: PPW-2036
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
Test the Force parameter of Device.DHCPv4.Server.Pool.{i}.Options.{i} to
force an option when ever it is not requested by the client
Closes: PCF-2462
Signed-off-by: Alexandre Fiset <alexandre.fiset@softathome.com>