Commit Graph

65147 Commits

Author SHA1 Message Date
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
Piotr Nakraszewicz
2043e04105 profiles: prpl_core: feed-prplos: tr181-security, obuspa: boot order, certificates
upstep feed-prplos with:
- boot order change (security vs obuspa)
- integrates obuspa vendor hook patch and startup script
  modification to use the data model from tr181-security
- integrates tr181-security module branch change

Integrates:
- e12671a: ("Change default startup order (start earlier)", 2026-04-21)
- 13c18ef: ("Add Security.CABundle default values", 2026-02-04)

References: PCF-1323
Signed-off-by: Piotr Nakraszewicz <piotr.nakraszewicz@consult.red>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org> [rebase, facelift]
signed-off-by: Hela Saadani <hela.saadani_ext@softathome.com>
2026-04-21 16:58:20 +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
1c5278d464 ci: testbed: migrate CDRouter packages from .gz exports to YAML
Currently all 16 CDRouter test packages are stored as opaque .gz
binary exports that cannot be reviewed, diffed, or maintained as
code. The .gz format carries implicit runtime fields (config_id,
device_id, schedule, agent_id) that do not belong in version
control.

So lets add unversioned YAML manifests for all 16 packages
converted from their .gz source files using
cdrouter-package-convert.py, and remove all .gz binary artifacts
from the repository. Each manifest contains name, description,
and tests in original order. Options use the compact form where
only non-default overrides are present (2 of 16 packages have
explicit options; the remaining 14 use CDRouter defaults
entirely).

All 16 packages passed round-trip fidelity verification:

  CDRouter-IPv6-Top-100, CDRouter-IPv6-Top-100+mDNS,
  CDRouter-IPv6-Top-100+mDNS+dslite, CDRouter-Top-100,
  CDRouter-Top-100+mDNS, CDRouter-Top-100+mDNS-OSP,
  CDRouter-TR-069, CDRouter-UPnP-IPv46,
  CDRouter-UPnP-IPv46-Failing, CDRouter-USP-prpl,
  CDRouter-Wireless, CDRouter-Wireless-OSPv1,
  prpl-Certification, prplWare-Smoke-Test-Suite,
  prplOS-Network-Test-Plan-Candidate-v1.2.0,
  prplOS-Network-Test-Plan-Mandatory-v1.2.0

References: PCF-2533
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
Igor Plesser
03917db885 prpl_core: prplmesh: Enable ANPQ on all APs by default
Closes: PPM-3886
Signed-off-by: Igor Plesser <i.plesser@inango-systems.com>
2026-04-21 14:58:51 +01:00
Marvin Lu
6216b49a95 profiles: qca_ipq95xx: mac80211: DP:ath12k: allow 3addr IEEE1905 packets for Easymesh cert
Currently multicast frames from Multi-AP agent is received as 3addr
which is not right as WFA Easymesh specification.

To WAR this AP side issue, adding check for 1905 packets not to be
dropped even when sent in 3addr format since duplication of few
frames is manageable.

Fixes: PPM-3887

Signed-off-by: Marvin Lu <marvin.lu@wnc.com.tw>
2026-04-21 10:39:44 +01:00
Arda Aras
093f29b615 profiles: feed-prplmesh: pwhm: rad: add operating class zero check
Integrates:
- 270abfe0b: ("pwhm: rad: add operating class zero check", 2026-04-17)

Fixes: PPM-3997
Signed-off-by: Arda Aras <arda.aras@airties.com>
signed-off-by: Hela Saadani <hela.saadani_ext@softathome.com>
2026-04-20 18:29:19 +01:00
prplbot
2599ecb3ac profiles: prpl_core.yml: feed_prplos: ssh-server: odl: fix GroupRestriction parameter. not applied at boot
Integrates following changes:
- odl: fix GroupRestriction parameter. not applied at boot (4636c413)

References: PPW-1441
Signed-off-by: prplbot <bot@prplfoundation.org>
2026-04-20 17:28:34 +01:00
Marvin Lu
b53346cb79 profiles: qca_ipq95xx: hostapd-qca: UPSTREAM:CP:hostapd: Update wds_mld_uid for multiAP sta.
wds_mld_uid used for WDS STA AP\VLAN creation is always 0 for a multiAP
STA causing issues in interface creation.

