Commit Graph

1174 Commits

Author SHA1 Message Date
Nabil BIZID
2c14cd7d14 ci: cram: update expected datamodel and configs
Add the new expected object and parameters introduced by the PCF-2279 feature.
Add the new expected components introduced by the PCF-2279 feature.

References: PCF-2279, FEAT-300
Signed-off-by: Nabil BIZID <nabil.bizid@softathome.com>
2026-06-05 12:40:02 +01:00
Houssem Dafdouf
c73a23a6ab ci: cram: pwhm-usp.t test script is executed twice
Problem:

The revert of MR !2395 is incomplete. It added the new
103-pwhm-usp.t symlink but kept the previous 102-pwhm-usp.t symlink.

As a result, both symlinks point to the same script, causing the
pwhm-usp test to be executed twice in the same test run. Running the
script twice in a row without delay is unreliable and may lead to some
failures.

Solution:

- Remove the obsolete 102-pwhm-usp.t symlink so only 103-pwhm-usp.t
remains.
- Ensure the AccessPoint is disabled before starting the test.

Closes: PPW-2036
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
2026-06-04 22:49:15 +02:00
Volodymyr Pavlenko
5f4f7d7b11 ci: cram: update prplMesh DM field names
Changed VapType, Group and GroupName fields parameter names:
 X_PRPLWARE_VapType   -> X_PRPLWARE-COM_VapType
 X-PRPL_ORG_Group     -> X_PRPLWARE-COM_Group
 X-PRPL_ORG_GroupName -> X_PRPLWARE-COM_GroupName

Signed-off-by: Volodymyr Pavlenko <pavlenko.vv@pm.me>
2026-06-04 18:25:19 +03:00
Maarten De Decker
7cdbf7cc3b
profiles: prpl: prplMesh: bump to prplMesh v6.0.0 (prplware-5.0-2026-06-04)
Integrates following changes:
- Fix for bSTA MLD Info empty during R6 certification (cffe57f77)
- bwl: whm: bSTAMLD API implementation (cf3753d2d)
- Add MLO Affiliated STA Link Change Detection (1c730ddd4)
- agent: enhance tc qos filter handling (ac752e26b)
- easylogging: trigger exit instead of abort when FATAL arrives (f4fd976cf)
- agent: add reconfigure flag to ap mld update request (8c6ad108f)
- agent: common: fix issues reported by coverity (c8c85f6fb)
- bcl: son_wireless_utils: avoid copying channels tables on every call (397320231)
- agent:  add ap mld mac in disassoc event (744b36bd2)
- controller: SCS/MSCS, descriptors, and settings (295e2e86a)
- agent: common: controller: vendor_message: fix coverity issues (e7e7eec98)
- agent: remove duplicate link metrics reporting (d405c9e36)
- agent: don't abort Link Metric Response on partial failures (5589184c8)
- controller: fallback to non-prplMesh onboarding on VS TLV mismatch (dfb772f38)
- agent: separate BSS active from enabled state (a72d048b4)
- Removal of X-PRPL_ORG_ in prplMesh DMs (f6df89979)
- agent: channel_scan_task: send report for all scan states (1914c5d78)
- agent:  add bsta capabilities in topology response (3ce403249)
- traffic_separation: handle wds and fh ifaces events (a5aaf4018)

References:  PPM-4091, PPM-3987, PPM-3648, PPM-4019, PPM-4030, PPM-3772,
             PPM-3912, PPM-4062, PPM-4064, PPM-4003, PPM-3917, PPM-3567,
             PPM-4028, PPM-3993, PPM-4035, PPM-3488, PPM-3794, PPM-4018,
             PPM-3905

Signed-off-by: Maarten De Decker <maarten.dedecker@mind.be>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org> [cram DM update]
2026-06-04 16:09:40 +02:00
Alexandre Fiset
951c2d1d74 ci: cram: add DHCPv4 Force option cram tests
Test the Force parameter of Device.DHCPv4.Server.Pool.{i}.Options.{i} to
force an option when ever it is not requested by the client

Closes: PCF-2462
Signed-off-by: Alexandre Fiset <alexandre.fiset@softathome.com>
2026-06-02 17:59:31 +01:00
Sathishkumar Selvam
367d98af02 cram: 50-cellular-offline.t : Fix InternalName failure in 50-cellular-offline.t with prioritizing cellular-trusted-elements.t cram
-  Prioritize cellular-trusted-elements.t cram run to fix internal name verification failure. This ensures cellular-trusted-elements.t executes before 50-cellular-offline.t so that SIMReferenceList and Trusted Elements are configured early. This enables proper internal name resolution required for FEAT-9, where the cellular interface is unavailable until these prerequisites are met.

- Removed unnecessary skip for the test `cellular-trusted-elements.t` on test-bed-02 since it is not impacted by PCF-2585

References: PPW-1779
Signed-off-by: Sathishkumar Selvam <sathishkumar.selvam@capgemini.com>
2026-06-02 15:16:11 +01:00
Sathishkumar Selvam
edc9b1b3f6 ci: cram: obuspa: update expected DM & datamodel-dump script to scope with FEAT-9 integration
- Restored obuspa-cellular.t to version before FEAT-9 which got messed during the rebase with its integration
- With FEAT-9 integration, Modified the obuspa-cellular.expected to align with updated datamodel changes
- Fixed obuspa-datadump-model to include updated datamodels in cellular-mode and exclude them in other modes to resolve FEAT-9 integration failures

References: PPW-1779
Signed-off-by: Sathishkumar Selvam <sathishkumar.selvam@capgemini.com>
2026-06-02 15:16:11 +01:00
Ahmed Amine HAOUES
85544abdad ci: cram: freedom: check rad/vap status after changing radio operating Standard
- Adapt both cram test 106-pwhm-get-eht-caps to check radio and vap
status after changing the radio operating standards
- wait some time before the checking, to consider delay needed to propagate
ML Update in beacons before applying config
- This checking was failing before pwhm fix

References: PPW-2020
Signed-off-by: Ahmed Amine HAOUES <ahmed-amine.haoues_ext@softathome.com>
2026-06-02 14:27:56 +01:00
Artem Trokhymchuk
d0bc0e2351 ci: cram: generic: ubus-datamodel-list.t: ignore '^WiFi.Vendor.MLO.' object on ubus
Since pwhm still registered private datamodel on ubus, it should be ignored in the ubus datamodel list test.
'Device.WiFi.Vendor.MLO.' is _not_ ignored, only private (e.g. without Device.).

Closes: PPW-1996
References: FEAT-27
Signed-off-by: Artem Trokhymchuk <a.trokhymchuk@inango-systems.com>
2026-06-02 10:51:41 +01:00
Artem Trokhymchuk
2f4e80646c ci: cram: generic: obuspa.t: remove Device.WiFi.Vendor. exepcted datamodel
Remove expected Device.WiFi.Vendor. registered object as it is privated and now hidden by mapper.

Closes: PPW-1996
References: FEAT-27
Signed-off-by: Artem Trokhymchuk <a.trokhymchuk@inango-systems.com>
2026-06-02 10:51:41 +01:00
Artem Trokhymchuk
bf3cab8bf6 Revert "PROVISORY: ci: cram: temporarily filter MLO vendor datamodels"
This reverts commit 436db5fd76.

prplmesh-dm-mapper now hides Device.WiFi.Vendor. object
completely, so the provisory commit is not needed anymore.

Closes: PPW-1996
References: FEAT-27
Signed-off-by: Artem Trokhymchuk <a.trokhymchuk@inango-systems.com>
2026-06-02 10:51:41 +01:00
Artem Trokhymchuk
7381126508 ci: cram: use amx_poll_object script in the static puncturing test to wait for the USP datamodel arrival
Replace 'amx_wait_for' using private datamodel with amx_poll_object script
using public USP datamodel. This change allowed continuing tests _after_
the prplMesh datamodel is registerd through mapper and also to specify
timeout for the datamodel waiting.

Closes: PPW-1903
References: FEAT-27
Signed-off-by: Artem Trokhymchuk <a.trokhymchuk@inango-systems.com>
2026-06-02 09:27:17 +00:00
Sathishkumar Selvam
2107cfa9e1 ci: cram: call reset, make TestIntervalMultiplier as 1 & MaxFailNum to 30 on avoiding high recover/failure cases for cram
- Calling amx-processmonitor reset calls on cram processes to avoid any intermittent failures if applicable before starting cram

- amx-processmonitor currently uses TestIntervalMultiplier defaults to 2 for providing more recovery time from failure, But its not required in case of cram run to avoid time consumption with verification, Hence changed back to 1

- As a precautionary step, Making MaxFailNum as 30 to avoid any restarts with test kill and reverting back to 2 once those test cases done, This ensures no failure action made for our test runs

References: PPW-1779
Signed-off-by: Sathishkumar Selvam <sathishkumar.selvam@capgemini.com>
2026-06-02 10:17:54 +01:00
KARMENI Mohamed Karim
f18ebeab47 cram: acceleration-plan-components: make syslog log marker checks rotation-safe
Problem:
=======
The syslog test could fail randomly when logrotate moved the marker
from /var/log/messages to a rotated messages file before the grep check.

Solution:
========
Search both active and rotated messages logs, and use unique markers per
test run to avoid matching stale entries.

Fixes: PPW-1013
References: PCF-2044
Signed-off-by: KARMENI Mohamed Karim <Mohamed-Karim.karmeni_ext@softathome.com>
2026-06-01 15:03:42 +00:00
Petr Štetiar
5c4d350c62 ci: cram: 110-prplmesh-dataelements: fix assert agent count per testbed
Currently the cram test fails to assert the correct connected agent
count as the previous change in commit c5824479fc ("ci: cram:
110-prplmesh-dataelements: assert agent count per testbed") was pushed
by accident without being properly tested.

The output of prplmesh_cli prefixes the line containing the connected
agent count with a tab character, meaning there is no literal space
character before the digit. Since the sed regex pattern requires a
literal space, the pattern match fails, leaving the extracted agent
count empty.

 --- .gitlab/tests/cram/wnc-freedom/110-prplmesh-dataelements.t
 +++ .gitlab/tests/cram/wnc-freedom/110-prplmesh-dataelements.t.err
 @@ -215,6 +215,7 @@
   >     | sed -nE 's/.* ([0-9]+) agent\(s\) connected.*/\1/p')
   $ if echo "$CI_RUNNER_DESCRIPTION" | grep -q testbed-02; then EXP=2; else EXP=1; fi
   $ test "$ACT" = "$EXP" || echo "agent count mismatch: actual=$ACT expected=$EXP"
 +  agent count mismatch: actual= expected=2

So lets fix this by replacing the sed extraction pattern with a simpler
awk command, which has been verified locally on OSPv2. Since awk's
default field separator handles whitespace (both spaces and tabs)
uniformly, it successfully extracts the agent count.

Apply the same per-testbed agent-count assertion to the OSPv2
(mxl25641-hdk-6) and arcadyan-mozart boards, which had the count
hardcoded to 1 and thus hit the identical failure on testbed-02 where
prplmesh_cli now reports 2 connected agents (HomePlug-backhauled
TL-WPA7817, PCF-2504):

 --- .gitlab/tests/cram/mxl25641-hdk-6/110-prplmesh-dataelements.t
 +++ .gitlab/tests/cram/mxl25641-hdk-6/110-prplmesh-dataelements.t.err
 @@ -179,7 +179,7 @@
    Mode: Agent+Controller
    Controller:
            bridge MAC: (4C:BA:7D|A8:C2:46|AC:9A:96):[0-9A-F]{2}:[0-9A-F]{2}:[0-9A-F]{2} (re)
 -          1 agent(s) connected
 +          2 agent(s) connected

Fixes: PCF-2578
Closes: PPW-1981
References: PCF-2504
Assisted-by: claude:opus-4-8:1m-context
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/14374275747#L951
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/14527766714#L955
Fixes: c5824479fc ("ci: cram: 110-prplmesh-dataelements: assert agent count per testbed")
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2026-06-01 14:39:29 +00:00
Petr Štetiar
e893e4d4f2 profiles: prpl_core.yml: feed_amx: amx-cli: bump stdin fix
Bump feed_amx to f44cd0908bf6 ("amx-cli: bump to PCF-2445 stdin fix")
so prpl_core uses the amx-cli PCF-2445 MR head.

This brings the reviewed runtime change series:
- 7c78345ad543 ("ci: enable support for Cobertura XML report generation")
- 93740e7127a4 ("include_priv: align private header guards")
- 6f245591b78e ("amx-cli: ignore stdin after positional command")

The amx-cli change makes positional amx-cli and ba-cli commands exit
after the requested command instead of reading inherited stdin. This
prevents cram-over-ssh scripts from having their remaining test input
consumed by ba-cli.

