Commit Graph

1174 Commits

Author SHA1 Message Date
Oguzhan Kara
5035ca334e ci: cram: [powermanagement] add cram test for ethernet powermanagement
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)
2026-03-09 16:54:37 +01:00
Hela Saadani
1406a3bde8 ci: cram: 005-build-config: add gmap-mod-dnssd and gmap-mod-upnp
References: PCF-2174

Signed-off-by: Hela Saadani <hela.saadani_ext@softathome.com>
2026-03-09 16:12:54 +01:00
Petr Štetiar
3c2ef152fe
PROVISORY: ci: wnc-freedom: make 110-prplmesh-dataelements.t pass with 2.4GHz 20MHz workaround
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>
2026-03-07 04:50:00 +01:00
Petr Štetiar
a0773fdc32
PROVISORY: ci: cram: freedom: disable 5G modem tests
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>
2026-03-06 16:20:08 +01:00
Houssem Dafdouf
9431c7e926
ci: cram: freedom: align pwhm-get-eht-caps.t with ath13.1 updates
Update pwhm-get-eht-caps.t script with latest ath13.1 changes.

Reference: PCF-2042
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
2026-03-06 16:20:07 +01:00
Petr Štetiar
a22ecc6f57
PROVISORY: build: Freedom: workaround build issue of mac80211 in ATH13.1ED
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>
2026-03-06 16:19:48 +01:00
Marvin Lu
5f2af697f7
profiles: qca_ipq95xx: update QCA BSP to ATH13.1ED
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]
2026-03-06 16:19:42 +01:00
Hela Saadani
5c59dda48c ci: cram: obuspa: Aligne Device.IP.Diagnostics. to tr-181 2.19.1
References: PCF-2227

Signed-off-by: Hela Saadani <hela.saadani_ext@softathome.com>
2026-03-06 15:31:11 +01:00
Igor Plesser
ac7f3b6b87 cram: add traffic separation object to ubus-datamodel-list.t
Closes: PPM-3589
Signed-off-by: Igor Plesser <i.plesser@inango-systems.com>
2026-03-06 15:31:11 +01:00
Igor Plesser
8ea6f29af2 cram: set vap type per configurated vap
Closes: PPM-3589
Signed-off-by: Igor Plesser <i.plesser@inango-systems.com>
2026-03-06 15:31:11 +01:00
Igor Plesser
3b91d691da PROVISORY: cram: move 102-pwhm-usp.t after 103-apmld.t
- move 102-pwhm-usp.t after 103-apmld.t for avoid interference.

Closes: PPM-3589
Signed-off-by: Igor Plesser <i.plesser@inango-systems.com>
2026-03-06 15:31:11 +01:00
Andrey Erokhin
8ff1fd3213 cram: split process-manager test into full and smoke suites
Split WiFi process-manager cram coverage into:
- process-manager-full.t (existing full scenario)
- process-manager-smoke.t (short health/enable-disable checks)

Update mxl25641-hdk-6 and wnc-freedom board links to run smoke by default.

Signed-off-by: Andrey Erokhin <a.erokhin@inango-systems.com>
Signed-off-by: Igor Plesser <i.plesser@inango-systems.com>
2026-03-06 15:31:11 +01:00
Igor Plesser
5e4a4747d3 cram: add board links for process-manager test
Add process-manager cram test links for:
- mxl25641-hdk-6
- wnc-freedom

This enables board-level execution of the shared WiFi process-manager test.

Closes: PPM-3589
Signed-off-by: Igor Plesser <i.plesser@inango-systems.com>
2026-03-06 15:31:11 +01:00
Igor Plesser
a190b2159a scripts: prplmesh: bump easymesh certification test revision
Update easymesh_cert_version to 5810a7d6aa7196b031217ca25e820a753e7e5295.

Closes: PPM-3589
Signed-off-by: Igor Plesser <i.plesser@inango-systems.com>
2026-03-06 15:31:11 +01:00
Igor Plesser
1608a287f9 cram: prplmesh: migrate test control flow to ProcessManager DM
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>
2026-03-06 15:31:11 +01:00
Igor Plesser
1ab5b44804 cram: prplmesh: switch operational checks from prplmesh_utils to prplmesh_cli
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>
2026-03-06 15:29:38 +01:00
Petr Štetiar
97163e840b Revert "PROVISORY: ci: cram: OSPv2: unset MLDUnit on all interfaces"
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>
2026-03-06 12:32:26 +00:00
FAOUZI YAHYA
25295d2b80 ci: cram: ubus-datamodel-list: add and delete datamodels
Integrates following changes:
-delete Unbound
-add Unbound-br-lan
-add Unbound-lo

References: PPW-1174

Signed-off-by: FAOUZI YAHYA <faouzi.yahya_ext@softathome.com>
2026-03-05 14:40:21 +01:00
Anatolii Rybchych
bcf407dc5e ci: cram: ubus-datamodel-list.t: Datamodel alignment with BBF 2.19.1
* Device.Firewall. - removed vendor prefix for Firewall.Log.

Implements: PCF-2159, PCF-2221
References: FEAT-32
Signed-off-by: Anatolii Rybchych <anatolii.rybchych@globallogic.com>
2026-03-05 11:26:32 +01:00
Anatolii Rybchych
3fb0c7ad69 ci: cram: obuspa.t: Datamodel alignment with BBF 2.19.1
* Device.Boot! - Added Cause, FirmwareUpdated, Reason parameters
* Device.Firewall. - removed vendor prefix for Log., renamed LogController to LogRef
* Device.UserInterface.HTTPAccess.{i}.CreateWebSession() - unpotected, and renamed some parameters
* Device.SSH.Server.{i}.{vendor_prefix}Stats - Rename to Device.SSH.Server.{i}.Stats
* Device.SSH.Server.{i}.{vendor_prefix}GroupRestriction - rename to Device.SSH.Server.{i}.UserGroupAccess
* Device.Syslog.Action.{i}.LogRemote.{vendor_prefix}Status - rename to Device.Syslog.Action.{i}.LogRemote.Status
* Device.Syslog.Source.{i}.Network.{vendor_prefix}PeerVerify - rename to Device.Syslog.Source.{i}.Network.PeerVerify
* Device.Syslog.Source.{i}.Network.{vendor_prefix}Certificate - rename to Device.Syslog.Source.{i}.Network.Certificate
* Device.Time.Client.{i}.IPVersion - made object public
* Device.Time.update_status() - made object protected
* Device.UserInterface.HTTPAccessSupportedTLSOptions - added vendor prefix

Implements: PCF-2159, PCF-2221
References: FEAT-32
Signed-off-by: Anatolii Rybchych <anatolii.rybchych@globallogic.com>
2026-03-05 11:26:32 +01:00
Mouna ALOUI
8fdac6bcad ci:coverity: use prplbot instead of admin credentials
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>
2026-03-05 08:40:23 +00:00
Nabil BIZID
273eafe1dc ci: cram: update architecture name to match available containers
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>
2026-03-03 14:51:29 +00:00
Robin NELISSEN
d360d87f35 ci: cram: clean up at the end
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>
2026-03-03 14:51:29 +00:00
Nabil BIZID
47780a3ab3 ci: cram: stop cthulhu via the main process
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>
2026-03-03 14:51:29 +00:00
Nabil BIZID
4fdadb8e61 ci: cram: make test more flexible
Update tests to be more flexible and accept actions in different
order.

References: PCF-2143
Signed-off-by: Nabil BIZID <nabil.bizid@softathome.com>
2026-03-03 14:51:29 +00:00
Robin NELISSEN
5029ced30b ci: cram: fix cthulhu<>rlyeh sync
References: PCF-2143
Signed-off-by: Robin Nelissen <robin.nelissen@softathome.com>
2026-03-03 14:51:29 +00:00
Nabil BIZID
07879a1eda ci: cram: add extra wait in simulated reboot
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>
2026-03-03 14:51:29 +00:00
Nabil BIZID
916c4590ff ci: cram: adapt tests with introduction of new components
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>
2026-03-03 14:51:29 +00:00
Robin NELISSEN
68cc6ede00 ci: cram: add lpm test
Signed-off-by: Robin NELISSEN <robin.nelissen@softathome.com>
2026-03-03 14:51:29 +00:00
Nabil BIZID
0584c1c5ac ci: cram: update dm and config after adding new cthulhu plugins
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>
2026-03-03 14:51:29 +00:00
Houssem Dafdouf
2c59251c30 Revert "PROVISORY: ci: cdrouter: disable regulatory domain change and use channel 11 as workaround"
Restore CDRouter testebed 2 to its previous regulatory domain (CZ).

This reverts commit 3a88ab1705.

References: PPW-303

Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
2026-03-03 12:14:45 +00:00
Houssem Dafdouf
4134f05975 ci: cdrouter: fix regulatry domain setting
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>
2026-03-03 12:14:45 +00:00
Bhavesh Bharadiya
b328ed9094 ci: cram: OSPv2: add test to check altname for wan interface "eth1"
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>
2026-02-27 14:01:46 +00:00
Bhavesh Bharadiya
26d059ab11 profiles: mxl_x86_osp_tb341_v2: update BSP to UPDK 9.2.4 release
Update mxl_wlan_hostap_ng_wav700 profile for below changes:

 * Hostap up-step to hash # 95ad71157e3095c52d5212855ca232832b1b5085
 * RSN override support in MLO mode

Update OSPv2 profiles for below changes:

 * Bump to UPDK 9.2.4
 * Removed ob-udpst feed from MxL repository

Fixes: PCF-2228, PCF-2233, PCF-2236, PCF-2299, PCF-2381
Signed-off-by: Bhavesh Bharadiya <bnbharadiya@maxlinear.com>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org> [cram updates]
2026-02-27 14:01:46 +00:00
Petr Štetiar
a7d4005d03 profiles: prpl_core: enable memory analysis kernel config options
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>
2026-02-27 13:55:45 +00:00
Houssem Dafdouf
8762a89f14 ci: cram: update wifi-apmld.t and wifi-bstamld.t
- 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>
2026-02-26 15:38:41 +01:00
Houssem Dafdouf
118eb10132 profiles: pwhm: mld: fix missing mlo capabilities and initializing MLO config
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>
2026-02-26 15:37:31 +01:00
Houssem Dafdouf
831e5f1b0d PROVISORY: ci: cram: OSPv2: add WPA3-Personal compatibility to the available security modes for 6GHz VAPs
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>
2026-02-26 14:20:37 +00:00
Iacob Juc
fbc039df76 ci: cram: test WPA-Personal-Compatibility interaction with prplMesh
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>
2026-02-26 14:20:37 +00:00
Volodymyr Martysh
9d50b74659 ci: cram: Add CRAM test for prplMesh Process Manager application
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>
2026-02-26 14:55:11 +01:00
Houssem Dafdouf
1ac5b876ab ci: cram: OSPv2: prplmesh-static-puncturing.t: fix wrong AccessPoint index
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>
2026-02-25 16:16:30 +01:00
Sathishkumar Selvam
e0617c0be2 ci: cram: 005-build-config.t: add CONFIG START and STOP ORDER for plugins which got replaced their static start/stop init order
Integrates:
    - add CONFIG_SAH_AMX_TR181_DHCPV4CLIENT_START_ORDER and CONFIG_SAH_AMX_TR181_DHCPV4CLIENT_STOP_ORDER
    - add CONFIG_SAH_AMX_TR181_DHCPV6CLIENT_START_ORDER and CONFIG_SAH_AMX_TR181_DHCPV6CLIENT_STOP_ORDER
    - add  CONFIG_SAH_AMX_TR181_DHCPV6S_START_ORDER and  CONFIG_SAH_AMX_TR181_DHCPV6S_STOP_ORDER
    - replace CONFIG_SAH_AMX_TR181_MCASTD_CORE_PLUGIN_ORDER with CONFIG_SAH_AMX_TR181_MCASTD_CORE_PLUGIN_START_ORDER and CONFIG_SAH_AMX_TR181_MCASTD_CORE_PLUGIN_STOP_ORDERa
    - add CONFIG_SAH_AMX_TR181_PPP, CONFIG_SAH_AMX_TR181_PPP_START_ORDER and CONFIG_SAH_AMX_TR181_PPP_STOP_ORDER
    - add CONFIG_SAH_SERVICES_AMX-HOSTS-MANAGER_START_ORDER and CONFIG_SAH_SERVICES_AMX-HOSTS-MANAGER_STOP_ORDER
    - add CONFIG_SAH_SERVICES_AMX-TR181ROUTERADVERTISEMENT_START_ORDER and CONFIG_SAH_SERVICES_AMX-TR181ROUTERADVERTISEMENT_STOP_ORDER

