Add PowerManagement cram test for ethernet interface. The cram test checks Ethernet datamodel for PowerManagement support.
References: PCF-1941
Signed-off-by: Oguzhan Kara <oguzhan.kara@softathome.com>
(cherry picked from commit 3f3a52fe6ca39d5be4ebb14b059b8942dd5f01d1)
Currently 110-prplmesh-dataelements.t can inherit a 40MHz 2.4GHz
bandwidth from 106-pwhm-get-eht-caps.t. PCF-2420 shows that this
leaked state pushes the Freedom board into a hostapd crash loop after
AccessPointCommit(), leaving all fronthaul SSIDs Down and failing the
prplMesh dataelements assertions.
So lets reset the 2.4GHz bandwidth back to the default 20MHz during
the 110-prplmesh-dataelements.t setup. This keeps the test isolated
from earlier cram side effects and applies the Jira workaround that was
reported to make the enabled VAPs come up and stay Up.
References: PCF-2420
Root-caused-by: Iacob Juc <iacob.juc_ext@softathome.com>
Workarounded-by: Iacob Juc <iacob.juc_ext@softathome.com>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
5G modem (Quectel RM520N-GL) is not working on Freedom with ATH13.1CS.
Qualcomm is handling the fix via a separate SF ticket.
Disable 5G modem PCI/USB checks in 015-platform.t and skip
50-cellular-offline.t on Freedom DUT board.
While at it, fix the copy&pasta in the test description and remove
OSPv1.
References: PCF-2306
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
The builds for Freedom using ATH13.1ED BSP are currently failing with
following error:
bash: line 1: spatch: command not found
This is happening as the mac80211 package is modifying the source code
tree another time to amend the kzalloc/kmalloc usage for memory
debugging use case.
It should be handled with existing tools, it is currently being
addressed internally, but in the meantime we're going to demand
spatch/coccinelle for the build.
References: PCF-2142
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/11783721716#L9686
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Update the QCOM BSP to ATH13.1ED for qca_ipq95xx profile.
Known issues:
Ethernet LAN ports do not work.
Multi-AP Wi-Fi connection fails.
Ethernet WAN port is functional.
References: PCF-2042
Signed-off-by: Marvin Lu <marvin.lu@wnc.com.tw>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org> [rebase, cram]
Update prplMesh-related cram tests and helper scripts to control prplMesh
via ProcessManager DM (ba-cli) instead of init.d mode helpers.
Key updates:
- use PrplMesh.{Enable,ManagementMode,CertificationMode} in test setup/teardown
- adjust DUT init script for controller mode via ProcessManager
- extend generic ubus datamodel expected list with prplMesh/controller objects
Closes: PPM-3589
Signed-off-by: Igor Plesser <i.plesser@inango-systems.com>
Replace prplmesh_utils.sh status checks in cram tests with
prplmesh_cli status output parsing/validation.
Closes: PPM-3671
Signed-off-by: Igor Plesser <i.plesser@inango-systems.com>
This reverts commit 8159c85df4 as the
underlying issue is being fixed in commit d825d78cef1f ("profiles:
OSPv2: update wlan profile to fix EMR5 wireless onboarding issues")
References: PPW-1480, PCF-2395
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
We’ve recently started seeing some authentication issues with the Coverity server.
So, per Coverity support's advice, we should avoid using the admin account in CI and use a regular Coverity user instead.
So let's configure the prplbot credentials as the Coverity user that commits issues to the Coverity server.
References: PCF-2428
Signed-off-by: Mouna ALOUI <mouna.aloui@softathome.com>
Updated the container architecture name from x86-64 to amd64 to
align with the available containers in the registry for this
architecture. Also updating the script expectation to match all
possible architecture.
References: PCF-2143
Signed-off-by: Nabil BIZID <nabil.bizid@softathome.com>
Remove all containers at the end of the test,
so the next test can start with a clean system.
References: PCF-2143
Signed-off-by: Robin NELISSEN <robin.nelissen@softathome.com>
When using the init script, the process will forcefully stop
cthulhu after a certain timeout. This behavior can cause issues
during testing, as the time needed to fully stop all containers
and shut down cthulhu depends on the number of installed processes
and the configured graceful timeout for stopping each container.
Containers are stopped sequentially.
This commit modifies the behavior to send a signal to stop cthulhu,
avoiding forceful termination if the shutdown of all containers
is not fully completed.
References: PCF-2143
Signed-off-by: Nabil BIZID <nabil.bizid@softathome.com>
The local management test is simulating a box reboot. This
requires adding some additional wait time in order for the LCM
agent to fully start all containers after running the start
script.
References: PCF-2143
Signed-off-by: Nabil BIZID <nabil.bizid@softathome.com>
Adapt datamodel expectation with additional datamodel objects
following the introduction of new components and feature.
References: PCF-2143
Signed-off-by: Nabil BIZID <nabil.bizid@softathome.com>
cthulhu-pcm and cthulhu-lpm plugins are introduced, introducing new
datamodel and new config.
Updating the expected config
References: PCF-2143
Signed-off-by: Nabil BIZID <nabil.bizid@softathome.com>
When configuring the regulatory domain, it must be applied to all
radios. Applying it to only one will produce an inconsistent state,
which should have caused the failures seen in PPW-303.
Closes: PPW-303
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
Adding altname check test for wan interface "eth1" to prevent
PCF-2381 regressions in the future.
It simply checks whether altname value for wan interface "eth1" is "sfp0".
Signed-off-by: Bhavesh Bharadiya <bnbharadiya@maxlinear.com>
Currently prpl_core does not enable CONFIG_KERNEL_PROC_PAGE_MONITOR and
CONFIG_KERNEL_SLUB_DEBUG, so /proc/<pid>/smaps, smaps_rollup and
/proc/slabinfo are not exposed in runtime images, which means memory
analysis falls back to RSS-only attribution without shared-page
accounting, PSS-based reporting or kernel slab allocation visibility.
Add CONFIG_KERNEL_PROC_PAGE_MONITOR=y and CONFIG_KERNEL_SLUB_DEBUG=y to
prpl_core diffconfig so builds expose the procfs interfaces needed for
PSS collection, shared memory analysis and kernel slab cache reporting.
Note: CONFIG_KERNEL_SLUB_DEBUG=y is used instead of CONFIG_KERNEL_SLABINFO=y
to avoid the forced selection of CONFIG_KERNEL_SLUB_DEBUG_ON, which
enables runtime slab debug checks (sanity_checks, red_zone, poison,
store_user) on every allocation at boot. With SLUB_DEBUG alone,
/proc/slabinfo is available but the debug checks remain dormant unless
explicitly activated via the slub_debug= kernel parameter.
References: PCF-2379
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
- Check WiFi.bSTAMLDMaxLinks & Radio.*.Capabilities.WiFi7STARole
- Check default APMLDConfig & bSTAMLDConfig. as now pwhm sets these
configs according to the driver capabilities
- Replace all ba-cli get/set with wifi_dm new helper
References: PPM-3655, PPM-3349, PPW-1284
Closes: PPM-3830, PPW-1325
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
Problems:
- WiFi7 STARole has no MLO modes support detection, although bSTAMLD is
functional
- missing dynamic detection APMLD/bSTAMLD MaxNumMLDs and
MaxNumLinksPerMLD
- newly created APMLD/bSTAMLD instances have APMLDConfig/bSTAMLDConfig
mlo modes set with value -1 (driver defaults), which is meaningless
with regards to EM spec
Causes:
- STA ifType was not parsed in nl80211 EXT_CAP, for MLO related
attibutes: EML_CAPABILITY and MLD_CAPA_AND_OPS
- EML_CAPABILITY and MLD_CAPA_AND_OPS are only filled by mac80211 for
AP ifType, but left empty for STA ifType
- wrong definition of APMLDConfig/bSTAMLDConfig mlo modes
Fix:
- properly detect MLO support per iftype based on available of
both nl80211 attribs EML_CAPABILITY and MLD_CAPA_AND_OPS
- read STR and NSTR default enabling from mac80211
- set properly WiFi7 APRole and STARole mlo modes support,
- deduce STARole EMLSR support with consideration of APRole (same cap
on driver side)
- deduce NSTR support with consideration of EMLMR/MLMR
- read maxNumSimultenousLinks (num auxiliary links) from driver side
- update MaxNumMLDs and MaxNumLinksPerMLD per typed MLD
- set WiFi.bSTAMLDMaxLinks with bSTAMLD capa maxLinksPerMld
- set write-once flag on MLDID of APMLD and bSTAMLD instance to allow
defining default configs with instances and APMLDConfig
(/bSTAMLDConfig)
- when pwhm creates new instances of APMLD/bSTAMLD (based on
SSID.MLDUnit settings), the initial APMLDConfig/bSTAMLDConfig mlo modes
are set driver capabilities (WiFi7 APRole/STARole mlo modes) that will
be used by default in the driver
CRAM tests:
- Update obuspa.t script
Integrates:
- 93f848f36: ("pwhm: mld: initialize APMLDConfig/bSTAMLDConfig mlo modes using driver capabilities", 2026-02-10)
- 649998b2a: ("pwhm: mld: config APMLD/bSTAMLD MLO modes with boolean params", 2026-02-10)
- 5583c685c: ("pwhm: mld: allow defining default APMLDs and bSTAMLDs with mlo configs", 2026-02-10)
- 4b4758c57: ("pwhm: bstamld: fix missing dm param bSTAMLDMaxLinks", 2026-02-10)
- d8b1340e6: ("pwhm: nl80211: fix detecting APMLD/bSTAMLD MaxNumMLDs and MaxNumLinksPerMLD", 2026-02-10)
- ec46bd4f8: ("pwhm: mld: add apis to set MaxNumMLDs and MaxNumOfLinksPerMLD on typed MLD", 2026-02-10)
- 19ec3d89e: ("pwh: nl80211: fix detecting mlo modes capabilities of WiFi7 APRole/STARole", 2026-02-10)
References: PPM-3655 PPM-3349 PPW-1284 PPW-1325
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
MxL's vendor module is overriding ModesAvailable and missing WPA3-CM.
Let's enable it manually for the OSPv2 tests for now. It should be
added by default once PCF-2259 is implemented.
References: PCF-2259, PPM-3352
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
prplMesh controller can read configuration from pwhm or from NBAPI.
This test covers both input methods.
Initial state assumption (based on default configuration) :
Controller is reading config from pwhm
Operations :
Restart prplMesh
Enable Priv VAPs
Read Security.ModeEnabled - default values
Write WPA3-Personal-Compatibility to
enabled VAPs - 3 Priv VAPs
Check that Controller Reads new values, propagates them to the Agent,
and Agent does not overwrite them not-overwrite is a double
negation that means agent writes the same value as before. A change
would imply that either:
1. Agent incorrectly reported capability - Controller downgraded security
mode
2. Controller did not read the configuration and pushed a teardown for
the Radiox instead
Switch Controller to NBAPI configuration
Push WPA3-Personal from NBAPI
Push WPA3-Personal-Compatibility from NBAPI
Restore Config to default values
Increase the testbed timeout. 5min are required to run the test.
Closes : PPM-3352
Signed-off-by: Iacob Juc <iacob.juc_ext@softathome.com>
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
Added new CRAM test process-manager.t and update current related
tests to compatible with newly added component.
References: PCF-2183, FEAT-27
Signed-off-by: Volodymyr Martysh <v.martysh@inango-systems.com>
Problem:
The same prplmesh static puncturing cram test is used on OSPv2 and
Freedom.
Some steps verify the 5 GHz private VAP using AccessPoint index 3,
which is specific to Freedom. On OSPv2, the correct index is 1.
Solution:
Keep the existing script unchanged for Freedom and add a new OSPv2
specific version with the corrected AccessPoint index.
References: FEAT-72
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
Including 006_set_attributes.t testcase for
ConnectionTrackingQuery entry creation failures.
Adding script to verify failure conditions while providing invalid
parameter data types for existing ConnectionTrackingQuery entry.
References: PPW-1204
Signed-off-by: Hari Sriram <hari.s@capgemini.com>
Updating PWHM cram test scripts and checking logfile for wpa_supplicant and hostapd
Closes: PPM-3522
Signed-off-by: Sajith Joseph <sajithjoseph@tataelxsi.co.in>
This change was temporary reverted because we dont have a procedure on how to properly migrate this incompatible change and test also need to be temporary
reverted.
Tracked-by: PPW-1371
Implements: PCF-2118
Refereces: FEAT-32
Signed-off-by: Ruslana Popovych <ruslana.popovych@globallogic.com>
Following changes were made during datamodel alignment with v2.19.1 release:
Device.DHCPv4.Server.Pool.{i}.WINSServers - renamed from X_PRPLWARE-COM_WINSServer
Implements: PCF-2070
References: FEAT-32
Signed-off-by: Anatolii Rybchych <anatolii.rybchych@globallogic.com>
Following changes were made during datamodel alignment with v2.19.1 release:
Device.DHCPv4.Client.{i}.DSCPMark - renamed from DSCP
Device.DHCPv4.Client.{i}.Stats. removed %protected flag
Device.DHCPv4.Server.Pool.{i}.Client.{i}.IPv4Address.{i}.IsStatic - not standard, added prefix
Device.DHCPv4.Server.Pool.{i}.WINSServers - renamed from X_PRPLWARE-COM_WINSServer
Device.DHCPv6.Client.{i}.DSCPMark - renamed from DSCP
Device.DHCPv6.Server.Pool.{i}.DSCPMark - renamed from DSCP
Implements: PCF-2070,PCF-2072,PCF-2118,PCF-2119
References: FEAT-32
Signed-off-by: AnatoliiRybchych <anatolii.rybchych@globallogic.com>
Integrates following changes:
- procd: restore original scripts to be used in non-procd environments (33f97e11)
- Fix on PPW-1067 - To replace static start/stop init order with config options (10354199)
- ci: baf: update autogenerated files (54507338)
- procd: restore original scripts to be used in non-procd environments (5c5f4468)
- Fix on PPW-1067 - To replace static start/stop init order with config options (0f5828e4)
- ci: baf: update autogenerated files (b98f1835)
- procd: restore original scripts to be used in non-procd environments (7b20dc70)
- Fix on PPW-1067 - To replace static start/stop init order with config options (a7c572d0)
- ci: baf: update autogenerated files (a0bdb1d4)
- procd: restore original scripts to be used in non-procd environments (4fd06973)
- ci: baf: update autogenerated files (ab2e4597)
- ci: enable unit tests (f3ffa9c2)
- procd: restore original scripts to be used in non-procd environments (263791e6)
- Fix on PPW-1067 - To replace static start/stop init order with config options (f9f3b2c3)
- ci: baf: update autogenerated files (86ccbca)
- procd: restore original scripts to be used in non-procd environments (2873daa3)
- Fix on PPW-1067 - To replace static start/stop init order with config options (46f4d197)
- ci: baf: update autogenerated files (ee673993)
- procd: restore original scripts to be used in non-procd environments (f9196323)
- ci: baf: update autogenerated files (b0578cc0)
References: PPW-1068, PPW-1066, FEAT-67, PPW-1067
Signed-off-by: prplbot <bot@prplfoundation.org>
Currently all missed components are migrated to procd as part of Overflow ticket [PCF-2139] except amx-shutdown-wait since amx-shutdown-wait doesnt seems to be init based start-up script, It does have only logic to handle shutdown all amx process in a customized way, Hence it doesnt seems to be eligible for procd based migration and doesnt take care further
Hence Updated the testcase 010-procd-spawned-process.t to have only "amx-shutdown-wait" still using amx_init_functions.sh (non-procd based) and removed all other services which are successfully migrated to procd to scope with procd migrated services verification
Implements:PCF-2139
Signed-off-by: Sathishkumar Selvam <sathishkumar.selvam@capgemini.com>
1). 110-data-model-mapper.t: After procd integration, Datamodel mapper ipk installation Usage prompt message missed causing cram failure.
Problem - Previously, data-model-mapper used a custom AMX-based init script that displayed a usage prompt as "Usage : /etc/init.d/data-model-mapper [start|boot|debuginfo|stop|shutdown|restart]" upon successful IPK installation. After migrating data‑model‑mapper to procd, the earlier AMX‑based init script’s usage prompt is no longer displayed during IPK installation. The CRAM test relied on this prompt for pattern matching, leading to test failures.
Solution - Instead of cross verifing the usage prompt for data-model-mapper ipk installation, Updated the CRAM test to stop validating the deprecated usage prompt and instead verify installation success using the IPK installation exit status, which aligns with current procd behavior.
2). ubus-datamodel-list.t: Cleaning up data-model-mapper ipk installation on 110-data-model-mapper.t itself doesnt retain running data-model-mapper process after procd migration causing cram failures with its datamodel verification on ubus-datamodel-list.t
Problem - Previously once data-model-mapper installed via ipk without procd, even if its being cleaned up after its operations at the end of 110-data-model-mapper.t test case, running data-model-mapper process would still be available , hence its datamodels later being able to verified at ubus-datamodel-list.t cram test. But after migrating to procd, procd seems taking care to clean up the running process to ensure proper cleanup, due to which cram verifying data-model-mapper datamodels later at ubus-datamodel-list.t cram test getting failed now
Solution - Removing the datamodel-mapper DM elements on ubus-datamodel-list.t help to remediate this cram failure as datamodel mapper completely uninstalled with its cleanup on earlier phase itself.
Implements:PCF-2139
Signed-off-by: Sathishkumar Selvam <sathishkumar.selvam@capgemini.com>
Previously several components - acl-manager,amx-fcgi,gmap-client,data-model-mapper,netmodel-clients,tr069-discovery,tr181-conmon,tr181-conntrack-query,tr181-flashmonitor,tr181-gatewayinfo,tr181-gnimanager,tr181-homeplug,usp-discovery,cthulhu,rlyeh,timingila,tr181-upnpdiscovery were missed during procd init script conversion process, so adding the missing procd init‑script integration in order to enable auto-respawn/procd monitoring for all these services as part of overflow ticket [PCF-2139]
Integrates:
- timingila: changed service startup scripts to be started and monitored by procd for auto-respawn (069ecb08)
- ci: baf: update autogenerated files (a1a1bec1)
- rlyeh: changed service startup scripts to be started and monitored by procd for auto-respawn (04c843e7)
- ci: baf: update autogenerated files (5c24ceec)
- cthulhu: changed service startup scripts to be started and monitored by procd for auto-respawn (5d090638)
- ci: baf: update autogenerated files (a64091b0)
References:PCF-2139
Signed-off-by: Sathishkumar Selvam <sathishkumar.selvam@capgemini.com>
100-pwhm.t:
-----------
Add hostapd socket checks after each interface state change;
other C2 requirements are implicitly covered by the apmld test.
Replace ba-cli get/set calls with the new wifi_dm helper and use
it for synchronous enable/disable operations, reducing test
duration from ~4m40s to ~1m30s (PPW-1301 #2, #3).
Verify the full interface name when reading status (PPW-1301 #4).
wifi-apmld.t:
-------------
ci: cram: warm apply: add main link interface removal new checks
Add hostapd restart check during the execution of the test
Add the check of wpactrl sockets after each operation
References: FEAT-125
Closes: PPM-3689
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
OSPv2 does not currently support APMLD correctly, so all MLDUnit
parameters must be temporarily unset.
The MLDUnit for private and guest VAPs is already unset by the UPDK,
but backhaul interfaces are configured via prplMesh ODL.
Force MLDUnit to be unset on all interfaces when starting Wi-Fi tests.
References: PPW-1480
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
New cram tests require to increase the CI runtime timeout.
Let's extend the test runtime timeout by 5 minutes.
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
Test static puncturing using SetEHTOperations NBAPI function.
input operations:
* enable only 1 AccessPoint on DUT
* configure controlled values for Radio.ChannelsInUse
* call SetEHTOperations() several times
outputs:
* observe the WiFi.Radio.StaticPuncturing.DisabledSubChannels
list being changed depending on the argument used as input
Closes: PPM-3351
References: FEAT-72
Signed-off-by: Iacob Juc <iacob.juc_ext@softathome.com>
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
- Fix wifi_dm issue helper when assigning an object via object path
(e.g. wifi_dm "EndPoint.1.ProfileReference=WiFi.EndPoint.1.Profile.1")
- Enhance wifi_dm output when ba-cli fails
- Add enable_ap_sync to optimize execution time when enabling/disabling
VAPs.
Usage:
enable_ap_sync <AP index> <0|1 (off|on)> [timeout in seconds, default: 15]
- Add get_ap_status to print full AP paths with status
- Add ls_ap_hapd_socket to list wapctrl socket files of a specific AP
based on pwhm DM.
Usage:
ls_ap_hapd_socket <AP index>
- Add ls_hapd_sockets to list all wapctrl socket files
- Update get_link_info to include link information
References: PPW-1301
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
Problem:
The 101-mlot.t cram test does not restore the MLDUnit of the
backhaul interfaces, which can impact the execution of
the following tests. (e.g. apmld tests)
Solution:
Restore the corresponding MLDUnit values to their defaults.
References: PPM-3789
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
Currently .gitlab/tests/cram/wnc-freedom/106-pwhm-get-eht-caps.t exceeds
cram's documented 8192-byte command buffer limit, so the generated shell
input can be truncated near the end of the test and surface as an
unterminated quoted string failure.
So let's fix it by compacting command input: add get_eht_ops in
.gitlab/tests/cram/scripts/wifi.sh and replace the 10 repeated long
getEHTOperations one-liners with helper calls in this test.
This reduces the generated command payload for this test from ~8619
bytes to ~7129 bytes, leaving about 1063 bytes of margin under the
8192-byte limit while preserving expected assertions and output checks.
References: PCF-2222
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
Problem:
Some failures occur when accessing AccessPoints through
'RadioReference'.
Cause:
We are using radio aliases (e.g. 'WiFi.Radio.radio0_band' on
Freedom) to access the corresponding AccessPoints. After the
integration of PPW-298, we must instead use the TR-181 path
'Device.WiFi.Radio.1'.
Solution:
Update RadioReference usage in all cram scripts.
References: PPW-298
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
Problem: timezone test coverage was not sufficient
Cause: corner cases for posix timezone formats were not covered
Solution: Added valid and invalid posix timezone strings for cram tests
References: PPW-1032
Signed-off-by: Girdhari Yadav <girdhari.yadav_ext@softathome.com>
Update the test to align with the updated output of Lua AMX
for timestamps, by adding the prefix <amxc_ts_t>: to the
StartTime and CompleteTime parameters.
References: PCF-2121
Signed-off-by: Nabil BIZID <nabil.bizid@softathome.com>
Update the test to also test StartTime and CompleteTime of the event
tests will fail starting January 2100
References: PCF-2121
Signed-off-by: Jef Steelant <jef.steelant_ext@softathome.com>
This update introduces a test that verifies the process
of adding a USP role, assigning it to an EE, and
subsequently removing it. The test also confirms that
attempting to install a container with the removed
USP role is appropriately blocked.
References: PPW-1040
Signed-off-by: Nabil BIZID <nabil.bizid@softathome.com>
In the past few days we've added several test cases:
* 2026-02-09 257ee69bb7 ci: cram: add test for bSTAMLD feature
* 2026-02-09 e4bad077fe ci: cram: freedom: pwhm: test GetEHTOperations APIs
* 2026-02-09 0254e003b1 ci: cram: freedom: split script 101-mlo.t
* 2026-02-09 0dca07a46e ci: cram: add cram test for pwhm native APMLD feature
* 2026-02-06 61af18f6dd ci: cram: add lcm-syslog unpriv tests
* 2026-02-06 b60f186712 ci: cram: add cleanup lcm syslog tests
* 2026-02-06 ed3cccc049 ci: cram: adapt tests with introduction of LCM syslog
* 2026-02-06 cf253a0a06 ci: cram: add test 038-lcm-syslog.t
* 2026-02-06 22a7748057 ci: cram: obuspa.t: add Device.UPnP.Discovery.
* 2026-02-06 9512863824 ci: cram: obuspa: add Device.UPnPDiscovery
Which obviously impacts the test runtime, so we've started seeing
various test timeouts:
.gitlab/tests/cram/wnc-freedom/105-pwhm-wpa3-cm.t: passed
.gitlab/tests/cram/wnc-freedom/110-prplmesh-dataelements.t: timeout: sending signal TERM to command ‘python3’
So lets fix it by extending the test runtime timeout by 5 minutes.
Closes: PPW-1490
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/13002415393#L205
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Add cram test to cover bSTAMLD feature.
Actually only Freedom platform is supporting it.
References: FEAT-116
Closes: PPM-3602
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
EHTCapabilities & EHTOperations DM parameters under Device.WiFi.Radio
contain raw data from the 802.11 EHT Operations Information Element.
This new test ensures that when 11be is enabled on a radio,
these APIs are working correctly;
also, when 11be is removed from the list of
Radio.i.OperatingStandards
the explicit disabling of 11be
is translated in the output of the APIs
For 5/6GHz adding channels to
Radio.i.StaticPuncturing.DisabledSubchannels
and testing the impact on the CurrentEhtOperatingIE
Closes: PPM-3537
Signed-off-by: Iacob Juc <iacob.juc_ext@softathome.com>
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
Due to a limitation in the cram tool regarding the maximum number of
test cases allowed in a single script (PCF-2222), the 101-mlo.t test
may fail.
As a temporary workaround, let's split the test into two parts.
References: PCF-2222
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
Add cram test to cover APMLD feature.
Actually only Freedom platform is supporting it.
References: FEAT-124
Closes: PPM-3347
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
Adapt the test expectation with additional datamodel objects
following the introduction of new LCM plugin
References: PCF-2122
Signed-off-by: Nabil BIZID <nabil.bizid@softathome.com>
Add a the 038-lcm-syslog.t test which tests the cthulhu-syslog plugin
References: PCF-2122
Signed-off-by: Jef Steelant <jef.steelant_ext@softathome.com>
Problem:
After integrating UPDK 9.2.3, the static puncturing test
103-pwhm-static-puncturing.t started to fail.
Cause:
UPDK 9.2.3 drivers now announce MLO support, but the feature
is not fully integrated yet (missing APMLD support).
Temporary solution:
Disable the test until MLO and static puncturing are fully
integrated on OSPv2.
References: PPW-1453
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
Problem: CRAM test for the CaptivePortal module was failing on OpenWrt 24.10.
Cause: Cram test expected HTTP 307 Temporary Redirect, but occasionally received
200 OK due to a timing issue while openNDS was starting to intercept traffic.
Solution: Added a 1-second delay and updated the test to verify CaptivePortal.State
instead of CaptivePortal.Status, ensuring validation occurs only after openNDS is actively intercepting traffic.
References: PCF-1943
Signed-off-by: Girdhari Yadav <girdhari.yadav_ext@softathome.com>
PPM-3660 lists the missing default configurations
in both wnc-freedom and OSPv2: new VAPs beyond classic six (priv+guest)
are deployed without WPA3-CM in Security.ModesAvailable.
On OSPv2, defaults from vendor module remove WPA3-CM from
Security.ModesAvailable even for priv+guest on 6GHz.
Security.ModesAvailable is writeable, so fix it at runtime for now.
Closes:PPM-3352
References: PPM-3660
Signed-off-by: Iacob Juc <iacob.juc_ext@softathome.com>
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
input operation :
* Disable MLO so RSN Override 2 parameters are not present in
hostapd.conf
* Enable Priv VAPs; configure secMode to WPA3-CM
* Enable MLO so RSN Override 2 parameters are present in hostapd.conf
* Restore MLO Configuration and Security Configuration
* Disable all VAPs to return to initial state
outputs :
* reading from pwhm the Security.ModesAvailable field and check they
contain the WPA3-Personal-Compatibility parameter
* reading from pwhm to see that pwhm accepts WPA3-Personal-Compatibility
as rval for Security.ModeEnabled=X
*testing an arbitrary hostapd.conf (5GHz)
for the absence or presence of an arbitrary config parameters
(rsn_override_key_mgmt when 11BE is disabled)
RSNOverride 1 always present in 5GHz, never in 6GHz
*testing 5GHz and 6GHz hostapd.conf for
rsn_override_key_mgmt_2 when 11BE is enabled
References: PPM-3352
Signed-off-by: Iacob Juc <iacob.juc_ext@softathome.com>
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
kjhdsq
With MLO enabled on BH VAPs, their behavior has changed slightly,
so the cram tests need to be adjusted accordingly.
Closes: PPM-3789
Signed-off-by: Igor Plesser <i.plesser@inango-systems.com>
During the execution of 110-prplmesh-dataelements.t we should restore
all AccessPoint.*.Security.ModeEnabled to their default value.
Otherwise it may impact any later test involving MLO
Closes: PPM-3350
Signed-off-by: Iacob Juc <iacob.juc_ext@softathome.com>
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
Test interaction between pwhm datamodel and hostapd.conf
input operations:
* enable only PRIV AccessPoint on DUT
needed to put radios in Status==UP
indexes are platform dependend.
* write to WiFi.Radio.{5/6GHz}.StaticPuncturing.DisabledSubChannels
outputs:
* grep punct_bitmap in hostapd.conf file
hostapd.conf file is platform dependendt - two copies of the test
Closes: PPM-3350
References: FEAT-116, FEAT-137
Signed-off-by: Iacob Juc <iacob.juc_ext@softathome.com>
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
Update references to OSPv2 image names in YAML configurations to match
the new naming convention, which was introduced in UPDK 9.2.3, providing
single build for both A-Step and B-Step OSPv2 hardware revisions.
New A-Step: prplos-intel_x86-lgm-PRPL_OSP_v2-tb341_wav700_fullimage.fit
New B-Step: prplos-intel_x86-lgm-PRPL_OSP_v2-wgrtd159be_b_wav700_fullimage.fit
References: PCF-2202
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Update mxl_wlan_hostap_ng_wav700 profile for below changes:
1) 6 GHz & Wi-Fi 7 Features
* Added 320 MHz bandwidth support for ACS/AFC.
* Enhanced TPE IE handling, AFC integration for UNII-5/UNII-7
bands, and regulatory compliance updates.
* Fixes for OWE security, WPA3 mixed mode, and enterprise security checks for 6 GHz BSS.
2) Multi-Link Operation (MLO) Enhancements
2.1) Firmware:
* Significant work on triband MLO support, including state machine
alignment, sibling STA handling, and OTF (on-the-fly) link assignments.
* Improvements for MLD VAP creation, PMKSA caching, and GTK rekey synchronization across links.
2.2) Software:
* MLO NL & PWHM OS alignment
3) AFC & ACS Improvements
* Introduced AFC patches for automated frequency coordination, timeout logic, and TX-power ranking.
* Airties ACS enhancements: smart channel selection, exclusion list support, and dynamic failsafe handling.
4) Firmware Updates
* Added Link Adaptation probing logic (r1462).
* Multiple fixes for FW crashes, throughput issues, and
calibration handling.
* Power optimization features like CPU sleep mode and QuickLatch adjustments.
5) Security & RSN Overriding
* RSNE/RSNXE override support for AP.
* WPA3/RSNO improvements for certification compliance.
* RADIUS backports enforcing Message-Authenticator attribute.
6) Certification & Compliance
* Adjustments for Wi-Fi 6/6E/7 certification programs (MU EDCA, EPCS, WMM, AFC compliance).
* Added Veriwave test configurations and sigma script updates.
7) New features
* Qos V2 MSCS & SCS support
* AT & T requirement : Support Neighbor diagnostics (TR-181 new Data Model)
* AT & T ZWDFS implementation & Bug fixes
Update OSPv2 profiles for below changes:
* Single build config provides images for both B-Step and A-Step boards
* Removed OSPv2 B step profile
* PON subsystem version bump to 2.1.4
* Linux kernel minor version upgrade from 5.15.185 to 5.15.194
* Fix done in Linux sources for ipv6 speedtest improvement
* Fix done in obudpst sources for ipv6 speedtest improvement
* Fix PON mode string representation from "GPON" to "G-PON"
* Updated version information in FIT image header of kernel and rootfs
* Fix failover issue after firmware upgrade failure
* Updated queue length and shaper of VANI0 interface to enhance WiFi to PON performance
* Allow firstboot
Fixes: PPW-946, PCF-2202, PPW-1093, PCF-2053
Signed-off-by: Bhavesh Bharadiya <bnbharadiya@maxlinear.com>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org> [cram test update]
Problem - Failure action as set in FailAction is taken when
repeated process kill exceeds MaxFailNum parameter.
Process respawn parameters were tested in previous
005-amx-respawn-reset.t testcase which upon failure increases the
CurrentTestInterval. ProcessMonitor detects the Health of the
process based on this CurrentTestInterval.
This CurrentTestInterval after failure was around 120 seconds for
tr181-qos process. Increased time for tr181-qos process observed
would be due to some small varying additional time taken by it to
come up at the expected monitoring interval (possibly due to
additional tasks handled by tr181-qos process compared to other process)
for example tr181-pcp process had CurrentTestInterval as 60 seconds as
per 006-amx-monitoring-change-subject.t.err file.
Due to this reason the issue reported in PPW-1228 is observed. Here
NumProcessRespawn for tr181-qos was expected as 1 but found 0 because
FailAction was invoked while Health was still in Bad state, RESTART
FailAction for tr181-qos was taken which respawns the process and
clears NumProcessRespawn and MaxNumFailed attributes.
Solution - Instead of waiting for the increased CurrentTestInterval
for the Health to trun into Good state and proceed with further
testcases, TestInterval parameter is reduced to 10 seconds from 60
seconds. This improves updating the Health status of the process.
Additionally MaxFailNum is increased to higher value at the start of
the tests to avoid unexpected FailActions and reverted at the end of
testcase. Also adding update to log CurrentTestInterval and Health
for all amx-processmonitoring cram testcases.
Fixes: PPW-1228
Signed-off-by: Hari Sriram <hari.s@capgemini.com>
in WANManager, a new parameter called `LastSuccessfulMode` is added.
This paramter must be mapped to `Device.X_PRPLWARE-COM_WANManager.LastSuccessfulMode`
References: PPW-964
Signed-off-by: ahmed sassi <ahmed.sassi_ext@softathome.com>
In commit 692e2f967a ("ci: cram: 065-upnp.t: fix random failures in
netstat check") the check was fixed, but got broken again in commit
b0ee814f61 ("upnp: extending the cram tests"). So lets fix it again.
References: PPW-454
Fixes: b0ee814f61 ("upnp: extending the cram tests")
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
OSPv1 board was removed quite some time ago and replaced with OSPv2
successor, so lets cleanup the CI bits a bit to keep the tree tidy.
References: PCF-1134
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
prplOS Network Functionality Test Plan v1.2.0 added following prplOS
4.1.0 mandatory tests which were enabled in Mandatory package and
removed from Candidate package.
* 1.2.10
* 1.2.25
* 1.2.27
* 1.2.28
* 1.3.7
* 1.4.2
* 1.4.3
* 1.4.4
* 1.5.4
* 1.5.5
* 1.5.6
* 1.5.7
* 1.5.14
* 1.5.15
* 1.5.16
* 1.5.17
Test plan packages v1.1.0 are being removed as they're not being used
anymore.
prplOS Network Test Plan timeout was increased to 1h 45min as the test
runtime increased to 1h 40min, 5 min is kept as buffer. The prplOS
Network Test Plan v1.2.0 mandatory tests require more time to complete
than the previous 70 minute timeout allowed. Candidate tests are
shorter, approx. 47 minutes on average, so having 52 minute timeout.
Closes: PCF-2275
Link: https://prplfoundation.org/wp-content/uploads/prplOS-Network-Functionality-Test-Plan-v1.2.0.pdf
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
After the integration of the bSTAMLD feature, the default qdisc mode
for endpoint link interfaces changed from noqueue to noop.
As this mode is managed by the kernel/driver and has no impact on the
endpoint behavior when used, lets update the expected mode in the
script.
The ticket PPW-1282 will be used to analyze in more detail why the
mode changed.
References: FEAT-117, PPW-1282
Closes: PPM-3349
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
This commit adds a test to verify that USP events are raised through
the pwhm USP direct socket
Closes: PPW-1259
References: PPW-1208
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
obuspa.t is failing due to changes that remove
%protected for CustomAlias and VHTCapabilities in
AccessPoint ODL file
References: PPW-1190
Signed-off-by: Volodymyr Pavlenko <pavlenko.vv@pm.me>
Update expected DM according to the following new pwhm feature:
- get EHTCapabilities & EHTOperations IEs
References: FEAT-145
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
The purpose of the update is to ensure that the hostapd configuration
can be updated without a restart.
References: FEAT-125, PPM-3345
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
The CI_BUILD_PROFILE variable was being set twice:
1. In before_script (for all jobs)
2. In the script section during gen-config (redundant)
This duplication caused issues when jobs needed to override the variable
extraction pattern (e.g., blackduck scan jobs use a different job name
pattern than build test jobs).
Since before_script runs before script and the variable persists across
both sections, the second export in the script section is unnecessary
and was overwriting custom values set by derived jobs.
This change removes the redundant export from the script section,
allowing jobs that extend .build test config to properly override
CI_BUILD_PROFILE in their before_script without it being overwritten.
No functional change for existing build test jobs.
References: PPW-1194
Signed-off-by: Mouna Aloui <mouna.aloui@softathome.com>
This change is due to a fix in PPW-681 which adds the missing DM object
References: PPW-417, PPW-681
Signed-off-by: Hela Saadani <hela.saadani_ext@softathome.com>
Adding update to amx-process monitoring testcase
008-verify-amx-monitoring-enabled.t to exclude cellular-manager
checks for platforms other than MXL OSPv2 and WNC Freedom devices.
Including updates to 005-build-config.t file for arcadyan-mozart
environment.
Signed-off-by: Hari Sriram <hari.s@capgemini.com>
In commit 603dcf9e899a ("profiles: prpl_core.yml: feed_prplos &
feed_prplmesh: Integrating Amx Process Monitor Enhancement features with
prplos (FEAT-70, FEAT-77 & FEAT-88)") we've added bunch of new test
cases, which increase the test runtime by 2min51sec:
005-amx-respawn-reset.t | 42s
006-amx-monitoring-change-subject.t | 38s
007-amx-monitoring-reset.t | 34s
008-verify-amx-monitoring-enabled.t | 9s
009-amx-process-fail.t | 48s
So lets increase the test runtime by 3 minutes from current 45min to
48min to prevent test timeouts.
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
ci:cram Add/Update cram testcase for amx-processmonitoring
Integrate below enhancements to Amx Process Monitor
- Redesigned Process Monitor to allow it to respect its configuration, regardless of the configured time intervals and number of processes, allowing to execute multiple tests in parallel.
- Add appropriate configuration for critical prplWare service which would required GW REBOOT to recover multiple failures. Service restart would be taken care by procd under FEAT-067.
- Added capability to detect service exits using procd events
- Collected and reported procd event statistics
- Additionally collected and reported procd respawn configuration for configured services
- Added a per-test parameter that records largest observed value of ProcessMonitor.Test.{i}.NumFailed when the “Test Failed” condition in the flow diagram of process monitor is false
- Added a per-test maximum response time measured for a successful test.
- Allowed to reset these values through the reset() Command.
References: PCF-2011, PPM-3493, PCF-2033
Signed-off-by: Sathishkumar Selvam <sathishkumar.selvam@capgemini.com>
Closes PCF-2011, PPM-3493, PCF-2033
After switch of the boards from A-Step to B-Step, we're observing
following strange test failures on one OSPv2-B board in testbed-01 only:
--- .gitlab/tests/cram/mxl25641-hdk-6/110-prplmesh-dataelements.t
+++ .gitlab/tests/cram/mxl25641-hdk-6/110-prplmesh-dataelements.t.err
@@ -165,7 +165,7 @@
$ get_ssid_ssid
- backhaul_(4C:BA:7D|A8:C2:46):[0-9A-F]{2}:[0-9A-F]{2}:[0-9A-F]{2} (re)
+ prplOS-guest
@@ -245,7 +245,7 @@
$ get_ssid_ssid
- backhaul_(4C:BA:7D|A8:C2:46):[0-9A-F]{2}:[0-9A-F]{2}:[0-9A-F]{2} (re)
+ prplOS-guest
It is failing in every run, so to keep CI green, lets remove the tests
until its fixed.
References: PPM-3652, PCF-2200
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/12147899498#L286
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Problem:
Sometimes, the mlo.t cram test throws the following error and quits
without continuing the execution :
$ R "ba-cli -j -l WiFi.AccessPoint.1.SSIDReference+.MLDUnit=0 |jsonfilter -e @[0]'[*].MLDUnit' "
- 0
+ /bin/sh: 232: Syntax error: Unterminated quoted string (no-eol)
Cause:
This issue was triggered by a known CRAM limitation where the command
buffer size is restricted to 8kB when running under python versions
earlier than 3.14. When running the script mlo.t we are exceeding this
limit, leading to parsing errors in the test runner.
(c.f. https://prplfoundationcloud.atlassian.net/wiki/spaces/PRPLFOUN/pages/1097170947/Cram#Command-Buffer-Size-Limit)
Solution:
Optimize the script so that the command buffer stays below the 8kB limit.
This constraint will remain in place for future script updates until the
python version may be updated.
Fixes: PPW-1179
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
- Test the activation and deactivation of the new backhaul APs
introduced in PPM-3517.
References: PPM-3517
Closes: PPW-1165
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
expected test results changed due to new features being added
Implements: PPM-3604,PPM-3352,PPM-3347,PPM-3350
References: FEAT-125,FEAT-65,FEAT-124,FEAT-137
Signed-off-by: Hela Saadani <hela.saadani_ext@softathome.com>
Replace manual trigger with label-based activation for BlackDuck scans
on MRs. Jobs now run automatically when the 'ci:allow-expensive-jobs'
label is added to the merge request,
References: PCF-1794
Signed-off-by: Mouna Aloui <mouna.aloui@softathome.com>
Black Duck was trying to analyze Python (PIP) and JavaScript (NPM) dependencies in the build directories,
but these package managers weren't properly configured in the build environment, causing "FAILURE_ACCURACY_NOT_MET" errors.
so let's exclude PIP and NPM types.
References: PCF-1794
Signed-off-by: Mouna Aloui <mouna.aloui@softathome.com>
Tests have shown that blackduch timeout job was reached, so let's increase it to 4 hours
References: PCF-1794
Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
Adding a loop to let blackduck scan every directory.
use curl command to download detect.sh script from detect.blackduck.com
Closes: PCF-2036
References: PCF-1794
Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
We're seeing this test failing a bit more lately, so lets remove it
to save some time and enable it once its fixed.
References: PPW-860
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Currently the prplMesh test pipes the prplmesh_utils.sh status output
(including PIDs) into LC_ALL=C sort and then matches the full lines,
which makes the check sensitive to ASCII PID ordering once PIDs cross
digit boundaries and results in random false negatives as seen in
PPW-881.
So lets strip the leading PIDs before sorting and only assert on the
sorted list of beerocks process names to make the agent operational
check deterministic and CI-stable.
Fixes: PPW-881
Debugged-by: Lu Dai <lu.dai@mind.be>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
The wifi helpers definitions were duplicated across multiple cram
scripts.
Let's consolidate them into a single script that can be sourced from
the CRAM scripts each time it's needed.
Closes: PPW-230
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
Allow 2nd vendor MAC OUI in the backhaul SSID to prevent random failures
when running cram tests on different Freedom boards.
Closes: PCF-2185
Signed-off-by: Igor Plesser <i.plesser@inango-systems.com>
let's use $COVERITY_ENABLE_DIAGNOSTICS environment variable as a value for INCLUDE_DIAGNOSTICS argument.
so we can easily change it when needed without code modification.
Closes: PCF-2037
References: PCF-1795
Signed-off-by: Mouna Aloui <mouna.aloui@softathome.com>
Enhanced variable rules to ensure the Coverity scan job runs for:
1. Every new tag.
2. Scheduled pipelines on protected branches, configured for nightly runs.
3. require a scoped label ci::allow-expensive-jobs activation for scans on merge requesrs targeting protected branches to ensure compliance.
References: PCF-1795
Signed-off-by: Mouna Aloui <mouna.aloui@softathome.com>
let's use BRIDGE_COVERITY_CLEAN_COMMAND and BRIDGE_COVERITY_BUILD_COMMAND as clean and build commands
instead of defining them seperately in a yml file.
Closes: PCF-2037
References: PCF-1795
Signed-off-by: Mouna Aloui <mouna.aloui@softathome.com>
We add here the .bridge/coverity_connect_scan/comparison-report as a tar.gz file the job artifacts
to have some insights about covrity results.
References: PCF-1795
Signed-off-by: Mouna Aloui <mouna.aloui@softathome.com>
BRIDGE_COVERITY_AUTOMATION_PRCOMMENT which is if set to true, Bridge adds comments to pull
requests for new issues introduced in the Pull Request.
For the full scan at config level this feature doesn't make much sense.
So let's remove it.
Closes: PCF-2037
References: PCF-1795
Signed-off-by: Mouna Aloui <mouna.aloui@softathome.com>
Adds a new YAML file to handle Coverity analysis using the licensed on-prem server
instead of the free Coverity Scan service.
References: PCF-1795
Signed-off-by: Mouna Aloui <mouna.aloui@softathome.com>
use firmware builder as tag for coverity scan job
Closes: PCF-2037
References: PCF-1795
Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
When using bridge-cli to run coverity, we should first build toolchain to prepare the build environment.
Closes: PCF-2037
References: PCF-1795
Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
When set to true, Bridge will download full analysis kit and will perform capture and analysis.
Closes: PCF-2037
References: PCF-1795
Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
Use bridge-cli to implement coverity scan as a static code analyzer.
Closes: PCF-2037
References: PCF-1795
Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
We've added new OSPv2 B-Step board into testbed and cram backhaul tests failed:
- backhaul_4C:BA:7D:*:*:* (glob)
- backhaul_4C:BA:7D:*:*:* (glob)
- backhaul_4C:BA:7D:*:*:* (glob)
+ backhaul_A8:C2:46:3D:42:5C
+ backhaul_A8:C2:46:3D:42:5C
+ backhaul_A8:C2:46:3D:42:5C
So lets fix it by acknowledging the new MAC OUI as expected, while at it
improve the matching using regexp.
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/12103261692#L742
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Since OSPv2 B-Step devices are de-facto a standard devices currently being sold,
we should include those images in the release.
References: PCF-2200
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Since OSPv2 B-Step devices are de-facto a standard devices currently
being sold, it was decided to start using them for testing in prplOS CI
instead of current OSPv2 A-Step boards.
References: PCF-2200
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Fixes an issue in commit 99dcb0e625 ("gitlab:build: Add option to export
staging rootfs for debugging") where the CI_BUILD_EXPORT_STAGING_ROOTFS
variable was not properly escaped in the export message.
Fixes: PCF-2201
Reported-by: Lu Dai <lu.dai@mind.be>
Fixes: 99dcb0e625 ("gitlab:build: Add option to export staging rootfs for debugging")
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Currently it's not clear how long each phase of the build takes, so
let's break this down into collapsible sections which each can provide
precise duration measurement.
The new sections are collapsed by default (except make world) to reduce log
clutter, while still allowing quick access to detailed logs if needed.
References: PPW-1162
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
The source code is now avialable on GitHub, so we don't need to use the NDA
restricted MXL OSP runners.
While at it, switch from folded block scalars to literal block scalars,
as with the latter the newlines are preserved.
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
A race between the Cthulhu container start sequence and the
cthulhu_update_containers status-refresh callback causes intermittent
failures. To keep CI stable, this test is temporarily removed until the
underlying issue is fixed.
References: PPW-985, PCF-2117
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
[ In commit 0395f03cc0 ("PROVISORY: ci: cdrouter: mxl25641-hdk-6:
extend prplWare-Smoke-Test-Suite timeout by 5 minutes") we've increased
test runtime by 5 minutes, likely due to the same reasons. ]
This provisional change extends the timeout from 90 to 95 minutes to prevent
CI failures while the root cause of the performance degradation is being
investigated.
The performance issue appears to be specific to the OSPv2 platform on the
latest-24.10 branch, which runs consistently slower than other platforms
(Freedom, Mozart) and has shown a recent increase beyond its historical
average.
This is a temporary workaround. The underlying performance regression still
needs to be identified and resolved.
References: PPW-908
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/11936157538#L199
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Currently it's not easy to identify errors in CI job log output, so
let's introduce centralized logging helpers with colored output and
visual indicators to make errors more prominent.
The helpers are consolidated in .gitlab/scripts/helpers.sh and replace
inline logging in dut-init scripts. Error messages in cdrouter.yml and
testbed.yml now use log_error() for hopefully better visibility in CI
logs.
References: PCF-2157
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Currently it's not clear how long each phase of the test run takes, so
let's break this down into collapsible sections which each can provide
precise duration measurement.
The new sections are collapsed by default (except test execution) to
reduce log clutter while still allowing quick access to detailed timing
information for debugging and performance analysis.
References: PCF-2157
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
In commit 0c1a216ce82b ("ci: define time limits for runtime testing job
limits"), we've enabled time limits for runtime testing jobs to prevent
problematic test jobs from occupying precious testbed resources.
It turned out that the initial approach with the CI job limit wasn't
ideal, as it led to the immediate termination of CI jobs, preventing the
collection of useful artifacts like logs, thus making post-mortem
debugging of problematic tests impossible.
This commit introduces TEST_CUTOFF_TIMEOUT to limit test execution while
preserving time for artifact collection. The timeout is computed as:
CI_JOB_TIMEOUT - DUT_SLEEP_AFTER_BOOT - TEST_SETUP_TEARDOWN_DURATION
where TEST_SETUP_TEARDOWN_DURATION (6 minutes) reserves time for DUT
setup and artifact collection.
Two timeout mechanisms are implemented:
- CDRouter tests: custom timeout in testbed-cdrouter.py that monitors
execution time and calls package_stop() for graceful termination when
the deadline is reached, exiting with code 124 (used by `timeout`
command).
- Testbed tests: The `timeout` command wraps test execution, sending a
TERM signal at the deadline and a KILL signal after 10 seconds if
needed.
Both approaches assure that artifact collection can proceed after test
execution is terminated, enabling debugging of timeout issues.
While at it, I've removed SimpleNamespace import in testbed-cdrouter.py
as reported by flake8.
References: PCF-2157
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/11818939729#L136
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/11882363749#L238
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
This test is rather unstable and it looks like we have an issue in LCM here.
Let's remove the test for now to have green CI again.
References: PPW-1048
Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
This test is failing consistently. So let's remove it to get green CI again.
References: PCF-1565
Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
Problem:
After the integration of PPW-308, the CDRouter test job is complaining
about the unexpected 11be phy mode and GCMP-256 cypher mode.
Cause:
The ticket PPW-308 allows radio supporting 11be, but not supporting
standard NL80211 MLO, to keep using 11be (EHT) and its related basic
features.
Solution:
Add the 11be and GCMP-256 expected phy modes. This can be acheived by
reverting 3035e96351.
This reverts commit 3035e96351.
Closes: PPW-308
References: PPW-660
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
fix tr181-led process checks after switch to procd init: Currently the processes are being spawned with -D --daemon
amxrt flag, but after the switch to the procd based init system, this is not the case anymore. So lets adapt the cram
tests accordingly and remove the missing -D flag.
fix missing build config checks after 005-build-config.t: build-config cram fails with missing new configs
which being added as part of the procd integration. hence included those missing configs to fix the same
Additionally fixed 020-cpu-monitoring.t cram on Resource monitoring Idle utilization
Implements: PCF-1990
Signed-off-by: Sathishkumar Selvam <sathishkumar.selvam@capgemini.com>
Add initial test for cellular-manager.
This test checks:
- Whether the datamodel is filled in correctly for:
- Offline: When no sim card is detected
- Online: When sim card is detected
References: PCF-1707
Signed-off-by: Sam Maes <sam.maes_ext@softathome.com>
This reverts commit 2ade24890e as the
issue was fixed in commit b48c57223e ("profiles: mxl_x86_osp_tb341_v2:
Update PKG_MIRROR_HASH for ebtables").
References: PPW-981
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
buffering output makes the output messy in gitlab ci
this change disables the buffering to make log readable
Closes: PPM-3569
Signed-off-by: Lu Dai <lu.dai@mind.be>
The sfp test needs an update after the datamodel change introduced with FEAT-97.
References: PPW-1015
Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
In OpenWrt 24.10 the filename for sysupgrade image got renamed, which
leads to the following release upload failure:
curl: Can't open 'bin/targets/mvebu/cortexa9/prplos-mvebu-cortexa9-cznic_turris-omnia-sysupgrade.img.gz'
So lets fix it by using prplos-mvebu-cortexa9-cznic_turris-omnia-squashfs-sysupgrade.img.gz
image name.
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
With UPDK 9.2.0 release there is only single-image provided for OSPv2
merging both previously separate PON and Ethernet images into one, so
lets adapt the release process accordingly.
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
In commit b126d1f0e1 ("PROVISORY: ci: disable support for OSPv1 and
OSPv2") we disabled support for OSPv1 board, but forget to remove asset
links in the release, so lets fix it now and remove the links as support
for OSPv1 was officially sunset by MaxLinear with UPDK 9.2.0 release.
Fixes: b126d1f0e1 ("PROVISORY: ci: disable support for OSPv1 and OSPv2")
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
During the prplWare 4.0.1 release upload job failed with following:
tar: can't open 'bin/targets/mediatek/filogic/prplos-mediatek-filogic-arcadyan_mozart-emmc-bootstack.tar': Permission denied
So lets fix it by moving the tarball to the /tmp directory and while at
it package the assets with gzip.
Fixes: d4721fdced1c ("ci: release: add Arcadyan Mozart bootstack assets")
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/11312568448#L82
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
(cherry picked from commit 54b65fd642f956498dee2a78e7b622847c0a8aab)
It was decided, that prplOS releases should be actually prplWare
releases, so we've renamed prplos-vX.Y.Z Git tags to prplware-vX.Y.Z
since prplWare 4.0.1 release.
So lets adapt the CI bits accordingly.
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
(cherry picked from commit 0a17811ca5523456c8260c9ddfcd00f1b76dedcf)
Since UPDK 9.1.90 release its possible to get source code from publicly
accessible github.com repositories, we can offer firmware images in the
releases publicly as well.
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
(cherry picked from commit a912b082c507cd4a7fdeed387cc9cfa9520731c0)
Arcadyan Mozart supports special recovery procedure and permits to
update the bootloader hence it might be handy to provide the bootloader
file in a release.
Add the bootloader assets to the release in a single TAR called
bootstack that include the Preloader, the GPT table and the
BL31+U-Boot binary.
References: PCF-2005
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 30830d1183179d5e15093993e168e9faba66dad7)
(cherry picked from commit d4721fdced1ce17790e7d9d97733f25c85b95b46)
Thread feature should work out of the box on the Fast Track reference
platforms, so lets add a thread profile to the OSPv2 builds.
References: PCF-1297
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
(cherry picked from commit 0c4db5d4308cf68662d6a669d9fe93cbd921256f)
The current test fails while checking the amount of tr181-upnp processes that are running.
With the introduction of tr181-upnpdiscovery, we have now two processes matching the search pattern in stead of one.
So let's fix it by explicitly checking for tr181-upnp process and in addition let's add a test to check if tr181-upnpdiscovery is running as well.
References: PCF-1833
Signed-off-by: Florian Rouzaud <florian.rouzaud@softathome.com>
Add test for tr181-upnpdiscovery. The cram test checks upnp discovery datamodel.
References: PCF-1833
Signed-off-by: Florian Rouzaud <florian.rouzaud@softathome.com>
Update the CDRouter configuration for the mxl25641-hdk-6 testbed by changing
the LAN interface alias from 'ETH0_3' to 'cpe-lan2' to align with the new
ethernet aliases naming convention.
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Update the CDRouter configuration for the wnc-freedom testbed by changing
the LAN interface alias from 'LAN1' to 'cpe-lan1' to align with the new
ethernet aliases naming convention introduced in the qca_ipq95xx profile.
Fixes: c42630b34a ("profiles: qca_ipq95xx: add physical ethernet aliases support for ATH13.0")
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Currently we're sometime seeing the following error:
$ .gitlab/scripts/testbed-cdrouter.py package_stop
Traceback (most recent call last):
...
urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='<redacted>', port=80): Max retries exceeded with url: /api/v1/results/?filter=status~%28running%7Cpaused%29 (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f6380682358>: Failed to establish a new connection: [Errno 113] No route to host'))
So lets add a `check_connectivity` command to , which uses exponential backoff
retry logic to verify CDRouter API connectivity within a fixed 30 seconds timeout.
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
We need to make sure, that prplWare passes prplOS Network Test Plan
certification test suite. We've added separate test package with
Mandatory test cases, but we should be able to test as well the
remaining, currently Optional or Privisionary Excluded test cases, so we
get the test results and work towards making all of them Mandatory.
The test package contains only mandatory tests from the test plan, so 64
tests:
prplos.1.1.1, prplos.1.1.2, prplos.1.1.8, prplos.1.1.9, prplos.1.1.10,
prplos.1.1.11, prplos.1.1.12, prplos.1.1.13, prplos.1.2.10,
prplos.1.2.20, prplos.1.2.21, prplos.1.2.22, prplos.1.2.23,
prplos.1.2.24, prplos.1.2.25, prplos.1.2.27, prplos.1.2.28,
prplos.1.2.30, prplos.1.3.4, prplos.1.3.5, prplos.1.3.6, prplos.1.3.7,
prplos.1.3.9, prplos.1.3.11, prplos.1.3.14, prplos.1.3.15,
prplos.1.3.16, prplos.1.3.18, prplos.1.3.19, prplos.1.3.20,
prplos.1.3.21, prplos.1.3.22, prplos.1.3.23, prplos.1.3.24,
prplos.1.3.25, prplos.1.3.26, prplos.1.3.27, prplos.1.4.2, prplos.1.4.3,
prplos.1.4.4, prplos.1.5.4, prplos.1.5.5, prplos.1.5.6, prplos.1.5.7,
prplos.1.5.14, prplos.1.5.15, prplos.1.5.16, prplos.1.5.17,
prplos.1.5.18, prplos.1.5.19, prplos.1.6.1, prplos.1.6.2, prplos.1.6.6,
prplos.1.6.7, prplos.1.6.8, prplos.1.6.13, prplos.1.6.15, prplos.1.6.19,
prplos.1.6.24, prplos.1.6.25, prplos.1.6.26, prplos.1.6.27,
prplos.1.6.28, prplos.1.6.29
References: PCF-1609
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
We need to make sure, that prplWare passes prplOS Network Test Plan
certification test suite and for that we need to configure CDRouter and
DUT.
CDRouter config changes in new prplos-certification config:
* ipv6WanMode was changed from autoconf to DHCP
* ipv6LanMode was changed from autoconf to DHCP
DUTs are being dynamically configured with following datamodel
configuration:
* DHCPv6Client.Client.wan.RequestAddresses=1 so DUT requests IA_NA
* RouterAdvertisement.InterfaceSetting.lan.AdvManagedFlag=1 so CDRouter
can start DHCPv6 client
- WARNING(lan): The Mbit in the last router advertisement is set to 0 indicating that DHCPv6 is not allowed
- WARNING(lan): Cannot start DHCPv6 client
References: PCF-1609
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Currently the CDRouter tests which needs to know datamodel alias for LAN
interface are failing as there is no CDROUTER_CONFIG_LAN_IFACE_ALIAS
variable defined for Mozart:
Test cdrouter-8520: Port LastChange
SECTION(cdrouter-8520): Finding LAN Port instance
FAIL: The USP Get message returned no paths matching Alias == @CDROUTER_CONFIG_LAN_IFACE_ALIAS@
So lets fix it by defining the CDROUTER_CONFIG_LAN_IFACE_ALIAS with LAN0
interface reference. We're using incorrect LAN0 alias as the underlying
DTS/BSP currently doesn't support the ethernet aliases, so we can't use
correct cpe-lan0 alias yet.
References: PCF-1609, PCF-2000
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/11030617025#L216
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
We need to make sure, that prplWare passes prplOS Network Test Plan
certification test suite. So lets add a new `certification tests` stage
with a new prplOS-Network-Test-Plan-Mandatory-v1.1.0 CI test job which
should help us QA this.
The test package contains only mandatory tests from the test plan, so 63
tests:
prplos.1.1.3, prplos.1.1.4, prplos.1.1.5, prplos.1.1.6, prplos.1.1.7,
prplos.1.2.1, prplos.1.2.2, prplos.1.2.3, prplos.1.2.4, prplos.1.2.5,
prplos.1.2.6, prplos.1.2.7, prplos.1.2.8, prplos.1.2.9, prplos.1.2.11,
prplos.1.2.12, prplos.1.2.13, prplos.1.2.14, prplos.1.2.15,
prplos.1.2.16, prplos.1.2.17, prplos.1.2.18, prplos.1.2.19,
prplos.1.2.26, prplos.1.2.29, prplos.1.3.1, prplos.1.3.2, prplos.1.3.3,
prplos.1.3.8, prplos.1.3.10, prplos.1.3.12, prplos.1.3.13,
prplos.1.3.17, prplos.1.4.1, prplos.1.4.5, prplos.1.4.6, prplos.1.4.7,
prplos.1.4.8, prplos.1.4.9, prplos.1.5.1, prplos.1.5.2, prplos.1.5.3,
prplos.1.5.8, prplos.1.5.9, prplos.1.5.10, prplos.1.5.11, prplos.1.5.12,
prplos.1.5.13, prplos.1.6.3, prplos.1.6.4, prplos.1.6.5, prplos.1.6.9,
prplos.1.6.10, prplos.1.6.11, prplos.1.6.12, prplos.1.6.14,
prplos.1.6.16, prplos.1.6.17, prplos.1.6.18, prplos.1.6.20,
prplos.1.6.21, prplos.1.6.22, prplos.1.6.23
References: PCF-1609
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Currently, when CDRouter API connection fails, users see verbose stack traces
like:
Traceback (most recent call last):
File ".gitlab/scripts/testbed-cdrouter.py", line 441, in <module>
main()
...
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPConnectionPool(host='<redacted>', port=80): Max retries exceeded with url: /api/v1/results/?filter=status~%28running%7Cpaused%29 (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f6380682358>: Failed to establish a new connection: [Errno 113] No route to hos
So let's add global exception handling to extract and display only the meaningful
error message. Added extract_connection_error_message() method to walk through
nested exception chains and extract the root cause. Wrapped main() function with
try-except block to catch ConnectionError, RemoteDisconnected, and MaxRetryError
exceptions, displaying clean error messages like:
ERROR: Connection failed: Failed to establish a new connection: [Errno 113] No route to host
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/11684757402
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Currently, the debug mode is only set via the -d argument, so
let's allow setting it via the TB_CDROUTER_DEBUG environment variable as well.
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
When looking for regressions, it's handy to know on which branch/job the
test was run, so let's add support for branch/job tagging.
This commit introduces the `GitLabEnvironment` class, which extracts
GitLab CI environment variables related to branch names and job IDs.
It generates CDRouter-compatible tags that denote both the branch and
the CI job ID for the test execution. The priority for determining the
branch name is as follows:
1. CI_MERGE_REQUEST_SOURCE_BRANCH_NAME (for merge request pipelines)
2. CI_COMMIT_BRANCH (for regular branch pipelines)
The generated tags are formatted as:
- `gitlab-branch.{sanitized-branch}` for branch information
- `gitlab-job.{job_id}` for CI job identification
These tags are added to the existing tags generated by the
OpenWrtSystemInfo class and any user-defined tags. This addition aims
to simplify regression analysis by making it clear on which branch and
in which CI job a particular test execution occurred.
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Currently the tag sanitization is not re-usable and doesn't cover
complete CDRouter requirements for tags, so lets solve it by static
method in TestbedCDRouter class having complete tag naming restrictions.
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Reformat code with black, which is prior style code formatter.
Fixes: bef6276786 ("cdrouter: wireless: make wifiBeaconPhy configurable")
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Currently when something goes wrong during labgrid DUT bringup
procedure, we get a stack trace, but it would be helpful to get serial
console log as well. So lets handle the possible exception and dump the
serial console output, so it doesn't get lost.
References: FEAT-67
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Currently Device.X_PRPLWARE-COM_GenericNetworkInterface. is missed on the USP bus.
Thus the component is not available in USP controller. Fixed it by adding needed USP registration ODL configuration.
Fixes: PPW-1000
Signed-off-by: Ashik Ahmed <ashik-ahmed.a@capgemini.com>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org> [fix author name to match SoB, rebase]
During integration of tr181-conntrack-query it was seen that two config options were named incorectly:
- CONFIG_SAH_AMX_TR181_CONNTRACK_QUERY_AS_GROUP="tr181_app"
- CONFIG_SAH_AMX_TR181_CONNTRACK_QUERY_AS_USER="tr181_app"
During integration these options were replaced in the system by:
- CONFIG_SAH_AMX_TR181_CONNTRACK_QUERY_RUN_AS_GROUP="tr181_app"
- CONFIG_SAH_AMX_TR181_CONNTRACK_QUERY_RUN_AS_USER="tr181_app"
This commit adjusts the tests accordingly.
References: PCF-2107
Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
Problem: CRAM tests are failing because the new parameter Device.DHCPv6.Client.{i}.X_PRPLWARE-COM_DHCPv6Status is not recognized.
Solution: Update the CRAM test definitions to include the new DHCPv6Status parameter.
References: PCF-1839
Signed-off-by: Sarra Kacem <sarra.kacem_ext@softathome.com>
Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
(cherry picked from commit 935387da12)
Currently the cram testbeds doesn't support DHCPv6, so the test needs to be disabled
to keep CI green. Will be enabled later when testbed properly supports DHCPv6.
References: PCF-1786
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Signed-off-by: Hela Saadani <hela.saadani_ext@softathome.com>
Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
Add test for tr181-conmon.
The cram test checks ConMon status and checks that the error counters are 0.
References: PCF-1840
Signed-off-by: Nicolas BESNARD <nicolas.besnard_ext@softathome.com>
Update the reverse portmapping NAT test that uses the LCM
agent to correctly assign the necessary Linux capabilities.
Additionally, leverage the existing LCM infrastructure
for related operations such as installation, EE setup,
and execution within the container.
Signed-off-by: Nabil BIZID <nabil.bizid@softathome.com>
As per PCF-1940, the PeriodicFileUpload datamodel is replaced by PeriodicFileTransfer. The test should be updated accordingly
References: PCF-1940
Signed-off-by: Toon Caeyers <toon.caeyers_ext@softathome.com>
As per PCF-1940, the PeriodicFileUpload datamodel is replaced by PeriodicFileTransfer. The test should be updated accordingly
References: PCF-1940
Signed-off-by: Toon Caeyers <toon.caeyers_ext@softathome.com>
Add Mozart entry to get_container_name() and get_board_arch script
functions to correctly select the container arch and name for the
Arcadyan Mozart device.
References: PPM-3436
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Currently the prplMesh operational state test is failing after the
rebase onto OpenWrt 24.10:
$ R "/opt/prplmesh/scripts/prplmesh_utils.sh status" | LC_ALL=C sort
pgrep: pattern that searches for process name longer than 15 characters will result in zero matches
Try `pgrep -f' option to match against the complete command line.
So lets disable the test until the issue is fixed.
References: PPM-3436
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Sync Arcadyan Mozart build config test with new package/config
introduced with 24.10 prplOS release.
References: PCF-1970
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
On updating the test for the new variable "PollingMaxRetry", the regex
for the NumberOfEntries was wrongly hardcoded to 13.
Restore the original matching for the test.
Fixes: 38dc179bb4 ("ci: cram: 105-temperature.t: update tests after adding PollingMaxRetry parameter")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
This reverts commit 743214c800.
Enable test for Mozart board now that they are supported again.
References: PCF-1970
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
New U-Boot dependency require the additional Swig package to correctly
build for some Target.
Add it to the list of Host package in the builder Dockerfile.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
While Docker image is updated for Swig package inclusion, install it in
build workflow.
References: PPM-3436
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Problem:
========
No POSIX check was done for the Time.LocalTimeZone
Solution:
=========
Add a check for a random POSIX compatible timezone and a check for non
valid POSIX timezone
References: PPW-511
Signed-off-by: Alexandre Fiset <alexandre.fiset@softathome.com>
Introduce a flash health monitoring service to support wear-level tracking and predictive failure analysis of NAND and eMMC flash devices under TR-181 data model.
- Enumerates all flash devices (eMMC, NAND via UBI) and exposes wear metrics
- Supports vendor-specific and standard wear indicators via mmc-utils and ubinfo
- Enables operators to assess device reliability and take preemptive action
- Proposes TR-181 extension for flash health, targeting BBF standardization
This component enhances operational visibility into flash degradation, enabling smarter lifecycle management and reducing field failures in prplOS deployments.
Implements: PCF-2008, FEAT-92
Signed-off-by: Ashik Ahmed A <ashik-ahmed.a@capgemini.com>
Problem:
========
mstpd is still enable in the configuration files were it was removed
from the bridge plugin
Solution:
=========
Remove the package configs of the bridge and mstpd
References: PPW-679
Signed-off-by: Alexandre Fiset <alexandre.fiset@softathome.com>
Problem:
During the mlo.t cram test execution, the wld process may get stuck for
the same reason when previously the pwhm.t test was causing a similar
issue. (cf 72689c9980)
Cause:
- When mlo.t starts, we suspend the beerocks processes using SIGSTOP.
- When pwhm raises an event through the USP socket, it expects an
acknowledgement from prplmesh (the client). Since prplmesh is suspended
it never replies.
- This concerns ony the direct socket case, which is point-to-point
connection. With ubus, events are broadcasted, so no pear acknowledgement
is required.
- The issue became visible after unfiltering custom events in amxb_usp.
Solution:
Do the same fix as done in pwhm.t. ie: stop prplmesh properly before
starting the script so that it cleanly disconnects from the USP backend.
Fixes: PPW-1017
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
In CDRouter-UPnP-IPv46 we've now all passing UPnP tests from both upnp
and upnp-v6 modules, which are known to be working as of today.
From the list of available 111 tests in CDRouter version 15.8.1 in both
upnp-v6.tcl (60) and upnp.tcl(51) modules we've removed following 30
tests currently known to be not failing:
cdrouter_upnp_203, cdrouter_upnp_204, cdrouter_upnp_220,
cdrouter_upnp_igd2_203, cdrouter_upnp_igd2_204, cdrouter_upnp_igd2_220,
ipv6_upnp_35, ipv6_upnp_36, ipv6_upnp_40, ipv6_upnp_41, ipv6_upnp_45,
ipv6_upnp_50, ipv6_upnp_100, ipv6_upnp_203, ipv6_upnp_204,
ipv6_upnp_220, ipv6_upnp_igd2_20, ipv6_upnp_igd2_25, ipv6_upnp_igd2_35,
ipv6_upnp_igd2_36, ipv6_upnp_igd2_40, ipv6_upnp_igd2_41,
ipv6_upnp_igd2_45, ipv6_upnp_igd2_50, ipv6_upnp_igd2_100, ipv6_upnp_igd2_200,
ipv6_upnp_igd2_203, ipv6_upnp_igd2_204, ipv6_upnp_igd2_220,
ipv6_upnp_igd2_307
So lets introduce a new CDRouter-UPnP-IPv46-Failing package, with the
above mentioned failing tests (29) which would allow us tracking the
potentially remaining bits which needs to be fixed.
Link: https://support.qacafe.com/cdrouter/knowledge-base/upnp-testing-guide
References: PCF-720, PPW-336, FEAT-85, FEAT-244
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
We're currently using just a subset of UPnP test cases as being
available in CDRouter via PCF-720.
We need to increase the QA of UPnP, so lets add complete upnp and
upnp-v6 modules, which are known to be working as of today. From the
list of available 111 tests in CDRouter version 15.8.1 in both upnp-v6.tcl
(60) and upnp.tcl(51) modules we're removing following 30 tests currently known
to be not passing:
cdrouter_upnp_203, cdrouter_upnp_204, cdrouter_upnp_220,
cdrouter_upnp_igd2_203, cdrouter_upnp_igd2_204, cdrouter_upnp_igd2_220,
ipv6_upnp_35, ipv6_upnp_36, ipv6_upnp_40, ipv6_upnp_41, ipv6_upnp_45,
ipv6_upnp_50, ipv6_upnp_100, ipv6_upnp_203, ipv6_upnp_204,
ipv6_upnp_220, ipv6_upnp_igd2_20, ipv6_upnp_igd2_25, ipv6_upnp_igd2_35,
ipv6_upnp_igd2_36, ipv6_upnp_igd2_40, ipv6_upnp_igd2_41,
ipv6_upnp_igd2_45, ipv6_upnp_igd2_50, ipv6_upnp_igd2_200, ipv6_upnp_igd2_203,
ipv6_upnp_igd2_204, ipv6_upnp_igd2_220, ipv6_upnp_igd2_307
So we can regression test UPnP stack in current state and thus improve the QA.
Cap the CI job runtime to 60 minutes as currently it seems, that it
takes around 53 minutes to complete.
References: PCF-720, PPW-336, FEAT-85, FEAT-244
Link: https://support.qacafe.com/cdrouter/knowledge-base/upnp-testing-guide
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Co-authored-by: Nikolai Merinov <n.merinov@inango-systems.com>
Changes in FEAT-97 are affecting the sfp datamodel.
It is now seen that the test to check detection of the sfp stick is failing.
The test will need adaptation later to make it aligned with the new datamodel.
Let's disable the test for now so that we can continue with a green CI.
Fixing this test is tracked in PPW-1015
References: PPW-1015, FEAT-97, PCF-1924
Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
Last days we introduced new features and tests in the CI.
Because of that we are hitting now and then the maximum excecution time.
So let's increase the timeout from 40 to 44 minutes.
Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
Add support configuring options 124 and 125 in tr181-dhcpv4client
Add support configuring options 16 and 17 in tr181-dhcpv6client
References: PCF-1912, FEAT-134
Signed-off-by: Artem Trokhymchuk <a.trokhymchuk@inango-systems.com>
Add runtime speedtest for tr471-iplayercapacity:
- Start local udpst server
- Perform tr-471 speedtest functionality:
+ Initiate diagnostic test and verify DiagnosticsState transitions
+ Test error handling and DiagnosticsState error enumeration
+ Test DiagnosticsState=Canceled functionality and restart
+ Test writable parameter modification during diagnostic execution
+ Test DiagnosticsState=Requested during execution (terminate and restart)
+ Test USP command with optional test parameters
+ Test CWMP → USP command transition (nearest command executes)
+ Test USP → CWMP command transition (nearest command executes)
- Add missing TR-471 IPLayerCapacity in obuspa data model list
- Add missing TR-471 IPLayerCapacity in ubus datamodel list
- Add missing CONFIG_PACKAGE_obudpst=y to wnc-freedom build config
References: PCF-2055
Signed-off-by: Lou Nguyen (Gemtek) <lou_nguyen@vn.gemteks.com>
The USB tests are not yet stable enough. So let's remove them for now.
Tracked in PPW-1008
This reverts commit 6c72ca35be.
Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
Add initial test for USB filtering
This test checks:
- Whether the SanDisk USB flash disk is present and authorized,
- Authorization and unauthorization works by checking the authorized file and DM
- Simulates unplugging and plugging back in the device
to see if new devices are authorized correctly
References: PCF-1247
Signed-off-by: Sam Maes <sam.maes_ext@softathome.com>
(cherry picked from commit 2e25c9cb1157b27f34106bea38856ae9a92123d1)
Refactor LCM tests to eliminate reliance on hardcoded
index values when querying the datamodel. Previously,
tests depended on specific indexes, which could cause
failures if indexes did not match or were altered by
other tests.
This update replaces ubus commands with generic ba-cli
commands that use filters to query instances, making
tests more robust and less prone to breakage due to
index mismatches.
References: PCF-2025
Signed-off-by: Nabil BIZID <nabil.bizid@softathome.com>
Modify existing CRAM test for tr181-upnp that sets and gets
`UPnP.X_PRPLWARE-COM_IGDConfig.WANAccessProvider` parameter
References: PCF-1998
Signed-off-by: Mykola Hlukhenkyi <m.hlukhenkyi@inango-systems.com>
In task PCF-1998 a new filed 'WANAccessProvider' was added to the
tr181-upnp model, so the current test fails due to an unexpected filed
in the obuspa model
Add new expected parameter 'Device.UPnP.X_PRPLWARE-COM_IGDConfig.WANAccessProvider'
for tr181-upnp plugin
References: PCF-1998
Signed-off-by: Mykola Hlukhenkyi <m.hlukhenkyi@inango-systems.com>
Implementation of CRAM tests for transfer of file descriptors in output args
in synchronous, asynchronous RPC and event notifications.
Implements: PCF-2034
Signed-off-by: Vitalii Popov <v.popov@inango-systems.com>
Introduce a generic network management component to support dynamic instantiation
of Linux Netdev interfaces (e.g. tun, tap, USB, GRE, WireGuard) under Device.Bridging.Bridge
and Device.IP. This enables prplOS to manage interfaces not previously modelled.
Automatically reflects netdev state (e.g. up, lower_up) in the data model
Provides stop-gap until dedicated managers or TR-181 extensions are available
Proposes TR-181 extension for generic network interface, targeting BBF adoption
This component bridges the gap between Linux network reality and TR-181 modelling,
enhancing flexibility and provisioning capabilities in prplOS.
Implements: PCF-2007, FEAT-93
Signed-off-by: Ashik Ahmed A <ashik-ahmed.a@capgemini.com>
Add two profiles to build Extender firmware:
* extender_minimal.yml: minimal version of the Extender firmware;
* extender_full.yml: full version of the Extender firmware.
The same as minimal + support LCM and TR-069/369 management.
Add new CI goals for these new profiles.
References: PCF-1849, FEAT-84
Signed-off-by: Roman Shcherbakov <r.shcherbakov@inango-systems.com>
ci: cram: Adding Cram tests for Resource Monitoring feature
The current system lacks any mechanism to monitor Memory and CPU usage, which
limits visibility into system performance and prevents
proactive handling of Memory and CPU overload scenarios.
To address this, a Resource monitoring feature has been implemented.
It tracks Memory Usage and CPU usage at user-configured polling intervals and raises
a critical event if usage exceeds a user-defined threshold.
The Memory and CPU usage data is exposed via the TR-181 v 2.19 BBF compliant DataModel, enabling external
systems to query and act upon it.
This change lays the foundation for improved system observability and
performance management.
Implements:PCF-1991, PCF-2001, PCF-2010
https://prplfoundationcloud.atlassian.net/browse/PCF-1991https://prplfoundationcloud.atlassian.net/browse/PCF-2001https://prplfoundationcloud.atlassian.net/browse/PCF-2010
Signed-off-by: Jayamathi E <e.jayamathi@capgemini.com>
Signed-off-by: Hari Sriram <hari.s@capgemini.com>
The test 055-ssh-server.t is currently unstable and fails frequently,
leading to repeated CI job re-runs just to achieve a CI green status.
This unnecessarily consumes CI resources.
In commit 1b75a99538 ("PROVISORY: ci: 055-ssh-server.t: disable
unstable Session DM test") the relevant failing part was removed, but it
turned out, that it sometimes currently fails in subsequent test as well:
--- .gitlab/tests/cram/generic/acceleration-plan-components/055-ssh-server.t
+++ .gitlab/tests/cram/generic/acceleration-plan-components/055-ssh-server.t.err
@@ -68,6 +68,9 @@
Wait a bit and check that the Session datamodel is empty:
$ sleep 4 ; R "ubus call SSH.Server.3.Session _get | jsonfilter -e @[*].IPAddress -e @[*].User -e @[*].Alias" | sort
+ 192.168.1.2
+ cpe-Session-3
+ root
So temporarily disable that test until the underlying issues are resolved.
References: PPW-600
Fixes: 1b75a99538 ("PROVISORY: ci: 055-ssh-server.t: disable unstable Session DM test")
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/11605567496#L115
Reported-by: Nikolai Merinov <n.merinov@inango-systems.com>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
MxL currently uses a downstream fork of the ebtables package that does not
match the OpenWrt 24.10 package hash, leading to CI integrity check errors such as:
Feed feeds/opensource_apps_prpl packages integrity issues:
diff --git a/ebtables/Makefile b/ebtables/Makefile
index f35b768..15640fe 100644
--- a/ebtables/Makefile
+++ b/ebtables/Makefile
@@ -14,7 +14,7 @@ PKG_RELEASE:=1
PKG_SOURCE_URL:=https://git.netfilter.org/ebtables
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=48cff25dfea5b37e16ba5dc6601e98ab140f5f99
-PKG_MIRROR_HASH:=1327cdc3402e5e3056819e4e9b6f9d4a5bfd401f2c4f58447afb2c3c73fc8aac
+PKG_MIRROR_HASH:=3039d73b167c41025b1b401b647743b9c6d786613c693eef34de325b30de6d47
These issues were not previously detected because the integrator team runs
builds with the `skip_integrity_check` label, which disables package hash
verification. This hides regressions and allows mismatched package hashes
to go unnoticed.
To unblock ongoing builds and prevent widespread CI failures, this change
temporarily whitelists the new ebtables hash
(3039d73b167c41025b1b401b647743b9c6d786613c693eef34de325b30de6d47)
in the `opensource_apps_prpl` feed.
References: PPW-981
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/11587594893
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
There is a bug when on the container start the RootfsIsMounted parameter
is set to false even though the container rootfs is actually mounted.
The bug is unstable. For this crma test in some cases it will show as
changed, in others it won't.
We add the parameter to the list of runtime parameters so we track its
changes (if any). In this way, the test won't fail if the parameter was
changed due to the bug and we didn't take it into account.
Implements: LCM-843
References: PPW-985
Signed-off-by: Gleb Kasimov <h.kasimov@inango-systems.com>
This commit introduces the cram test that performs the simulated
firmware upgrade to validate the correct integration of Persistent
Configuration Manager with LCM Agent so LCM services are restored after
such "fake" firmware upgrade and are functional.
Implements: LCM-843
Signed-off-by: Gleb Kasimov <h.kasimov@inango-systems.com>
The test 112-wifi-scheduler.t is currently unstable and fails frequently,
leading to repeated CI job re-runs just to achieve a CI green status. This
unnecessarily consumes CI resources.
Temporarily disable the test until the underlying issues are resolved.
References: PPM-3523, PPM-3508
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
The test 055-ssh-server.t is currently unstable and fails frequently,
leading to repeated CI job re-runs just to achieve a CI green status.
This unnecessarily consumes CI resources.
Temporarily disable the test until the underlying issues are resolved.
References: PPW-600
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Align LCM tests with the current implementation.
This update includes:
* Providing all Linux capabilities to the container
running network tests, as some of them are used.
* Updating capabilities tests to reflect the latest
implementation and BBF proposal by:
** Renaming the AvailableCapabilities parameter
to AvailableUserRoleCapabilities.
** Removing the use of Users.Role to prevent
breaking existing containers.
* Update Cthulhu internal data model verification
to reflect the recent updates with the introduction
of the capabilities feature.
References: PCF-2066
Signed-off-by: Nabil BIZID <nabil.bizid@softathome.com>
Adding softHSM and pkcs11 funtionality changes the build artifacts and
data model exposed by the device. Reflect that in existing tests.
Above all add tests for pkcs11 and softHSM functionality through:
- command line tests: 001-hsm-setup.t
- components using it:
- mqtt broker: 002-hsm-mqtt-broker.t
- http server: 003-hsm-http-server.t
- mqtt client and bulk data: 004-hsm-mqtt-client.t
Additionally improve 020-security.t so that it cleans up after itself
and hence doesn't modify the state of the system.
References: PCF-2021
Signed-off-by: Piotr Nakraszewicz <piotr.nakraszewicz@consult.red>
Signed-off-by: Sergio Panseri <sergio.panseri@consult.red>
Signed-off-by: Tomasz Kilarski <tomasz.kilarski@consult.red>
Signed-off-by: Krzysztof Buczak <krzysztof.buczak@consult.red>
In 0152592bd9 tr181-device is bumped to v0.30.2.
In this upstep, the config option CONFIG_SAH_AMX_TR181_DEVICE_RESET_HARD_ENABLE was removed from the plugin.
So let's align the tests accordingly and remove this config options, since it does not longer exists.
References: PPW-206
Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
Integrates following changes:
-PPW-662: tr181-firewall: config: Remove static rule that opens port 5353 on any interface (322ee1fe)
References: PPW-662
Signed-off-by: Ward Lindekens <ward.lindekens_ext@softathome.com>
PPW-847 adds a new default chain at index 1. This means these tests
should now use the chain at index 2.
Ideally we update these tests to be independant of the default
configuration.
References: PPW-847
Signed-off-by: Boris Vanhoof <boris.vanhoof@softathome.com>
This reverts commit 8cf7f49926 to restore
the tests for Guest bridge as this feature should be fixed.
References: PCF-1969
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
This reverts commit bd630d500c to restore
the tests for ethernet aliases as the feature was added back.
References: PCF-1964
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
PPW-771 is now fixed, so let's enable the mcast feature again.
This reverts commit b7699d132b.
References: PPW-771
Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
PCF-1839 was not properly reviewed before merging. So all related changes are removed.
This reverts commit 935387da12.
Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
The internal data model has changed
with the introduction of the new capabilities
feature.
This commit modifies the expected result
when checking obuspa test resulat.
References: PCF-2066
Signed-off-by: ahmed sassi <ahmed.sassi_ext@softathome.com>
Tests were previously using `ubus wait_for Device.WiFi` to check readiness
after restarting prplMesh. However, `Device.WiFi` belongs to pWHM, not
prplMesh, so this was not a reliable signal that the controller/agent had
finished initializing.
Changes:
- Replace `ubus wait_for Device.WiFi` with
`ubus -t 60 wait_for X_PRPLWARE-COM_WiFiController.Network.Device.1`
in all affected tests.
- Add the same wait step to wifi/wifi-scheduler.t, which previously had
no readiness check at all.
This ensures the tests only continue once the local agent is registered
in the controller’s Data Model, reducing races around the first
AccessPointCommit and stabilizing the setup sequence.
Modified tests:
- arcadyan-mozart/100-prplmesh.t
- mxl25641-hdk-6/110-prplmesh-dataelements.t
- prpl-haze/100-prplmesh.t
- turris-omnia/100-prplmesh.t
- urx851-b0-dk/110-prplmesh-dataelements.t
- wnc-freedom/110-prplmesh-dataelements.t
- wifi/wifi-scheduler.t (added readiness check)
Note:
- `Device.1` is assumed to be the local agent; this is sufficient for
single-agent setups. For multi-agent scenarios, a more robust readiness
check (e.g. DevicesNumberOfEntries + RadiosNumberOfEntries) should be
considered in a follow-up.
PPM-3523.
Signed-off-by: Dmytro Puz <d.puz@inango-systems.com>
Follow-up fix for PPW-454, where one netstat instance in the test was missed.
Problem: sometime netstat prints some error log
netstat: showing only processes with your user ID
Cause: This message can show up when netstat doesn't have correct
permissions
Solution: redirect stderr to stdout to filter out this message
Fixes: PPW-454
Signed-off-by: Maarten De Decker <maarten.dedecker@mind.be>
Remove CONFIG_KERNEL_DYNAMIC_DEBUG from build configuration. This
option is not intended for production builds.
Fixes: PCF-1966
Signed-off-by: Marvin Lu <marvin.lu@wnc.com.tw>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org> [test fix, rebase]
Problem:
- During the pwhm.t cram test, the wld process gets somtimes stuck when
enabling or disabling VAPs. This only happens when the direct socket is
used.
Cause:
- When the pwhm.t test starts, we suspend the beerocks processes using
SIGSTOP.
- When pwhm raises an event through the USP socket, it expects an
acknowledgement from prplmesh (the client). Since prplmesh is suspended
it never replies.
- This concerns ony the direct socket case, which is point-to-point.
With ubus, events are broadcasted, so no pear acknowledgement is
required.
- The issue became visible after unfiltering custom events in amxb_usp.
Solution:
Stop prplmesh properly before starting the script so that it cleanly
disconnects from the USP backend.
Fixes: PPW-735
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
Problem:
The script fails sometimes with the error :
bin/sh: 70: arithmetic expression: expecting primary: "60-" (no-eol)
Cause:
When '$(R date +%S)' is equal to zero, we unintentionally reset the
'current_sec' variable to an empty value because of 'sed 's/^0//'',
which was used to avoid octal interpretation.
Solution:
Calculate delay_sec differently so we don't depend on format an also
shell.
Closes: PPM-3507
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
The prplWare-Smoke-Test-Suite on OSPv2 (MXL25641-HDK-6) has been experiencing
test runtime increases of approximately 9.2%, causing the CDRouter test to
take 33 minutes 51 seconds, which exceeds the default 40-minute CI job
timeout threshold.
This provisional change extends the timeout from 40 to 45 minutes to prevent
CI failures while the root cause of the performance degradation is being
investigated.
The performance issue appears to be specific to the OSPv2 platform on the
latest-24.10 branch, which runs consistently slower than other platforms
(Freedom, Mozart) and has shown a recent increase beyond its historical
average of ~31 minutes.
This is a temporary workaround. The underlying performance regression still
needs to be identified and resolved.
References: PPW-908
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/11338822768
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
In commit c4d9ff966c ("profiles: prpl: feed_prplos: PPW-714 CPU
Utilization of various prpl processes goes high as various Wifi test
scenarios are run") the config options of gmap-server were changed due
to workaround of shutdown dependencies problems.
So lets acknowledge that change in the cram test expected output.
References: PPW-873
Fixes: c4d9ff966c ("profiles: prpl: feed_prplos: PPW-714 CPU Utilization of various prpl processes goes high as various Wifi test scenarios are run")
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Currently the prplMesh operational state test is failing after the
rebase onto OpenWrt 24.10:
$ R "/opt/prplmesh/scripts/prplmesh_utils.sh status" | LC_ALL=C sort
pgrep: pattern that searches for process name longer than 15 characters will result in zero matches
Try `pgrep -f' option to match against the complete command line.
So lets disable the test until the issue is fixed.
References: PPM-3436
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/10899353287#L231
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Looks like some extra whitespaces are introduced in iptables ouput.
Let's make the test more robust by using * to capture any number of whitespaces.
Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
Support for 24.10 based prplOS comes with UPDK 9.2.0/9.1.95 which brings
as well prpl Standard Flash Layout, so lets adapt the flashing
procedure using new bootloader and FIT image.
References: PCF-1832
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Update mxl_wlan_hostap_ng_wav700 profile for below changes:
* bump to version 7.2.200
* Removed unnecessary WiFi modules dependencies with new version
upgrade
* CONFIG_WAVE_700 is enabled to load WAV700 dts configuration to
support common image for PON and ETH WAN modes
* Enabled the Zero Wait Dynamic Frequency Selection (ZWDFS) feature
* Implemented the Neighbouring Diagnostics functionality
* Implemented the Wi-Fi QoSv2 Stream Classification Service (SCS)
Update OSPv2 profiles for below changes:
* bump to version updk_9.2.0
* U-Boot bump to 2022.01-MXL-v-4.0.360
* PON subsystem version bump to 2.1.3
* Added BSP support for the Small Form-factor Pluggable (SFP) Manager
* Revised the flash layout to align with prpl requirements.
* Added support for the Flattened Image Tree (FIT) image format
for the fullimage, kernel, rootfs, dtb, and u-boot.
* APIs for Airties integration (initial version) are enabled
* Linux kernel minor version upgrade from 5.15.180 to 5.15.185
* Enable map-t feature
* Changed xpcs to loadable module to support firmware download
* Enabled kmod-mcast-helper to address dependencies with MxL
acceleration module, will be necessary until integration to kmcd is
done.
* Removing fwupgrade feature since we are going to migrate to
prplSWUpdate
References: PCF-1832
Signed-off-by: Bhavesh Bharadiya <bnbharadiya@maxlinear.com>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org> [cram test updates]
We're currently seeing following flapping wlanX interface states:
--- .gitlab/tests/cram/wnc-freedom/010-network.t
+++ .gitlab/tests/cram/wnc-freedom/010-network.t.err
@@ -31,10 +31,10 @@
wan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue 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: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue master br-lan state DOWN mode DORMANT group default qlen 1000
+ wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noqueue master br-lan state DOWN mode DEFAULT group default qlen 1000
wlan1.1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop master br-lan state DOWN mode DEFAULT group default qlen 1000
wlan1.2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop master br-guest state DOWN mode DEFAULT group default qlen 1000
- wlan1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue master br-lan state DOWN mode DORMANT group default qlen 1000
+ wlan1: <BROADCAST,MULTICAST> mtu 1500 qdisc noqueue master br-lan 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: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue master br-lan state DOWN mode DORMANT group default qlen 1000
+ wlan2: <BROADCAST,MULTICAST> mtu 1500 qdisc noqueue master br-lan state DOWN mode DEFAULT group default qlen 1000
Those seems to be harmless, started appearing after the update to
OpenWrt 24.10, so lets fix it by acknowledging both current possible
wlanX interface link states.
Fixes: PCF-2040
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/11105442051#L145
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
There is a race condition somewhere in the system causing randomly
different lspci output in various test runs, like for example:
--- .gitlab/tests/cram/wnc-freedom/015-platform.t
+++ .gitlab/tests/cram/wnc-freedom/015-platform.t.err
@@ -8,7 +8,7 @@
0000:01:00.0 Unassigned class [ff00]: Qualcomm Technologies, Inc Device 0308
lspci: Unable to load libkmod resources: error -2
\tSubsystem: Qualcomm Technologies, Inc Device 5201 (esc)
- \tFlags: fast devsel, IRQ 35 (esc)
+ \tFlags: bus master, fast devsel, latency 0, IRQ 35 (esc)
\tMemory at 28300000 (64-bit, non-prefetchable) [size=4K] (esc)
\tMemory at 28301000 (64-bit, non-prefetchable) [size=4K] (esc)
Purpose of this test is to assure, that the modem is available on the
PCI bus and this Flag: check is not necessary for this purpose, simply
fix it by removing the check.
Fixes: PCF-2050
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/10930563907#L247
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
We’re seeing following random test failures:
--- .gitlab/tests/cram/generic/acceleration-plan-components/057-mqttbroker.t
+++ .gitlab/tests/cram/generic/acceleration-plan-components/057-mqttbroker.t.err
@@ -40,6 +40,7 @@
$ R "iptables -nvL | grep 1883 | grep -v '^Chain'"
0 0 ACCEPT 6 -- lo * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1883
$ R "iptables -nvL | grep 8883 | grep -v '^Chain'"
+ 722 78883 ACCEPT 0 -- lo * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT 6 -- br-lan * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8883
which seems to be caused by a wrong grep pattern for generic number
8883, so lets fix it by adding dpt: prefix to the grep pattern to filter
out proper iptables rules.
Fixes: PPW-883
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/11266235778#L109
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Problem: Certain plugins attempt to communicate with dependencies that have already been stopped
Cause: Improperly configured shutdown order.
Solution: Ensure plugins shut down in the reverse order of their startup, following the rule: Shutdown Order = 100 - Start Order, to maintain dependency availability during shutdown.
References: PPW-873
Signed-off-by: ahmed sassi <ahmed.sassi_ext@softathome.com>
Add support for Quectel RM520N on IPQ9574 using MHI over PCIe, enabling
MHI functionality for the Freedom board through device tree updates and
GPIO configurations. Resolved Wi-Fi 6GHz issues by adding support for 16
MSI interrupts in DTS and enhancing the `ath12k` driver for dynamic MSI
allocation. Ported the MHI netdev driver to support RMNET functionality,
including packet handling, rate control, and extended IOCTLs. Integrated
Linux 6.1 compatibility for the MHI netdev driver and enabled RMNET
control channels in the MHI host.
References: PCF-1845
Signed-off-by: Tim Hsu <tim.hsu@wnc.com.tw>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org> [cram test fix]
This reverts commit 2eb035dbfa to restore
the tests for modem presence/configuration as modem support was added back.
References: PCF-1845
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
cram: update firewall tests for new iptables version
Problem: update firewall tests for new iptables version
Cause: The output of some iptables commands changed with the newer version. Because of this, cram need to be adapted
Solution: update firewall tests for new iptables version
References: PPW-806
Signed-off-by: Racha HAMHOUM <racha.hamhoum_ext@softathome.com>
Problem:
The wifi-scheduler.t script is sometimes failing with the error :
$ delay_sec=$((60-$current_sec))
+ /bin/sh: 70: arithmetic expression: expecting EOF: "60-09" (no-eol)
Cause:
This issue happens when current_sec value is between 7 and 10
In shells like posix sh (but not bash), numbers with leading zeros are
treated as octal. Since for example 09 is not valid in octal, this
results in an error.
Solution:
Remove leading zero from current_sec to avoid this kind of wrong
interpretation.
Reference: PPM-2543
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
Since the support for the Mozart board is not ready yet in OpenWrt 24.10
based prplOS yet, we need to disable Filogic platform in the CI testing
until this is resolved.
References: PCF-1970
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/10902336741
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Currently the prplMesh operational state test is failing after the
rebase onto OpenWrt 24.10:
$ R "/opt/prplmesh/scripts/prplmesh_utils.sh status" | LC_ALL=C sort
pgrep: pattern that searches for process name longer than 15 characters will result in zero matches
Try `pgrep -f' option to match against the complete command line.
So lets disable the test until the issue is fixed.
References: PPM-3436
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/10899353287#L231
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
A lot of changes happend during ATH13.0 BSP upstep and rebase to OpenWrt
24.10 based prplOS.
Since we're aiming for a green CI, lets acknowledge current network
interface link output as expected.
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Currently the 020-bridging-guest.t test is failing after the update to
ATH13.0 BSP. We need to keep CI green, so lets remove the failing test
until this is fixed.
References: PCF-1969
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/10899353287#L115
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Currently qca-nss-dscpstats fails to build:
CC [M] /builds/prpl-foundation/prplos/prplos/build_dir/target-aarch64_cortex-a73+neon-vfpv4_musl/linux-ipq95xx_generic/qca-nss-dscpstats-35f8409213188c5f2d820740b4b74eddf8c7a379/nss_dscpstats.o
In file included from /builds/prpl-foundation/prplos/prplos/build_dir/target-aarch64_cortex-a73+neon-vfpv4_musl/linux-ipq95xx_generic/qca-nss-dscpstats-35f8409213188c5f2d820740b4b74eddf8c7a379/nss_dscpstats.c:21:
/builds/prpl-foundation/prplos/prplos/build_dir/target-aarch64_cortex-a73+neon-vfpv4_musl/linux-ipq95xx_generic/qca-nss-dscpstats-35f8409213188c5f2d820740b4b74eddf8c7a379/nss_dscpstats.h:35:6: error: "nss_dscpstats_DEBUG_LEVEL" is not defined, evaluates to 0 [-Werror=undef]
35 | #if (nss_dscpstats_DEBUG_LEVEL < 2)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
as the code depends on having DYNAMIC_DEBUG=y enabled and fails to build
without it. So lets enable this kernel config option until the
underlying issue is fixed.
References: PCF-1966
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/10895303289#L8677
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
A lot of changes happend during ATH13.0 BSP upstep and rebase to OpenWrt
24.10 based prplOS.
Since we're aiming for a green CI, lets acknowledge current build config
as expected.
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Device tree ethernet interface aliases support is missing in ATH13.0
BSP, so lets disable the test until its fixed.
References: PCF-1964
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Currently the underlying BSP ATH13.0 doesn't support Quectel RM520N-GL
modem out of the box, so lets remove the failing test case until its
fixed.
References: PCF-1845
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Currently prplMesh fails to build with ATH13.0 on Freedom as it depends
on hostapd package names available only in ATH12.4. So lets fix it by
using proper package names from ATH13.0 to fix the prplMesh dependencies.
References: PCF-1922, PCF-1798
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Some openssl related packages changed names in ath13.0 and openwrt.
For this reason we need to adapt the expected test output.
Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
Problem: sometime netstat print some error log
netstat: showing only processes with your user ID
Cause: This message can show up when netstat doesn't have correct
permissions
Solution: redirect stderr to stdout to filter out this message
Fixes: PPW-454
Signed-off-by: Théo-Paul Bodin <theo-paul.bodin@softathome.com>
(cherry picked from commit 76317598821bdaa00de7418085be0119a4f86a91)
Problem:
The CDRouter test is complaining about missing 11be phy mode and
GCMP-256 cypher mode.
Cause:
After the integration of PPW-660 the following rule is applied :
If MLO is not supported or no MLDUnit is defined, EHT (ie 11be) can't
be enabled even if Radio is 11be capable.
This prevents broadcasting the EHT IE in the beacons and remove the
WiFI7 related RSN algos lie GCMP256.
Solution:
Remove 11be and GCMP-256 form the expected results.
References: PPW-660
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
(cherry picked from commit 5c523f8da486e14d31ee50ce7bc6f3ee867d7d24)
Currently we're seeing following build failure in target/linux build
step:
sysupgrade-prpl_freedom/kernel
sysupgrade-prpl_freedom/root
Usage: mkits.sh -A arch -C comp -a addr -e entry -v version -k kernel [-D name -n address -d dtb] -o its_file
-A ==> set architecture to 'arch'
-C ==> set compression type 'comp'
...snip...
make[5]: *** [Makefile:46: /builds/prpl-foundation/prplos/prplos/build_dir/target-aarch64_cortex-a73+neon-vfpv4_musl/linux-ipq95xx_generic/qcom_alxx-fit-uImage.itb] Error 1
make[4]: *** [Makefile:78: install] Error 2
make[3]: *** [Makefile:12: install] Error 2
time: target/linux/install#101.36#27.43#78.72
Without the complete command line of mkits.sh step it might be quite
tedious to find out the culprit, so lets try to provide more details by
running the target/install step again with verbose output.
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
tr181-captiveportal test is not passing currently, until its fixed,
we're disabling the failing part of the test.
References: PCF-1943
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
This commit aims to :
- Enable direct USP connection between the prplMesh agent and WHM
- Add wifi-usp.t cram test
Closes: PPM-2579
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
The new wifi-scheduler (wifi/wifi-scheduler.t) cram test takes
approximately 04m05s to run.
Adjust the global test timeout accordingly.
References: PPM-2543,PPM-2826
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
Some recently added scripts test wifi services (e.g. wifi-sensing)
before testing the main wifi component: pwhm.
Other scripts rely on prplmesh to perform tests, such as in the
wifi-scheduler.
To have a clean testing flow from bottom to top, reorganize
the wifi script tree and priorities so that plugins are tested before
services.
References: PPM-2543
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
During CDRouter tests, prplMesh is currently running in Agent mode (default).
This means cwmpd is unable to resolve the "Device.WiFi.DataElements." tree, because it is specific to the prplMesh controller.
Therefore, start prplMesh in controller mode before these tests are executed, so the "Device.WiFi.DataElements." datamodel is available.
Closes: PPM-3382
Signed-off-by: Maarten De Decker <maarten.dedecker@mind.be>
Problem: CRAM tests are failing because the new parameter Device.DHCPv6.Client.{i}.X_PRPLWARE-COM_DHCPv6Status is not recognized.
Solution: Update the CRAM test definitions to include the new DHCPv6Status parameter.
References: PCF-1839
Signed-off-by: Sarra Kacem <sarra.kacem_ext@softathome.com>
Ater integration of 434b8b347ee8a1b4a4f1ec59d1d727d33c842061 the ending dot in
SoftwareModules.DeploymentUnit.*.ExecutionUnitList was removed.
So let's adapt the test accordingly.
References: LCM-799
Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
Currently the network interface tests are randomly failing as wwan0
interface becomes initialized (or changes state) at different point of
times.
So lets fix it by filtering out wwan0 interface from the list of the
network interfaces, we're going to have a complete E2E test for Cellular
feature which will cover this completely.
References: PCF-1708
Signed-off-by: Toon Caeyers <toon.caeyers_ext@softathome.com>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org> [removed wwan0]