Fix added to get new wds_mld_uid before interface creation for multiAP STA
and set mld_uid, flags to all partner links.

Change-Id: I167d2827916077772ebe48480c6c588eb339d62e

Fixes: https://prplfoundationcloud.atlassian.net/browse/PCF-2515

Signed-off-by: Marvin Lu <marvin.lu@wnc.com.tw>
2026-04-20 15:35:49 +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
prplbot
72f7f5164e profiles: prpl_core.yml: feed_prplos: wan-manager: wan-mode: coverity prpl Issues reported by Coverity on dm_wan_mode.c
Integrates following changes:
- wan-manager: wan-mode: coverity prpl Issues reported by Coverity on dm_wan_mode.c (7280adf5)

References: PPW-1465
Signed-off-by: prplbot <bot@prplfoundation.org>
2026-04-17 18:02:50 +01:00
ahmed sassi
5ca14555e2 profiles: prpl_core.yml: feed_prplmesh: wifi-scheduler, pwhm: Review and implement prplWare upgrade/backup&restore
Integrates:

* wifi-scheduler: Review and implement prplWare upgrade/backup&restore (f1e54fb0)
* pwhm: Review and implement prplWare upgrade/backup&restore (c9df82a2)

Refences: PCF-2198
Signed-off-by: ahmed sassi <ahmed.sassi_ext@softathome.com>
2026-04-17 16:49:44 +01: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
prplbot
8b754dd37b profiles: prpl_core.yml: feed_prplos:tr181-usb, routing-manager,
tr181-mqtt, tr069-manager, tr181-routeradvertisement, tr181-upnp,
tr181-dynamicdns, tr181-neighbordiscovery, dhcpv4-manager,
tr181-httpaccess, tr181-ppp, tr181-usermanagement, tr181-logical,
ip-manager, dhcpv6s-manager, gmap-server, multisettings, tr181-dns,
time-manager, deviceinfo-manager, ssh-server, pcm-manager, mod-pcm-svc,
tr181-syslog : Review and implement prplWare upgrade/backup&restore

Integrates:

* tr181-homeplug: Review and implement prplWare upgrade/backup&restore (53ef2570)
* tr181-usb: Review and implement prplWare upgrade/backup&restore (9786d9bd)
* tr181-routing: Review and implement prplWare upgrade/backup&restore (2b6b714e)
* ci: disable openwrt25 based crosscompilation (4461cfb7)
* tr181-mqtt: Review and implement prplWare upgrade/backup&restore (8504ca3c)
* tr069-manager: Review and implement prplWare upgrade/backup&restore (89b93b9e)
* tr181-routeradvertisement: Review and implement prplWare upgrade/backup&restore (a6ebaf9f)
* tr181-upnp: Review and implement prplWare upgrade/backup&restore (6fe54dc2)
* tr181-dynamicdns: Review and implement prplWare upgrade/backup&restore (70f6e9ca)
* tr181-neighbordiscovery: Review and implement prplWare upgrade/backup&restore (0fa81f3f)
* tr181-dhcpv4: Review and implement prplWare upgrade/backup&restore (9782314a)
* tr181-httpaccess: Review and implement prplWare upgrade/backup&restore (0f950a4a)
* tr181-ppp: Review and implement prplWare upgrade/backup&restore (be1d1aa5)
* tr181-usermanagement: Review and implement prplWare upgrade/backup&restore (f7adbd63)
* tr181-logical: Review and implement prplWare upgrade/backup&restore (8560857e)
* tr181-ip: Review and implement prplWare upgrade/backup&restore (536acce2)
* tr181-dhcpv6s: Review and implement prplWare upgrade/backup&restore (9dee65ec)
* gmap-server: Review and implement prplWare upgrade/backup&restore (3eece725)
* multisettings: Review and implement prplWare upgrade/backup&restore (2a42ff8e)
* tr181-dns: Review and implement prplWare upgrade/backup&restore (1a86af67)
* tr181-time: Review and implement prplWare upgrade/backup&restore (453f2c39)
* tr181-deviceinfo: Review and implement prplWare upgrade/backup&restore (47e7e7d1)
* ssh-server: Review and implement prplWare upgrade/backup&restore (eef718a1)
* tr181-pcm: Review and implement prplWare upgrade/backup&restore (03e51c76)
* tr181-pcm: Review and implement prplWare upgrade/backup&restore (c86a84ef)
* tr181-pcm: Review and implement prplWare upgrade/backup&restore (64dbecd8)
* mod-pcm-svc: Review and implement prplWare upgrade/backup&restore (344acb40)
* test: fix unit test regression in test_syslog_default_config_can_be_made (15e255d1)
* tr181-syslog: Review and implement prplWare upgrade/backup&restore (fb2c3969)
* tr181-syslog: Review and implement prplWare upgrade/backup&restore (38e74c83)