References: FEAT-67, PPW-1066, PPW-1067, PPW-1068
Signed-off-by: Sathishkumar Selvam <sathishkumar.selvam@capgemini.com>
2026-02-24 09:57:31 +01:00
FAOUZI YAHYA
1a7d28db4f ci: cram: 005-build-config.t: add CONFIG_SAH_AMX_TR181_CAPTIVEPORTAL_START_ORDER and CONFIG_SAH_AMX_TR181_CAPTIVEPORTAL_STOP_ORDER
Integrates:
-add CONFIG_SAH_AMX_TR181_CAPTIVEPORTAL_START_ORDER and CONFIG_SAH_AMX_TR181_CAPTIVEPORTAL_STOP_ORDER

References: FEAT-67, PPW-1066, PPW-1067, PPW-1068
Signed-off-by: FAOUZI YAHYA <faouzi.yahya_ext@softathome.com>
2026-02-24 09:57:31 +01:00
Hari Sriram
5b3fd09bf2 ci: cram: update 006_set_attributes.t for failures
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>
2026-02-23 14:57:04 +01:00
Blessy Sara John
ee70172d4a Optimized the cram test for the new configurable parameter called CustomArguments (WiFi.DaemonMgt.Daemon.{}.ExecutionSettings.CustomArguments) is being introduced to allow defining a higher logging level and redirecting logs to syslog for the daemons (hostapd, wpa_supplicant) that are started by PWHM. The new log files will store the logs from these daemons as follows: hostapd logs will be available at: /var/log/hostapd wpa_supplicant logs will be available at: /var/log/wpa_supplicant Cram tests are updated to check whether these daemons restart on setting the custom argumnets DM
References: PPM-3522

Signed-off-by: Blessy Sara John <blessysara.j@tataelxsi.co.in>
2026-02-23 14:31:12 +01:00
Blessy Sara John
a31bf7f980 A new configurable parameter called CustomArguments (WiFi.DaemonMgt.Daemon.{}.ExecutionSettings.CustomArguments) is being introduced to allow defining a higher logging level and redirecting logs to syslog for the daemons (hostapd, wpa_supplicant) that are started by PWHM. The new log files will store the logs from these daemons as follows: hostapd logs will be available at: /var/log/hostapd wpa_supplicant logs will be available at: /var/log/wpa_supplicant Cram tests are updated to check whether these daemons restart on setting the custom argumnets DM
References: PPM-3522

Signed-off-by: Blessy Sara John <blessysara.j@tataelxsi.co.in>
2026-02-23 14:07:53 +01:00
Sajith Joseph
afa518aa4c A new configurable parameter called CustomArguments (WiFi.DaemonMgt.Daemon.{}.ExecutionSettings.CustomArguments) is being introduced to allow defining a higher logging level and redirecting logs to syslog for the daemons (hostapd, wpa_supplicant) that are started by PWHM. The new log files will store the logs from these daemons as follows: hostapd logs will be available at: /var/log/hostapd wpa_supplicant logs will be available at: /var/log/wpa_supplicant
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>
2026-02-23 14:06:50 +01:00
Ruslana Popovych
b31b45a81a provisory: ci: cram: dhcpv6client: removed test with testing unique interface for DHCPv6Client
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>
2026-02-20 15:10:40 +01:00
Anatolii Rybchych
f1e5bd8832 ci: cram: ubus.t: DHCPv4.Server datamodel alignment with BBF 2.19.1
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>
2026-02-20 14:46:13 +01:00
AnatoliiRybchych
4795ffa5fb ci: cram: obuspa.t: DHCP datamodel alignment with BBF 2.19.1
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>
2026-02-20 14:46:13 +01:00
Anatolii Rybchych
196bde33d7 ci: cram: test tr181-dhcv6s alignment to tr181 2.19.1
Paths under test:
* DHCPv6.Server.Pool.{i}.DSCPMark

Implements: PCF-2119
References: FEAT-32
Signed-off-by: Anatolii Rybchych <anatolii.rybchych@globallogic.com>
2026-02-20 14:46:13 +01:00
Anatolii Rybchych
50ce9c128e ci: cram: test tr181-dhcpv6client alignment to tr181 2.19.1
Paths under test:
* DHCPv6.Client.{i}.Alias
* DHCPv6.Client.{i}.DSCPMark
* DHCPv6.Client.{i}.Interface

Implements: PCF-2118
References: FEAT-32
Signed-off-by: Anatolii Rybchych <anatolii.rybchych@globallogic.com>
2026-02-20 14:46:13 +01:00
Anatolii Rybchych
7d33e03403 ci: cram: test tr181-dhcpv4client alignment to tr181 2.19.1
Paths under test:
* DHCPv4.Client.{i}.Alias
* DHCPv4.Client.{i}.DSCPMark
* DHCPv4.Client.{i}.Interface
* DHCPv4.Client.{i}.ReqOption
* DHCPv4.Client.{i}.SentOption
* DHCPv4.Client.{i}.Stats.

Implements: PCF-2072
References: FEAT-32
Signed-off-by: Anatolii Rybchych <anatolii.rybchych@globallogic.com>
2026-02-20 14:46:13 +01:00
Anatolii Rybchych
4c64d20c7e ci: cram: test tr181-bridging alignment to tr181 2.19.1
Paths under test:
* Bridging.Bridge.{i}.AgingTime
* Bridging.Bridge.{i}.Port.{i}.LowerLayers
* Bridging.Bridge.{i}.Port.{i}.PriorityRegeneration
* Bridging.Bridge.{i}.STP.BridgePriority
* Bridging.Bridge.{i}.VLAN.{i}.VLANID

Implements: PCF-2071
References: FEAT-32
Signed-off-by: Anatolii Rybchych <anatolii.rybchych@globallogic.com>
2026-02-20 14:46:13 +01:00
AnatoliiRybchych
ee50c87dcf ci: cram: test tr181-dhcpv4 alignment to tr181 2.19.1
Paths under test:
* DHCPv4.Server.Pool.{i}.WINSServers

Implements: PCF-2070
References: FEAT-32
Signed-off-by: Anatolii Rybchych <anatolii.rybchych@globallogic.com>
2026-02-20 14:46:13 +01:00
prplbot
ddb99ccbc7 profiles: prpl_core.yml: feed_prplmesh: Remove separate config for procd
Integrates following changes:
- procd: Remove separate config for procd (44fd5e31)
- ci: baf: update autogenerated files (1d657646)
- procd: Remove separate config for procd (f883c20c)
- ci: baf: update autogenerated files (869c3cf7)

References: PPW-1066
Signed-off-by: prplbot <bot@prplfoundation.org>
2026-02-20 11:43:28 +01:00
prplbot
597e74c5d6 profiles: prpl_core.yml: feed_prplos: procd: restore original scripts to be used in non-procd environments
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>
2026-02-20 11:43:25 +01:00
FAOUZI YAHYA
ed9918a090 ci: cram: 005-build-config.t: add CONFIG_SAH_DYNAMIC_DNS_START_ORDER and CONFIG_SAH_DYNAMIC_DNS_STOP_ORDER
Integrates following changes:
add CONFIG_SAH_DYNAMIC_DNS_START_ORDER and CONFIG_SAH_DYNAMIC_DNS_STOP_ORDER

References: PPW-1066, PPW-1068
Signed-off-by: FAOUZI YAHYA <faouzi.yahya_ext@softathome.com>
2026-02-20 11:21:04 +01:00
FAOUZI YAHYA
cd3dad5db9 ci: cram: 005-build-config.t: add CONFIG_SAH_AMX_TR181_SYSLOG_START_ORDER and CONFIG_SAH_AMX_TR181_SYSLOG_STOP_ORDER
Integrates following changes:
-add CONFIG_SAH_AMX_TR181_SYSLOG_START_ORDER and CONFIG_SAH_AMX_TR181_SYSLOG_STOP_ORDER

References: PPW-1066, PPW-1068
Signed-off-by: FAOUZI YAHYA <faouzi.yahya_ext@softathome.com>
2026-02-20 11:21:04 +01:00
Sathishkumar Selvam
1dea88e8fb ci: cram: update testcase 010-procd-spawned-process.t (PCF-2139)
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>
2026-02-20 07:46:01 +00:00
Sathishkumar Selvam
f80c75b446 ci: cram: update 110-data-model-mapper.t, ubus-datamodel-list.t testcases (PCF-2139)
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>
2026-02-20 07:46:01 +00:00
Sathishkumar Selvam
ed4d37b1e6 profiles: prpl_core, lcm: finish procd init script integration for remaining components
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>
2026-02-20 07:46:01 +00:00
Houssem Dafdouf
8f3423b8ba ci: cram: warm apply: pwhm.t: apmld.t: update test cases (C2/C3)
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>
2026-02-20 07:33:46 +00:00
Théo-Paul Bodin
1e84bb5c50 PROVISORY: ci: cram: periodicfile upload
Install servefile from pip as a workaround until PPW-1258 is fixed

Signed-off-by: Théo-Paul Bodin <theo-paul.bodin@softathome.com>
2026-02-19 15:11:44 +01:00
Théo-Paul Bodin
efacdd45b0 ci: cram: new test development for tr181-security
Add tests for CABundle

references: PCF-1940

Signed-off-by: Théo-Paul Bodin <theo-paul.bodin@softathome.com>
2026-02-19 15:11:44 +01:00
Toon Caeyers
a5b9cca7e3 ci: cram: new test development for tr181-periodicfileupload
References: PCF-1940

Signed-off-by: Théo-Paul Bodin <theo-paul.bodin@softathome.com>
Signed-off-by: Toon Caeyers <toon.caeyers_ext@softathome.com>
2026-02-19 15:11:44 +01:00
Houssem Dafdouf
8159c85df4 PROVISORY: ci: cram: OSPv2: unset MLDUnit on all interfaces
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>
2026-02-19 11:34:51 +00:00
Houssem Dafdouf
205f8d706e ci: testbed: increase test runtime from 53min to 58min
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>
2026-02-18 21:49:40 +01:00
Iacob Juc
ad867c9140 ci: cram: add test for prplMesh static puncturing
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>
2026-02-18 21:49:40 +01:00
Houssem Dafdouf
1b2e17d566 ci: cram: wifi: update helpers
- 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>
2026-02-18 21:39:32 +01:00
Houssem Dafdouf
6675fe53a7 ci: cram: freedom: 101-mlot.t: restore backhaul interfaces MLDunit
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>
2026-02-18 21:39:32 +01:00
Petr Štetiar
4ea6bbd721 ci: wnc-freedom: keep 106-pwhm-get-eht-caps.t under cram 8KiB limit
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>
2026-02-18 21:38:42 +01:00
Houssem Dafdouf
e60ba0ee10 ci: cram: update 'RadioReference' paths
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>
2026-02-18 21:11:05 +01:00
Girdhari Yadav
67160d8cbb ci: 070-time.t: increase testing coverage of timezones
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>
2026-02-17 18:10:59 +01:00
prplbot
be5f892c3e ci: cram: 005-build-config.t : add new parameter
References: PPW-1066, PPW-1068, PPW-1067, FEAT-67
Signed-off-by: ahmed sassi <ahmed.sassi_ext@softathome.com>
2026-02-16 18:27:17 +01:00
Nabil BIZID
c070e33712 ci: cram: update dustatechange to match Lua AMX timestamp
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>
2026-02-16 11:38:07 +01:00
Jef Steelant
2853ab4a13 ci: cram: update 039-lcm_dustatechange.t
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>
2026-02-16 11:38:01 +01:00
Jef Steelant
516c9e96ad ci: add 039-lcm_dustatechange.t
Add a test for the Device.SoftwareModules,DUStateChange! event