Add a generic cram regression test that verifies positional ba-cli
commands preserve inherited stdin and do not wait on an open stdin pipe,
while explicit automated stdin-script mode still reads stdin.

The cram expectations for existing ba-cli calls still modeled the old
interactive output shape: prompt/header text, command output, and a
trailing prompt or blank line from the inherited stdin session. After
the stdin fix, one-shot ba-cli commands emit only command output, so
those filters either drop real data or keep obsolete blank-line
expectations.  Adjust the affected tests to filter only prompts and
empty lines so they match the corrected one-shot contract.

One syslog cram check also reuses the TR-181 PatternMatch value as a
grep -E expression. That value is stored with syslog-ng/basic-regex
escaped grouping, so the prompt cleanup left grep -E comparing DHCP log
lines against \(o|tr181-|dnsmasq-\)?dhcp. Extract only the PatternMatch
assignment and translate escaped parentheses before using the value as an
ERE, otherwise valid DHCP log lines are reported as unexpected output.

References: PCF-2445, PCF-2495, PPM-4088
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
signed-off-by: Hela Saadani <hela.saadani_ext@softathome.com>
2026-06-01 10:41:21 +00:00
Jef Steelant
5c664a92d9 ci: cram: add new tests for inter container communication
Validate the inter-process communication using raw sockets or a direct
usp connection

References: PCF-2345
Signed-off-by: Jef Steelant <jef.steelant_ext@softathome.com>
2026-06-01 08:19:17 +02:00
Houssem Dafdouf
c4bf027183 PROVISORY: ci: cram: freedom: disable 127-wifi-mlo-over-mesh.t cram test
Some actions performed by 127-wifi-mlo-over-mesh.t cram test are
triggering hostapd crashes.

Temporarily disable the test until the root cause(s) is(are) identified

References: PPW-2014
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
2026-05-26 17:03:22 +01:00
Houssem Dafdouf
201b56bea0 ci: cram: prplmesh_ap_mld.sh: fix wrong default MLDUnits
Correct the default MLDUnit values restored by
prplmesh_revert_mlo_to_defaults to avoid creating an
unsupported MLD configuration mixing BH and Guest VAPs
across four links, which may lead to a hostapd crash.

Closes: PPW-1997
References: FEAT-144,PPM-3930
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
(cherry picked from commit 49137e8bb0bf2d6f60e6241c2f4599b1cc01c90f)
Signed-off-by: Cihangir Odabas <cihangir.odabas@prplfoundation.org>
2026-05-26 17:03:22 +01:00
Houssem Dafdouf
e8d94a0b05 ci: cram: obuspa: update expected DM
Add Device.WiFi.Radio.{i}.IEEE80211be. new object which was introduced
by FEAT-389.

References: FEAT-389
Closes:PPM-3772
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
2026-05-26 17:03:22 +01:00
Houssem Dafdouf
efd6030833 ci: cram: pwhm: update pwhm test with FEAT-389 requirements
FEAT-389 requires that link removal or addition must not
trigger interface reconfiguration.

This test update verifies that no interface reconfiguration
occurs by checking the ifindex value from the iw output.

References: FEAT-389,PPM-3772
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
2026-05-26 17:03:22 +01:00
Petr Štetiar
dd6f757ff6 PROVISORY: ci: cdrouter: OSPv2: switch CDRouter-UPnP-IPv46 USP MTP from MQTTv5 to WebSocket
On the MXL25641-HDK-6 CDRouter-UPnP-IPv46 (generic-ipv6-upnp) package the
job is killed by the 52-min CDRouter cutoff at ~test 61/81 (ipv6_upnp_210),
even though Mozart and Freedom complete the same 81-test package on the
same pipeline / same MR in ~45 min. The killed test was healthy and would
have passed in another ~42 s; only OSPv2 is affected.

Per-test execution times on OSPv2 are essentially identical to the last
known-good run on this job (72f7f516..bd9b1d94 bisect window) - the
regression is not in the tests themselves. CDRouter logs show that on
OSPv2, between every IGD2 and IPv6 test, CDRouter prints

  NOTICE: The EUT is not connected to the test controller
  NOTICE: The EUT did not reconnect within 30 seconds

