Add the new expected object and parameters introduced by the PCF-2279 feature.
Add the new expected components introduced by the PCF-2279 feature.
References: PCF-2279, FEAT-300
Signed-off-by: Nabil BIZID <nabil.bizid@softathome.com>
Problem:
The revert of MR !2395 is incomplete. It added the new
103-pwhm-usp.t symlink but kept the previous 102-pwhm-usp.t symlink.
As a result, both symlinks point to the same script, causing the
pwhm-usp test to be executed twice in the same test run. Running the
script twice in a row without delay is unreliable and may lead to some
failures.
Solution:
- Remove the obsolete 102-pwhm-usp.t symlink so only 103-pwhm-usp.t
remains.
- Ensure the AccessPoint is disabled before starting the test.
Closes: PPW-2036
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
Test the Force parameter of Device.DHCPv4.Server.Pool.{i}.Options.{i} to
force an option when ever it is not requested by the client
Closes: PCF-2462
Signed-off-by: Alexandre Fiset <alexandre.fiset@softathome.com>
- 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>
- 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>
- 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>
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>
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>
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>
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>
- 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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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]
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>
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>
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>
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>
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>
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>
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>
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>
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]
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
- 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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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]
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]
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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
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>
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>
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>
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]
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>
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>
- 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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Integrates following changes:
-add PowerCapability and PowerStatus to USB.Port.1
References: PCF-1942
Signed-off-by: FAOUZI YAHYA <faouzi.yahya_ext@softathome.com>
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)
Add PowerManagement cram test for ethernet interface. The cram test checks Ethernet datamodel for PowerManagement support.
References: PCF-1941
Signed-off-by: Oguzhan Kara <oguzhan.kara@softathome.com>
(cherry picked from commit 3f3a52fe6ca39d5be4ebb14b059b8942dd5f01d1)
Currently 110-prplmesh-dataelements.t can inherit a 40MHz 2.4GHz
bandwidth from 106-pwhm-get-eht-caps.t. PCF-2420 shows that this
leaked state pushes the Freedom board into a hostapd crash loop after
AccessPointCommit(), leaving all fronthaul SSIDs Down and failing the
prplMesh dataelements assertions.
So lets reset the 2.4GHz bandwidth back to the default 20MHz during
the 110-prplmesh-dataelements.t setup. This keeps the test isolated
from earlier cram side effects and applies the Jira workaround that was
reported to make the enabled VAPs come up and stay Up.
References: PCF-2420
Root-caused-by: Iacob Juc <iacob.juc_ext@softathome.com>
Workarounded-by: Iacob Juc <iacob.juc_ext@softathome.com>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
5G modem (Quectel RM520N-GL) is not working on Freedom with ATH13.1CS.
Qualcomm is handling the fix via a separate SF ticket.
Disable 5G modem PCI/USB checks in 015-platform.t and skip
50-cellular-offline.t on Freedom DUT board.
While at it, fix the copy&pasta in the test description and remove
OSPv1.
References: PCF-2306
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
The builds for Freedom using ATH13.1ED BSP are currently failing with
following error:
bash: line 1: spatch: command not found
This is happening as the mac80211 package is modifying the source code
tree another time to amend the kzalloc/kmalloc usage for memory
debugging use case.
It should be handled with existing tools, it is currently being
addressed internally, but in the meantime we're going to demand
spatch/coccinelle for the build.
References: PCF-2142
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/11783721716#L9686
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Update the QCOM BSP to ATH13.1ED for qca_ipq95xx profile.
Known issues:
Ethernet LAN ports do not work.
Multi-AP Wi-Fi connection fails.
Ethernet WAN port is functional.
References: PCF-2042
Signed-off-by: Marvin Lu <marvin.lu@wnc.com.tw>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org> [rebase, cram]
Update prplMesh-related cram tests and helper scripts to control prplMesh
via ProcessManager DM (ba-cli) instead of init.d mode helpers.
Key updates:
- use PrplMesh.{Enable,ManagementMode,CertificationMode} in test setup/teardown
- adjust DUT init script for controller mode via ProcessManager
- extend generic ubus datamodel expected list with prplMesh/controller objects
Closes: PPM-3589
Signed-off-by: Igor Plesser <i.plesser@inango-systems.com>
Replace prplmesh_utils.sh status checks in cram tests with
prplmesh_cli status output parsing/validation.
Closes: PPM-3671
Signed-off-by: Igor Plesser <i.plesser@inango-systems.com>
This reverts commit 8159c85df4 as the
underlying issue is being fixed in commit d825d78cef1f ("profiles:
OSPv2: update wlan profile to fix EMR5 wireless onboarding issues")
References: PPW-1480, PCF-2395
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
We’ve recently started seeing some authentication issues with the Coverity server.
So, per Coverity support's advice, we should avoid using the admin account in CI and use a regular Coverity user instead.
So let's configure the prplbot credentials as the Coverity user that commits issues to the Coverity server.
References: PCF-2428
Signed-off-by: Mouna ALOUI <mouna.aloui@softathome.com>
Updated the container architecture name from x86-64 to amd64 to
align with the available containers in the registry for this
architecture. Also updating the script expectation to match all
possible architecture.
References: PCF-2143
Signed-off-by: Nabil BIZID <nabil.bizid@softathome.com>
Remove all containers at the end of the test,
so the next test can start with a clean system.
References: PCF-2143
Signed-off-by: Robin NELISSEN <robin.nelissen@softathome.com>
When using the init script, the process will forcefully stop
cthulhu after a certain timeout. This behavior can cause issues
during testing, as the time needed to fully stop all containers
and shut down cthulhu depends on the number of installed processes
and the configured graceful timeout for stopping each container.
Containers are stopped sequentially.
This commit modifies the behavior to send a signal to stop cthulhu,
avoiding forceful termination if the shutdown of all containers
is not fully completed.
References: PCF-2143
Signed-off-by: Nabil BIZID <nabil.bizid@softathome.com>
The local management test is simulating a box reboot. This
requires adding some additional wait time in order for the LCM
agent to fully start all containers after running the start
script.
References: PCF-2143
Signed-off-by: Nabil BIZID <nabil.bizid@softathome.com>
Adapt datamodel expectation with additional datamodel objects
following the introduction of new components and feature.
References: PCF-2143
Signed-off-by: Nabil BIZID <nabil.bizid@softathome.com>
cthulhu-pcm and cthulhu-lpm plugins are introduced, introducing new
datamodel and new config.
Updating the expected config
References: PCF-2143
Signed-off-by: Nabil BIZID <nabil.bizid@softathome.com>
When configuring the regulatory domain, it must be applied to all
radios. Applying it to only one will produce an inconsistent state,
which should have caused the failures seen in PPW-303.
Closes: PPW-303
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
Adding altname check test for wan interface "eth1" to prevent
PCF-2381 regressions in the future.
It simply checks whether altname value for wan interface "eth1" is "sfp0".
Signed-off-by: Bhavesh Bharadiya <bnbharadiya@maxlinear.com>
Currently prpl_core does not enable CONFIG_KERNEL_PROC_PAGE_MONITOR and
CONFIG_KERNEL_SLUB_DEBUG, so /proc/<pid>/smaps, smaps_rollup and
/proc/slabinfo are not exposed in runtime images, which means memory
analysis falls back to RSS-only attribution without shared-page
accounting, PSS-based reporting or kernel slab allocation visibility.
Add CONFIG_KERNEL_PROC_PAGE_MONITOR=y and CONFIG_KERNEL_SLUB_DEBUG=y to
prpl_core diffconfig so builds expose the procfs interfaces needed for
PSS collection, shared memory analysis and kernel slab cache reporting.
Note: CONFIG_KERNEL_SLUB_DEBUG=y is used instead of CONFIG_KERNEL_SLABINFO=y
to avoid the forced selection of CONFIG_KERNEL_SLUB_DEBUG_ON, which
enables runtime slab debug checks (sanity_checks, red_zone, poison,
store_user) on every allocation at boot. With SLUB_DEBUG alone,
/proc/slabinfo is available but the debug checks remain dormant unless
explicitly activated via the slub_debug= kernel parameter.
References: PCF-2379
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
- Check WiFi.bSTAMLDMaxLinks & Radio.*.Capabilities.WiFi7STARole
- Check default APMLDConfig & bSTAMLDConfig. as now pwhm sets these
configs according to the driver capabilities
- Replace all ba-cli get/set with wifi_dm new helper
References: PPM-3655, PPM-3349, PPW-1284
Closes: PPM-3830, PPW-1325
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
Problems:
- WiFi7 STARole has no MLO modes support detection, although bSTAMLD is
functional
- missing dynamic detection APMLD/bSTAMLD MaxNumMLDs and
MaxNumLinksPerMLD
- newly created APMLD/bSTAMLD instances have APMLDConfig/bSTAMLDConfig
mlo modes set with value -1 (driver defaults), which is meaningless
with regards to EM spec
Causes:
- STA ifType was not parsed in nl80211 EXT_CAP, for MLO related
attibutes: EML_CAPABILITY and MLD_CAPA_AND_OPS
- EML_CAPABILITY and MLD_CAPA_AND_OPS are only filled by mac80211 for
AP ifType, but left empty for STA ifType
- wrong definition of APMLDConfig/bSTAMLDConfig mlo modes
Fix:
- properly detect MLO support per iftype based on available of
both nl80211 attribs EML_CAPABILITY and MLD_CAPA_AND_OPS
- read STR and NSTR default enabling from mac80211
- set properly WiFi7 APRole and STARole mlo modes support,
- deduce STARole EMLSR support with consideration of APRole (same cap
on driver side)
- deduce NSTR support with consideration of EMLMR/MLMR
- read maxNumSimultenousLinks (num auxiliary links) from driver side
- update MaxNumMLDs and MaxNumLinksPerMLD per typed MLD
- set WiFi.bSTAMLDMaxLinks with bSTAMLD capa maxLinksPerMld
- set write-once flag on MLDID of APMLD and bSTAMLD instance to allow
defining default configs with instances and APMLDConfig
(/bSTAMLDConfig)
- when pwhm creates new instances of APMLD/bSTAMLD (based on
SSID.MLDUnit settings), the initial APMLDConfig/bSTAMLDConfig mlo modes
are set driver capabilities (WiFi7 APRole/STARole mlo modes) that will
be used by default in the driver
CRAM tests:
- Update obuspa.t script
Integrates:
- 93f848f36: ("pwhm: mld: initialize APMLDConfig/bSTAMLDConfig mlo modes using driver capabilities", 2026-02-10)
- 649998b2a: ("pwhm: mld: config APMLD/bSTAMLD MLO modes with boolean params", 2026-02-10)
- 5583c685c: ("pwhm: mld: allow defining default APMLDs and bSTAMLDs with mlo configs", 2026-02-10)
- 4b4758c57: ("pwhm: bstamld: fix missing dm param bSTAMLDMaxLinks", 2026-02-10)
- d8b1340e6: ("pwhm: nl80211: fix detecting APMLD/bSTAMLD MaxNumMLDs and MaxNumLinksPerMLD", 2026-02-10)
- ec46bd4f8: ("pwhm: mld: add apis to set MaxNumMLDs and MaxNumOfLinksPerMLD on typed MLD", 2026-02-10)
- 19ec3d89e: ("pwh: nl80211: fix detecting mlo modes capabilities of WiFi7 APRole/STARole", 2026-02-10)
References: PPM-3655 PPM-3349 PPW-1284 PPW-1325
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
MxL's vendor module is overriding ModesAvailable and missing WPA3-CM.
Let's enable it manually for the OSPv2 tests for now. It should be
added by default once PCF-2259 is implemented.
References: PCF-2259, PPM-3352
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
prplMesh controller can read configuration from pwhm or from NBAPI.
This test covers both input methods.
Initial state assumption (based on default configuration) :
Controller is reading config from pwhm
Operations :
Restart prplMesh
Enable Priv VAPs
Read Security.ModeEnabled - default values
Write WPA3-Personal-Compatibility to
enabled VAPs - 3 Priv VAPs
Check that Controller Reads new values, propagates them to the Agent,
and Agent does not overwrite them not-overwrite is a double
negation that means agent writes the same value as before. A change
would imply that either:
1. Agent incorrectly reported capability - Controller downgraded security
mode
2. Controller did not read the configuration and pushed a teardown for
the Radiox instead
Switch Controller to NBAPI configuration
Push WPA3-Personal from NBAPI
Push WPA3-Personal-Compatibility from NBAPI
Restore Config to default values
Increase the testbed timeout. 5min are required to run the test.
Closes : PPM-3352
Signed-off-by: Iacob Juc <iacob.juc_ext@softathome.com>
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
Added new CRAM test process-manager.t and update current related
tests to compatible with newly added component.
References: PCF-2183, FEAT-27
Signed-off-by: Volodymyr Martysh <v.martysh@inango-systems.com>
Problem:
The same prplmesh static puncturing cram test is used on OSPv2 and
Freedom.
Some steps verify the 5 GHz private VAP using AccessPoint index 3,
which is specific to Freedom. On OSPv2, the correct index is 1.
Solution:
Keep the existing script unchanged for Freedom and add a new OSPv2
specific version with the corrected AccessPoint index.
References: FEAT-72
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
Including 006_set_attributes.t testcase for
ConnectionTrackingQuery entry creation failures.
Adding script to verify failure conditions while providing invalid
parameter data types for existing ConnectionTrackingQuery entry.
References: PPW-1204
Signed-off-by: Hari Sriram <hari.s@capgemini.com>
Updating PWHM cram test scripts and checking logfile for wpa_supplicant and hostapd
Closes: PPM-3522
Signed-off-by: Sajith Joseph <sajithjoseph@tataelxsi.co.in>
This change was temporary reverted because we dont have a procedure on how to properly migrate this incompatible change and test also need to be temporary
reverted.
Tracked-by: PPW-1371
Implements: PCF-2118
Refereces: FEAT-32
Signed-off-by: Ruslana Popovych <ruslana.popovych@globallogic.com>
Following changes were made during datamodel alignment with v2.19.1 release:
Device.DHCPv4.Server.Pool.{i}.WINSServers - renamed from X_PRPLWARE-COM_WINSServer
Implements: PCF-2070
References: FEAT-32
Signed-off-by: Anatolii Rybchych <anatolii.rybchych@globallogic.com>
Following changes were made during datamodel alignment with v2.19.1 release:
Device.DHCPv4.Client.{i}.DSCPMark - renamed from DSCP
Device.DHCPv4.Client.{i}.Stats. removed %protected flag
Device.DHCPv4.Server.Pool.{i}.Client.{i}.IPv4Address.{i}.IsStatic - not standard, added prefix
Device.DHCPv4.Server.Pool.{i}.WINSServers - renamed from X_PRPLWARE-COM_WINSServer
Device.DHCPv6.Client.{i}.DSCPMark - renamed from DSCP
Device.DHCPv6.Server.Pool.{i}.DSCPMark - renamed from DSCP
Implements: PCF-2070,PCF-2072,PCF-2118,PCF-2119
References: FEAT-32
Signed-off-by: AnatoliiRybchych <anatolii.rybchych@globallogic.com>