References: PCF-2121
Signed-off-by: Jef Steelant <jef.steelant_ext@softathome.com>
2026-02-16 09:36:34 +00:00
Nabil BIZID
d4c14f1ec5 cram: test: include USP role removal scenario
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>
2026-02-13 14:35:54 +01:00
Petr Štetiar
7198bfc91a
ci: testbed: increase test runtime from 48min to 53min
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>
2026-02-13 07:44:55 +00:00
Houssem Dafdouf
257ee69bb7 ci: cram: add test for bSTAMLD feature
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>
2026-02-09 15:20:25 +00:00
Iacob Juc
e4bad077fe ci: cram: freedom: pwhm: test GetEHTOperations APIs
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>
2026-02-09 16:13:59 +01:00
Houssem Dafdouf
0254e003b1 ci: cram: freedom: split script 101-mlo.t
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>
2026-02-09 16:04:33 +01:00
Houssem Dafdouf
0dca07a46e ci: cram: add cram test for pwhm native APMLD feature
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>
2026-02-09 16:04:33 +01:00
Nabil BIZID
61af18f6dd ci: cram: add lcm-syslog unpriv tests
Add unprivileged container tests for LCM syslog

References: PCF-2122
Signed-off-by: Nabil BIZID <nabil.bizid@softathome.com>
2026-02-06 18:22:28 +01:00
Nabil BIZID
b60f186712 ci: cram: add cleanup lcm syslog tests
Add syslog lcm tests clean

References: PCF-2122
Signed-off-by: Nabil BIZID <nabil.bizid@softathome.com>
2026-02-06 18:22:28 +01:00
Nabil BIZID
ed3cccc049 ci: cram: adapt tests with introduction of LCM syslog
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>
2026-02-06 18:22:28 +01:00
Jef Steelant
cf253a0a06 ci: cram: add test 038-lcm-syslog.t
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>
2026-02-06 18:22:28 +01:00
FAOUZI YAHYA
22a7748057 ci: cram: obuspa.t: add Device.UPnP.Discovery.
Integrates following changes:
-add Device.UPnP.Discovery.

References: PPW-1042
Signed-off-by: FAOUZI YAHYA <faouzi.yahya_ext@softathome.com>
2026-02-06 16:05:51 +01:00
FAOUZI YAHYA
9512863824 ci: cram: obuspa: add Device.UPnPDiscovery
Integrates following changes:
-add Device.UPnP.Discovery
-update Device.UPnP

References: PPW-1042
Signed-off-by: FAOUZI YAHYA <faouzi.yahya_ext@softathome.com>
Signed-off-by: Girdhari Yadav <girdhari.yadav_ext@softathome.com>
2026-02-06 16:05:51 +01:00
Dmytro Puz
2ecc9795c2 ci: obuspa: add PeerMultiAPProfile
References: PPM-3434
Signed-off-by: Dmytro Puz <d.puz@inango-systems.com>
Signed-off-by: Hela Saadani <hela.saadani_ext@softathome.com>
2026-02-06 14:56:01 +01:00
Houssem Dafdouf
60599a7dd1 PROVISORY: ci: cram: OSPv2: disable 103-pwhm-static-puncturing.t
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>
2026-02-04 16:45:36 +01:00
Girdhari Yadav
f8fee02c87 ci: 100-captiveportal.t: fix intermittent failure by checking State instead of Status
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>
2026-02-04 09:05:56 +00:00
Iacob Juc
8530b611ee PROVISORY: ci: cram: ppm-3660 fix Security.ModesAvailabe
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>
2026-02-03 13:32:35 +00:00
Iacob Juc
b743b77f48 ci: cram: add test for WPA3-Compatibility Mode
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
2026-02-03 13:32:35 +00:00
Igor Plesser
50317c7c4d tests: cram: adopt cram tests for BH VAPs with MLO enabled
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>
2026-02-03 14:18:46 +01:00
Iacob Juc
96a0ba279c ci: cram: restore security modes in prplmesh dataelements test
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>
2026-01-30 08:52:38 +00:00
Iacob Juc
7c6053bf62 ci: cram: add test for pwhm static puncturing
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>
2026-01-30 08:52:38 +00:00
Petr Štetiar
fcfef4c496 ci: release,testbed: OSPv2: make firmware filenames UPDK 9.2.3 compliant
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>
2026-01-29 10:46:42 +00:00
Bhavesh Bharadiya
b54265a24e profiles: mxl_x86_osp_tb341_v2: update to UPDK_9.2.3
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]
2026-01-29 10:46:42 +00:00
Hari Sriram
bafa754250 ci: cram: update 006-amx-monitoring-change-subject.t testcase (PPW-1228)
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>
2026-01-26 09:46:15 +00:00
ahmed sassi
ac895d09e8 ci: cram: obuspa: test update with Device.X_PRPLWARE-COM_WANManager.LastSuccessfulMode parameter
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>
2026-01-26 09:53:51 +01:00
ahmed sassi
279f3a2eda ci: cram: obuspa: add Device.HomePlug
Integrates following changes to cram test setup
-add Device.HomePlug.

References: PPW-1036

Signed-off-by: ahmed sassi <ahmed.sassi_ext@softathome.com>
2026-01-23 17:02:00 +01:00
Petr Štetiar
69edf389db ci: 065-upnp_0.t: fix random failure in netstat check again
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>
2026-01-23 10:45:05 +00:00
Petr Štetiar
fe95746263 ci: remove support for urx851-hdk-3 board
OSPv1 board was removed quite some time ago and replaced with OSPv2
successor, so lets cleanup the CI bits a bit to keep the tree tidy.

References: PCF-1134
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2026-01-23 10:45:05 +00:00
Petr Štetiar
bf021278cb ci: cdrouter: add prplOS Network Test Plan v1.2.0 tests
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>
2026-01-23 10:45:05 +00:00
ahmed sassi
952b7754e4 Revert "ci: obuspa: delete Device.DeviceInfo.TemperatureStatus.LowTemperatureAlarm && - Device.DeviceInfo.TemperatureStatus.LowTemperatureAlarm! event_arg:Status"
This reverts commit 54b08f00aa.

Signed-off-by: ahmed sassi <ahmed.sassi_ext@softathome.com>
2026-01-21 14:54:44 +01:00
ahmed sassi
54b08f00aa ci: obuspa: delete Device.DeviceInfo.TemperatureStatus.LowTemperatureAlarm && - Device.DeviceInfo.TemperatureStatus.LowTemperatureAlarm! event_arg:Status
Signed-off-by: ahmed sassi <ahmed.sassi_ext@softathome.com>
2026-01-21 10:38:58 +01:00
Hela Saadani
1853467160 ci: cram: obuspa: Add APMLDMacAddress
References: PPM-3667

Signed-off-by: Hela Saadani <hela.saadani_ext@softathome.com>
2025-12-30 10:55:11 +01:00
Hela Saadani
38ef34cdee ci: cram: obuspa: Add LowTemperatureAlarm!
References: PCF-2246

Signed-off-by: Hela Saadani <hela.saadani_ext@softathome.com>
2025-12-23 15:31:43 +01:00
Houssem Dafdouf
1827146069 PROVISORY: ci: cram : ospv2: 010-network.t: update ip link expected output
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>
2025-12-12 09:31:40 +00:00
Houssem Dafdouf
a0374eac4d ci: cram: ubus-datamodel-list: obuspa: update script with latest pwhm changes
Add bSTAMLD related objects to the expected DM.

References: FEAT-117
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
2025-12-12 09:31:40 +00:00
Houssem Dafdouf
d8602b0e1e ci: cram: wifi-usp.t: add pwhm usp events check
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>
2025-12-11 11:07:32 +01:00
FAOUZI YAHYA
8a10256966 ci: cram: ubus.t: remove lan_extender pool
Integrates following changes:
-remove lan_extender pool

References: PPW-1072

Signed-off-by: FAOUZI YAHYA <faouzi.yahya_ext@softathome.com>
2025-12-10 16:57:56 +01:00
FAOUZI YAHYA
8d10b9a85f ci: cram: ubus-cli: remove lan_extender pool
Integrates following changes:
-remove lan_extender pool

References: PPW-1072

Signed-off-by: FAOUZI YAHYA <faouzi.yahya_ext@softathome.com>
2025-12-10 16:57:56 +01:00
Volodymyr Pavlenko
962a3d4ae7 ci: cram: obuspa.t: add CustomAlias and VHTCapabilities check
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>
2025-12-09 18:29:49 +01:00
FAOUZI YAHYA
f3d8ee4783 ci: cram: obuspa: add missed counters to WANManager
Integrates following changes:
add the following counters:

WANManager.WANNumberOfEntries
WANManager.WAN.{i}.IntfNumberOfEntries
WANManager.WAN.{i}.Intf.{i}.IPv4AddressNumberOfEntries
WANManager.WAN.{i}.Intf.{i}.IPv6AddressNumberOfEntries

References: PPW-630

Signed-off-by: FAOUZI YAHYA <faouzi.yahya_ext@softathome.com>
2025-12-08 08:58:53 +01:00
FAOUZI YAHYA
37de820e3b ci: cram: 005-build-config: add CONFIG_SAH_AMX_TR181_BUTTON
Integrates following changes:
-add CONFIG_SAH_AMX_TR181_BUTTON_START_ORDER=40 CONFIG_SAH_AMX_TR181_BUTTON_STOP_ORDER=60

References: PPW-1212, PPW-1214, PPW-1213

Signed-off-by: FAOUZI YAHYA <faouzi.yahya_ext@softathome.com>
2025-12-08 07:44:28 +00:00
Houssem Dafdouf
97440d5923 ci: cram: obuspa.t: add new objects related to EHTCapabilities & EHTOperations IEs feature
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>
2025-12-05 13:23:13 +01:00
Houssem Dafdouf
4761a100f2 ci: cram: update pwhm cram test with hosatpd warm apply requirements
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>
2025-12-05 13:23:13 +01:00
Mouna ALOUI
e225714712 ci: build: remove duplicate CI_BUILD_PROFILE export from script section
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>
2025-11-28 13:26:22 +00:00
Hela Saadani
e722a3904e ci: cram: obuspa: add Device.DNS.Zone.
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>
2025-11-27 12:20:30 +01:00
Hari Sriram
1725ac41e2 ci: cram: Update amx-process monitoring testcase
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>
2025-11-24 12:25:03 +01:00
Petr Štetiar
7b6e2f6f24 ci: testbed: increase test runtime from 45min to 48min
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>
2025-11-24 12:25:03 +01:00
Sathishkumar Selvam
7cfb0ae5fd profiles: prpl_core.yml: feed_prplos: Integrating Amx Process Monitor Enhancement features with prplos (FEAT-70, FEAT-77 & FEAT-88)
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
2025-11-24 12:15:33 +01:00
Petr Štetiar
ffeb3e9b98 PROVISORY: ci: 110-prplmesh-dataelements.t: remove failing SSID checks
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>
2025-11-21 15:48:45 +00:00
Houssem Dafdouf
e8d8c0cf5e ci: cram: mlo.t: fix long CRAM commands that lead to parsing failures
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>
2025-11-21 15:48:45 +00:00
Houssem Dafdouf
e0f771b3f8 ci: cram: wifi: add backhaul APs activation and deactivation test
- 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>
2025-11-21 15:48:45 +00:00
Hela Saadani
a4986ae619 ci: cram: ubus-datamodel-list: Add Wifi.APMLD
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>
2025-11-21 15:48:45 +00:00
Hela Saadani
26bb20e7f4 ci: cram: obuspa: upadate obuspa test
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>
2025-11-21 15:48:45 +00:00
Mouna ALOUI
32996777ed ci: blackduck: Add tar.gz archiving of BlackDuck scan output
Add tar.gz archiving of BlackDuck scan output to preserve logs for
debugging.

