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>
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>
PWHM:
=====
Problem:
- static puncturing bitmap is always assumed as part of EhtOperIE even
if not punctbitmap is provided
- incomplete validation of puncturing channel list: only checking
the radio's possible channels but not bitmaps reference values from
IEEE P802.11be/D3.0, Table 36-30 - Definition of the Punctured
Channel Information field
- applying disabledSubChannels (punctChans) leads to global hostapd
restart for a cold applying
- however, punctBitmaps could be applied smoothly via ChannelSwitch or
at most level with single radio toggle (isof global hostapd restart)
- many existing unit tests are failing (not updated with recent pwhm
changes)
Fix:
- read current PUNCT_BITMAP from NL80211 and wpactrl events
CTRL-EVENT-STARTED-CHANNEL-SWITCH and CTRL-EVENT-CHANNEL-SWITCH
- rework wld_util_buildEhtOperationIE to provide in output the
effectively filled length
- add rad api build EhtOperationIE based on rad info
- validate puncturing channel list based on:
* reference punct bitmaps values from the standard
* supported radio std >= 11be
* possible channels
* whether applicable regarding radio's max possible channel bandwidth
- manage applying puncturing channels (when applicable) through target
chanspec
- build hostapd conf and CHAN_SWITCH args using punctBitmap in tgt
chanspec
- add punctChannels to channelChange notification
- build currentEhtOperIE data using current chanspec details (including
puncturing bitmap)
- fix existing unit tests and add new ones
libswlc:
========
New apis:
- add apis to validate puncturing bitmap against reference values from
IEEE P802.11be/D3.0, Table 36-30 - Definition of the Punctured Channel
Information field
- add apis to build puncturing bitmap from punctured channels list, and
the other way around
- add puncturing bitmap to channel specification, and dumping pattern
for proper display of current punct bitmap
- support parsing 80211 EHTOper IE conforming to old std 11be D1.0
- remove fall through for unknown bw values
- add relative unit tests
Integrates:
- 9410341ee: ("pwhm: test: adapt unit test_getEhtOperIe to build frame with current chanspec", 2026-03-11)
- 1f060e75b: ("pwhm: rad: apply puncturing channels via setChanspec isof global hostapd restart", 2026-03-10)
- d69923639: ("pwhm: test: add unit test to check puncturing channel list validity", 2026-03-10)
- 2775a7ccb: ("pwhm: rad: fix detection of invalid puncturing channel list", 2026-03-10)
- 8a5ff0a19: ("pwhm: radStd: add api to get Applicable Radio Standards", 2026-03-10)
- f759fe407: ("pwhm: scan: add puncturing bitmap to scan result neighbor info", 2026-03-09)
- 3ba4baadd: ("pwhm: test: adapt unit test_getEHTOperations to manage dynamic IE length", 2026-03-09)
- 98e47b293: ("pwhm: rad: manage dynamic length of EhtOperationInfo element", 2026-03-09)
- cdf798112: ("pwhm: wpactrl: parse puncturingBitmap from wpactrl event", 2026-03-09)
- 92c510d04: ("pwhm: nl80211: support parse/format puncturingBitmap from nl80211 chan info", 2026-03-09)
- 894cbad74: ("pwhm: chan: fix detecting invalid chanspec with null channels", 2026-03-09)
- 0221f655a: ("pwhm: apmld: fix build issue: missing retcode", 2026-03-09)
- 21664aa1e: ("pwhm: test: fix unit test test_apmld_create", 2026-03-08)
- 1d0b775ba: ("pwhm: test: fix unit test test_ep_freq_list", 2026-03-08)
- a05cb967c: ("pwhm: test: fix unit test test_wpa3_compatibility_mode", 2026-03-08)
- 6ec1b29b7: ("pwhm: test: fix invalid operClass values in unit test fullScan", 2026-03-08)
- 299326eeb: ("pwhm: scan: fix memLeak when building full scan results", 2026-03-08)
- 29dca9e29: ("pwhm: test: fix unit test testRadio11be", 2026-03-08)
- 2f251c919: ("pwhm: test: fix unit tests testStaStats and testStaStatsWiFi7", 2026-03-08)
- bdfa9de: ("libswlc: genFrmParser: add unit test to parse puncturing bitmap from EHTOperIE", 2026-02-21)
- c624f20: ("libswlc: chanspec: add unit tests for puncturing bitmaps check/build/parse", 2026-02-19)
- 93b40c2: ("libswlc: chanspec: add apis to build, parse and validate static puncturing bitmaps", 2026-02-19)
- f40b739: ("libswlc: genFrmParser: remove fall through for unknown bw values", 2026-02-21)
- 2ed3d01: ("libswlc: genFrmParser: add unit test to parse EHTOper IE conforming to old std 11be D1.0", 2026-02-21)
- fb48adc: ("libswlc: genFrmParser: support parsing 80211 EHTOper IE conforming to old std 11be D1.0", 2026-02-21)
- 670c2e0: ("libswlc: genFrmParser: add unit test to parse 80211 EHTOper IE and detect 320MHz extension High/Low", 2026-02-21)
- f62bca4: ("libswlc: unittest: fix unit tests build issue", 2026-02-22)
- 6ab4524: ("libswlc: unittest: fix unit tests cleanup", 2026-02-22)
- 0254645: ("libswlc: genFrmParser: fix unit test parsing Extended Supported Rates", 2026-02-22)
- 05ec34f: ("libswlc: hex: fix unit test of parsing odd number of hex digits", 2026-02-22)
- ef78577: ("libswlc: hex: fix occasional Issue with Sending MgmtActionFrameReceived Notification", 2026-02-22)
- d2cd134: ("libswlc: common: fix coverity warning with SWL_ARRAY_SIZE", 2026-03-11)
References: PPM-3836 PPM-3302
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>
Development on next prplOS release 5.0.0 started, so lets mark the
version accordingly.
References: PCF-2479
Link: https://prplfoundationcloud.atlassian.net/wiki/x/AQCcYQ
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Disable 802.3 encap offload for multicast to rollback using mac80211
multicast handling.
Integrates:
- 792377c2: ("hostapd-qca: Avoid disable MAC address filtering if WPS is enabled on the AP", 2026-02-25)
Fixes: PCF-2457
Signed-off-by: Lu Dai <lu.dai@mind.be>
Problem:
- sometimes, hostapd is rejecting 6g bssids when mbssid is enabled and not
all 6g vaps are enabled
Fix:
- add support for new standard hostapd mainline conf param "mbssid_max"
and "mbssid_index" allowing to indicate which vaps are added to conf to
properly check the bssids
- Ref hostapd: https://git.w1.fi/cgit/hostap/commit/?id=ce7b3c2caf5ff48888ac23e06397165aa4b81a25
Integrates:
- 1443f59f5: ("pwhm: hostapd: fix mbssid gaps in hostapd conf", 2026-02-01)
Closes: PPW-1550
References: PPW-1550
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
signed-off-by: default avatarHela Saadani <hela.saadani_ext@softathome.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>