before starting the next test. ~38 such 30-second waits accumulate
~18.5 min of dead time on top of the otherwise normal ~33-min runtime,
exactly closing the gap to the 52-min cutoff. The regression bisects to
e266163bea ("ci: cdrouter: switch USP testing from STOMP to MQTTv5 as
primary MTP", MR #2579) - the same change that exposed the half-dead
MQTTv5 socket bug tracked in PPW-1837. The CDRouter test controller
reaches the EUT via the configured USP MTP between tests; with MQTTv5 the
socket goes silently half-dead and the reachability probe times out at
30 s before CDRouter gives up and proceeds.

So lets workaround it by switching this one job (and its -Failing sibling
which runs the same package) to WebSocket MTP, mirroring what the
certification jobs already do (see 99912e34). Mozart and Freedom run the
same package without any inter-test waits and are intentionally left
untouched.

Revert this block once the system-level fix for the half-dead MQTTv5
socket (PPW-1837) lands.

References: PPW-1897, PPW-1837, PCF-2565
Assisted-by: claude:opus-4-7:1m-context
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2026-05-22 13:33:05 +00:00
Petr Štetiar
accd15a3eb ci: testbed,cdrouter: add opt-in obuspa debug logging
Currently the testbed and cdrouter jobs need an opt-in way to raise
OBUSPA logging when debugging intermittent USP and MTP issues such as
PPW-1897, PPW-1837 and PCF-2565. The normal CI path should keep the DUT
at firmware defaults and avoid editing /etc/init.d/obuspa unless a debug
run asks for extra logging.

So lets add DUT_OBUSPA_VERBOSE_LEVEL and DUT_OBUSPA_PROTOCOL_TRACE as
empty-by-default CI variables. The CI templates call the OBUSPA debug
helper only when either variable is non-empty, so normal runs leave the
DUT unchanged.

DUT_OBUSPA_VERBOSE_LEVEL configures runtime verbosity and the persisted
-v init-script argument. DUT_OBUSPA_PROTOCOL_TRACE configures runtime
prototrace and the persisted -p init-script argument for later OBUSPA
restarts. Invalid values fail before SSH so typoed CI variables do not
partially mutate the DUT.

DUT_OBUSPA_VERBOSE_LEVEL=3 enables the info-level OBUSPA logging useful
for USP controller and MTP debugging. DUT_OBUSPA_PROTOCOL_TRACE=1
enables protocol-level tracing when the CI run needs message-level
visibility.

Assisted-by: codex:gpt-5.5:xhigh
References: PPW-1897, PPW-1837, PCF-2565
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2026-05-22 13:33:05 +00:00
Benamor Imene
ca1682f8de ci: cram: 154-tr181-schedules.t: fix X_PRPLWARE-COM_ test expectations
Problem: The Status field prefix was changed to use the correct X_PRPLWARE-COM_ vendor prefix.
The cram test was not updated to reflect this change and needs to be aligned.

Solution: Update the cram test expected values to use the correct X_PRPLWARE-COM_ prefix.

References: PPW-1990
Signed-off-by: Benamor Imene <imene.benamor_ext@softathome.com>
2026-05-22 13:06:17 +00:00
Mykola Hlukhenkyi
7752024bd2 ci: testbed: increase timeout up to 80 min
Increase the CI timeout for added LCM USP restriction tests

References: PCF-2442, FEAT-28, FEAT-120
Signed-off-by: Mykola Hlukhenkyi <m.hlukhenkyi@inango-systems.com>
signed-off-by: Hela Saadani <hela.saadani_ext@softathome.com>
2026-05-22 09:50:54 +00:00
Mykola Hlukhenkyi
1517167df4 ci: tests: cram: USP authentication tests
Modify script_functions to add new parameters for install_ctr function
Add cram test for USP authentication
Add cram test to check USP restrictions
Modify 030-lcm-general CRAM test to check Cthulhu datamodel
Fill obuspa datamodel with new expected parameters and objects

References: PCF-2442, FEAT-28, FEAT-120
Signed-off-by: Mykola Hlukhenkyi <m.hlukhenkyi@inango-systems.com>
Co-Authored-by: Artem Trokhymchuk <a.trokhymchuk@inango-systems.com>
Signed-off-by: Artem Trokhymchuk <a.trokhymchuk@inango-systems.com>
2026-05-22 09:50:54 +00:00
Petr Štetiar
436db5fd76 PROVISORY: ci: cram: temporarily filter MLO vendor datamodels
Currently the generic cram data-model checks compare shared ubus and
obuspa output with fixed baselines.  These checks already filter WiFi
Vendor objects that are platform specific, because the generic tests
should not fail just because one target exposes extra vendor internals.

The MXL25641-HDK-6 jobs now expose Device.WiFi.Vendor.MLO through both
obuspa and ubus.  That is unexpected: prplmesh-dm-mapper lists the MLO
subtree in dmm-object-hide, so these objects should be hidden from the
public data-model listings in the first place.

So lets add provisional test-side filters for the MLO vendor subtree.
This keeps the generic tests board-neutral while the mapper visibility
issue is investigated.  The filters should be removed again once hidden
MLO objects no longer leak into the obuspa and ubus listings.

Link: e39c50857f/odl/prplmesh-pwhm-mapping.odl (L601)
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/14478170366#L882
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/14492345808#L1333
References: PPW-1996
Assisted-by: gpt-5.5:high:fast
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2026-05-22 08:46:24 +01:00
Bhavesh Bharadiya
477583f26a PROVISORY: profiles: mxl_x86_osp_tb341_v2: Enabling CONFIG_KERNEL_DEVMEM
This is just enabled temporarily to reset bootcount register value.
Once FEAT-29 merges, sysregister driver will perform this reset and
we can disable this.

Revert this once FEAT-29 merge completes.

Signed-off-by: Bhavesh Bharadiya <bnbharadiya@maxlinear.com>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org> [squash]
2026-05-22 08:46:24 +01:00
Bhavesh Bharadiya
80461cfb99 profiles: mxl_x86_osp_tb341_v2: update BSP to UPDK 9.2.10 ED release
Update OSPv2 profiles for below changes:

 * Bump to UPDK 9.2.10
 * PON subsystem version bump to 2.1.5
 * Linux kernel minor version upgrade from 5.15.194 to 5.15.200
 * RAM Optimization changes
 * Boot flow : Adapted prpl boot flow required for FEAT-29
 * pon_hgu_vuni LKM shall be used instead of in-tree LKM mxl_pon_hgu_vuni_lgm
 * Corrected certain transceiver parameters names in ONU HAL agent
 * Enabled conntrack-tools package for 'nfct' binary
 * Added Madvise Config via Kernel and reverted from uboot config
 * Enabled CONFIG_XFRM_INTERFACE kernel support
 * Removed ebtables with mxl patches feed from mxl repository

Update WLAN profiles for below changes:

Fixed:
 * EMR6 - MAP 4.2.5, MAP 4.2.7_ETH and MAP 4.3.5_ETH certification tests are passing
 * MLO, RSN override for MLO, WPA3 compatibility mode with standard hostapd interface- Very limited testing
   covered so there might be issues.
 * WiFi BSP as a full OpenSource

Pending:
 * Northbound API+QoSv2+flow deny - dependency on PPM-3963

Fixed Issues: PPW-1580, PCF-2204, PCF-2315, PCF-2506 and PCF-2523
Known Issues: PCF-2256, PCF-2350, PCF-2356, PCF-2389, PCF-2444 and PCF-2503

Signed-off-by: Bhavesh Bharadiya <bnbharadiya@maxlinear.com>
2026-05-22 08:44:10 +01:00
Houssem Dafdouf
4fd118bb30 ci: testbed: Increase timeout up to 76 min
Pipelines are now timing out on freedom, and stops at
120-prplmesh-static-puncturing test. Let's add extra 2 minutes to the
timeout.

Reference: FEAT-116, FEAT-480
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
signed-off-by: Hela Saadani <hela.saadani_ext@softathome.com>
2026-05-21 16:54:21 +01:00
Houssem Dafdouf
8ec442dc36 PROVISORY: ci: cram: wifi-apmld: split script
With the new test cases added to cover bstamld feature, we are hitting
PCF-2222. So let's split the script.

References: PCF-2222, FEAT-116
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
2026-05-21 16:52:59 +01:00
Houssem Dafdouf
1437f84cb8 ci: cram: obuspa.t: update script with latest pwhm changes
Update script with new objects introduced by TID-to-Link feature.

Closes: PPM-3348
References: FEAT-116, FEAT-480
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
2026-05-21 16:52:59 +01:00
Houssem Dafdouf
8ccd889114 ci: cram: add cram tests for pwhm TID-to-Link feature
Update apmld test script to cover TID-to-Link feature.
Actually only freedom supports it.

Test cases:

- Check default config
- Set advertised mode on private MLD
- Force 2.4GHz link usage
- Check LinkMaps accordingly
- Disable TID-to-Link mapping on private MLD

Misc:

- move wifi-apmld.t to wnc DUT folder as it's releveant only to freedom
(ex. uses hardcoded wlan indexes)

Closes: PPM-3348
References: FEAT-116, FEAT-480
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
2026-05-21 16:52:59 +01:00
Alexandre Fiset
2f790c13a2 ci: cram: Add cram tests for tr181-schedules
Problem: Cram tests should be added to cover tr181-schedules plugin

References: PCF-2297
Signed-off-by: Alexandre Fiset <alexandre.fiset@softathome.com>
2026-05-20 11:33:31 +01:00
Richard Holme
215ec8a326 profiles: prpl_core: obuspa: bump to v11.0.2
Updates OBUSPA to v11.0.2

Prpl specific updates:
* Updated
002-remove_broker_dm_elements_which_are_to_be_registered_by_USPService.patch,
as file being patched has changed in OBUSPA
* Updated 004-increase_max_USP_services_and_controllers.patch to fix
PPW-1867
* Renumbered 009-remove-device-security-certificate.patch, as patch
number collided with existing patch
* Renumbered 010-load_agent_cert_cb.patch, as patch number collided with
existing patch
* Added 013-untrusted_roles_parameter.patch to add UntrustedRole parameter

OBUSPA changes since v11.0.0:
Fixed
- Race hazard that could cause two Boot! events to be sent on STOMP MTP
- Failure to open factory reset database sqlite file
(FACTORY_RESET_FILE) should be caught when opening, rather than when
writing
- Multiple EndpointID or Password TLVs in UDS handshake frame should be
handled as protocol error (PPW-1816)
- USP Service is prevented from re-registering DM if it disconnects
while the USP Broker is waiting for a response from it
- Build failure in database.c on some platforms due to compiler type
size issues (PPW-1642)

Added
- IPLayerCapacity() Speed Test command (which uses OB-UDP-ST). Disabled
in the build by default

References: PCF-2550, PPW-1642, PPW-1816, PPW-1867
Signed-off-by: Richard Holme <richard.holme@vantiva.com>
2026-05-20 09:32:39 +01:00
Petr Štetiar
c5824479fc ci: cram: 110-prplmesh-dataelements: assert agent count per testbed
testbed-02 grew a HomePlug-backhauled TL-WPA7817 (PCF-2504), so
prplmesh_cli now reports 2 connected agents on that runner while
testbed-01 still has only the DUT. Loosen the agent-count line in the
operational-state block to a regex and add a separate assertion that
gates the expected count on $CI_RUNNER_DESCRIPTION, matching the
existing testbed-02 idiom in .gitlab/testbed.yml and
.gitlab/cdrouter.yml.

Fixes: PCF-2578
References: PCF-2504
Assisted-by: claude:opus-4-7:1m-context
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2026-05-19 17:29:37 +01:00
Petr Štetiar
fc1fb354be PROVISORY: ci: cram: cellular-manager:skip tests on testbed-02
MR !2468 adds generic/cellular-manager cram coverage for FEAT-9 and
PCF-2474. The tests validate BBF-2.20 cellular manager behavior
including TrustedElements SIM data, SIM selection, USIM data, roaming,
access points, data sessions, bearer and session behavior, access
technology, and SMS.

This is a provisory CI workaround for the testbed-02 cellular
infrastructure only. Currently these tests randomly timeouts on Data
Model Cellular.? access.

The cross-testbed analysis shows that the RF-dependent failures are
specific to testbed-02. The bad PCF-2588 and PCF-2589 jobs both ran on
testbed-02, while their good comparison jobs ran on testbed-01.

So lets add a provisory testbed-02 guard to these cellular-manager cram
files. When CI_RUNNER_DESCRIPTION contains testbed-02, cram exits with
code 80 before any DUT command runs and reports each file as skipped.
On testbed-01, and on any runner that does not identify itself as
testbed-02, the tests continue to run normally.

Revert this commit once PCF-2585 is resolved and testbed-02 provides
reliable 5G/SIM/modem/operator registration for unattended CI again.

Runtime evidence from MR !2468 pipeline 2520044849:

- job 14345308779, run test MXL25641-HDK-6 with system on eMMC
- job 14342893182, run test Freedom initramfs

Both junit/xUnit artifacts reported the new cellular-manager tests as
passed on testbed-01. Times are from cram-result-*.xunit.xml and are in
seconds.

Test                                      MXL25641-HDK-6  Freedom
                                          OSPv2 / eMMC    ipq95xx
----------------------------------------  --------------  --------
004-set-trusted-elements.t                31.239s         31.041s
007-debug-cellular.t                       5.457s          4.423s
010-verify-sim-selection.t                 1.810s          1.411s
020-verify-usim-data-elements.t            1.097s          0.860s
045-verify-roaming-upstream-status.t       1.030s          0.865s
060-verify-access-point.t                  1.309s          1.034s
070-verify-data-session.t                  1.129s          0.856s
100-bearer-session-disable.t               1.126s          0.877s
110-access-technology.t                    3.375s          2.360s
120-sms-storage.t                          0.654s          0.534s
130-sms-message-attributes.t               0.622s          0.520s
----------------------------------------  --------------  --------
Total                                     48.849s         44.781s

References: PCF-2474, PCF-2585, PCF-2588, PCF-2589, FEAT-9
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/14253838317
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/14314875035
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/14345308779
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/14342893182
Assisted-by: codex:gpt-5.5
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2026-05-19 17:29:37 +01:00
Hari Sriram
5d49ff4913 ci: cram: remove InternalName usage in 50-cellular-offline.t
Remove use of InternalName attribute refering to underlying
modem hardware through cellular manager data model - Cellular
from 50-cellular-offline.t testcase.

Underlying modem hardware can be accessed using mmli command.
Data model is neutral, common irrespective of underlying modem hardware.

References: PCF-2474, FEAT-9
Signed-off-by: Hari Sriram <hari.s@capgemini.com>
2026-05-19 17:29:37 +01:00
Hari Sriram
30d73416f3 ci: cram: add cellular-manager tests and increase cram test execution timeout
Adding cram test cases for cellular-manager.

Also increasing cram test execution timeout to 74 minutes (+2 minutes)
to execute all tests completly and collect the logs and avoid test
execution timeout. Currently test execution timeout is reached and fails
to collect logs from DUT.

Runtime evidence from MR !2468 pipeline 2520044849:

- job 14345308779, run test MXL25641-HDK-6 with system on eMMC
- job 14342893182, run test Freedom initramfs

Both junit/xUnit artifacts reported the new cellular-manager tests as
passed on testbed-01 before later unrelated target-specific cram
failures.

Times are from cram-result-*.xunit.xml and are in seconds.

Test                                      MXL25641-HDK-6  Freedom
                                          OSPv2 / eMMC    ipq95xx
----------------------------------------  --------------  --------
004-set-trusted-elements.t                31.239s         31.041s
007-debug-cellular.t                       5.457s          4.423s
010-verify-sim-selection.t                 1.810s          1.411s
020-verify-usim-data-elements.t            1.097s          0.860s
045-verify-roaming-upstream-status.t       1.030s          0.865s
060-verify-access-point.t                  1.309s          1.034s
070-verify-data-session.t                  1.129s          0.856s
100-bearer-session-disable.t               1.126s          0.877s
110-access-technology.t                    3.375s          2.360s
120-sms-storage.t                          0.654s          0.534s
130-sms-message-attributes.t               0.622s          0.520s
----------------------------------------  --------------  --------
Total                                     48.849s         44.781s

References: PCF-2474, FEAT-9
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/14345308779
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/14342893182
Signed-off-by: Hari Sriram <hari.s@capgemini.com>
Signed-off-by: Sathishkumar Selvam <sathishkumar.selvam@capgemini.com>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org> [test rebase fixes, timeout, description]
2026-05-19 17:29:37 +01:00
Chitprasong Vilaysack
32c7d84d1e ci: cram: qos classification output interface update
The X_PRPLWARE-COM_OutputInterface parameter change
was not covered by any cram test.

This commit adds a test to verify that changing X_PRPLWARE-COM_OutputInterface
on an existing QoS classification updates the iptables mangle rule immediately
without restarting tr181-qos.

References: PPW-1346
Signed-off-by: Chitprasong Vilaysack <chitprasong.vilaysack@softathome.com>
2026-05-19 16:13:57 +00:00
Marcel Danilewicz
3b33bb7fe3 ci: cram: Modify obuspa test
Add Security.Certificate.{i}.Alias introduced
by FEAT-416 to obuspa.expected fixture.

References: PCF-2487
Signed-off-by: Marcel Danilewicz <marcel.danilewicz@consult.red>
2026-05-14 14:51:33 +01:00
Radoslaw Martyniszyn
5cdae888fa ci: cram: Device.Security.CABundle dynamic implementation
Use Security.Certificate.CABundle in SoftHSM tests.
Update ca.crt path in tests to new filesystem location.
Add new field Alias in Security.Certificate to 020-security.t.

References: PCF-2487
Signed-off-by: Radek Martyniszyn <radek.martyniszyn@consult.red>
2026-05-14 14:51:33 +01:00
Iacob Juc
c4aa36c874 ci: cram: freedom: 110 remove duplicate secMode reset
Issue:PPW-1209
Signed-off-by: Iacob Juc <iacob.juc_ext@softathome.com>
2026-05-14 09:20:13 +00:00
Iacob Juc
8b443e862f ci: cram: Rename WPA2-WPA3-Personal to WPA3-Personal-Transition
per PPW-1209, rename WPA2-WPA3-Personal to WPA3-Personal-Transition

Issue:PPW-1209
Signed-off-by: Iacob Juc <iacob.juc_ext@softathome.com>
2026-05-14 09:20:13 +00:00
Iacob Juc
0669c4a3e6 PROVISORY: add WPA3-Personal-Compatibility to ModesAvailable on OSPv2 platform
see PCF-2259 for details

out of all wld_defaults in mod-whm-release/mod-whm-v3.0/oss_odl, only
32_wld-custom-vaps.odl
is present on DUT during cram tests
and is removing WPA3-Personal-Compatibility from
Security.ModesAvailable

Issue:PPW-1209
Signed-off-by: Iacob Juc <iacob.juc_ext@softathome.com>
2026-05-14 09:20:13 +00:00
Iacob Juc
e8856308e4 Revert "PROVISORY: ci: cram: OSPv2: add WPA3-Personal compatibility to the available security modes for 6GHz VAPs"
This reverts commit 831e5f1b0d.

References:PPM-3660
References:PCF-2259
References:PPW-1209

Signed-off-by: Iacob Juc <iacob.juc_ext@softathome.com>
2026-05-14 09:20:13 +00:00
Iacob Juc
4a62c12229 Revert "PROVISORY: ci: cram: ppm-3660 fix Security.ModesAvailabe"
This reverts commit 8530b611ee.

No longer needed on freedom platform
Still needed on OSPv2 through PCF-2259

Issue:PPW-1209
References:PCF-2259
References:PPM-3660
Signed-off-by: Iacob Juc <iacob.juc_ext@softathome.com>
2026-05-14 09:20:13 +00:00
Alexandre Fiset
54a1d5f526 ci: cram: add tests for WO parametere
Add cram tests for writte-once read only parameter by trying to writte a
already written WO parameter

Additionnaly adapt cram tests that were trying to writte a WO parameter.
For exemple the tests that are creating object and then changing the
Alias.

References: PCF-2321
Signed-off-by: Alexandre Fiset <alexandre.fiset@softathome.com>
2026-05-13 16:13:49 +01:00
Roman Shcherbakov
d9753d327e ci: cram: use prplmesh-process-monitor DM to check prplMesh status
Change the way to check the prplMesh status from the `ps` command to the
check X_PRPLWARE-COM_ProcessManager.PrplMesh.Status.

Affected cram tests (OSPv2, Freedom):
* 105-pwhm-wpa3-cm.t;
* 110-prplmesh-dataelements.t.

References: PPW-1862
Signed-off-by: Roman Shcherbakov <r.shcherbakov@inango-systems.com>
2026-05-13 17:45:41 +03:00
Ahmed Amine HAOUES
a6ece90189 PROVISORY: ci: cram: freedom: workaround rad2g bw 40MHz cold setting failure
Problem:
- cold applying rad2g bw 40MHz in cram script
106-pwhm-get-eht-caps_step_1.t is leading to systematic failure

Cause:
- overriding BSS coexistence is detected in the testing environnement,
leading to falling back to bw 20mhz in rad2g
- but the script is expecting 40mhz
- pwhm is re-applying the bw which keeps reduced

Workaround:
- set rad2g bw 20MHz in the initial cold apply setting
- set rad2g bw 40MHz later in warm apply setting (through CSA, not impacting
the hostapd initial setup)
- set back rad2g to bw 20MHz when setting 11ax

Expected fix:
- in pwhm: prevent forcing 40MHz when it was reduced to 20MHz by
hostapd/driver due to OBSS_COEX reason
- improve the cram script to consider current bw as applied by the
driver

References: PPM-4051, PPM-3950
Signed-off-by: Ahmed Amine HAOUES <ahmed-amine.haoues_ext@softathome.com>
2026-05-12 10:46:13 +01:00
Ahmed Amine HAOUES
d08ddc8c36 ci: cram: obuspa: align obuspa fixtures with new bSTAMLD WiFi params
Update obuspa fixtures to reflect new params
- Device.WiFi.SSID.{}.MLDLinkLocalMACAddress
- Device.WiFi.EndPoint.{}.PeerAffiliatedMacAddress

Relates: PPM-4014, PPM-3950
Signed-off-by: Ahmed Amine HAOUES <ahmed-amine.haoues_ext@softathome.com>
2026-05-12 10:46:13 +01:00
Oguzhan Kara
f373d25f80 ci: cram: [powerstatus] add cram test for PowerSensor
Add a cram test for Device.DeviceInfo.PowerStatus.PowerSensor.
The test covers instance creation, protected parameter configuration,
status transitions, value updates, multi-instance handling and cleanup.

References: PCF-1723
Signed-off-by: Oguzhan Kara <oguzhan.kara@softathome.com>
2026-05-06 13:29:17 +00:00
Igor Plesser
9f5e204655 ci: cram: obuspa: align obuspa fixtures with actual DM state
Related tasks added and moved several DM parameters. Update the
obuspa fixtures to reflect the current data model state.

Relates: PPM-4355, PPM-4325
Signed-off-by: Igor Plesser <i.plesser@inango-systems.com>
2026-05-06 08:57:56 +01:00
Oguzhan Kara
58363d6668 ci: cram: align USB tests with port auto-detection
Update USB cram expectations to avoid hardcoded host/port values now that USB ports are auto-detected.

Match USB devices across any host index and accept dynamic USB port numbers in the generic USB filter test. Also refresh the USB power-management test to expect the current invalid-value error status.

References: PCF-2318
Signed-off-by: Oguzhan Kara <oguzhan.kara@softathome.com>
2026-05-05 11:19:49 +01:00
Houssem Dafdouf
3c347e6126 PROVISORY: ci: cram: split bSTAMLD script
After adding new tests cases the script must be splitted to workaround
PCF-2222

References: PCF-2222
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
2026-05-05 08:54:52 +01:00
Houssem Dafdouf
e1da2765cc ci: cram: update bSTAMLD cram test
- Test are now based on endpoints shared profiles feature
- Check links removal from MLD
- helper: add 'protected' option
- move script to DUT folder as we use now platfrom specific wlan names

References: PPM-3950, PPM-3989
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
2026-05-05 08:54:52 +01:00
Petr Štetiar
49638f2e78 ci: cram: pwhm, prplmesh: accept testbed-02 OSPv2 backhaul OUI
Currently the MXL OSPv2 backhaul cram checks accept only the
4C:BA:7D and A8:C2:46 OUIs for generated backhaul SSIDs and
the prplMesh controller bridge MAC. That list was introduced by
commit 3350a8a5ba ("ci: cram: mxl25641-hdk-6: allow 2nd
vendor MAC OUI in backhaul SSID") for MR !2035.

That MR validated the new B-Step hardware on testbed-01, where
the target reported A8:C2:46. PPW-1893 keeps failing on
testbed-02, where the same target type reports AC:9A:96 instead.
The tests are target-generic, but the CI job result depends on
which physical testbed device is selected.

The failing job confirms that the runtime values are otherwise
well formed and only the OUI whitelist is stale:
.gitlab/tests/cram/mxl25641-hdk-6/100-pwhm_step_1.t: failed
-  backhaul_(4C:BA:7D|A8:C2:46):[0-9A-F]{2}:[0-9A-F]{2}:[0-9A-F]{2} (re)
+  backhaul_AC:9A:96:F0:E9:A0
.gitlab/tests/cram/mxl25641-hdk-6/110-prplmesh-dataelements.t: failed
-          bridge MAC: (4C:BA:7D|A8:C2:46):[0-9A-F]{2}:[0-9A-F]{2}:[0-9A-F]{2} (re)
+          bridge MAC: AC:9A:96:F0:E9:A1

So lets fix the stale whitelist by accepting AC:9A:96 in the
same MXL OSPv2 backhaul SSID and bridge MAC regexes, while
leaving the existing 4C:BA:7D and A8:C2:46 coverage intact.

Fixes: 3350a8a5ba ("ci: cram: mxl25641-hdk-6: allow 2nd vendor MAC OUI in backhaul SSID")
References: PPW-1893
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/merge_requests/2035
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/14162578476#L908
Assisted-by: codex:gpt-5.5:xhigh
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2026-05-02 07:08:38 +02:00
ahmed sassi
c7ea8021e0 Revert "ci: cram: reorganize pwhm usp tests"
This reverts commit 7560c16e81 (MR 2395,
PPW-1606), which moved the USP-related CRAM steps to new locations.

After merge the reorganization caused the MxL CRAM
120-prplmesh-static-puncturing.t step to fail consistently on pWHM
MRs, blocking the integration pipeline:

  Check that 5GHz private vap status:
    $ wifi_dm "AccessPoint.1.SSIDReference+.Status?"
    Device.WiFi.SSID.\d+.Status="Up" (re)
    Device.WiFi.SSID.1.Status="Down"

  Check the new SSID SSIDforStaticPunct is applied 1 time
    $ wifi_dm "AccessPoint.1.SSIDReference+.SSID?"
    Device.WiFi.SSID.\d+.SSID="SSIDforStaticPunct" (re)
    Device.WiFi.SSID.1.SSID="prplOSguest"

The same failure was visible pre-merge in MR 2395 review (note
3163142766 pointing at job 13373579057, line 426) but was assessed
as a stale dev-branch artifact and not addressed. After merge it
reproduced on many pWHM MRs (2560, 2589, 2338) and several jobs.
Reverting both MR 2395 commits restores a green pipeline; a proper
reorganization will be reattempted in a follow-up.

Fixes: PPW-1894
References: PPW-1606
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/merge_requests/2395
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/merge_requests/2395#note_3163142766
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/13373579057#L426
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/13807353002
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/14151633080
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/14141094752
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/14144894879
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/merge_requests/2599
Link: https://prplfoundationcloud.atlassian.net/browse/PPW-1894
Signed-off-by: ahmed sassi <ahmed.sassi_ext@softathome.com>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org> [description, jira]
2026-05-01 05:52:02 +02:00
ahmed sassi
58e59ce689 Revert "Revert "PROVISORY: cram: move 102-pwhm-usp.t after 103-apmld.t""
This reverts commit 2ba528d340, restoring
the PROVISORY workaround that moves 102-pwhm-usp.t after 103-apmld.t.

The reorganization merged via MR 2395 (PPW-1606) introduced a
regression in MxL CRAM that surfaced after merge in many pWHM MRs.
Until a proper fix is in place the provisory ordering is reinstated
to unblock the integration pipeline.

Fixes: PPW-1894
References: PPW-1606
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/merge_requests/2395
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/merge_requests/2599
Link: https://prplfoundationcloud.atlassian.net/browse/PPW-1894
Signed-off-by: ahmed sassi <ahmed.sassi_ext@softathome.com>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org> [description, jira]
2026-05-01 05:51:13 +02:00
Ahmed Amine HAOUES
7528c2d514 profiles: enable wpa-qca-cli pkg in qca_ipq95xx profile
New tool:
- enable wpa-qca-cli pkg to build and deploy wpa_cli needed
for wifi bkh debugging

Closes: PPM-4013
Signed-off-by: Ahmed Amine HAOUES <ahmed-amine.haoues_ext@softathome.com>
2026-04-30 13:45:19 +00:00
Salma Bouchaala
7651089899 cram: DHCPv6Server Status should be Enabled
Signed-off-by: Salma Bouchaala <salma.bouchaala@sofrecom.com>
2026-04-28 16:18:13 +01:00
Houssem Dafdouf
7560c16e81 ci: cram: reorganize pwhm usp tests
Problem:
During the integration of PPM-3671, the 103-apmld.t script started
failing due to an incorrect security mode set by previous tests.

Cause:
The security mode was unexpectedly modified during the execution of
102-pwhm-usp.t while toggling AP1. This happens because prplMesh now
runs in controller mode as part of PPM-3671.

Solution:

When testing pure PWHM features, prplMesh should not be running to
avoid conflicts. This was previously the case, except for the AP1
toggling step executed in wifi-usp.t.

Move the USP-related test cases to more appropriate locations:
- USP socket creation and PWHM USP event checks (AP1 toggling):
  moved to 100-pwhm.t where prplMesh is kept stopped
- prplMesh connection to the PWHM direct socket:
  moved to 110-prplmesh-dataelements.t
- 102-pwhm-usp.t is so removed from fast track test scripts

These changes are integrated after reverting the previous provisory
commit: 3b91d691da

Closes: PPW-1606
References: PPM-3671
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
2026-04-28 14:53:04 +00:00
Houssem Dafdouf
2ba528d340 Revert "PROVISORY: cram: move 102-pwhm-usp.t after 103-apmld.t"
Revert this commit and reorganize tests to properly resolve conflicts
between pwhm and prplMesh.

In the next commit we should move the different  usp test steps to the
correct locations.

This reverts commit 3b91d691da.

References: PPM-3589
Closes: PPW-1606
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
2026-04-28 14:53:04 +00:00
Houssem Dafdouf
5e7283d5ae ci: testbed: Increase timeout up to 72 min
Increasing the CI timeout is needed by the new bSTAMLD tests updates,
in addition to the previously integrated crams.

References: PPM-3950, PPM-3989, PPW-1861
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
(cherry picked from commit 80492d90fa15c53a7ce8cc788ba202b4d4af7b8e)
Signed-off-by: FAOUZI YAHYA <faouzi.yahya_ext@softathome.com>
2026-04-27 11:25:21 +01:00
Adnen Masmoudi
f76c4a8422 ci: cram: add new tests for tr181-mqtt and tr181-bulkdata
To validate the new functionality, the following test cases were added:

tr181-mqtt:
---------
- Verify `MQTT.Client.Publish` RPC sends message to local broker.
- Verify `OnMessage!` event is triggered upon message reception
- Use ubus subscriber to assert payload content
- Use `mosquitto_sub` to assert message delivery end-to-end

tr181-bulkdata:
---------
- Verify BulkData profile creation and configuration with MQTT transport
- Verify parameter collection and JSON report encoding
- Verify end-to-end message delivery via local mosquitto broker

References: PCF-2394
Signed-off-by: Adnen Masmoudi <adnen.masmoudi_ext@sofathome.com>
2026-04-23 10:27:30 +01:00
ahmed sassi
600108aeb7 ci: cram: obuspa: add parameter ImportFailureReason ,SchemaVersion ,SetActionStatus(), input:Reason
This MR adds the missing parameter in the obuspa expected file
that was not merged in MR 2460.

References: PPW-1860
Signed-off-by: ahmed sassi <ahmed.sassi_ext@softathome.com>
2026-04-21 16:34:24 +00:00
Petr Štetiar
99912e34ae PROVISORY: ci: cdrouter: OSPv2: switch USP MTP from MQTTv5 to WebSocket
On the MXL25641-HDK-6 Mandatory Network Test Plan the prplos.1.2.9 test
disables Device.DHCPv4.Server. and forces the DUT to renew its WAN IPv4
lease. After the renewal obuspa's MQTTv5 TCP socket to the CDRouter
broker goes silently half-dead: the socket stays ESTABLISHED, but obuspa
sends no PINGREQ (despite KeepAliveTime=60), does not arm SO_KEEPALIVE
and does not reconnect, so every subsequent USP GET/SET times out. The
regression is 66 tests (prplos.1.2.9-1.6.23) and was confirmed on a
live bench; a manual Device.MQTT.Client.1.Enable false/true recovers
the suite instantly.

So lets workaround it by switching this one job to WebSocket MTP,
mirroring what the Candidate sibling job already does. Other platforms
are not affected and are intentionally left untouched.

Revert this block once the system-level fix for the half-dead socket
lands.

References: PPW-1837
Assisted-by: claude:opus-4-7:1m-context
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2026-04-21 16:58:23 +01:00
Piotr Nakraszewicz
d7119330e0 ci: cram: adjust to Device.Security changes
Reflect tr181-security new startup order

Insert the cram test CA bundle into defaults rather than extensions, not
to conflict with the already existing CA bundle.
The existing CA bundle is indexed at 1, so index this one at 2.
Soon this should be replaced with aliases.

References: PCF-1323
Signed-off-by: Piotr Nakraszewicz <piotr.nakraszewicz@consult.red>
2026-04-21 16:58:23 +01:00
Sergio Panseri
9941ead323 profiles: extender_full, mgmt: obuspa: enable WebSocket MTP support
OBUSPA supports websockets as MTP together with Stomp and MQTT, but it
is disabled at compilation time.  As part of FEAT-63, websocket support
in OBUSPA is now enabled by default.  ci: cdrouter: add USP cdrouter
tests over MQTT and websockets and update the controller's server and ca
certificate locations.

References: PCF-1323
Signed-off-by: Sergio Panseri <sergio.panseri@consult.red>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org> [rebased]
2026-04-21 16:58:23 +01:00
Sergio Panseri
3341cc032a ci: cram: obuspa: Security data model source change
To be able to expose tr181-security's 'Device.Security.' to
OB-USP-A, this has to be compiled with REMOVE_DEVICE_SECURITY_CERTIFICATE.
cram: the expected output from the CRAM test obuspa.t is now different as it
comes from tr181-security

References: PCF-1323
Signed-off-by: Sergio Panseri <sergio.panseri@consult.red>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org> [rebased]
2026-04-21 16:58:23 +01:00
Petr Štetiar
e266163bea ci: cdrouter: switch USP testing from STOMP to MQTTv5 as primary MTP
Currently all CDRouter USP protocol tests in prplOS use STOMP MTP
(100%). This no longer matches the FEAT-63 delivery plan and industry
adoption.

MQTTv5 should become the default MTP for the majority of CDRouter test
runs, while keeping WebSocket and STOMP coverage in some jobs as smaller
regression slices.

So lets switch the shared template to MQTTv5 by default, parameterising
the shipped CDRouter configs instead of cloning them, and adding guarded
DUT init helpers that stop obuspa, install the requested reset file,
clear /etc/obuspa.db, start obuspa again, and wait for the USP data
model to come back.

Use the existing job matrix to keep protocol coverage aligned with the
agreed distribution:

 - Wireless smoke tests use WebSocket
 - prplOS Network Test Plan Candidate jobs use WebSocket
 - IPv6 Top-100+mDNS VLAN jobs use STOMP
 - all remaining jobs use MQTTv5
 - MQTTv3 stays out of scope

References: PCF-1323, PCF-2322
Assisted-by: codex:gpt-5.4:xhigh
Assisted-by: claude:opus-4-6:1m-context
Co-developed-by: Sergio Panseri <sergio.panseri@consult.red>
Co-developed-by: Piotr Nakraszewicz <piotr.nakraszewicz@consult.red>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2026-04-21 16:00:15 +01:00
Petr Štetiar
0d0daed7f5 ci: cdrouter: validate package manifests before DUT bringup
Currently the cdrouter pipeline validates package manifests only when
package_apply runs in the script phase, after the DUT bringup and init
steps in before_script. When a manifest has human errors, the job spends
several minutes on setup before failing on package_apply.

So lets add an explicit package_validate subcommand that reuses the same
manifest resolution and package option checks without requiring API
mutation, and execute it as the first operational step in before_script.
This fails fast on manifest mistakes and avoids wasting DUT bringup time.

References: PCF-2532
Assisted-by: codex:gpt-5.4:xhigh
Assisted-by: claude:opus-4-6:1m-context
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2026-04-21 16:00:15 +01:00
Petr Štetiar
eae3f27ec9 ci: cdrouter: switch pipeline to YAML-based package_apply
Currently the CI pipeline imports CDRouter packages from .gz binary
exports using the package_import subcommand which stages files
through the CDRouter import API.

So lets switch the pipeline to use the new package_apply subcommand
which loads YAML manifests directly, resolves includes, and upserts
packages via the CDRouter packages API. The TEST_PACKAGE variable
derivation from CI_JOB_NAME remains unchanged - only the file
extension (.gz) is dropped and the subcommand changes from
package_import to package_apply.

References: PCF-2534
Assisted-by: codex:gpt-5.4:xhigh
Assisted-by: claude:opus-4-6:1m-context
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2026-04-21 16:00:15 +01:00
Petr Štetiar
fe9c778e77 ci: scripts: add YAML manifest loader and package_apply subcommand
Currently testbed-cdrouter.py only supports importing packages from
opaque .gz binary exports via the package_import subcommand. This
requires staging, committing, and name-patching through the CDRouter
import API, and provides no way to define packages as readable,
version-controlled YAML.

So lets add a resolve_manifest() method that loads YAML package
manifests with full include resolution and a package_apply
subcommand that upserts packages on the CDRouter instance via the
packages API.

The manifest resolver has strict validation:
  - Key allowlist (name, description, includes, tests, options,
    dedup_tests); unknown keys are rejected
  - Forbidden keys (config, device, config_id, device_id)
  - Root manifest name must match its filename
  - Group manifests (under groups/) must not define name,
    description, or options
  - Type checks on all fields

Include resolution uses depth-first traversal with cycle
detection, path traversal rejection, and root-wins option merge.
Test deduplication is configurable via the root-only dedup_tests
boolean (defaults to false, preserving duplicates). Non-root
manifests (both includes and groups) must not define dedup_tests.

The package_apply subcommand performs deterministic upserts:
it always writes the complete manifest-driven state (testlist,
description, options) and only creates a new package on genuine
not-found errors from the CDRouter API.

Runtime config/device binding remains in the existing package_run
flow, keeping package manifests environment-agnostic.

References: PCF-2532
Assisted-by: codex:gpt-5.4:xhigh
Assisted-by: claude:opus-4-6:1m-context
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2026-04-21 16:00:15 +01:00
Petr Štetiar
6bc69fde54 ci: scripts: add CDRouter .gz to YAML package converter
Currently CDRouter test packages are stored as opaque .gz binary
exports in .testbed/cdrouter/packages/. These binary blobs are not
human-readable, not diffable, and carry implicit fields that leak
runtime state into the repository.

So lets add a converter script that reads the two-line JSON format
inside .gz exports and emits clean unversioned YAML manifests. The
converter extracts name, description, testlist (as tests), and
options from each .gz file. By default it compacts the options map
by omitting keys matching known CDRouter defaults, keeping only
semantic overrides. The --preserve-all-options flag emits the full
source options map when needed.

Fidelity verification expands both source and generated options
with known defaults before comparison, so compact manifests with
omitted defaults still pass. Testlist order is compared exactly.
The converter rejects packages where the internal name does not
match the .gz filename.

CLI supports --input-dir, --output-dir, --filter, --dry-run,
--overwrite, --preserve-all-options, and --verbose flags. Exits
non-zero if any package fails fidelity.

References: PCF-2531, PCF-2535
Assisted-by: codex:gpt-5.4:xhigh
Assisted-by: claude:opus-4-6:1m-context
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2026-04-21 16:00:15 +01:00
Petr Štetiar
f0c7a4251d ci: testbed: fix UnicodeDecodeError in console log dump
The console log from labgrid's serial connection can contain raw binary
bytes (e.g. 0xf6) that are not valid UTF-8. When
handle_exception_dump_console() reads the file with the default "r" mode
it crashes with UnicodeDecodeError, losing the debug output.

Open the file with errors="replace" to substitute invalid bytes with
the Unicode replacement character instead of crashing.

Fixes: 50298e9b64 ("ci: testbed-device.py: improve error reporting during the board bringup")
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2026-04-21 16:00:15 +01:00
Petr Štetiar
dfad4af7a5 ci: testbed: remove dead UART relay SSH setup
Currently the testbed-01 before_script and after_script sections
contain an SSH key setup block that runs ssh-keyscan against
$TESTBED_UART_RELAY_HOST (uart-relay.testbed.vpn.true.cz). This
host was used by the old SSH-based ExternalPowerDriver for UART
relay access, but it was replaced by Modbus/TCP in commit
69cb220a0. The host is now unreachable, so ssh-keyscan exits
non-zero and set -e aborts the job, breaking all testbed-01
pipelines.

So lets fix this by removing the dead SSH key setup blocks from
both testbed.yml and cdrouter.yml (before_script and
after_script), as well as the TESTBED_UART_RELAY_HOST variable
definition. The ssh-keyscan $TARGET_LAN_IP lines for DUT SSH
access are left untouched as they serve a different purpose.

References: PCF-2361
Fixes: 69cb220a00 ("ci: testbed-01: labgrid: hook in new Papouch Quido relay board")
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2026-04-21 16:00:15 +01:00
Alexandre Fiset
e28a72b9ff ci: cram: periodicFile transfer
When developping F-115, X_PRPLWARE-COM_ForceTransfer was made public and
not added in the obuspa.t test.

This commit add it$

References: PPW-1809
Signed-off-by: ahmed sassi <ahmed.sassi_ext@softathome.com>
2026-04-21 14:35:06 +00:00
ahmed sassi
5b1445abb1 ci: cram obuspa: handle new ForceSolicitPolicy parameter in DHCPv6 client
Add support for the TR-181 parameter
Device.DHCPv6.Client.{i}.X_PRPLWARE-COM_ForceSolicitPolicy.

This parameter was recently introduced in tr181-dhcpv6client and
caused the obuspa.t CRAM test to fail because it was not handled
in the expected output.

References: PPW-1820
Signed-off-by: default avatarahmed sassi <ahmed.sassi_ext@softathome.com>
2026-04-20 08:36:15 +00:00
Hari Sriram
3fe6a1b383 ci: cram: increase lcm tests priority to run before all generic tests
Update testbed.yml to make lcm tests run before other tests under generic
including backup and restore tests to avoid lcm tests failure issue
mentioned in PPW-1787.

Adding removal of testrole2 in 037-lcm-capabilities.t testcase cleanup.

Signed-off-by: Hari Sriram <hari.s@capgemini.com>
Signed-off-by: ahmed sassi <ahmed.sassi_ext@softathome.com>
2026-04-17 16:49:44 +01:00
jayamathi-code
7f4bd8f6b7 ci: cram: Review and implement prplWare upgrade/backup&restore - FEAT-132
This change:
- Adds cram tests for this feature

Implements: PCF-2198, PCF-2240
Signed-off-by: Jayamathi E <e.jayamathi@capgemini.com>
Signed-off-by: Hari Sriram <hari.s@capgemini.com>
2026-04-17 16:49:44 +01:00
Sriya Nair
db69aa8440 profiles: prpl-core.yml: feed-prplmesh: Add a new parameter PowerType under Device.WiFi.Radio in pwhm
Introduced a new configurable parameter(Device.WiFi.Radio.{i}.PowerType) to allow
to configure the 6GHz AccessPoint Type. This DM is applicable only for 6GHz.
For 2.4GHz and 5GHz, this DM would return empty string and for
6GHz the default value would be Standard_Power_AP.

Integrates:
- 0a1c00b6: ("pwhm: add a new parameter PowerType under Device.WiFi.Radio.", 2025-10-08)
- af079781: ("libswlc: add 6GHz PowerType related parameters", 2025-10-08)

Closes: PPM-3552
Signed-off-by: Sriya Nair <sriya.n@tataelxsi.co.in>
Signed-off-by: Hela Saadani <hela.saadani_ext@softathome.com>
2026-04-17 11:13:20 +01:00
Chandana Ramappa
8e12a9ddd0 MLD Configuration MR-4124
WiFi7 Capabilities reporting from pWHM (BWL) up to Agent MR-4174, MR-4192
AP-MLD Information Reporting MR-4186.

Reference: PPM-3564, PPM-3655, PPM-3682, PPM-3679
Closes PPM-3930
Signed-off-by: Chandana Ramappa <chandana.r@tataelxsi.co.in>
2026-04-17 07:48:07 +00:00
Petr Štetiar
9431435b24 ci: cram: obuspa: verify obuspa datamodel fixtures on the DUT
Currently generic/obuspa.t and generic/obuspa-cellular.t keep
large inline datamodel transcripts and compare them directly in the
cram file. That makes the tests hard to maintain and pushes the full
snapshot through the cram output path. The first DUT snapshot rework
also split the before and after checks across two cram commands, so
.t.err stopped rendering after the first mismatch and hid the
post-restart diff.

So lets move the expected generic and cellular datamodels into
fixture files and verify them through a shared host-side helper. The
helper uploads the target dump script with CRAM_REMOTE_COPY,
captures the datamodel on the DUT, copies it back, and compares it
locally. It now runs the full before/restart/after sequence in one
command so cram keeps both diff sections, and it stores *.actual and
*.diff artifacts for CI and local fixture refreshes.

Fixes: PCF-2475
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2026-04-15 13:21:08 +02:00
Marvin Lu
fc428b33d6 Revert "PROVISORY: ci: wnc-freedom: make 110-prplmesh-dataelements.t pass with 2.4GHz 20MHz workaround"
This reverts commit 3c2ef152fe.

References: PCF-2455

Signed-off-by: Marvin Lu <marvin.lu@wnc.com.tw>
2026-04-15 09:45:15 +00:00
Antoine Philippe
0ea9d2edc9 ci: cram: 039-lcm_dustatechange.t: accept 1-9 digits for timestamp fractional seconds in LCM DUStateChange
ISO 8601 allows variable precision for fractional seconds.
The system may return microseconds (6 digits) or nanoseconds (9 digits).
Both are valid, so the test regex is updated to accept 1-9 digits.

References: PPW-1670
Signed-off-by: Antoine Philippe <antoine.philippe@softathome.com>
2026-04-15 09:41:08 +00:00
Artem Trokhymchuk
21a10d1da4 ci: cram: prplmesh-dm-mapper: add test pwhm events
Problem: sometimes prplmesh-dm-mapper eventing tests reports failure
as if mapper did not send events, but in fact the source of the problem
is not clear: it can be mapper not sending them, or pwhm not emitting
them.

Solution: when testing events through mapper, add  test using pwhm USP
socket so that we can check whether mapper or PWHM is at fault.

Closes: PPW-1680
References: FEAT-27
Signed-off-by: Artem Trokhymchuk <a.trokhymchuk@inango-systems.com>
2026-04-15 09:20:07 +00:00
jim_yang
4820c39fd9 ci: cram: add WoL packet transmission test
Add a CRAM test that verifies Wake-on-LAN packet transmission
through the Device.Ethernet.WolL.SendMagicPacket RPC.

Use tcpdump to capture the generated UDP port 9 packet
and validate it in CI.

References: PCF-1774, FEAT-74
Signed-off-by: jim_yang <jim_yang@sdc.sercomm.com>
2026-04-15 09:21:00 +01:00
FAOUZI YAHYA
a5fc999bf1 ci: cram: obuspa: add Device.Ethernet.WoL config
Integrates following changes:
-add Device.Ethernet.WoL config

References: References: PCF-1173
Signed-off-by: FAOUZI YAHYA <faouzi.yahya_ext@softathome.com>
2026-04-15 09:21:00 +01:00
FAOUZI YAHYA
f0af69315a ci: cram: ubus-datamodel-list: add Ethernet.WoL
Integrates following changes:
- add Ethernet.WoL

References: PCF-1733, TR-181, PCF-1773, PCF-1173

Signed-off-by: FAOUZI YAHYA <faouzi.yahya_ext@softathome.com>
2026-04-15 09:21:00 +01:00
Alexandre Fiset
e5fd113bd3 PROVISORY: cram: do not check for ssdp beybey
For now a supnp device sending beybey is keept in the upnp-discovery
data model. No real mechanism is done to remove them properly. This
mechanisme will be introduces by PPW-1533.

Referencs: PPW-1533
Signed-off-by: Alexandre Fiset <alexandre.fiset@softathome.com>
2026-04-15 07:53:01 +02:00
Petr Štetiar
6792ba6b95 PROVISORY: ci: testbed: install minidlna and avahi packages at runtime
Currently the gmap upnp and dnssd cram tests (066-gmap-mod-upnp.t,
068-gmap-mod-dnssd.t) each duplicate apt source fixing and package
installation inline, which is fragile, slow and inconsistent with
the established pattern of pre-installing test dependencies.

So lets fix this by moving the runtime apt package installation
(minidlna, avahi-daemon, avahi-utils, dbus) into the testbed
before_script, following the pattern from commit d247c51ed663
("ci: cram: remove runtime pip install calls from tests").

The proper fix is to pre-install these packages in the testbed
Docker image, which is blocked on the container pipeline rebuild.

References: PPW-1258
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2026-04-15 07:53:01 +02:00
Alexandre Fiset
1544ea8630 ci: cram: add gmap upnp and dnssd tests
Add new tests for upnp and dnssd gmap modules.

The tests emulate upnp and dnssd services with minidlns and avahi.

This test the arrival and the departure of services.

Close: PPW-1619
Signed-off-by: Alexandre Fiset <alexandre.fiset@softathome.com>
2026-04-15 07:52:50 +02:00
Racha Hamhoum
438ce030f3 cram: ci: time-manager: add test to prevent future regressions when IPVersion is forced to IPv6 or IPv4
References: PPW-1331
Signed-off-by: Racha Hamhoum <racha.hamhoum_ext@softathome.com>
2026-04-10 14:51:11 +01:00
Nabil BIZID
fff0bbe4f9 ci: cram: 038-lcm-pcm: ignore LPM Action runtime params
038-lcm-pcm compares data model snapshots taken before and after
fake_fw_upgrade. It filters runtime-only parameters through a
runtime_params ignore list before checking the diffs.

After commit 84d5923af0 ("profiles: lcm.yml: feed_lcm:
cthulhu-lpm: policy: fix malformed default policy file"), the
post-upgrade snapshot contains LocalPolicyManager.Action.1 runtime
entries. Because those parameters are not in the ignore list, the
test reports false runtime parameter mismatches.

Instead of extending the inline here-document again, move the ignore
list into ${TESTDIR}/lcm-pcm_runtime_params so it is easier to
review and maintain. Add the LocalPolicyManager.Action.1 parameters
there and copy the file into /tmp/lcm-pcm/runtime_params before
running the diff checks.

Fixes: PPW-1797
References: PPW-1637, PPW-1638
Fixes: 84d5923af0 ("profiles: lcm.yml: feed_lcm: cthulhu-lpm: policy: fix malformed default policy file")
Signed-off-by: Nabil BIZID <nabil.bizid@softathome.com>
2026-04-10 13:41:22 +00:00
Toon Caeyers
88e371def5 ci: cram: obuspa: WANManager: Add new Tags parameter
A new tags parameter was added to the wan-manager. This parameter can be used to put certain tags/labels on a wan-mode.
This tags parameter will be provided to the (vendor) modules as is.
The (vendor) module can then change it's behavior depending on the tags which are set.

The obuspa cram test needed to be updated to now also expect this new parameter.

References: PCF-2434, FEAT-287
Signed-off-by: Toon Caeyers <toon.caeyers_ext@softathome.com>
2026-04-10 14:37:41 +01:00
Toon Caeyers
3914613a4d ci: cram: OSPv2: build-config: Use OSPv2 specific mod-wanmgr-system module
The mod-wanmgr-system module is generic for board requiring just a reboot between modes with different physical type. As the OSPv2 requires more, the mod-wanmgr-system-ospv2 module is introduces that will configure the required settings when called.

This module replaces the mod-wanmgr-system module.

References: PCF-2471, FEAT-287
Signed-off-by: Toon Caeyers <toon.caeyers_ext@softathome.com>
2026-04-10 14:37:41 +01:00
Toon Caeyers
4805acec89 ci: cram: freedom: build-config: Don't install mod-wanmngr-system on freedom board
The mod-wanmngr-system module is not used on the freedom board (not loaded in by wan-manager) as there is no need for any board specific configurations/reboots between mode toggles.

As the module is not used, it should not be installed on the build.

References: PCF-2471, FEAT-287
Signed-off-by: Toon Caeyers <toon.caeyers_ext@softathome.com>
2026-04-10 14:37:41 +01:00
Toon Caeyers
bcd35c4ce0 ci: cram: ubus-datamodel-list: SFP: Replace SFP-manager with tr181 compliant version
The SFP datamodel is replaced by a tr181 compliant version.
The ubus-datamodel-list cram test needs to be updated to remove the vendor prefixed version by the tr181 compliant version.

References: PCF-2164, FEAT-287
Signed-off-by: Toon Caeyers <toon.caeyers_ext@softathome.com>
2026-04-10 14:37:41 +01:00
Toon Caeyers
c3cb59e34d ci: cram: obupsa: SFP: Replace SFP-manager with tr181 compliant version
The SFP datamodel is replaced by a tr181 compliant version.
The obuspa cram test needs to be updated to remove the vendor prefixed version by the tr181 compliant version.

References: PCF-2164, FEAT-287
Signed-off-by: Toon Caeyers <toon.caeyers_ext@softathome.com>
2026-04-10 14:37:41 +01:00
Toon Caeyers
8f2901a832 ci: cram: obuspa: XPON: SFPRefereneceList is not tr181 compliant
The X_PRPLWARE-COM_SFPReference parameter in xpon is now standardized as SFPReferenceList in the tr181 implementation of the xpon datamodel.

The plugin is updated according to the 2.19 version of tr181. The obuspa test should be updated as well with the new version.

References: PCF-2164, FEAT-287
Signed-off-by: Toon Caeyers <toon.caeyers_ext@softathome.com>
2026-04-10 14:37:41 +01:00
Alexandre Fiset
0d39b4ea07 ci: cram: add dhcpv6 force solicite cram tests
Add a tests to check if when force solicite is enable in dhcpv6-client,
the client doesn't wait a ra message to send the dhcpv6 solicite
message.

References: PCF-2295
Signed-off-by: Alexandre Fiset <alexandre.fiset@softathome.com>
2026-04-10 10:31:36 +01:00
FAOUZI YAHYA
6fe7708d30 ci: cram: obuspa.t: add Device.USPServices and Device.UnixDomainSockets
Integrates:
-add Device.USPServices and Device.UnixDomainSockets

References:  PCF-2408, FEAT-172, FEAT-110, FEAT-126
Signed-off-by: FAOUZI YAHYA <faouzi.yahya_ext@softathome.com>
2026-04-10 09:08:56 +01:00
Richard Holme
6cd3c5309e profiles: prpl_core: obuspa: bump to v11.0.0
Updates OBUSPA to v11.0.0

Prpl specific updates:
* Updated
002-remove_broker_dm_elements_which_are_to_be_registered_by_USPService.patch,
as file being patched has changed in OBUSPA
* Updated 004-increase_max_USP_services_and_controllers.patch, as file
being patched has changed in OBUSPA
* Removed 005-increase_max_usp_msg_len.patch, as not required since the
new default in OBUSPA is 5MB.
* Removed 008-file-descriptor-transfer-over-uds.patch, as changes have
been merged into OBUSPA
* Added 009-remove-add-certificate-support.patch, as AddCertificate()
data model element is not intended to be provided by OBUSPA in Prpl
* Added 010-enable_file_descriptor_passing.patch, to enable file
descriptor passing (as it is disabled by default in OBUSPA)
* Updated obuspa_param_reset.txt to add new authenticated pair of UDS
MTP sockets, and modified Alias value, as per HL-API discussions

NOTE: Changes to patches 005 and 009 were also committed as part of PR
to update to OBUSPA v10.0.14, but the changes have not yet been merged
to main

OBUSPA changes since v10.0.14:
Added
- FEAT-172: Authenticated UDS connections: USP Services must provide a
passsword in the UDS Handshake frame if
UnixDomainSocket.{i}.AuthRequired is set to true. Passwords are
configured in UnixDomainSockets.Authentication.{i}
- FEAT-110: Data model registration permissions: USP Services are only
permitted to register the DM elements specified
in USPServices.Trust.{i}, if
UnixDomainSocket.{i}.RegistrationRestricted is set to true.
- FEAT-126: File descriptor passing via Unix domain socket ancilliary
data for USP Services.
- Lines in the factory reset text file that begin with `+` automatically
add the parameter to OBUSPA's database.
  If it is already present, its existing value is left unchanged.

Modified
- factory_reset_example.txt renamed as stomp_factory_reset_example.txt
- OBUSPA's database may configure DeviceInfo.ProductClass, Manufacturer
and ModelName, overriding compile time defaults.

Fixed
- Crash that occurred if invalid UDS MTP parameters were present in
OBUSPA's database at startup.
- OBUSPA was not automatically creating intermediate directories in the
MUTABLE_CERT_DIR path.
- Alias uniqueness validation failures returned error code 7004 instead
of 7025.

References: PCF-2408, FEAT-172, FEAT-110, FEAT-126
Signed-off-by: Richard Holme <richard.holme@vantiva.com>
Closes: PCF-2408, FEAT-172, FEAT-110, FEAT-126
2026-04-10 09:08:46 +01:00
Petr Štetiar
c96baa8620 profiles: qca_ipq95xx: hostapd-qca: disable ucode and ubus configs
On Freedom ATH13.1, hostapd fails during AccessPointCommit with: "Error
loading ucode: Syntax error: Module /usr/share/hostap/common.uc does not
export 'wdev_get_radio_mask'".

This causes hostapd restart loops, loss of global control socket
connectivity, and eventually test failures in 110-prplmesh-dataelements
with all fronthaul SSIDs remaining Down.

Disable ucode and ubus integration in hostapd-qca by dropping
CONFIG_UCODE, removing CONFIG_UBUS in hostapd/wpa_supplicant configs,
and avoiding ubus_global usage in the qca ubus patch.

Fixes: PCF-2477
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Signed-off-by: Nikhil Gurram <nikhgurr@qti.qualcomm.com>
2026-04-08 15:31:40 +01:00
Ruslana Popovych
623c915912 PROVISORY: ci: cram: tr181-dhcpv4client: temporarily allow 0 or 1 Discover
A backend bug prevents Enable=0 from stopping the DHCP daemon, leaving
an orphaned process that occasionally broadcasts a DISCOVER packet right
after Stats.Reset(). Temporarily allowed CRAM test to accept Discover
count of 0 or 1 via regex [01] (re).

References: PPW-1593
Signed-off-by: Ruslana Popovych <ruslana.popovych@globallogic.com>
2026-04-08 09:16:00 +00:00
Ruslana Popovych
0db0e27c05 cram: fix flaky dhcpv4client stats test due to race condition
Calling Stats.Reset() clears the counters, but an active DHCP client
can immediately transmit a new DISCOVER packet before the test dumps
the stats. This race condition caused the Discover=0 assertion to
fail sporadically (observing 1 instead).

This commit fixes the flakiness by quiescing the DHCP client:
- Disable the client (Enable=0) before resetting stats.
- Perform the stats reset and verify they are 0.
- Re-enable the client (Enable=1) to restore state.

References: PPW-1593
Signed-off-by: Ruslana Popovych <ruslana.popovych@globallogic.com>
2026-04-08 09:16:00 +00:00
Petr Štetiar
cd4c4f608a Revert "PROVISORY: ci: cram: freedom: disable 5G modem tests"
This reverts commit a0773fdc32 as its
supposed to be fixed.

References: PCF-2306
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2026-04-03 13:37:48 +00:00
Marvin Lu
9abb4df08f profiles: qca_ipq95xx: update QCOM BSP to ATH13.1CSU1
1. Update the QCOM BSP to ATH13.1CSU1
2. Keep the following packages/configuration into prplos build per
   Qualcomm's ATH13.1CS release for prplos:
   kmod-qca-nss-ppe-pppoe-mgr
   kmod-qca-nss-ppe-gre-mgr
   kmod-qca-mdio
   kmod-qca-nss-ppe-ath-clients
   kmod-qca-wifi-nss-plugins
   CONFIG_BUSYBOX_CONFIG_DEVMEM=y

References: PCF-2409
Signed-off-by: Marvin Lu <marvin.lu@wnc.com.tw>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org> [005-build-config.t]
2026-04-03 13:37:48 +00:00
Petr Štetiar
20e74a936f
ci: cdrouter: fix VLAN/PPPoE jobs broken by fail-action script ordering
Currently dut-change-fail-action-to-restart.sh runs after
cdrouter-dut-enable-vlans.sh (and cdrouter-dut-enable-pppoe.sh) in the
DUT_INIT_SCRIPTS for VLAN and PPPoE jobs on all platforms. The VLAN init
reconfigures the LAN bridge port to accept only VLAN-tagged frames
(AcceptableFrameTypes=AdmitOnlyVLANTagged), so the subsequent SSH
connection from the fail-action script over untagged traffic to
192.168.1.1 fails with "No route to host" and the job times out after
180s without running any tests.

So lets fix it by moving dut-change-fail-action-to-restart.sh before the
network reconfiguration scripts, while SSH is still reachable over
untagged traffic, on all affected platforms (Freedom, Mozart,
MXL25641-HDK-6, Haze, Turris).

Fixes: PPW-1744
Fixes: 72bffed2f9 ("ci: cdrouter: cram: update ProcessMonitor FailAction to RESTART if it is set to REBOOT (PPW-1234)")
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/13683699971#L347
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2026-03-31 16:54:31 +02:00
Nabil BIZID
693e5596d9 PROVISORY: ci: 038-lcm-pcm.t: cleanup ApplicationData resources
Ensure ApplicationData resources are properly removed during
container uninstallation.
This change guarantees that resources are cleaned up to prevent
interference with subsequent tests.

References: PPW-1656
Signed-off-by: Nabil BIZID <nabil.bizid@softathome.com>
2026-03-27 16:06:49 +01:00
Nabil BIZID
b72454e87f ci: 038-lcm-pcm.t: improve test
- Ignore non-critical errors that do not impact test validity
- Introduce minimum wait time before starting timingila to allow
cthulhu registration, aligning with the boot process
- Add wait time before testing container network connectivity,
as the SSH service may take a few seconds to become available

References: PPW-985
Signed-off-by: Nabil BIZID <nabil.bizid@softathome.com>
2026-03-27 16:06:49 +01:00
Nabil BIZID
d308f6da1b PROVISORY: ci: 038-lcm-pcm.t: temporarily remove syncing Vendor/Descriptor
Vendor/Descriptor parameters should not be sync from Cthulhu to
SoftwareModules datamodel.

References: PPW-1655, PCF-2122
Signed-off-by: Nabil BIZID <nabil.bizid@softathome.com>
2026-03-27 16:06:49 +01:00
Nabil BIZID
ecf65c9b18 ci: 038-lcm-pcm.t: improve the backup-restore test
Enhance the backup and restore process for LCM by reducing
unnecessary waiting time.
Ensure the test is isolated from previous tests and perform a
container stop before stopping cthulhu, preventing potential hangs
caused by killing only some processes.

References: PPW-1638
Signed-off-by: Nabil BIZID <nabil.bizid@softathome.com>
2026-03-27 16:06:49 +01:00
Petr Štetiar
c803c87be3 Revert "PROVISORY: ci: 038-lcm-pcm.t: temporarily remove flaky test due to container start race"
This reverts commit e0aa34f235 as the
underlying issue should be fixed.

References: PPW-985, PCF-2117
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2026-03-27 16:06:49 +01:00
Mouna ALOUI
0e2b37ea22 ci: coverity: disable CONFIG_REGULATOR_CPR3 to fix cov-emit crash
During a coverity scan, cov-build intercepts all compiler calls and
runs cov-emit to parse each source file into an intermediate directory.
This captured representation is then passed to cov-analyze for static
analysis.

The coverity cov-emit tool (version 2025.6.0) crashes with an internal
assertion failure during the capture phase when parsing
drivers/regulator/cpr3-regulator.c. This was confirmed by inspecting
the cov-build log (.bridge/coverity_connect_scan/2025.6.0/idir/build-log.txt):
https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/13661606901/artifacts/external_file/logs/coverity-build-log.txt

  "drivers/regulator/cpr3-regulator.c", line 2504: internal error #2688:
        assertion failed: add_to_variables_list: var in file scope region
        (il.c, line 16907 in add_to_variables_list)

    mask = GENMASK(min(31, ctrl->sensor_count - i * 32), 0);

This is due to cov-emit using its own C parser which differs from GCC
and cannot handle the GENMASK(min(...)) macro expansion. The normal
build job is unaffected as it uses GCC directly.

Since cov-emit crashes during capture, the intermediate representation
for mac80211 is never completed, causing the entire package build to be
marked as failed by the coverity bridge before cov-analyze is reached.

Disable CONFIG_REGULATOR_CPR3 before defconfig to prevent
cpr3-regulator.c from being compiled and analysed. This driver is
unrelated to the wireless stack and its exclusion does not affect
coverity scan quality for mac80211/ath12k.

References: PPW-1646

Signed-off-by: Mouna Aloui <mouna.aloui@softathome.com>
2026-03-27 09:06:31 +00:00
Mouna ALOUI
610299e2f4 ci: coverity: install coccinelle to fix mac80211 build failure
The feed_qca mac80211 package introduced a Build/refactor step that
calls spatch (coccinelle) b1b495e940
to apply semantic patches on ath12k source
files. The coverity job was missing coccinelle, causing spatch to fail
and mac80211 to not build.

Add sudo to the apt-get command (required in this runner environment)
and install coccinelle to provide the spatch binary.

References: PPW-1646

Signed-off-by: Mouna Aloui <mouna.aloui@softathome.com>
2026-03-27 09:06:31 +00:00
Mouna ALOUI
7384a45069 ci: coverity: collect cov-build log as artifact for debugging
The coverity bridge writes its internal build log to:
  .bridge/coverity_connect_scan/*/idir/build-log.txt

This file contains detailed compiler invocations and cov-emit errors
that are not visible in the CI job log due to truncation. Copy it to
the logs/ directory so it is collected as a CI artifact and available
for debugging future coverity build failures.

References: PPW-1646

Signed-off-by: Mouna Aloui <mouna.aloui@softathome.com>
2026-03-27 09:06:31 +00:00
Blessy Sara John
516eeca13e ci: cram: 104-pwhm-custom-arguments.t instability
Problem:
 The test case for wpa_supplicat test is failing 104-pwhm-custom-arguments.t intermittently

Fix:
Restructured the cram test to check wld is up, EndPoint status ,executed
hostapd and wpa_supplicant test separately to avoid any race condition
because of interface bring up delay while doing combinedly

Referrences: PPW-1566

Signed-off-by: Blessy Sara John <blessysara.j@tataelxsi.co.in>
2026-03-26 15:14:47 +00:00
Florian Rouzaud
16151853e4 PROVISORY: ci: 095-reboot-service.t: disable test on Freedom board because this board doesn't support ll-api bootstatus
This cram test check CurrentBootCycle. This field need the ll-api bootstatus in order to have the correct value.
That's why the freedom board needs ll-api bootstatus support to be able to pass this cram test.

References: PCF-2288
Signed-off-by: Florian Rouzaud <florian.rouzaud@softathome.com>
2026-03-26 11:05:57 +01:00
Florian Rouzaud
2b1401b5e0 ci: cram: 095-reboot-service: Reboot.Reasons protected, no prefix for CurrentBootCycle, reason/cause compliance
Problem:
Tests are failing

Cause:
Tests aren't sync with the new reboot DM

Solution:
Update the tests to reflect the code changes

References: PCF-1811
Signed-off-by: Florian Rouzaud <florian.rouzaud@softathome.com>
2026-03-26 11:05:57 +01:00
Florian Rouzaud
e691ebe927 ci: cram: obuspa: Remove protected parameter and X_PRPLWARE-COM_CurrentBootCycle parameter because it has been renamed.
References: PCF-1811
Signed-off-by: Florian Rouzaud <florian.rouzaud@softathome.com>
2026-03-26 11:05:57 +01:00
FAOUZI YAHYA
9251da8a3b ci: cram: obuspa add Reboots.CurrentBootCycle and Reboots.CurrentVersionBootCount
Integrates following changes:
-add Reboots.CurrentBootCycle and Reboots.CurrentVersionBootCount

References: PCF-1811
Signed-off-by: FAOUZI YAHYA <faouzi.yahya_ext@softathome.com>
2026-03-26 11:05:57 +01:00
Houssem Dafdouf
101bdbe083 ci: cram: freedom: update cram test for latest pwhm getEhtOperation changes
Latest pwhm update changed the behavior of the getEhtOperation output.
Adapt the test accordingly.

Main updates:
- Dynamic length of EhtOperationIE
- DisabledSubChannels validation

Closes: PPM-3836
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
2026-03-25 15:46:18 +01:00
Houssem Dafdouf
835a621df2 ci: cram: 120-prplmesh-static-puncturing.t: add hostapd configuration check
Increase test coverage by checking hostapd configuration file during
the execution of 120-prplmesh-static-puncturing.t.

Closes: PPM-3836
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
2026-03-25 15:41:37 +01:00
Houssem Dafdouf
78789ad508 PROVISORY: ci: cram: OSPv2: disable 120-prplmesh-static-puncturing.t
Problem:
As previously done with 103-pwhm-static-puncturing.t, temporarily
disable 120-prplmesh-static-puncturing.t on OSPv2.

This test was not previously causing failures in CI because the hostapd
configuration was not validated. A new check for the hostapd
configuration will be added to the cram test, which would cause the
test to fail.

Disable the test for now until the issue is properly fixed (PCF-2350).

References: PCF-2350
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
2026-03-25 15:41:37 +01:00
Houssem Dafdouf
7eca5a9e19 ci: cram: remove not allowed static puncturing test
Problem:
More than one 5 GHz channel was disabled with 80 MHz bandwidth,
which is not allowed by the specification. On of the The 6GHz
puncturing opreation was also invalid.

Reference: IEEE Std 802.11be - Part 11 - Table 36-30

Solution:
Disable only one 5 GHz channel when using 80 MHz bandwidth and
remove the invalid 6GHz configuration.

Closes: PPM-3836
Signed-off-by: Mohammed SI ALI <mohammed.siali@softathome.com>
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
2026-03-25 15:41:37 +01:00
Vladyslav Tupikin
d7ad1a5a9e ci: cram: 125-process-manager: wifi sensing has two instances running
Currently process manager CRAM tests using
simple pgrep on exact application name, that leads
to race condition between rc.d startup and wifi-sensing.
It happens because init.d script has the same name as
an actual application.

As a result, pgrep shows 2 applciations with same name launched.

Proposed solution is to use full path to the executables in
Process Manager CRAM tests that shows proper number of launched
proccesses in the system.

Closes: PPW-1633
Signed-off-by: Vladyslav Tupikin <v.tupikin@inango-systems.com>
2026-03-25 13:50:15 +00:00
Houssem Dafdouf
42b1289981 ci: cram: update getEHTOperations cram test
Updated getEHTOperations with 3 parameters :
- EHT Default PE Duration
- Group Addressed BU Indication Limit
- Group Addressed BU Indication Exponent

References: PPM-3665
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
2026-03-24 14:36:37 +01:00
Hari Sriram
efd0c09175 ci: cram: exclude prplmesh, wifi-sensing and pwhm from amx-processmonitoring checks
Exclude prplmesh, wifi-sensing and pwhm from verification of
amx-processmonitoring failure checks. After merge of feat 27
this exclusion can be removed.

Also excluding wifi-scheduler, PPW-1679 raised for wifi-scheduler failures.

Signed-off-by: Hari Sriram <hari.s@capgemini.com>
2026-03-24 10:01:50 +05:30
Hari Sriram
1862a36911 ci: cram: update MaxFailNum after service restart for amx-processmonitoring testcase
MaxFailNum, ProcessMonitor.Test.<Id>.MaxFailNum parameter is increased to
higher value to avoid false failures due to process kill tests in
amx-processmonitoring testcase. At the beginning of testcase actual value is
taken and at the end of testcase this value is reverted.

To flush the NumFail, NumRespawan paramters verified in testcase, service
restart is performed as a part of cleanup step. But in very few cases FailAction
is triggered post restart of service when NumFail exceeds MaxFailNum value.
NumFail would exceed MaxFailNum because as a part of testcase mulitiple process
kill are performed.

To avoid this failure incidents while performing cleanup action, update of
MaxFailNum parameter post service restart is done.

References: PPW-1234
Signed-off-by: Hari Sriram <hari.s@capgemini.com>
2026-03-23 09:25:41 +00:00
Hari Sriram
35cf378aea ci: cram: add 60-check-for-fatal-errors.t testcase
Adding 60-check-for-fatal-errors.t testcase which at the end of
test suite verifies for any fail action taken by amx-processmonitoring.

Testcases part of amx-processmonitoring has sufficent handling included to
ensure process kill doesn't result in FailAction execution by amx-processmonitoring,
hence logging of any FailAction taken by amx-processmonitoring would
likely mean a failure.

Adding additional check for Reboot.Reboot.*.Reason to ensure no
Reboot due to process failure is triggered by amx-processmonitoring.

References: PPW-1234
Signed-off-by: Hari Sriram <hari.s@capgemini.com>
2026-03-23 09:25:41 +00:00
Hari Sriram
72bffed2f9 ci: cdrouter: cram: update ProcessMonitor FailAction to RESTART if it is set to REBOOT (PPW-1234)
Including updates to change ProcessMonitor.Test.i FailAction to RESTART
for all process if it is set as REBOOT. This is done by adding a new
script under .gitlab/scripts/dut-init/dut-change-fail-action-to-restart.sh.
This newly included script is added for execution under DUT_INIT_SCRIPTS
for all tests.

Adding a CRAM script 004-amx-pre-test-verify-fail-action.t under
.gitlab/tests/cram/generic/acceleration-plan-components/ to ensure REBOOT
FailAction is not present for any process in ProcessMonitor.Test.i and
any FailAction taken by amx-processmonitoring before starting amx-testcases

Closes: PPW-1234
Signed-off-by: Hari Sriram <hari.s@capgemini.com>
2026-03-23 09:25:41 +00:00
Sarra Kacem
f2e7e65860 ci: cram: obuspa: add tr181-bridging MACEvent
A generic event in Bridging that is emitted when a device is
detected behind a port is needed. Since the MAC address
uniquely identifies a device, a "MACEvent!"" will be
emitted when a device is detected behind a certain port.

This new event is defined in the Bridging data model and is
now also seen by the obuspa test. Therefore the test needs to
be updated with these new expectations.

References: PPW-700
Signed-off-by: Sarra Kacem <sarra.kacem_ext@softathome.com>
2026-03-19 09:47:03 +01:00
Artem Trokhymchuk
52611e1e6c ci: cram: add prplmesh-process-manager obuspa datamodel tests
Add Process Manager datamodel to the obuspa and
ubus cram tests.

References: FEAT-27, PCF-2183, PPW-1641
Signed-off-by: Artem Trokhymchuk <a.trokhymchuk@inango-systems.com>
2026-03-12 13:01:30 +02:00
Petr Štetiar
fa7303a838
ci: testbed: stop possibly stale CDRouter jobs before testbed setup
Currently the shared .testbed before_script starts DUT bring-up
without checking whether testbed-02 still has a CDRouter package
left behind by a canceled earlier job. PPW-1640 showed job
13434548634 was canceled on March 10, 2026, but its CDRouter
package kept running for almost 20 hours and that stale state was
inherited by later LCM cram jobs on the reused testbed.

When that stale CDRouter package stays active, the DUT learns the
DHCPv6 DNS forwarders 3001:51a:cafe::2 and 3001:51a:cafe::3.
The local unbound resolver then forwards gitlab.com and
registry.gitlab.com lookups to those servers, which return
NXDOMAIN, so container pulls fail before the new job reaches its
own setup.

This change is needed to align the generic testbed jobs with the
existing CDRouter pipeline flow and reclaim the CDRouter service before
stale DNS state can leak into the next run. So lets fix the start of
before_script by running the connectivity check and package_stop cleanup
immediately.

References: PPW-1640
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/13434548634#L33
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2026-03-11 19:36:34 +01:00
Artem Trokhymchuk
bba56f2bb8 ci: cram: update cram tests after prplmesh-dm-mapper
Since prplMesh moved to direct socket connection, need to align cram
tests.

References: PCF-2184, FEAT-27
Signed-off-by: Artem Trokhymchuk <a.trokhymchuk@inango-systems.com>
2026-03-11 14:37:55 +01:00
Artem Trokhymchuk
8c3e1e311b ci: cram: split wifi tests into 2 steps due to cram limitations
Currently cram tests have a limit on total length of the commands.
To overcome this issue, some tests that exceed that limit are split into
2 steps.

References: PCF-2184, FEAT-27
Signed-off-by: Artem Trokhymchuk <a.trokhymchuk@inango-systems.com>
2026-03-11 14:37:55 +01:00
Vladyslav Tupikin
58be1f48b3 ci:cram: delay prplMesh startup in pwhm tests
References: PCF-2184, FEAT-27
Signed-off-by: Vladyslav Tupikin <v.tupikin@inango-systems.com>
2026-03-11 14:37:55 +01:00
Vladyslav Tupikin
a299485ae9 ci: testbed: Increase timeout up to 64 min
References: PCF-2184, FEAT-27
Signed-off-by: Vladyslav Tupikin <v.tupikin@inango-systems.com>
2026-03-11 14:37:55 +01:00
Vladyslav Tupikin
f74cdfe876 ci: cram: Align tests with prplMesh DM Mapper app
Current CRAM tests for Freedom and MXL OSPv2 require
adoptation to the prplMesh DataModel mapper application.

Existing tests updated because some parameters will be hiden
from the TR-69 and USP frontends.

Add tests that work with datamodel through usp-cli
tool, acting like external USP controller, sending
messages through OBUSPA to the prplMesh DM Mapper.

PWHM test split due to CRAM i/o limitation in 8K per file.
WiFi related tests were updated by adding Device. prefix
because CRAM tests should emulate real usage of the datamodel,
when everything configured through USP or TR-69 using Device.
datamodel.

Split event catching lua scripts for Ubus and USP for test
both buses. Also, updated USP events lua script for usage with
different USP sockets.

Script wifi.sh also modified by adding ability to choose which
prefix in wifi_dm() func can be used and which tool to use.
Default prefix set to the Device.WiFi.
Default tool is usp-cli.

References: PCF-2184, FEAT-27
Signed-off-by: Vladyslav Tupikin <v.tupikin@inango-systems.com>
Signed-off-by: Artem Trokhymchuk <a.trokhymchuk@inango-systems.com>
2026-03-11 14:37:55 +01:00
Sathishkumar Selvam
a0fdff734f ci: cram: add 004-amx-process-deliberate-stop.t
Add the cram to test that amx monitor would stop monitor if service
is deliberately shutdown (or) stopped for any debugging

References: PCF-1353
Signed-off-by: Sathishkumar Selvam <sathishkumar.selvam@capgemini.com>
2026-03-10 12:14:12 +01:00
Christian Marangi
d35cfc25f0 ci: cram: Update tests for Arcadyan Mozart
Update tests for Arcadyan Mozart with latest changes for datamodel and
config options.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-03-10 08:53:55 +00:00
Petr Štetiar
a5d9c5ce2d
ci: cdrouter: flush DNS relay cache on loopback instance as well
Since the unbound upstep from 1.22 to 1.24.1 (commit d453d848c0), DNS
resolution now also uses a loopback unbound instance. The existing DUT
init script only flushed the "lan" DNS relay cache, causing stale
negative DNS entries on the "lo" instance to persist. This led to USP
agent (obuspa) STOMP connection failures during CDRouter-Wireless tests,
as controller.cdroutertest.com could not be resolved.

Flush the "lo" DNS relay cache before "lan" to ensure both instances
have clean state before CDRouter tests start.

Fixes: PPW-1629
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2026-03-09 18:12:32 +00:00
FAOUZI YAHYA
44b2900f69 ci: cram: 025-usb: add PowerCapability and PowerStatus
Integrates following changes:
-add PowerCapability and PowerStatus to USB.Port.1

References: PCF-1942
Signed-off-by: FAOUZI YAHYA <faouzi.yahya_ext@softathome.com>
2026-03-09 16:54:37 +01:00
FAOUZI YAHYA
95f673327e ci: cram: obuspa: add update Device.USB.Port config
Integrates following changes:
-add Device.USB.Port.{i}.ChangePowerMode()
-add Device.USB.Port.{i}.ChangePowerMode() input:PowerState
-add Device.USB.Port.{i}.PowerCapability
-add Device.USB.Port.{i}.PowerStatus

References: PCF-1942
Signed-off-by: FAOUZI YAHYA <faouzi.yahya_ext@softathome.com>
2026-03-09 16:54:37 +01:00
FAOUZI YAHYA
4a0cbf2391 ci: cram: obuspa: add Device.XPON.ONU config
References: TR-181, PCF-2024, PCF-1698
Signed-off-by: FAOUZI YAHYA <faouzi.yahya_ext@softathome.com>
2026-03-09 16:54:37 +01:00
FAOUZI YAHYA
7fa513164d ci: cram: obuspa: add Device.Ethernet.Interface
References: TR-181, PCF-2024, PCF-1698
Signed-off-by: FAOUZI YAHYA <faouzi.yahya_ext@softathome.com>
2026-03-09 16:54:37 +01:00
Benamor Imene
ef0d026319 ci: cram: add test to cover tr181-cpu plugin (PCF-2064)
Problem: Cram tests should be added to cover tr181-cpu plugin

References: PCF-2064
Signed-off-by: Benamor Imene <imene.benamor_ext@softathome.com>
2026-03-09 16:54:37 +01:00
Oguzhan Kara
785a443e59 ci: cram: [powermanagement] add cram test for usb powermanagement
Add PowerManagement cram test for usb port. The cram test checks USB datamodel for PowerManagement support.

References: PCF-1942
Signed-off-by: Oguzhan Kara <oguzhan.kara@softathome.com>
(cherry picked from commit 2af5652c4ce1d042808bea9030a6fa173ef86aee)
2026-03-09 16:54:37 +01:00
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