References: FEAT-132, PCF-2198, PCF-2240, PPW-1613, PPM-3522, PPW-1556

Signed-off-by: prplbot [bot@prplfoundation.org](mailto:bot@prplfoundation.org)
Signed-off-by: ahmed sassi <ahmed.sassi_ext@softathome.com>
2026-04-17 16:49:41 +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
prplbot
1a4b24a7d7 profiles: prpl_core.yml: feed_prplos: reboot-service: Boot! event is not sent on Boot
Integrates following changes:
- reboot-service: Boot! event is not sent on Boot (PPW-322) (002809a1)

References: PPW-322
Signed-off-by: prplbot <bot@prplfoundation.org>
2026-04-15 15:14:48 +01: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
prplbot
91f928bf89 profiles: prpl_core.yml: feed_prplmesh: wifi-sensing: Wi-Fi Sensing phase 2a - HLPAI optimizations
Integrates following changes:
- Issue: SSW-10388 PPM-3322 Wi-Fi Sensing phase 2a - HLPAI optimizations (5bb7c847)

References: SSW-10388, PPM-3322
Signed-off-by: prplbot <bot@prplfoundation.org>
2026-04-15 11:12:22 +01: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
Marvin Lu
ce1942e6bc profiles: qca_ipq95xx: hostapd-qca: UPSTREAM:PROTOCOL:hostapd:nl80211: fix AP bring-up failure during HT-SCAN
When 5GHz HT_SCAN is failed due to any error, we try to convert 5GHz
interface to STATION mode for scan to succeed. As part of this, interface
is removed from bridge and brought DOWN to perform the mode change and
scan post that.

Currently due to ongoing 2GHz 40MHz HT_SCAN, we always get -EBUSY (-16) error
for 5GHz HT_SCAN and above STA mode change also fails leaving the interface in
DOWN state without recovery. Eventually beacon set fails with -100 (DOWN) error
to deinit and exit hostapd.

Fix this behavior with upstream implementation of mode change to STATION
only when AP scan is not supported (-EOPNOTSUPP, -95) and allow scan with
existing retry logic for HT_SCAN. Extend the same for MLO links as well.

Feature: MLD

Fixes: https://prplfoundationcloud.atlassian.net/browse/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
prplbot
110579939e profiles: prpl_core.yml: feed_prplmesh: pwhm: DFS channels are not cleared post radar detection (sub channel marking)
Integrates following changes:
- pwhm: chanMgt: add api to get default supported chanspec (177754b0)
- pwhm: hapd: fix EP bkh connection delayed up to 10mn after fw upgrade (c7365cc0)
- pwhm: chanMgt: fix bgcac started with channel changes after dfs radar (38bbf947)
- pwhm: genEvt: fix sync fh/bk after reconnection to bkh via previous DFS Radar chan (9294c639)

References: PPW-1470
Signed-off-by: prplbot <bot@prplfoundation.org>
2026-04-15 09:25:20 +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
FAOUZI YAHYA
5e61aa8461 profiles: prpl_core: feed_prplos: ethernet-manager: Support Wake-on-LAN
Integrates following changes:
- 5de2a23: ("tr181-ethernet: wol: add Wake-on-LAN TR-181 implementation", 2025-04-30)

References: PCF-1773
Signed-off-by: FAOUZI YAHYA <faouzi.yahya_ext@softathome.com>
2026-04-15 09:43:58 +01: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
ahmed sassi
e34b329849 prplos: feed-prplos: tr181-sfp: Add tr181-sfp config_in and upgrade to v0.8.0
After merging GitLab Merge Request 2226 prplos, OSPV2 CRAM jobs started failing, specifically in obuspa tests.