References: PCF-1794
Signed-off-by: Mouna Aloui <mouna.aloui@softathome.com>
2025-11-21 12:35:44 +01:00
Mouna ALOUI
ac7b9ed88c ci: blackduck: require label to run blackduck scan on merge requests
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>
2025-11-21 12:34:39 +01:00
Mouna ALOUI
80eda215d9 ci: blackduck: Redirect standard output to a log file
redirect blackduck output job to `logs/blackduck.log.
This change ensures that job execution continues without hitting log output limits,
facilitating better monitoring and debugging.

References: PCF-1794
Signed-off-by: Mouna Aloui <mouna.aloui@softathome.com>
2025-11-21 12:34:39 +01:00
Mouna ALOUI
d551f0d015 ci: Blackduck: excluded PIP and NPM types from blackduck scans
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>
2025-11-21 12:34:39 +01:00
Matthias Franck
6ddd226025 ci: blackduck: update blackduck scan job trigger
Update pipeline rules to run only on:
- Protected branches with tags
- Scheduled pipelines
- Merge request events (manual trigger)

References: PCF-1794
Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
2025-11-21 12:34:39 +01:00
Matthias Franck
ef5ac6681a ci: blackduck: increase blackduck timeout job to 4 hours.
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>
2025-11-21 12:33:15 +01:00
Matthias Franck
434d8ee305 ci: blackduck: run blackduck scan on every directory.
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>
2025-11-21 12:33:15 +01:00
Matthias Franck
b2a8ff9bb0 ci: blackduck: move blackduck to separate job
let's move blackduck to a seperate job for easier maintenance.

References: PCF-1794

Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
2025-11-21 12:33:10 +01:00
Matthias Franck
e1d07fa8f0 ci: blackduck: integrate blackduck
set up build environment to integrate blackduck scan job.

Closes: PCF-2036
References: PCF-1794

Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
2025-11-21 12:23:53 +01:00
FAOUZI YAHYA
6e1f2bfe21 Revert "cram: 015-nat-reverse-portmapping: remove unstable test"
This reverts commit a526014edc.

Signed-off-by: FAOUZI YAHYA <faouzi.yahya_ext@softathome.com>
2025-11-21 11:15:48 +01:00
Petr Štetiar
d2a30e7432
PROVISORY: ci: 036-lcm-applicationdata.t: remove unstable test
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>
2025-11-20 12:54:08 +00:00
Petr Štetiar
176b975c80
ci: cram: fix operational prplmesh_utils.sh status tests
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>
2025-11-20 05:02:55 +00:00
Petr Štetiar
616b99d01f
Revert "PROVISORY: ci: wnc-freedom: 110-prplmesh-dataelements.t: disable failing status test"
This reverts commit a1c4d07a11 as the
issue should be fixed.

Fixes: PPM-3555
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2025-11-19 17:26:04 +00:00
Petr Štetiar
aefdacf2e5
Revert "PROVISORY: ci: mxl25641-hdk-6: 110-prplmesh-dataelements.t: disable failing status test"
This reverts commit ffda3f5eba as the
issue should be fixed.

Fixes: PPM-3555
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2025-11-19 17:26:03 +00:00
Petr Štetiar
d50fb2de13
Revert "PROVISORY: ci: mozart: 110-prplmesh-dataelements.t: disable failing status test"
This reverts commit 62d7faaf86 as the
issue should be fixed.

Fixes: PPM-3555
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2025-11-19 17:25:16 +00:00
Houssem Dafdouf
2935885de8 ci: cram: move all common helpers into a single script
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>
2025-11-19 14:43:45 +00:00
Igor Plesser
6a80940027 ci: cram: Freedom: allow 2nd vendor MAC OUI in backhaul SSID
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>
2025-11-19 11:17:36 +00:00
Mouna ALOUI
ffd27cff53 coverity.yml: use environment variable for INCLUDE_DIAGNOSTICS value
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>
2025-11-17 13:20:36 +00:00
Mouna ALOUI
ce36cc93f0 ci: coverity: Update Variable Rules for Coverity Scan Job
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>
2025-11-17 13:20:36 +00:00
Mouna ALOUI
5c1806bb78 ci: coverity.yml: use env variables for clean and build commands
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>
2025-11-17 13:20:36 +00:00
Mouna ALOUI
80fb40e9a8 coverity: Add tar.gz archiving of coverity scan output
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>
2025-11-17 13:20:36 +00:00
Mouna ALOUI
5d73fbc1b5 coverity.yml: No need to add comments to merge requests for coverity issues at config level
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>
2025-11-17 13:20:36 +00:00
Mouna ALOUI
6db81ded28 ci: use correct coverity.yml file for licensed coverity version.
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>
2025-11-17 13:20:36 +00:00
Matthias Franck
4753ec21c1 coverity.yml: use firmware builder for coverity scan job
use firmware builder as tag for coverity scan job

Closes: PCF-2037
References: PCF-1795

Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
2025-11-17 13:20:36 +00:00
Matthias Franck
f1f907173d coverity.yml: build toolchain before running coverity
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>
2025-11-17 13:20:36 +00:00
Matthias Franck
95a418cb2a coverity ci: increase timeout for coverity scan job.
Increase timeout to 10 hours for coverity scan job.

Closes: PCF-2037
References: PCF-1795

Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
2025-11-17 13:20:36 +00:00
Matthias Franck
7020bd7ae8 coverity.yml: add bridge_coverity_local variable
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>
2025-11-17 13:20:36 +00:00
Matthias Franck
9980cf3fea coverity: implement coverity scan job using the licensed version
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>
2025-11-17 13:20:36 +00:00
Benamor Imene
65e0e94843 ci: cram: add RotateProcessFaultEntries
Signed-off-by: Benamor Imene <imene.benamor_ext@softathome.com>
2025-11-17 13:49:23 +01:00
FAOUZI YAHYA
b1321daef2 ci: cram: obuspa: add RotateProcessFaultEntries
Integrates following changes:
- [faultmonitor] Implementation: Add ProcessFault Rotation option [new](PPW-620) (ea1e57d5)
- faultmonitor: [amx-faultmonitor] allow retrieval of early boot core dumps (PPW-620) (1ffe17f7)
- Apply 1 suggestion(s) to 1 file(s) (d42aac2f)
- Apply 1 suggestion(s) to 1 file(s) (8d65c7c5)
- MR Review: correct a possible memory leak (PPW-620) (f6542759)
- rc.d : Ensure Monitor plugins are stopped last during the shutdown process (PPW-620) (331a23bd)
- ci: baf: update autogenerated files (8b0e2050)
- faultmonitor: Make it possible to configure whether core dumps are stored or discarded (PPW-620) (7df8ff2e)
- faultmonitor: fault datamodel has empty Arguments and ProcessName variables (PPW-620) (b03d2fc8)
- faultmonitor: [fallback] fault datamodel has empty Arguments and ProcessName variables (PPW-620) (1eefac5e)

References: PPW-620

Signed-off-by: FAOUZI YAHYA <faouzi.yahya_ext@softathome.com>
2025-11-17 13:49:23 +01:00
FAOUZI YAHYA
b744369814 ci: cram: 005-build-config: update config AMX_FAULTMONITOR_STOP_ORDER and AMX_FAULTMONITOR_START_ORDER
Integrates following changes:
- [faultmonitor] Implementation: Add ProcessFault Rotation option [new](PPW-620) (ea1e57d5)
- faultmonitor: [amx-faultmonitor] allow retrieval of early boot core dumps (PPW-620) (1ffe17f7)
- Apply 1 suggestion(s) to 1 file(s) (d42aac2f)
- Apply 1 suggestion(s) to 1 file(s) (8d65c7c5)
- MR Review: correct a possible memory leak (PPW-620) (f6542759)
- rc.d : Ensure Monitor plugins are stopped last during the shutdown process (PPW-620) (331a23bd)
- ci: baf: update autogenerated files (8b0e2050)
- faultmonitor: Make it possible to configure whether core dumps are stored or discarded (PPW-620) (7df8ff2e)
- faultmonitor: fault datamodel has empty Arguments and ProcessName variables (PPW-620) (b03d2fc8)
- faultmonitor: [fallback] fault datamodel has empty Arguments and ProcessName variables (PPW-620) (1eefac5e)

References: PPW-620

Signed-off-by: FAOUZI YAHYA <faouzi.yahya_ext@softathome.com>
2025-11-17 13:49:23 +01:00
FAOUZI YAHYA
5af585b71c ci: cram: add amxo-cg
Integrates following changes:
- [faultmonitor] Implementation: Add ProcessFault Rotation option [new](PPW-620) (ea1e57d5)
- faultmonitor: [amx-faultmonitor] allow retrieval of early boot core dumps (PPW-620) (1ffe17f7)
- Apply 1 suggestion(s) to 1 file(s) (d42aac2f)
- Apply 1 suggestion(s) to 1 file(s) (8d65c7c5)
- MR Review: correct a possible memory leak (PPW-620) (f6542759)
- rc.d : Ensure Monitor plugins are stopped last during the shutdown process (PPW-620) (331a23bd)
- ci: baf: update autogenerated files (8b0e2050)
- faultmonitor: Make it possible to configure whether core dumps are stored or discarded (PPW-620) (7df8ff2e)
- faultmonitor: fault datamodel has empty Arguments and ProcessName variables (PPW-620) (b03d2fc8)
- faultmonitor: [fallback] fault datamodel has empty Arguments and ProcessName variables (PPW-620) (1eefac5e)

References: PPW-620

Signed-off-by: FAOUZI YAHYA <faouzi.yahya_ext@softathome.com>
2025-11-17 13:49:23 +01:00
Petr Štetiar
3350a8a5ba
ci: cram: mxl25641-hdk-6: allow 2nd vendor MAC OUI in backhaul SSID
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>
2025-11-16 15:54:34 +00:00
Petr Štetiar
3d4789ed74
ci: release: include OSPv2 B-Step simple images in the release artifacts
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>
2025-11-16 15:54:33 +00:00
Petr Štetiar
7310621934
ci: switch testing from OSPv2 A-Step board to B-Step board
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>
2025-11-16 15:54:32 +00:00
Petr Štetiar
e5ae0a5103
ci: build: fix escaping of export variable in message
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>
2025-11-15 12:19:07 +00:00
Petr Štetiar
b69bdde013
ci: build: add collapsible sections for build phases duration tracking
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>
2025-11-15 12:19:06 +00:00
Petr Štetiar
196b51096b
ci: build: remove support for NDA restricted MXL OSP runners
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>
2025-11-15 12:19:04 +00:00
ahmed sassi
a4eed0f338 ci: cram: update 005-build-config.t
Signed-off-by: ahmed sassi <ahmed.sassi_ext@softathome.com>
2025-11-13 16:02:04 +01:00
ahmed sassi
161def1c86 ci: cram: 095-reboot-service.t: update
Signed-off-by: ahmed sassi <ahmed.sassi_ext@softathome.com>
2025-11-13 16:02:04 +01:00
Igor Plesser
09d6fd7e02 ci: cram: adapt cram tests
- Adapt CRAM test for taking backhaul interfaces into account

Closes: PPM-3517

Signed-off-by: Igor Plesser <i.plesser@inango-systems.com>
2025-11-07 14:03:20 +00:00
Petr Štetiar
e0aa34f235
PROVISORY: ci: 038-lcm-pcm.t: temporarily remove flaky test due to container start race
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>
2025-11-07 06:00:22 +00:00
Petr Štetiar
b82f3e90f8
PROVISORY: ci: cdrouter: mxl25641-hdk-6: extend prplOS-Network-Test-Plan-Candidate-v1.1.0 timeout by 5 minutes
[ 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>
2025-11-07 06:00:21 +00:00
Petr Štetiar
a4ff6b0ccf
ci: testbed,cdrouter: improve error visibility with colored logging
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>
2025-11-07 06:00:20 +00:00
Petr Štetiar
dd6d350a65
ci: testbed,cdrouter: add collapsible sections for phase duration tracking
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>
2025-11-07 06:00:19 +00:00
Petr Štetiar
5badc8a7d2
ci: add test execution timeouts with grace period for artifact collection
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>
2025-11-07 06:00:18 +00:00
Hela Saadani
2c70c25262 ci: cram: obuspa: Add MCASTD
References: PPW-417, PPW-773

Signed-off-by: Hela Saadani <hela.saadani_ext@softathome.com>
2025-10-30 14:50:46 +00:00
Hela Saadani
a32fbe0a46 ci: cram: ubus-datamodel-list: add MCASTD
References: PPW-417, PPW-773

Signed-off-by: Hela Saadani <hela.saadani_ext@softathome.com>
2025-10-30 14:50:46 +00:00
Matthias Franck
a526014edc cram: 015-nat-reverse-portmapping: remove unstable test
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>
2025-10-30 10:12:28 +01:00
Matthias Franck
9a4ee80d85 cram: 51-cellular-online.t: remove unstable test
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>
2025-10-30 10:11:06 +01:00
Houssem Dafdouf
402bf93587 ci: cdrouter: ospv2: update phy and cypher expected mode
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>
2025-10-29 11:10:55 +01:00
Sathishkumar Selvam
aa26bd15fe ci: cram: fix 025-process-monitor.t, 005-build-config.t after switch to procd init
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>
2025-10-27 19:13:58 +01:00
Hari Sriram
02162de4e9 ci: cram: 010-procd-spawned-process.t, 020-tr181-qos-respawn.t : add new cram tests for procd init feature
Adding two test cases for procd feature.

Implements PCF-2032

Signed-off-by: Hari Sriram <hari.s@capgemini.com>
2025-10-27 19:13:58 +01:00
ahmed sassi
a20075145a ci: cram: obuspa: add qos parameter
Signed-off-by: ahmed sassi <ahmed.sassi_ext@softathome.com>
2025-10-24 09:22:09 +00:00
Sam Maes
e6850848d0 ci: cram: add test for cellular-manager datamodel
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>
2025-10-24 09:22:09 +00:00
Petr Štetiar
146e67ff5b Revert "PROVISORY: ci: build: temporarily whitelist MxL ebtables hash to fix CI"
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>
2025-10-23 09:26:06 +00:00
Hela Saadani
72fc21579f ci: cram: 005-build-config: Update CONFIG_SAH_SERVICES_ACL-MANAGER value ad add CONFIG_SAH_SERVICES_ACL-MANAGER_START_ORDER
References: PPW-1026

Signed-off-by: Hela Saadani <hela.saadani_ext@softathome.com>
2025-10-22 18:45:24 +02:00
Hela Saadani
8e0f2ef8ad ci: cram: obuspa: add getChanSurveyReport
references: PPW-531

Signed-off-by: Hela Saadani <hela.saadani_ext@softathome.com>
2025-10-22 18:05:23 +02:00
Matthias Franck
f97ff39ee0 ci: cram: obuspa: update expected output after tr181-qos upstep
References: PPW-867

Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
2025-10-15 12:12:01 +02:00
Lu Dai
fd08837991 ci: prplMesh: unbuffer python stdout
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>
2025-10-15 10:06:24 +00:00
Matthias Franck
0b89257c61 ci: cram: mxl25641-hdk-6: 015-platform.t: fix sfp test after datamodel change
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>
2025-10-13 07:28:17 +00:00
Matthias Franck
620b5698ff Revert "PROVISORY: ci: cram: mxl25641-hdk-6: 015-platform.t: remove failing sfp test"
This reverts commit f2d0d582b3.

Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
2025-10-13 07:28:17 +00:00
Petr Štetiar
eb04276212
ci: release: turris: fix sysupgrade image filename
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>
2025-10-12 15:04:28 +00:00
Petr Štetiar
abc3947b7d
ci: release: OSPv2: provide only single-image in the release
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>
2025-10-12 09:22:02 +00:00
Petr Štetiar
4cf7a7f7f3
ci: release: remove asset links for OSPv1
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>
2025-10-12 09:22:01 +00:00
Petr Štetiar
3dc49f17f7
ci: release: Mozart: fix packaging of bootstack assets
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)
2025-10-12 09:22:00 +00:00
Petr Štetiar
457a2da25a
ci: build, release: adapt for prplware Git version tags
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)
2025-10-12 09:21:59 +00:00
Petr Štetiar
f31c98254c
ci: release: provide OSPv2 images publicly
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)
2025-10-12 09:21:58 +00:00
Christian Marangi
b31675465f
ci: release: add Arcadyan Mozart bootstack assets
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)
2025-10-12 09:21:58 +00:00
Petr Štetiar
0dda6cece0
ci: mxl25641: enable builds with thread profile
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)
2025-10-12 09:21:57 +00:00
Matthias Franck
09397ad2c1 ci: cram: update expected results after introduction of tr181-upnpdiscovery
Updates the expected datamodel output and the expected config options that are set.

Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
2025-10-12 11:20:32 +02:00
Florian Rouzaud
673da4207e ci: cram: 065-upnp_0: update tests after introduction of tr181-upnpdiscovery
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>
2025-10-12 11:20:32 +02:00
Florian Rouzaud
67014226f2 ci: cram: upnp discovery: add initial cram test for upnp discovery
Add test for tr181-upnpdiscovery. The cram test checks upnp discovery datamodel.

References: PCF-1833

Signed-off-by: Florian Rouzaud <florian.rouzaud@softathome.com>
2025-10-12 11:20:32 +02:00
Petr Štetiar
8786bba08e
ci: mxl25641-hdk-6: fix CDRouter LAN interface alias
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>
2025-10-11 16:02:41 +00:00
Petr Štetiar
651963f5fb
ci: wnc-freedom: fix CDRouter LAN interface alias
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>
2025-10-11 13:54:17 +00:00
Petr Štetiar
357923dfd2
ci: cdrouter: add check_connectivity command
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>
2025-10-11 13:54:16 +00:00
Petr Štetiar
fc5eedd76a
ci: cdrouter: add prplOS Network Test Plan v1.1.0 Candidate tests
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>
2025-10-11 13:54:15 +00:00
Petr Štetiar
c9e14b80e7
ci: cdrouter: provide configuration for prplOS Network Test Plan
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>
2025-10-11 13:54:13 +00:00
Petr Štetiar
5e4ed28433
ci: arcadyan-mozart: define CDROUTER_CONFIG_LAN_IFACE_ALIAS variable
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>
2025-10-11 13:54:11 +00:00
Petr Štetiar
3b134e421c
ci: cdrouter: add mandatory prplOS Network Test Plan v1.1.0 tests
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>
2025-10-11 13:54:10 +00:00
Petr Štetiar
44f5b9f398
ci: testbed-cdrouter.py: enhance error handling for connection failures
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>
2025-10-11 13:54:09 +00:00
Petr Štetiar
cb0dde263c
ci: testbed-cdrouter: allow setting debug mode via TB_CDROUTER_DEBUG env variable
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>
2025-10-11 12:59:33 +00:00
Petr Štetiar
addc70be89
ci: testbed-cdrouter.py: add gitlab-branch and gitlab-job tags
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>
2025-10-11 12:59:32 +00:00
Petr Štetiar
7fc53bff8d
ci: testbed-cdrouter.py: factor out tag sanitization into TestbedCDRouter
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>
2025-10-11 12:59:30 +00:00
Petr Štetiar
3e8ac6a0f0
ci: testbed-cdrouter.py: reformat with black
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>
2025-10-11 12:59:29 +00:00
Petr Štetiar
50298e9b64
ci: testbed-device.py: improve error reporting during the board bringup
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>
2025-10-11 07:52:28 +00:00
Matthias Franck
f6a0442b3f ci: cram: obuspa: align output after qos support for no hardware offloading
References: PCF-2065

Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
2025-10-10 18:46:10 +02:00
Bert Goemans
831fcc44d6 ci: cram: 046-qos-classification.t: add test for QoS.Classification.{i}.DoNotOffload and ForwardingPolicy
References: PCF-2065
Signed-off-by: Bert Goemans <bert.goemans_ext@softathome.com>
2025-10-10 18:46:10 +02:00
Ashik Ahmed A
fcb92c7f70 profiles: prpl_core: tr181-gnimanager: fix missing USP bus registration
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]
2025-10-10 17:28:00 +02:00
Matthias Franck
4bc12a9f69 ci: cram: update tests after introduction of network mapper
References: PCF-1833, PCF-2086, PPW-976,PCF-2090, PPW-935, PCF-1836, PCF-1835, FEAT-13

Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
2025-10-10 17:04:58 +02:00
Matthias Franck
3ef44e4d65 ci: cram: 005-build-config: correct expected output after integration of tr181-conntrack-query
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>
2025-10-10 15:13:17 +02:00
Sarra Kacem
a7280c32c3 ci: cram:add the new Device.DHCPv6.Client.{i}.X_PRPLWARE-COM_DHCPv6Status parameter
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)
2025-10-10 13:14:35 +02:00
Matthias Franck
ba4b3afb25 PROVISORY: ci: 125-conmon.t: temporarily disable DHCPv6 check
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>
2025-10-10 13:14:34 +02:00
Nicolas BESNARD
abaa4eb889 ci: cram: obuspa.t: add tr181-conmon component
References: PCF-1840
Signed-off-by: Nicolas BESNARD <nicolas.besnard_ext@softathome.com>
2025-10-10 13:14:31 +02:00
Nicolas BESNARD
c628f41934 ci: cram: conmon: add initial cram test for conmon
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>
2025-10-10 13:14:31 +02:00
Hela Saadani
5d54fbe4b0 ci: cram: ubus-datamodel-list: Add conmon
Add ConMon data model check for overl DM check

References:PCF-1840

Signed-off-by: Hela Saadani <hela.saadani_ext@softathome.com>
2025-10-10 13:14:28 +02:00
Hela Saadani
cf448efe86 ci: cram: 005-build-config: Add conmon
add conmon to the config for smoktest

References:PCF-1840

Signed-off-by: Hela Saadani <hela.saadani_ext@softathome.com>
2025-10-10 13:14:24 +02:00
muralisenthil
492cf1dcb0 prpl.yml: feed_prplos : Integrating Tr-181-conntrack - Enumerate Conntrack Connections feature with prplos (FEAT-90)
Implements: PCF-2107. Adding associated cram
testcases for this feature.

Closes PCF-2107

Signed-off-by: muralisenthil <murali-senthil.alagesan@capgemini.com>
2025-10-10 10:23:07 +02:00
Nabil BIZID
c9e9a8d596 ci: cram: nat: adapt reverse portmapping test to use LCM container
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>
2025-10-10 09:00:54 +02:00
Toon Caeyers
7cb0509ce0 ci: cram: ubus-datamodel-list: Replace PeriodicFileUpload by PeriodicFileTransfer
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>
2025-10-09 20:54:33 +02:00
Toon Caeyers
e1443e6906 ci: cram: obuspa: Replace PeriodicFileUpload by PeriodicFileTransfer
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>
2025-10-09 20:54:33 +02:00
Christian Marangi
d21bd6593b ci: cram: 038-lcm-fd.t: add Mozart entry for script functions
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>
2025-10-09 18:05:06 +00:00
Christian Marangi
62d7faaf86 PROVISORY: ci: mozart: 110-prplmesh-dataelements.t: disable failing status test
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>
2025-10-09 18:05:06 +00:00
Christian Marangi
d467fd4524 ci: cram: mozart: sync wifi tests with 24.10 release
Sync wifi tests with new prplOS 24.10 release.

References: PCF-1970
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-10-09 18:05:06 +00:00
Christian Marangi
09c989d862 ci: cram: mozart: sync build config test with 24.10 release
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>
2025-10-09 18:05:06 +00:00
Christian Marangi
a7837bc510 ci: cram: 105-temperature.t: restore regex for TemperatureStatus _get
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>
2025-10-09 18:05:06 +00:00
Christian Marangi
548bcfb519 Revert "PROVISORY: ci: disable support for Mozart board"
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>
2025-10-09 18:05:06 +00:00
Christian Marangi
3b4390a5c8 ci: builder: Install required Swig package for U-Boot prereq
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>
2025-10-09 18:05:06 +00:00
Christian Marangi
2049a65a9c PROVISORY: ci: build: manually install swig package
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>
2025-10-09 18:05:06 +00:00
Alexandre Fiset
9ec0abe31e time: 070-time.t: add test for POSIX validation
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>
2025-10-09 18:28:54 +02:00
ashikaa
b30d0085c0 profiles: prpl: tr181-flashmonitor: Flash Wear Monitoring Support in prplOS
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>
2025-10-09 18:12:37 +02:00
Alexandre Fiset
772b50ed4f ci: cram: 005-build-config.t: remove mstpd related build config options
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>
2025-10-09 11:04:19 +02:00
Houssem Dafdouf
c58a2c3f87 ci: cram: freedom: properly stop/start prplmesh during mlo.t execution
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>
2025-10-09 08:56:40 +00:00
Petr Štetiar
a144fe12cf
ci: cdrouter: add CDRouter-UPnP-IPv46-Failing with currently failing UPnP tests
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>
2025-10-08 20:18:54 +00:00
Petr Štetiar
587158c13d
ci: cdrouter: CDRouter-UPnP-IPv46: enable only tests which are passing
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>
2025-10-08 20:18:53 +00:00
Matthias Franck
f2d0d582b3 PROVISORY: ci: cram: mxl25641-hdk-6: 015-platform.t: remove failing sfp test
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>
2025-10-08 11:52:49 +02:00
Patrick ROGIER
4b80eda9cb ci: cram: update expected output after integration of SFP manager changes
References: PCF-1924

Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
2025-10-08 11:51:36 +02:00
Matthias Franck
6a19bc7d64 ci: cram: increase timeout with 4 minutes
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>
2025-10-08 10:50:38 +02:00
Artem Trokhymchuk
a185a03f98 ci: usp-discovery, tr069-discovery fix cram tests
References: PCF-1912, PCF-1925, FEAT-134
Signed-off-by: Artem Trokhymchuk <a.trokhymchuk@inango-systems.com>
2025-10-08 10:50:08 +02:00
Dmytro Titov
b4c50e1bdb ci: tests: cram: tr069-discovery: add cram test
References: PCF-1925, FEAT-134
Signed-off-by: Dmytro Titov <d.titov@inango-systems.com>
2025-10-08 10:50:08 +02:00
Artem Trokhymchuk
12cfba2315 ci: tests: cram: usp_discovery: add cram tests
Add cram tests for the usp_discovery package

References: PCF-1912, FEAT-134
Signed-off-by: Artem Trokhymchuk <a.trokhymchuk@inango-systems.com>
2025-10-08 10:49:49 +02:00
Roman Shcherbakov
3893a04520 profiles: prpl: tr181-dhcpv4client: tr181-dhcpv6client: add support configuring options 124, 125, 16 and 17
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>
2025-10-08 10:49:48 +02:00
Hela Saadani
7032d6b63a ci: cram: update expected output after integrating multiple wan interface OS3 feature
Signed-off-by: Hela Saadani <hela.saadani_ext@softathome.com>
2025-10-08 01:52:41 +02:00
Sam Maes
051cb785c3 cram: fix cram test for USB Filtering
Fixes issue in expected output of USB datamodel.

References: PPW-1008

Signed-off-by: Sam Maes <sam.maes_ext@softathome.com>
2025-10-07 13:47:36 +02:00
Sam Maes
858eb64e47 Revert "PROVISORY: Revert "ci: cram: add test for USB filtering + update existing usb test""
This reverts commit 66261a7570.

Signed-off-by: Sam Maes <sam.maes_ext@softathome.com>
2025-10-07 11:44:42 +00:00
Volodymyr Martysh
b1293a0b31 tr069-connectionrequest: add cram tests
Add cram tests for tr069-connectionrequest component

References: PCF-1867, FEAT-112

Signed-off-by: Volodymyr Martysh <v.martysh@inango-systems.com>
2025-10-07 09:41:51 +02:00
Dmytro Titov
14a2589ff8 ci: tests: cram: tr181-gatewayinfo: add cram test
References: PCF-1981, FEAT-112
Signed-off-by: Dmytro Titov <d.titov@inango-systems.com>
2025-10-07 09:41:36 +02:00
Lou Nguyen
0408049b98 ci: cram: add runtime test for tr471-iplayercapacity
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>
2025-10-06 21:48:26 +02:00
Matthias Franck
66261a7570 PROVISORY: Revert "ci: cram: add test for USB filtering + update existing usb test"
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>
2025-10-06 21:32:34 +02:00
Hela Saadani
00b05fcea9 ci: cram: ubus-datamodel-list: Add AllowedDevice
Signed-off-by: Hela Saadani <hela.saadani_ext@softathome.com>
2025-10-06 21:30:59 +02:00
Hela Saadani
e543f8cf02 ci: cram: obuspa: Add AllowedDevice
Signed-off-by: Hela Saadani <hela.saadani_ext@softathome.com>
2025-10-06 21:30:59 +02:00
Sam Maes
6c72ca35be ci: cram: add test for USB filtering + update existing usb test
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)
2025-10-06 21:30:59 +02:00
Nabil BIZID
7f5541acf6 ci: cram: lcm: update tests to avoid hardcoded indexes
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>
2025-10-06 21:22:23 +02:00
Nicolas BESNARD
60a248ee66 ci: cram: nat: add reverse portmapping test
References: PCF-2025
Signed-off-by: Nicolas BESNARD <nicolas.besnard_ext@softathome.com>
2025-10-06 21:22:23 +02:00
Hela Saadani
244fbd3bab ci: obuspa: Add SourceNetwork
Integrates following changes:
-add Device.NAT.InterfaceSetting.{i}.SourceNetwork

References: FEAT-101, PCF-2025

Signed-off-by: Hela Saadani <hela.saadani_ext@softathome.com>
2025-10-06 21:22:23 +02:00
Volodymyr Martysh
b0ee814f61 upnp: extending the cram tests
Added extended cram tests for UPnP port mapping.

References: PCF-1998

Signed-off-by: Volodymyr Martysh <v.martysh@inango-systems.com>
2025-10-06 20:59:59 +02:00
Mykola Hlukhenkyi
a4250cb221 ci: cram: tr181-upnp.t: verify WANAcessProvider
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>
2025-10-06 20:59:26 +02:00
Mykola Hlukhenkyi
e4325ad29a ci: cram: obuspa.t: new WANAccessProvider field from tr181-upnp
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>
2025-10-06 20:59:26 +02:00
Matthias Franck
b25f661a8b Revert "PROVISORY: ci: cram: 100-captiveportal.t: disable redirect test check"
Since captive-portal is fixed now.

References: PCF-2069, 1943

This reverts commit 9315ca2479.

Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
2025-10-06 14:00:12 +02:00
Vitalii Popov
a60da61f31 ci: cram: obuspa-passing-fds.t: move test to appropriate place
Implements: PCF-2034

Signed-off-by: Vitalii Popov <v.popov@inango-systems.com>
2025-10-06 13:55:34 +02:00
Vitalii Popov
39af15f38f ci: cram: 038-lcm-fd.t: added test for file descriptors transfer oved USP backend
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>
2025-10-06 13:55:34 +02:00
ashikaa
b6c71bd853 profiles:prpl:tr181-gnimanager: Generic Network Interface Support in NetModel(FEAT-93)
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>
2025-10-06 13:15:36 +02:00
Roman Shcherbakov
1acddd2ce3 profiles: prpl: add Extender profiles
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>
2025-10-06 12:19:35 +02:00
Hari Sriram
6222db4cb0 profiles: prpl.yml: feed_prplos: add Resource monitoring feature
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-1991
https://prplfoundationcloud.atlassian.net/browse/PCF-2001
https://prplfoundationcloud.atlassian.net/browse/PCF-2010

Signed-off-by: Jayamathi E <e.jayamathi@capgemini.com>
Signed-off-by: Hari Sriram <hari.s@capgemini.com>
2025-10-06 07:54:55 +02:00
Petr Štetiar
eb46007a74 PROVISORY: ci: 055-ssh-server.t: disable remaining unstable Session DM test
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>
2025-10-05 11:30:26 +00:00
Petr Štetiar
2ade24890e PROVISORY: ci: build: temporarily whitelist MxL ebtables hash to fix CI
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>
2025-10-05 11:30:26 +00:00
Gleb Kasimov
f6275a984f PROVISORY: ci: cram: make exception for parameter change during LCM Agent restore
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>
2025-10-05 12:58:44 +02:00
Gleb Kasimov
e9e1735c6a ci: cram: generic lcm: introduce test for LCM Agent integration with Persistent Configuration Manager
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>
2025-10-05 12:58:44 +02:00
Petr Štetiar
ba53c45d79
PROVISORY: ci: 112-wifi-scheduler.t: disable unstable test
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>
2025-10-04 05:55:58 +00:00
Petr Štetiar
1b75a99538
PROVISORY: ci: 055-ssh-server.t: disable unstable Session DM test
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>
2025-10-04 05:54:46 +00:00
Nabil BIZID
322514f447 ci: cram: update LCM tests
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>
2025-10-03 21:01:22 +02:00
Piotr Nakraszewicz
b40f0d37e1 ci: cram: test softHSM and pkcs11
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>
2025-10-03 12:04:09 +02:00
Matthias Franck
1f2022cc97 ci: cram: 005-build-config: update expected output after integration of tr181-device to v0.30.2
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>
2025-10-03 11:45:12 +02:00
Ward Lindekens
4547208fbe ci: cram: 067-dnssd: Remove static rule that opens port 5353 on any interface
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>
2025-10-03 11:35:08 +02:00
Matthias Franck
38dc179bb4 ci: cram: 105-temperature.t: update tests after adding PollingMaxRetry parameter
In tr181-temperature PollingMaxRetry parameter was implemented.

References: PPW-423

Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
2025-10-03 10:17:36 +01:00
Boris Vanhoof
75f505c016 ci: cram: 016-firewall-ipse: offset chain by one
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>
2025-10-02 18:11:59 +01:00
FAOUZI YAHYA
47a392ec5f c: cram: 005-build-config.t: add acl-manager config
Signed-off-by: FAOUZI YAHYA <faouzi.yahya_ext@softathome.com>
2025-10-02 17:19:11 +02:00
Petr Štetiar
9beddc080a Revert "PROVISORY: ci: wnc-freedom: 020-bridging-guest.t: temporarily disable failing test"
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>
2025-10-02 17:12:15 +02:00
Petr Štetiar
42fa282c37 Revert "PROVISORY: ci: wnc-freedom: remove test for ethernet aliases"
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>
2025-10-02 17:12:15 +02:00
FAOUZI YAHYA
07e2719218 ci: cram: 120-buttons.t: add Buttons.Action.InitiateWPSPBC
References: PPM-3461, TR-181

Signed-off-by: FAOUZI YAHYA <faouzi.yahya_ext@softathome.com>
2025-10-02 16:01:17 +01:00
Hela Saadani
a8cc97a057 ci: cram: 005-build: add ebtables-legacy-utils and ebtables-ipv4 and ebtables-ipv6
Signed-off-by: Hela Saadani <hela.saadani_ext@softathome.com>
2025-10-02 16:53:37 +02:00
Matthias Franck
d6e7618c3a Revert "PROVISORY: profiles: prpl: disable mcastd feature as its crashing kernel"
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>
2025-10-02 16:53:37 +02:00
Matthias Franck
1775dab812 ci: cram: 005-build-config: update expected output after pwhm upstep
References: PPM-3501

Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
2025-10-02 14:01:17 +00:00
FAOUZI YAHYA
0e091c1231 ci: cram: obuspa: add HighTemperatureAlarm config
References: PPW-676

Signed-off-by: FAOUZI YAHYA <faouzi.yahya_ext@softathome.com>
2025-10-02 14:57:51 +01:00
Matthias Franck
db1ba81186 Revert "ci: cram:add the new Device.DHCPv6.Client.{i}.X_PRPLWARE-COM_DHCPv6Status parameter"
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>
2025-10-02 12:25:14 +00:00
ahmed sassi
58a926c765 ci: cram: fix updated obuspa.t test
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>
2025-10-01 13:12:01 +02:00
sahbot
4cce868f14 ci: cram: add LCM capabilities tests
Add a set of tests to veify the LCM Linux capability
management feature.

References FEAT-23

Signed-off-by: Nabil BIZID <nabil.bizid@softathome.com>
2025-10-01 13:10:52 +02:00
Hela Saadani
374d4e2747 ci: cram: 005-build-config: activate CONFIG_PACKAGE_cthulhu-capabilities
References: PCF-2066

Signed-off-by: Hela Saadani <hela.saadani_ext@softathome.com>
2025-10-01 13:10:52 +02:00
Hela Saadani
3f81afd998 ci: cram: obuspa: new capabilities management plugin
References: PCF-2066

Signed-off-by: Hela Saadani <hela.saadani_ext@softathome.com>
2025-10-01 13:10:52 +02:00
Dmytro Puz
e77207979d tests: cram: wait for controller NBAPI device before continuing
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>
2025-09-30 15:39:45 +00:00
Maarten De Decker
692e2f967a ci: cram: 065-upnp.t: fix random failures in netstat check
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>
2025-09-26 13:40:53 +00:00
Marvin Lu
d828e569dc
profiles: qca_ipq95xx: remove CONFIG_KERNEL_DYNAMIC_DEBUG from build
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]
2025-09-25 07:52:58 +00:00
Houssem Dafdouf
72689c9980 ci: cram: properly stop/start prplmesh during pwhm.t execution
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>
2025-09-22 12:17:05 +02:00
Houssem Dafdouf
4cc591c517 ci: cram: wifi-scheduler.t: current_sec computation fails
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>
2025-09-16 12:27:29 +00:00
Maarten De Decker
1cdcba5207 prplMesh: bump to master-2025-09-11
Integrates following changes:
- framework: bpl: cfg_wifi: simplify reset_wifi_credentials (5de388cbb)
- agent: monitor: Invalid up/downlink rate in Associated Link Metrics (d882e2aff)
- controller: use send_topology_query_msg() in handle_topology_response (ea659228c)
- controller: db: update unassociated station path (8da4d3824)
- controller: database: bSTA flag (aacd49e6e)
- framework: wbapi: add resolve_path guards (235d2263e)
- framework: wbapi: fix AmbiorixVariant null handling (c4a93bcbd)
- slave: agent AP MLD configuration (83cc9035c)
- CI: Remove "be" from OperatingStandards on Freedom (f6199d3cf)
- bwl: whm: sta: add ConnectionStatus guard in start_wps_pbc() (f4cb7e174)
- agent: backhaul_manager: triger pushbutton on 5G frequency radio. (ffaca8f61)
- backhaul_manager: implement WPS PBC helper functions for AP and STA paths (861e34bc0)
- agent: backhaul_manager: drop legacy AP-disable/re-enable in STA WPS path (16c83ee84)
- agent: actions: add InitiateWPSPBC WPS action and handler stub (7c29d02c1)
- framework: wbapi_utils: remove hardcoded path for EndPoint. (6cb8f4de4)
- framework: wbapi_utils: ensure "Device." prefix in SSIDReference paths (b2ed24b7d)
- controller: db: set wifi channel for non Intel Agt (291ee39e9)
- Add missing autogenerated tlvRsnParametersConfiguration (807abd69f)
- bwl: Remove set_start_disabled() (29a08eba2)
- controller: topology_task: discard false neighbors (d9b4288d6)
- agent: Removed AGENT_RADIO_STATE_CHANGED handling (bf14cef82)

PPM-3422 brings a new path for WPS pairing in the datamodel of the prplMesh agent.
"ubus-datamodel-list.t" is changed to reflect this.

References: PPM-1933, PPM-3456, PPM-1751, PPM-3496, PPM-3459, PPM-3501, PPM-3422,
PPM-3356, PPM-3193, PPM-3502, PPM-3462, PPM-3011, PPM-3513, PPM-3478, PPW-335

Signed-off-by: Maarten De Decker <maarten.dedecker@mind.be>
2025-09-15 09:36:39 +00:00
Petr Štetiar
0395f03cc0
PROVISORY: ci: cdrouter: mxl25641-hdk-6: extend prplWare-Smoke-Test-Suite timeout by 5 minutes
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>
2025-09-13 10:46:37 +00:00
Petr Štetiar
72ac30ebf1
ci: cram: 005-build-config.t: sync gmap-server config option changes
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>
2025-09-13 06:16:14 +00:00
Petr Štetiar
ffda3f5eba
PROVISORY: ci: mxl25641-hdk-6: 110-prplmesh-dataelements.t: disable failing status test
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>
2025-09-13 06:16:13 +00:00
Matthias Franck
5409dede30
ci: cram: 014-firewall-levels: update tests after UPDK upstep
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>
2025-09-13 06:16:12 +00:00
Petr Štetiar
efb833e204
ci: testbed: OSPv2: update flashing procedure to the new flash layout
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>
2025-09-13 06:16:11 +00:00
Bhavesh Bharadiya
534c248e8d
profiles: mxl_x86_osp_tb341_v2: update to UPDK_9.2.0
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]
2025-09-13 06:16:06 +00:00
Hela Saadani
5f2728abed ci: cram: obuspa: delete Security parameter ModeEnabled
Problem:
- obsolete defined param EndPoint.Security.ModeEnabled

Fix:
- remove obsolete EndPoint.Security.ModeEnabled as EndPoint's enabled
security mode is retrieved from referenced Profile

References : PPW-335

Signed-off-by: Hela Saadani <hela.saadani_ext@softathome.com>
2025-09-10 16:44:24 +02:00
Petr Štetiar
d2a679d136
ci: wnc-freedom: 010-network.t: fix random unexpected wlanX interface states
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>
2025-09-09 11:28:26 +00:00
Petr Štetiar
a7bdab3907
ci: wnc-freedom: 015-platform.t: fix random libkmod output positions in lspci output
We’re seeing following random test failures:

  --- .gitlab/tests/cram/wnc-freedom/015-platform.t
  +++ .gitlab/tests/cram/wnc-freedom/015-platform.t.err
  @@ -6,7 +6,6 @@

    $ R lspci -v -d 17cb:0308
     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: bus master, fast devsel, latency 0, IRQ 34 (esc)
     \tMemory at 28300000 (64-bit, non-prefetchable) [size=4K] (esc)
  @@ -24,6 +23,7 @@
     \tCapabilities: [240] Data Link Feature <?> (esc)
     \tKernel driver in use: mhi-pci-generic (esc)

  +  lspci: Unable to load libkmod resources: error -2

Likely happening due to stderr/stdout buffering, so lets fix it by
silecing this stderr output.

Fixes: PCF-2049
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/11268790630#L167
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2025-09-09 11:25:13 +00:00
Petr Štetiar
dc306ec71e
ci: wnc-freedom: 015-platform.t: fix lspci Flags: flapping check
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>
2025-09-09 09:08:04 +00:00
Petr Štetiar
ab5fabf231
ci: 057-mqttbroker.t: fix random issue in firewall check
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>
2025-09-09 09:03:42 +00:00
ahmed sassi
b3c7280e39 ci: cram: 005-build-config.t: update CONFIG_SAH_AMX_GMAP_SERVER_START_ORDER=71 , CONFIG_SAH_AMX_GMAP_SERVER_STOP_ORDER=29
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>
2025-09-08 12:33:04 +02:00
Tim Hsu
c5ccf31d78 profiles: qca_ipq95xx: add support for Quectel RM520N using MHI over PCIe for ATH13.0
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]
2025-08-28 08:43:08 +00:00
Petr Štetiar
de3148fae9 Revert "PROVISORY: ci: wnc-freedom: remove test for Quectel RM520N-GL modem"
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>
2025-08-28 08:43:08 +00:00
Racha Hamhoum
cf70074f9f ci: cram: 010-firewall-dhcp: update firewall tests for new iptables version
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>
2025-08-11 10:00:40 +00:00
Houssem Dafdouf
b0690d5526 ci: cram: fix wifi-scheduler.t script issue
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>
2025-08-04 21:55:14 +02:00
Petr Štetiar
743214c800
PROVISORY: ci: disable support for Mozart board
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>
2025-08-04 10:38:47 +00:00
Petr Štetiar
a1c4d07a11
PROVISORY: ci: wnc-freedom: 110-prplmesh-dataelements.t: disable failing status test
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>
2025-08-04 08:04:47 +00:00
Petr Štetiar
959c43024b
ci: freedom: 010-network.t: update output after rebase and ATH13.0 bump
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>
2025-08-04 08:04:46 +00:00
Petr Štetiar
8cf7f49926
PROVISORY: ci: wnc-freedom: 020-bridging-guest.t: temporarily disable failing test
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>
2025-08-04 08:04:45 +00:00
Petr Štetiar
d087c140a6
PROVISORY: profiles: qca_ipq95xx: fix qca-nss-dscpstats build by enabling DYNAMIC_DEBUG
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>
2025-08-04 08:04:43 +00:00
Petr Štetiar
e8ec5b7204
ci: freedom: 005-build-config.t: update output after rebase and ATH13.0 bump
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>
2025-08-04 08:04:41 +00:00
Petr Štetiar
bd630d500c
PROVISORY: ci: wnc-freedom: remove test for ethernet aliases
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>
2025-08-04 08:04:40 +00:00
Petr Štetiar
2eb035dbfa
PROVISORY: ci: wnc-freedom: remove test for Quectel RM520N-GL modem
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>
2025-08-04 08:04:39 +00:00
Petr Štetiar
f48deb83c6
profiles: prpl: prplMesh: fix compilation on Freedom with ATH13.0
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>
2025-08-04 08:04:37 +00:00
Matthias Franck
c7572c5169
ci: cram: freedom: 011-tls.t: update expected output after openwrt and sdk upstep
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>
2025-08-02 06:43:03 +00:00
ahmed sassi
f232322b52
update obuspa.t tests with SupportedHtMcsSet parameter
Signed-off-by: ahmed sassi <ahmed.sassi_ext@softathome.com>
(cherry picked from commit 42ca9773111caf30465329e42e191ad9ad28e7e9)
2025-08-01 05:49:58 +00:00
Théo-Paul Bodin
2291a05145
ci: cram: 065-upnp.t: fix random test failures
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)
2025-08-01 05:49:50 +00:00
Houssem Dafdouf
3035e96351
ci: cdrouter: ospv2: update phy and cypher expected mode
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)
2025-08-01 05:49:48 +00:00
Petr Štetiar
b3719e1a58
ci: haze: 005-build-config.t, 010-network.t: update expected test results
Mark current output after rebase onto OpenWrt 24.10 as expected.

Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2025-08-01 05:49:45 +00:00
Petr Štetiar
a822e0a6c2
ci: build: provide verbose output if target/linux build step fails
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>
2025-08-01 05:49:43 +00:00
Matthias Franck
87126672e0
ci: cram: update firewall related tests due to regression in iptables v1.8.0
The version of iptables changed with the upstep to OpenWrt 24.10,
changing the expected output of iptables CLI commands in several test
cases.

It is regression caused by iptables 1.8.0 and following commit https://git.netfilter.org/iptables/commit/?id=da8ecc62dd765b15df84c3aa6b83dcb7a81d4ffa
It got fixed in iptables 1.8.1 which reverted https://git.netfilter.org/iptables/commit/?id=34f085b1607364f4eaded1140060dcaf965a2649
in iptables 1.8.1.

So lets adapt expected test results accordingly.

References: FEAT-7
Link: https://bugzilla.netfilter.org/show_bug.cgi?id=1729
Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org> [commit improvements]
2025-08-01 05:49:42 +00:00
Petr Štetiar
9315ca2479
PROVISORY: ci: cram: 100-captiveportal.t: disable redirect test check
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>
2025-07-31 15:35:18 +00:00
Petr Štetiar
b7699d132b
PROVISORY: profiles: prpl: disable mcastd feature as its crashing kernel
I’m unable to use prplWare in x86/64 QEMU, because the kernel crashes as
soon as mcastd kernel module is loaded:

 detected buffer overflow in strncpy
 Kernel BUG at fortify_panic+0x13/0x20 [verbose debug info unavailable]
 invalid opcode: 0000 [#1] SMP NOPTI
 CPU: 3 PID: 3300 Comm: tr181-mcastd Tainted: G           O       6.6.86 #0
 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.17.0-5.fc42 04/01/2014
 RIP: 0010:fortify_panic+0x13/0x20
 Code: 84 00 00 00 00 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 55 48 89 fe 48 c7 c7 60 0c 20 82 48 89 e5 e8 7d 68 c8 ff <0f> 0b 90 66 2e 0f 1f 84 00 00 00 00 00 90 90 90 90 90 90 90 90 90
 RSP: 0018:ffffc9000506bb78 EFLAGS: 00010246
 RAX: 0000000000000023 RBX: ffff88800749401c RCX: 0000000000000000
 RDX: 0000000000000000 RSI: ffff88801f59d5c0 RDI: ffff88801f59d5c0
 RBP: ffffc9000506bb78 R08: 0000000000000000 R09: ffffc9000506ba00
 R10: 0000000000000003 R11: ffffffff824b2f88 R12: 0000000000000031
 R13: 0000000000001000 R14: ffffffffa08c2e20 R15: ffff888005a14780
 FS:  00007f9eed74cb28(0000) GS:ffff88801f580000(0000) knlGS:0000000000000000
 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
 CR2: 00007f9eed4ec000 CR3: 0000000007afe003 CR4: 0000000000370ee0
 Call Trace:
  <TASK>
  ? show_regs+0x60/0x70
  ? die+0x32/0x90
  ? do_trap+0xf7/0x100
  ? do_error_trap+0x6c/0x90
  ? fortify_panic+0x13/0x20
  ? exc_invalid_op+0x4f/0x70
  ? fortify_panic+0x13/0x20
  ? asm_exc_invalid_op+0x1b/0x20
  ? mcastdnl_register+0x60/0xa0 [mcastd_core]
  ? fortify_panic+0x13/0x20
  ? fortify_panic+0x13/0x20
  kvar_string_set+0x96/0xa0 [mcastd_core]
  mcastd_snooper_cleanup+0xea4/0x14d0 [mcastd_core]
  mcastd_function_unregister+0x190/0x1c0 [mcastd_core]
  mcastdnl_register+0x88/0xa0 [mcastd_core]
  netlink_rcv_skb+0x55/0x100
  mcastdnl_multicast+0xe3/0x100 [mcastd_core]
  netlink_unicast+0x212/0x2f0
  netlink_sendmsg+0x22c/0x480
  __sys_sendto+0x1af/0x1c0
  ? __vm_munmap+0xa4/0x110
  __x64_sys_sendto+0x1f/0x30
  x64_sys_call+0x15bf/0x1c90
  do_syscall_64+0x3d/0x90
  entry_SYSCALL_64_after_hwframe+0x78/0xe2
 RIP: 0033:0x7f9eed72a10b
 Code: c3 8b 07 85 c0 75 24 49 89 fb 48 89 f0 48 89 d7 48 89 ce 4c 89 c2 4d 89 ca 4c 8b 44 24 08 4c 8b 4c 24 10 4c 89 5c 24 08 0f 05 <c3> e9 de c7 ff ff 41 54 55 48 89 f5 be 00 88 08 00 53 48 81 ec a0
 RSP: 002b:00007ffc5a358f08 EFLAGS: 00000246 ORIG_RAX: 000000000000002c
 RAX: ffffffffffffffda RBX: 000000000000002c RCX: 00007f9eed72a10b
 RDX: 0000000000000114 RSI: 00007f9eed582320 RDI: 0000000000000007
 RBP: 00007f9eed74cb28 R08: 00007ffc5a358f6c R09: 000000000000000c
 R10: 0000000000000000 R11: 0000000000000246 R12: 00007ffc5a358f6c
 R13: 00007f9eed57d120 R14: 00007f9eed57e0f8 R15: 00007f9eed57d17d
  </TASK>
 Modules linked in: mcastd_routing(O) mcastd_proxy(O) mcastd_core(O) pppoe ppp_async i915 video pppox ppp_generic nf_flow_table_inet mac80211_hwsim(O) mac80211(O) ipt_REJECT ebtable_nat ebtable_filter ebtable_broute cfg80211(O) xt_time xt_tcpudp xt_tcpmss xt_statistic xt_state xt_recent xt_quota xt_pkttype xt_owner xt_nat xt_multiport xt_mark xt_mac xt_limit xt_length xt_hl xt_helper xt_ecn xt_dscp xt_conntrack xt_connmark xt_connlimit xt_connbytes xt_comment xt_cgroup xt_addrtype xt_TCPMSS xt_REDIRECT xt_NFQUEUE xt_MASQUERADE xt_LOG xt_HL xt_DSCP xt_CT xt_CLASSIFY wmi ts_fsm ts_bm slhc sch_prio nft_reject_ipv6 nft_reject_ipv4 nft_reject_inet nft_reject nft_redir nft_quota nft_numgen nft_nat nft_masq nft_log nft_limit nft_hash nft_flow_offload nft_ct nft_chain_nat nfnetlink_queue nf_tables nf_reject_ipv4 nf_nat_tftp nf_nat_snmp_basic nf_nat_sip nf_nat_pptp nf_nat_irc nf_nat_h323 nf_nat_ftp nf_nat_amanda nf_log_syslog nf_flow_table nf_conntrack_tftp nf_conntrack_snmp nf_conntrack_sip nf_conntrack_sane
  nf_conntrack_pptp nf_conntrack_netbios_ns nf_conntrack_irc nf_conntrack_h323 nf_conntrack_ftp nf_conntrack_broadcast ts_kmp nf_conntrack_amanda nf_conncount iptable_raw iptable_nat iptable_mangle iptable_filter ipt_ECN ip6table_raw ip_tables forcedeth ebtables ebt_vlan ebt_stp ebt_snat ebt_redirect ebt_pkttype ebt_mark_m ebt_mark ebt_limit ebt_ip6 ebt_ip ebt_dnat ebt_arpreply ebt_arp ebt_among ebt_802_3 e1000e drm_display_helper drm_buddy crc_ccitt compat(O) cls_flower bnx2 asn1_decoder act_vlan sch_teql sch_sfq sch_multiq sch_gred sch_fq sch_ets sch_codel em_text em_nbyte em_meta em_cmp act_skbmod act_simple act_pedit act_csum libcrc32c sch_tbf sch_ingress sch_htb sch_hfsc em_u32 cls_u32 cls_route cls_matchall cls_fw cls_flow cls_basic act_skbedit act_mirred act_gact evdev i2c_dev xt_set ip_set_list_set ip_set_hash_netportnet ip_set_hash_netport ip_set_hash_netnet ip_set_hash_netiface ip_set_hash_net ip_set_hash_mac ip_set_hash_ipportnet ip_set_hash_ipportip ip_set_hash_ipport ip_set_hash_ipmark
  ip_set_hash_ipmac ip_set_hash_ip ip_set_bitmap_port ip_set_bitmap_ipmac ip_set_bitmap_ip ip_set nfnetlink dwmac_intel ip6table_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 ip6t_NPT ip6t_rt ip6t_mh ip6t_ipv6header ip6t_hbh ip6t_frag ip6t_eui64 ip6t_ah ip6table_mangle ip6table_filter ip6_tables ip6t_REJECT x_tables nf_reject_ipv6 dwmac_generic stmmac_platform stmmac ixgbe e1000 amd_xgbe ifb mdio ip6_tunnel tunnel6 veth nls_utf8 pcs_xpcs ena sha512_ssse3 sha512_generic seqiv sha3_generic jitterentropy_rng drbg md5 hmac geniv rng cmac nls_iso8859_1 nls_cp437 r8169 mdio_devres gpio_keys igb igc vfat fat button_hotplug(O) tg3 realtek phylink mii libphy
 ---[ end trace 0000000000000000 ]---
 RIP: 0010:fortify_panic+0x13/0x20
 Code: 84 00 00 00 00 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 55 48 89 fe 48 c7 c7 60 0c 20 82 48 89 e5 e8 7d 68 c8 ff <0f> 0b 90 66 2e 0f 1f 84 00 00 00 00 00 90 90 90 90 90 90 90 90 90
 RSP: 0018:ffffc9000506bb78 EFLAGS: 00010246
 RAX: 0000000000000023 RBX: ffff88800749401c RCX: 0000000000000000
 RDX: 0000000000000000 RSI: ffff88801f59d5c0 RDI: ffff88801f59d5c0
 RBP: ffffc9000506bb78 R08: 0000000000000000 R09: ffffc9000506ba00
 R10: 0000000000000003 R11: ffffffff824b2f88 R12: 0000000000000031
 R13: 0000000000001000 R14: ffffffffa08c2e20 R15: ffff888005a14780
 FS:  00007f9eed74cb28(0000) GS:ffff88801f580000(0000) knlGS:0000000000000000
 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
 CR2: 00007f9eed4ec000 CR3: 0000000007afe003 CR4: 0000000000370ee0
 Kernel panic - not syncing: Fatal exception
 Kernel Offset: disabled
 Rebooting in 3 seconds..

So lets disabled this feature until the issue is fixed.

References: PPW-771
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/merge_requests/1229#note_2560400819
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2025-07-31 15:29:57 +00:00
Houssem Dafdouf
5d92afe491
profiles: prpl: prplmesh: enable direct USP socket connection
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>
2025-07-31 15:29:48 +00:00
Houssem Dafdouf
f83c663c24
ci: cram: increase global test timeout
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>
2025-07-31 15:29:44 +00:00
Houssem Dafdouf
ed5a6d3eaf
ci: cram: reorganize wifi test scripts
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>
2025-07-31 15:29:43 +00:00
Marouan MCHARFI
9c52cbd487
profiles: prpl: add wifi scheduler component
- Create services folder under prplmesh
- Integrate wifi-scheduler v0.7.0
- Integrate new cram test covering the feature

Closes: PPM-2543,PPM-2826

Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
2025-07-31 15:29:42 +00:00
Maarten De Decker
54073da671
ci: cdrouter: start prplMesh in controller mode
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>
2025-07-31 15:29:36 +00:00
Sarra Kacem
935387da12
ci: cram:add the new Device.DHCPv6.Client.{i}.X_PRPLWARE-COM_DHCPv6Status parameter
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>
2025-07-31 15:29:29 +00:00
Toon Caeyers
e36b208d8d
Revert "PROVISORY: ci: cdrouter: Lower DynamicDNS.Server.{i}.CheckInterval to 30s"
This reverts commit ce8860627dbc0616552a1670563b19188b39a529.

References: PPW-282
Signed-off-by: Toon Caeyers <toon.caeyers_ext@softathome.com>
2025-07-31 15:29:19 +00:00
ahmed sassi
5d7defd603
profiles: prpl: feed-prplmesh: pwhm: bump to v7.8.6
Integrates:
44f124c ("wld: Fixes related to WiFi 6 capabilities TLV", 2025-06-30)

References: PPM-3028

Signed-off-by: ahmed sassi <ahmed.sassi_ext@softathome.com>
2025-07-31 15:29:18 +00:00
Matthias Franck
7caaecf11b
ci: cram: timingila: remove ExecutionUnitList ending dot
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>
2025-07-31 15:29:08 +00:00
Toon Caeyers
5ce7a461ce
ci: cram: freedom 010-network: Filter wwan0 interface
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]
2025-07-31 15:29:04 +00:00
Maarten De Decker
c9a753eee3
CI: merge smoke stages
Merges the CDRouter and EasyMesh smoke stage into one "smoke tests" stage.

Signed-off-by: Maarten De Decker <maarten.dedecker@mind.be>
2025-07-31 15:29:02 +00:00