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>
Integrates following changes:
- ci: disable openwrt25 based crosscompilation (382a1e68)
- Issue: PPW-560 [CWMP] ACS did not receive a '14 HEARTBEAT' event within 5 seconds of the existing CWMP session being closed (2cefa4e9)
References: PPW-560, PPW-1613
Signed-off-by: prplbot <bot@prplfoundation.org>
Bump the mediatek profile version to support setting the WiFi MAC address from
the Factory partition similar to how it's done for the Ethernet partitions.
Fixes: PCF-2342
Signed-off-by: Christian Marangi <ansuelsmth@gmail.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)
Integrates following changes:
- baf: set SoftAtHome as copyrights holder in LICENSE file (4cbbcb0e)
- ci: baf: update autogenerated files (dcbe4e14)
- Use Ambiorix framework to query instances (a1560482)
- Log a warning if ONU HAL agent sends value for unknown parameter (3172a5a6)
- Support ONU power management (PCF-2024) (bd0eed30)
- README.md: update links to external references (c2aabc0b)
References: TR-181, PCF-2024, PCF-1698
Signed-off-by: prplbot <bot@prplfoundation.org>
Integrates following changes:
- pwhm: build failure in wld_wpaCtrlGSock.c due to comparison of (c418f9ed)
References: PPM-3691
Signed-off-by: prplbot <bot@prplfoundation.org>
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>
mac80211: Fix invalid-link_id-usage in ieee80211_stop_mbssid
* Set netdev_going_down flag only when link_id it not set
Fixes: PCF-2348
Signed-off-by: Cihangir Odabas <cihangir.odabas@prplfoundation.org>
1. Add MODPARAMS.ath12k:=cold_boot_cal=0 in ath.mk to override the
default value (1) and disable cold boot calibration.
2. Fix ath12k_dyn_dbg_enable.sh to preserve existing module parameters
when adding dyndbg=+p. The original implementation would overwrite
all parameters specified via MODPARAMS in ath.mk.
The script now:
- Reads the existing first line from /etc/modules.d/ath12k
- Skips modification if dyndbg=+p is already present
- Inserts dyndbg=+p after 'ath12k' while preserving existing parameters
like cold_boot_cal=0
Fixes: PCF-2346
Signed-off-by: Marvin Lu <marvin.lu@wnc.com.tw>
1. Rewrite the detection logic to reduce the time spent waiting for
wireless UCI to become ready. This improves startup time.
2. Set uci option wireless.vendor.phy_detect_timeout = 0 to skip PHY
detection. In ATH13.1CS, the wireless UCI being ready implies the
Wi-Fi driver is already initialized, so explicit PHY detection is
redundant and can be safely skipped.
Fixes: PCF-2346
Signed-off-by: Marvin Lu <marvin.lu@wnc.com.tw>
Changes in !1920 (c66bc572) introduced issues with longer boot times.
CI tests failed because the board was not ready within the 80 second
timeout.
pexpect.exceptions.TIMEOUT: Timeout of 80 seconds exceeded during waiting for login
Increase login_timeout by 40 seconds (from 80s to 120s) for both
wnc-freedom-initramfs and wnc-freedom-emmc targets to accommodate
the longer boot times.
References: PCF-2346
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/12946876755#L73
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Add null checks for TTLM context in MBSSID element generation and length
calculation to prevent crashes when processing mixed MLD and legacy BSS
configurations.
The code accessed TTLM structures without verifying the BSS was
configured as an MLD AP, causing null pointer dereferences with legacy
BSSes. The fix validates both mld_ap config and mld structure before
accessing TTLM fields.
Fixes hostapd_eid_mbssid_elem_len() and hostapd_eid_mbssid_elem().
Fixes: PCF-2270
Signed-off-by: Marvin Lu <marvin.lu@wnc.com.tw>
* Add Multi-AP profile and VLAN ID tracking
Add support for tracking and reporting Multi-AP profile and primary
VLAN ID information in wpa_supplicant. This information is extracted
from the Multi-AP IE in association responses and included in the
connection event messages.
Changes:
- Store Multi-AP profile and primary VLAN ID from association response
- Add new fields to wpa_supplicant structure for tracking these values
- Include Multi-AP profile and VLAN ID in WPA_EVENT_CONNECTED messages
- Add debug logging for Multi-AP profile and VLAN ID values
- Reset values on new association attempts
This enables upper layer applications to be aware of the Multi-AP
configuration and VLAN segmentation being used, which is essential
for proper EasyMesh network management and monitoring.
Fixes: PCF-2290
Signed-off-by: Marvin Lu <marvin.lu@wnc.com.tw>
Extend the PHY detection timeout so the automatic wireless uci
generation completes reliably.
Remove /etc/hotplug.d/ieee80211/10-wireless-freedom which was added as a
static fallback because automatic UCI generation failed on prplos
ATH13.0CS.
References: PCF-1963
Signed-off-by: Marvin Lu <marvin.lu@wnc.com.tw>
Add package wifi-scripts and wifi-helper-scripts to support automatic wireless uci generation.
References: PCF-1963
Signed-off-by: Marvin Lu <marvin.lu@wnc.com.tw>
Allow BA sessions to persist across link changes by
calling drv_ampdu_action() for ADDBA updates when
SUPPORTS_REORDERING_BUFFER is set. Mark ADDBA Request/Response frames as
link-agnostic per IEEE 802.11be Draft 7.0.
Fixes: PCF-2132
Signed-off-by: Marvin Lu <marvin.lu@wnc.com.tw>
Currently, with MBO and WPS combination, during initial WPS association,
association request will not contain RSN IE and hence parsing that will
be skipped correctly. But, for MBO, management frame protection(MFP) is
mandatory. Since, RSN IE not sent during initial WPS assoc, station
flags will not have MFP set, which is leading to rejecting the assoc
request from the client.
Since, WPS association request will not have the RSN IE, skip the MFP
check when WPS IE is set and proceed with association. This will be
skipped only for the WPS association, for other request(s), usual
validations will be followed.
References: PPW-1255, PPW-1352, QCA-08265364
Signed-off-by: Marvin Lu <marvin.lu@wnc.com.tw>
1. Update the QCOM BSP to ATH13.1CS
2. Add 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
Signed-off-by: Marvin Lu <marvin.lu@wnc.com.tw>
When CONFIG_KERNEL_DYNAMIC_DEBUG is disabled in the build configuration,
several nss packages fail to compile due to unused variable warnings
being treated as errors.
This commit applies patches to fix compilation issues in the following
packages from feed-qca:
- qca-nss-ppe
- qca-nss-gre-mgr
- qca-nss-ppe-clients
- qca-nss-dscpstats
The patches mark debug-only variables with __maybe_unused attribute and
add missing header includes, allowing these packages to compile
successfully regardless of the CONFIG_DYNAMIC_DEBUG setting.
CONFIG_KERNEL_DYNAMIC_DEBUG is also removed from the build configuration
.
Closes: PCF-2135
Closes: PCF-2136
Closes: PCF-2137
Closes: PCF-2138
Signed-off-by: Marvin Lu <marvin.lu@wnc.com.tw>
Currently, the AP update operation is not correctly updating new SSID.
This issue arises because the NL80211_CMD_UPDATE_AP command does not
process its NL80211_ATTR_SSID attribute. Resolve this issue by ensuring
that the SSID is updated if it is provided with the
NL80211_CMD_UPDATE_AP command.
Fixes: PPW-1127
Signed-off-by: Marvin Lu <marvin.lu@wnc.com.tw>
After upgrading to latest-24.10, ingress STP frames (destination MAC
01:80:c2:00:00:00) were missing on Wi-Fi.
Root cause:
The ath12k driver reports some packets with LLC headers (length <
0x0600) as DP_RX_DECAP_TYPE_8023 in the RX descriptor. However, these
packets were not properly handled because the RX_FLAG_8023 flag was not
set. As a result, mac80211 misinterpreted these packets, leading to
dropped STP frames.
Solution:
This patch adds support for DP_RX_DECAP_TYPE_8023 by setting the
RX_FLAG_8023 flag in the RX path. This ensures STP frames and other
IEEE 802.3 packets are correctly processed and received on WiFi
interfaces.
Fixes: PPW-1125
Signed-off-by: Marvin Lu <marvin.lu@wnc.com.tw>
- add support for Quectel RM520N using MHI over PCIe
Add a DTS property to support 16 MSIs for four-slot PCIe.
To support four-slot PCIe, the number of MSI interrupts is changed to 16 for PCIe0 and PCIe1.
Currently 96 MSI interrupts has been used for three slot PCI.
To support four slot PCI, number of MSI has to be split in below order
PCIe0 - 16,
PCIe1 - 16,
PCIe2 - 32,
PCIe3 - 32
Made changes to configure the MSI dynamically based on the DTS
property in PCI node. Based on the number of MSI corresponding
ring mask will be taken for DP grouping.
- Enable CONFIG_PSTORE_RAM
kernelfaults module will retrieve panics and oops form pstore.
64 KiB reserved for ramoops/pstore
- add support for EFR32MG
Enable UART and I/O expander to support ATH13.0 for EFR32MG on the Freedom board.
- add support for LED driver
The I2C multiplexer TCA9548A is connected to the I2C3 bus. The I/O expander TCA6416A is connected to channel 5 of the I2C multiplexer TCA9548A and is controlled by GPIO17/18 for interrupt and reset. The LED driver LP5562 is connected to the I2C3 bus and enabled by GPIO13 of the I/O expander TCA6416A. The LED driver LP5562 controls one RGB LED and one white LED. Set up the system indicator lights.
Signed-off-by: Tim Hsu <tim.hsu@wnc.com.tw>
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>