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>
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>
Enables the new mod-wanmgr-system-ospv2 module on OSPv2.
This module is OSPv2 specific and will be used by the wan-manager to make board specific configurations during wan-mode switching.
References: PCF-2471, FEAT-287
Signed-off-by: Toon Caeyers <toon.caeyers_ext@softathome.com>
Upstep feed-prplos to the version that upsteps:
- mod-wanmgr-system
- mod-wanmgr-system-ospv2
- tr181-ethernet
- odl-generator
- wan-manager
- tr181-ip
- mod-netmodel
- mod-xpon-prpl
- tr181-sfp
- tr181-xpon
To versions that include all the needed changes to support pon via SFP (FEAT-287)
Integrates following changes:
- mod-xpon-prpl: add support for mod-xpon-prpl-mock package via Makefile.append to extend BAF-generated Makefile (92675a05)
- tr181-sfp: support PON via SFP and replace proprietary SFP database with official BBF table
- tr181-sfp_defaults.odl.uc: support and improve PON via SFP (30a13fdc, 67550a1f)
- Refactor SFP handling (polling, detection, mux switching, type handling) and improve diagnostics (b5fb1c87, 296dc257, 6907c0aa, 0596a60d)
- Cleanup and improvements in sfpmgr modules (f15e6417, 3936064f, 9d31b868, fdaca9f7, 4faca42b)
- Improve unit tests and coverage (1bcda5f1, ff1fbfc5)
- Fix issues (typos, units, unnecessary calls) (a418ad04, c2c85ac0, 8eb50843, 19d25672)
- Replace X_PRPLWARE-COM SFP database and align with BBF (78bb32be, fd89a189)
- Improve config and layout handling (55d1c785, 765d0c53)
- Misc improvements (ea58dd4f, 658bf443, ef6adb3b)
- tr181-xpon: remove legacy SFPReference and add support for SFPReferenceList (3b5cfac9)
- mod-xpon-prpl: extend support for SFPReferenceList (896800a2)
- mod-wanmgr-system-ospv2: introduce new OSPv2 system module
- Add WAN type handling including onboard PON (c85599c5, c32c6640, 9da0b59a)
- Implement system update logic, reboot handling and serdes configuration (c0232b60, baa8eaac, 19822e56)
- Add UCI helpers and configuration handling (27803f2f, cb05a4dc, 1c66a3b5, ebd1cea5, 39fd70c9)
- Add scripts for WAN switching/testing (4b2bf1ad, 7580526e)
- Add CI integration, documentation and extensive unit tests (4fb69d9a, d180dcd3, 8cadcda2)
- mod-wanmgr-system: set WillReboot in response and add test-system-update (ee8991eb)
- Improve unit testing, mocking and CI checks (d799ca09, 74429dd8, d38d02a3)
- ethernet-manager: remove SFP info from default interfaces and centralize handling (2fee136c)
- Fix Coverity issues (79cce255, a6788aa5)
- odl-generator: refactor network layout and SFP discovery (5d18d3e5)
- Remove duplicate assignments and improve interface mapping (9bf23288, 0430311e, be3dc2b3)
- wan-manager: improve WAN mode handling and system update flow (5599d200)
- Handle reboot scenarios and track LastSuccessfulMode (9eb3b30f, e7c38022)
- Improve logic, tests and documentation, fix Coverity issues
- ip-manager: resolve correct interface from netdev name and fix flags handling (6d06e4c1)
- mod-netmodel: add support for non dot-terminated references and integrate BAF/CI (698efda9)
References: PCF-2009, PCF-2164, PCF-2226, PCF-2434, PCF-2471, PCF-1990, FEAT-287, PPW-760
Signed-off-by: prplbot <bot@prplfoundation.org>
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>
Fix a kernel crash/RCU stall during ath12k peer teardown by separating
link peer unassign from memory free.
The patch removes the peer from DP lists/maps first, performs the
required peer-agent cleanup, and defers the actual peer free until
after synchronize_rcu(). It also adds a batch cleanup helper for stale
peer removal during vdev cleanup.
This avoids freeing link peer objects while they may still be accessed
by RCU readers and prevents stale peer cleanup from triggering crashes
during peer delete/unmap flows.
Fixes: https://prplfoundationcloud.atlassian.net/browse/PCF-2365
Signed-off-by: Marvin Lu <marvin.lu@wnc.com.tw>
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>
Inspect the selected scan interface in s_getScanFlags()
and enable the nl80211 AP scan flag when the scan will be triggered
on an AP-type interface.
This aligns the scan request with upstream mac80211 expectations, where
AP interface scans require NL80211_SCAN_FLAG_AP and may otherwise be
rejected with -EOPNOTSUPP.
Integrates:
- ca55f3fbc: ("nl80211: set AP scan flag for scans on AP interfaces", 2026-04-01)
Fixes: PPM-3974, PCF-2468
Signed-off-by: Dmytro Puz <d.puz@inango-systems.com>
signed-off-by: Hela Saadani <hela.saadani_ext@softathome.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]
Integrates following changes:
libamxo
- unit-test: Loading instances with unique values can fail if value is not part of the instance header. (PPW-724) (dca206a3)
- amxo: adapt flag serialization to amxc_set_t API (7f62b5e0)
libamxd:
- amxd: heap memory optimization for flags and parameter names (4958d4da)
References: PPW-1479, PPW-1476, PPW-1477
Signed-off-by: prplbot <bot@prplfoundation.org>
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>
Currently pwhm_ready_poll() in /etc/init.d/prplmesh uses wall-clock
time (date -u +%s) for its 150-second timeout calculation. At boot,
the system clock starts at epoch (1970). When NTP synchronizes the
clock to real time during the poll's sleep(3) interval, the elapsed
time jumps from seconds to ~1.77 billion seconds, instantly exceeding
the 150-second timeout:
start_time=36 # 1970-01-01 00:00:36 (epoch boot)
# NTP sync happens during sleep(3)
end_time=1774422255 # 2026-03-25 07:04:15 (after NTP sync)
elapsed=1774422219 # 56 years >> 150s timeout
This causes start_service() to abort with "pwhm not ready" even
though pwhm becomes ready just 1 second after the first check.
As a result, beerocks_controller never starts, DataElements is
never registered in the USP broker, and the obuspa cram test
fails with 885 missing Device.WiFi.DataElements.* entries.
Syslog evidence from affected boot:
00:00:36 ba-cli: > Device.WiFi.Radio.?0
00:00:37 wld: Creating new Radio context [wlan0]
07:04:17 chronyd: System clock wrong by 1774422218 seconds
07:04:20 ba-cli: > Device.WiFi.Radio.?0
So lets fix this by replacing wall-clock date -u +%s with monotonic
/proc/uptime which is immune to NTP clock adjustments.
Fixes: PPW-1699
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Integrates following changes:
- classification: integrate API function fw_folder_validate() from libfwrules (75ff04d4)
- folder: introduce fw_folder_validate(), fw_folder_validate_rules() and fw_rule_is_valid() (e224999d)
References: PPW-1547
Signed-off-by: prplbot <bot@prplfoundation.org>