The issue is caused by merging the MR without including the required config_in file for the tr181-sfp component.

tr181-sfp component (tag v0.5.0, not v0.8.0 as expected)

Refrences:
PPW-1808

Signed-off-by: default avatarahmed sassi <ahmed.sassi_ext@softathome.com>
2026-04-14 07:26:38 +00:00
Vladyslav Tupikin
85fd0b875e profiles: prpl_core: Enable PWHM USP socket
Currently PWHM USP is available for prplOS GW profile only.
In the prplOS Extender profile it causing an issue with prplMesh,
that it cannot be operational without PWHM USP socket.

Proposed solution is to move CONFIG_SAH_WLD_ENABLE_USP_SERVER_SOCKET
option from prpl.yml to the prpl_core.yml to get PWHM USP on all
prplOS builds. It will solve issue with prplOS Extender as well as
other builds where PWHM and prplMesh used.

Closes: PPW-1807
References: FEAT-84
Signed-off-by: Vladyslav Tupikin <v.tupikin@inango-systems.com>
2026-04-13 11:08:48 +03:00
prplbot
a622b03048 profiles: prpl_core.yml: feed_amx: amxrt: Fix process matching failure by using /proc/$pid/cmdline instead of /proc/$pid/status
Integrates following changes:
- ci: baf: update autogenerated files (c006ebc9)
- fix: Fix process matching failure by using /proc/$pid/cmdline instead of /proc/$pid/status (99a03888)

References: PPW-760
Signed-off-by: prplbot <bot@prplfoundation.org>
Signed-off-by: Hela Saadani <hela.saadani_ext@softathome.com>
2026-04-10 16:37:44 +00:00
prplbot
73198b847b profiles: prpl_core.yml: feed_prplos: tr181-qos, libqosmodule: bunch of tests is failing
Integrates following changes:
tr181-qos
- unit tests: close modules when tr181-qos shuts down (387d2e45)
- unit tests: re-enable QoS classification and queue stats tests (1f9332c3)

libqosmodule:
- ci: include the ci templates (1e795502)
- baf: introduce the baf.yml file (a94e98dc)
- ci: enable crosscompilations and unit tests (cb93760e)
- ci: baf: update autogenerated files (f8b3824b)
- amxm: simplify qos_module_deregister() cleanup logic (9e831970)
- ci: baf: update autogenerated files (e1f84c6c)

References: PPW-956
Signed-off-by: prplbot <bot@prplfoundation.org>
2026-04-10 17:10:16 +01:00
prplbot
f9bd55cc49 profiles: prpl_core.yml: feed_prplos: tr181-bulkdata: [coverity] prpl Issues reported by Coverity on bulkdata_main.c
Integrates following changes:
- [coverity] prpl Issues reported by Coverity on bulkdata_main.c (06a07e6a)

References: PPW-1406
Signed-off-by: prplbot <bot@prplfoundation.org>
2026-04-10 16:00:35 +01:00
Dmytro Puz
a9e660e6c7 profiles: feed-prplmesh: pwhm: Extend pWHM Multi-AP profile handling from 0..3 to 0..6.
This fixes interoperability with newer hostapd/wpa_supplicant and
prplMesh certification flows where MultiAPProfile values above 3 may be
used, for example mapr4/5/6.

Integrates:
- 5c2e663ac: ("Extend pWHM Multi-AP profile handling from 0..3 to 0..6.", 2026-03-30)

Fixes: PPM-3964
Signed-off-by: Dmytro Puz <d.puz@inango-systems.com>
Signed-off-by: Hela Saadani <hela.saadani_ext@softathome.com>
2026-04-10 15:28:37 +01: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
Racha Hamhoum
2105fde838 profiles: prpl-core.yml: feed-prplos: time-manager: NTP service is down when IPVersion is forced to ipv6 or ipv4
Integrates:
- dde8f833: ("time-manager: NTP service is down when IPVersion is forced to ipv6 or ipv4", 2026-01-02)

References: PPW-1323
Signed-off-by: Racha Hamhoum <racha.hamhoum_ext@softathome.com>
2026-04-10 14:47:44 +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