Commit Graph

65398 Commits

Author SHA1 Message Date
Ruslana Popovych
91df8a912d ci: cram: update build config expectations for swupdate integration
Update the 005-build-config.t cram tests for both the mxl25641-hdk-6
and wnc-freedom boards to match the newly added firmware upgrade
packages and configurations.

- Add expectations for CONFIG_PACKAGE_mod-fwi-swupdate=y and
  CONFIG_PACKAGE_sysupgrade-prpl=y on both boards.
- Add board-specific expectations for CONFIG_SWUPDATE_TARGET_HW_VERSION.
- Expect CONFIG_FWI_FLASH_PARTITIONS="u-boot,kernel" on mxl25641-hdk-6.
- Add CONFIG_SAH_MOD_FW-AMX=y

Implements: PCF-2638
Tracked-by: FEAT-356, FEAT-357, FEAT-358
Signed-off-by: Ruslana Popovych <ruslana.popovych@globallogic.com>
signed-off-by: Hela Saadani <hela.saadani_ext@softathome.com>
2026-07-06 14:04:35 +01:00
Anatolii Rybchych
72e9afaa9d ci: cram: add sysupgrade-prpl failed-download (404) test
Verify the sysupgrade-prpl wrapper surfaces a failed firmware download:
a missing image (HTTP 404) dispatches Download() on the inactive bank
but ends in DownloadFailed with '404 Not Found' in the BootFailureLog -
no flash, no activation despite AutoActivate=1.

References: PCF-2401
Tracked-by: FEAT-356
Signed-off-by: Anatolii Rybchych <anatolii.rybchych@globallogic.com>
2026-07-06 14:04:35 +01:00
Anatolii Rybchych
d30402f2fe ci: cram: deviceinfo: add FirmwareImage Download()/Activate() failure tests
Added cram tests covering the negative/failure paths of the TR-181
Device.DeviceInfo.FirmwareImage Download() and Activate() RPCs on OSPv2:

- deviceinfo-firmware-download-failures: transfer/HTTP errors recorded in
  Status=DownloadFailed and BootFailureLog (connection refused, DNS failure,
  HTTP 401, HTTP 404).

- deviceinfo-firmware-download-active: Download() on the active bank is
  rejected (invalid argument; not supported with AutoActivate).

- deviceinfo-firmware-activate: Activate() argument and state guards

  (unavailable bank, bad Mode, Start>=End, invalid BootFirmwareImage,
  prevent disabling the active bank).

- deviceinfo-firmware-activate-active: re-activating the already-active bank
  does not switch the booted image.

- deviceinfo-usp-download-failure: the same download errors driven over USP
  (obuspa), exercising the OperationComplete-subscription requirement.

Implements: PCF-2638
Tracked-by: FEAT-356, FEAT-357, FEAT-358
Signed-off-by: Anatolii Rybchych <anatolii.rybchych@globallogic.com>
2026-07-06 14:04:34 +01:00
Mykhailo Polnyi
0d1381a89b profiles: prpl-core: feed-prplos: provide support for Firmware Upgrade via tr-181
- feed_prplos: update tr181-deviceinfo version
- feed_prplos: update imagegenerator version
- feed_prplos: add mod-fwi-swupdate package
- feed_prplos: include mod-fwi-swupdate module into secure_boot_emmc.yml
- mxl_x86_osp_tb341_v2.yml: define config options for mod-fwi-swupdate
- qca_ipq95xx.yml: define config options for mod-fwi-swupdate

Integrates:
tr181-deviceinfo:
- d16ecbb: ("documentation: include deviceinfo_dm_mngr to doxygen", 2026-06-30)
- 26d52fc: ("tr181-deviceinfo: FirmwareImage: add "Device." prefix for BFI and AFI", 2026-06-25)
- 4656a48: ("acl: allow admin Download() on the inactive FirmwareImage bank", 2026-06-16)
- a25e1ce: ("docs: update README with FirmwareImage Download/Activate RPC lifecycle", 2026-06-16)
- c356e09: ("unit test: expand firmwareimage test coverage and introduce stateful mocks", 2026-06-03)
- af7284d: ("unit tests: implement test for firmwareimage download/activate", 2026-03-27)
- 4bcb17e: ("deviceinfo-manager: renamed FirmwareImage aliases to primary and secondary", 2026-06-02)
- 86417fc: ("deviceinfo-manager: added validation to ensure target firmware is Available before activation", 2026-05-15)
- fb7037b: ("deviceinfo-manager: updated public key path for firmware upgrades", 2026-05-15)
- b711541: ("deviceinfo-manager: handle manual BootFirmwareImage changes and trigger activation", 2026-05-14)
- 43e8711: ("deviceinfo-manager: encapsulated RPC state management into dedicated helpers", 2026-04-30)
- 712ca09: ("deviceinfo-manager: refactored and added validation to Download() RPC flow", 2026-04-30)
- 36ef0d2: ("tr181-deviceinfo: remove odl configuration in the /etc/config directory after the Firmware Update", 2026-01-19)
- 9d5720c: ("tr181-deviceinfo: implemented logic to trigger PCM Backup on Firmware Update", 2026-01-19)
- 0394fa4: ("odl: FirmwareImage: forbid setting Available=0 for Active images", 2026-02-12)
- a7cf625: ("odl: FirmwareImage: update Available parameter on Status changes", 2026-02-10)
- 4024df7: ("odl: FirmwareImage: set Status and Available parameters on startup", 2026-02-10)
- 5be227f: ("deviceinfo-manager: added URL validation for Download RPC", 2026-02-13)
- 783adf8: ("deviceinfo-manager: implemented event-based resolution for deferred Download RPC", 2026-02-13)

tr-069-manager:
- 20f65d3: ("unit tests: implemented and refactored exstisting tests for asynchronous download and schedule download", 2026-04-16)
- c23222b: ("tr069-manager: fixed dynamic resolution of BootFirmwareImage status", 2026-05-20)
- 25b0a5a: ("tr069-manager: improve reliability and error reporting for scheduled firmware downloads", 2026-03-27)
- 1358290: ("tr069-manager: fix: resolved missed TransferComplete events and added download error handling via async callbacks", 2026-03-10)
- 37f3252: ("tr069-manager: extended error reporting for ACS", 2026-01-23)

Imagegenerator:
- 50f6a00: ("docs: update README with upgrade scenario usage description", 2026-06-16)
- 68a28d5: ("swugenerator: introduce flash-only upgrade scenario", 2026-06-08)

tr181-rest-api: route /upload to the amx-fcgi socket

mod-fwi-swupdate:
- 4a3e142: ("ci: baf: update autogenerated files", 2026-06-30)
- d4c4031: ("doc: provide doxygen generation", 2026-06-26)
- 8aff1e0: ("ci: enable support for Cobertura XML report generation", 2026-04-27)
- eebee93: ("ci: introduce the baf.yml file and ci template", 2026-03-18)
- ddfb938: ("deviceinfo: expect ActiveFirmwareImage to use full path", 2026-06-25)
- b3d992d: ("docs: update README", 2026-06-16)
- d525034: ("mod-fwi-swupdate: remove unused scripts", 2026-06-02)
- c4b21bc: ("unit tests: rework test based on new design", 2026-05-20)
- 5b8ed7e: ("mod-fwi-swupdate: rework firmware upgrade logic", 2026-05-13)
- c114211: ("firmware_partition: introduce partition swap logic", 2026-05-13)
- f1ff2c4: ("version_firmware: include fw status to "info" function output", 2026-02-10)
- 726807a: ("mod-fwi-swupdate: separated Firmware Flashing and Activation", 2026-01-20)

firmware upgrade: Added sysupgrade wrapper script over Device.DeviceInfo.FirmwareImage.Download()

prpl-webui:
- fc579ad: ("firmware-upload: fix WebUI firmware upgrade", 2026-06-16)

tr181-deviceinfo:
- a0e3f18: ("documentation: add note on NTP sync during Activate execution", 2026-07-03)
- a35d2f4: ("trigger_restore: replace odl file removal with plugin config folder deletion", 2026-07-03)

References: PCF-2340, PCF-2349, PCF-2343, PCF-2368, PCF-2624, PCF-2625
Tracked-by: FEAT-356, FEAT-357, FEAT-358
Signed-off-by: Mykhailo Polnyi <mykhailo.polnyi@globallogic.com>
signed-off-by: Hela Saadani <hela.saadani_ext@softathome.com>
2026-07-06 14:03:46 +01:00
Mouna ALOUI
7d93582b6a ci: coverity: add lzop and libssl-dev to coverity job dependencies
The u-boot-freedom package requires lzop to compress the FIT DTB blob
(fit-dtb.blob.lzo) during the final build stage. The uboot-tools host
package requires OpenSSL headers to build. The regular build job has
these available via OpenWrt's host tools, but under Coverity's cov-build
wrapper they are not available, causing build failures:

  /bin/sh: 1: lzop: not found
  make[3]: *** [Makefile:1216: fit-dtb.blob.lzo] Error 127

  ERROR: package/feeds/feed_prplos/uboot-tools [host] failed to build.

Install lzop and libssl-dev via apt-get alongside the other Coverity
job dependencies.

Reference: PPW-2121

Signed-off-by: Mouna Aloui <mouna.aloui@softathome.com>
2026-07-02 06:57:27 +00:00
Petr Štetiar
0d7897408c
ci: testbed: labgrid: bump OSPv2 login_timeout for lcm_data reformat
The lcm_data cleanup erases the first 0x400 blocks (the ext4 filesystem
metadata) of the lcm_data partition in U-Boot, so on the next boot the
block-mount layer finds a bad superblock on /lcm (mmcblk0p16, a ~3 GiB
partition on OSPv2) and runs a full mke2fs before it can be mounted:

  e2fsck: Bad magic number in super-block while trying to open /dev/mmcblk0p16
  mount: mounting /dev/mmcblk0p16 on /lcm failed: Invalid argument
  mke2fs 1.47.0 (5-Feb-2023)
  Creating filesystem with 786432 4k blocks and 196608 inodes

That reformat is the whole point (it is what keeps /lcm clean between CI
runs), but it adds enough boot time to push the login prompt just past
the ShellDriver default login_timeout of 60s on the OSPv2 (mxl25641-hdk-6)
eMMC target, which has no override, so board bringup fails with:

  pexpect.exceptions.TIMEOUT: Timeout of 60 seconds exceeded during waiting for login

Bump the OSPv2 login_timeout to 80s, which is enough headroom to absorb
the reformat on top of its usual boot while still failing bringup fast on
a genuinely dead board. The Freedom (wnc-freedom) eMMC target keeps its
own 120s, which reflects its longer/different boot time expectations
rather than the lcm_data reformat.

Fixes: 5432e4a864 ("ci: testbed: labgrid: restore lcm_data cleanup dropped by FEAT-29 flow")
Fixes: CI-2
References: PPW-718
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/15140103104#L697
Assisted-by: claude:opus-4-8:1m-context
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2026-07-02 07:30:07 +02:00
Petr Štetiar
5432e4a864
ci: testbed: labgrid: restore lcm_data cleanup dropped by FEAT-29 flow
The FEAT-29 update_prpl conversion switched both the Freedom (wnc-freedom)
and OSPv2 (mxl25641-hdk-6) eMMC flash flows to erase only the rootfs_data
overlay, and in doing so dropped the lcm_data partition cleanup that
PPW-718 had introduced. The persistent /lcm (lcm_data) partition is not
cleared between CI runs, so stale containers from a previous test survive
the reboot/flash procedure and make the LCM cram suite non-idempotent.

So lets restore the cleanup by erasing the first 0x400 blocks (the eMMC
erase-group size, i.e. just the ext4 filesystem metadata, not the whole
multi-GiB partition) of lcm_data right after the rootfs_data erase, so
every refresh starts from a clean /lcm. The offsets are taken from each
board's current prpl Standard Flash Layout GPT, verified live in U-Boot:

  Freedom (IPQ9574#):
   28	0x00134022	0x00534021	"lcm_data"
   29	0x00534022	0x00574021	"rootfs_data"

  OSPv2 (Lightning #):
   14	0x00086c00	0x00096bff	"rootfs_data"
   16	0x000a6c00	0x006a6bff	"lcm_data"

Fixes: CI-2
References: 78b11d2d5b ("ci: testbed: labgrid: flash OSPv2 and Freedom via FEAT-29 update_prpl")
References: PPW-718
Assisted-by: claude:opus-4-8:1m-context
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2026-07-01 20:35:54 +02:00
Mykola Hlukhenkyi
2a15119f3d profile: lcm.yml: feed_lcm: timingila, cthulhu-plugin-usp: Fix documentation
Integrates:
- bff2a6d: ("README.md: add description of the component", 2026-05-08)
- 0e47533: ("README.md: improve documentation", 2026-06-29)

References: PPW-1938
Signed-off-by: Mykola Hlukhenkyi <m.hlukhenkyi@inango-systems.com>
Signed-off-by: FAOUZI YAHYA <faouzi.yahya_ext@softathome.com>
2026-07-01 15:35:06 +01:00
Peter Steinhaeuser
0155327bf6 PROVISORY: ci: cram: nokia-valyrian: skip known-failing tests until PCF-2669
The following cram tests fail on Nokia Valyrian and are skipped on this
platform (CI_JOB_NAME guard, exit 80) until addressed, matching the
existing per-platform skip convention:

  generic/acceleration-plan-components/046-qos-classification.t
  generic/lcm/038-lcm-pcm.t
  generic/lcm/042-lcm-usp-direct-connection.t
  generic/obuspa.t
  generic/verify-config-restore/020-verify-backup-restore-flags.t
  nokia-valyrian/100-pwhm_step_1.t
  nokia-valyrian/100-pwhm_step_2.t

The guards only skip on Valyrian; behaviour on other platforms is
unchanged. obuspa.t is a known flaky test (USP re-registration race after
obuspa restart) affecting all platforms; tracked separately.

References: PCF-2669
Signed-off-by: Peter Steinhaeuser <ps@embedd.com>
2026-07-01 15:11:27 +01:00
Peter Steinhaeuser
510fd00108 ci: cram: nokia-valyrian: add new build config packages to 005-build-config
The image-authentication feature and its dependencies (libbotan, librnp,
libsexpp) and timingila-rlyeh-security are now part of the Valyrian build.
Add them to the expected package list.

Signed-off-by: Peter Steinhaeuser <ps@embedd.com>
2026-07-01 15:11:27 +01:00
Peter Steinhaeuser
4178e14811 ci: cram: nokia-valyrian: fix VapType parameter name in 110-prplmesh-dataelements
The 110 test used the parameter name X_PRPLWARE_VapType, which the data
model does not define (amxd returns error_code 4, parameter not found),
so the ubus _set failed. The vendor parameter is X_PRPLWARE-COM_VapType,
as used by every other platform variant of this test. Correct the name in
both _set calls and align the expected output (name and key order) with
the device output.

Signed-off-by: Peter Steinhaeuser <ps@embedd.com>
2026-07-01 15:11:27 +01:00
Christian Marangi
582ccfd881 PROVISORY: ci: cram: skip USB power management test for Mozart and Valyrian
tr181-usb have a regression that makes this test fail from version 0.7.0+.
This was verified to be working with test 0.3.1 and it's a bug in tr181-usb
itself. Skip the test until it's fixed.

References: PCF-2617
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Signed-off-by: Peter Steinhaeuser <ps@embedd.com>
2026-07-01 15:11:27 +01:00
Christian Marangi
33977c34b3 profiles: add Airoha/Nokia profile
Add Airoha/Nokia profile for the Valyrian board. Required packages
are imported from the feed-airoha repository.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Signed-off-by: Peter Steinhaeuser <ps@embedd.com>
2026-07-01 15:11:24 +01:00
Christian Marangi
e342d3003e ci: cram: detach cellular specific element from generic ubus datamodel test
Some ubus datamodel are specific to devices with cellular support. Move
these element to the specific ubus datamodel test to fix the generic test
from failing.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Signed-off-by: Peter Steinhaeuser <ps@embedd.com>
2026-07-01 15:10:02 +01:00
Petr Štetiar
4fb886cf4d ci: testbed-01: add Nokia Valyrian labgrid bits for initramfs based boot
Nokia Valyrian board should be integrated into the testbeds, so lets add
labgrid support bits for initramfs based boot into testbed-01 for the
start.

References: PCF-2338
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Signed-off-by: Peter Steinhaeuser <ps@embedd.com>
2026-07-01 15:05:53 +01:00
Ziyang Huang
693c7f8db9 airoha: an7581: enable USB support
The an7581.dtsi contains the mediatek,mtk-xhci device.

Signed-off-by: Ziyang Huang <hzyitc@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/21460
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit f8a6798bf38c3d3e6fe6af9367ea5628df46429a)
Signed-off-by: Peter Steinhaeuser <ps@embedd.com>
2026-07-01 15:05:53 +01:00
Christian Marangi
aafafa1592 kernel: iio: Add Richtek RTQ6056 ADC support
Add support for Richtek RTQ6056 Current and Power Monitor ADC.

RTQ6056 is a high accuracy current-sense monitor with I2C and SMBus
compatible interface, and the device provides full information for
system by reading out the load current and power.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 59862e9ffebd4445a19901a02ea23e1ae7dddb67)
Signed-off-by: Peter Steinhaeuser <ps@embedd.com>
2026-07-01 15:05:53 +01:00
Christian Marangi
503d3daff1 ci: cram: Permit 37 additional queue in qdisc HTB regex
Some device (Nokia Valyrian) have up to 36 queues and on creating a new
one for HTB test, the returned value from tc qdisc show is now 37.

Update the generic test to address for this new device that define
additional HW queues.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Signed-off-by: Peter Steinhaeuser <ps@embedd.com>
2026-07-01 15:05:53 +01:00
Petr Štetiar
8c8d6dbe84 Revert "PROVISORY: ci: cram: freedom: skip 5G modem tests until PCF-2663"
This reverts commit 370bbd875e.

PCF-2663 is fixed: the previous commit e3c5cc3b5a30 ("profiles:
qca_ipq95xx: extend PCIe link retries so the 5G modem enumerates")
raises link_retries_count so the controller waits long enough for the
Quectel RM520N-GL PCIe link to train. The modem enumerates on PCIe
again, so re-enable the full modem cram test suite on Freedom that was
provisionally skipped.

References: PCF-2663
Assisted-by: claude:opus-4-8:1m-context
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2026-07-01 09:29:41 +00:00
Tim Hsu
9474adb618 profiles: qca_ipq95xx: extend PCIe link retries so the 5G modem enumerates
The Quectel RM520N-GL modem needs about 3.7s to finish PCIe link
training after power-on.

The kernel's default link-wait retry count is only ~1s, so after the
SMD migration removed the incidental delay that used to hold back the
modem probe, the controller gives up before the link is ready and the
modem fails to enumerate ("Phy link never came up").

Set link_retries_count to 400 on the modem controller (&pcie0_x1),
matching the value already used on the QCA reference designs.

The driver breaks out of the retry loop as soon as the link is up, so
the larger count only adds margin and costs nothing on a healthy link.

Fixes: PCF-2663

Signed-off-by: Tim Hsu <tim.hsu@wnc.com.tw>
2026-07-01 09:29:41 +00:00
a.kuznetsov
6b302b923b profiles: prpl_core: tr181-upnp: miniupnpd-prpl: Incorrect NewWANAccessType value provided
Problem: With a gateway in Ethernet as WAN configuration GetCommonLinkProperties() returns
         'NewWANAccessType':'Cable', whereas the expected value should be 'Ethernet'.

Root cause: WANAccessType value was hardcoded to "Cable" in miniupnpd-prpl

Solution: Since tr181-upnp plugins is responsible for supplying miniupnpd information
          about current configuration via config, use tr181-upnp to obtain required
          information about WAN from WANManager's DM, then feed it to miniupnpd using
          new config file option.
 Integrating changes:
 - tr181-upnp: adding config option to specify WanAccesType value
 - miniupnpd-prpl: adding config option to specify WanAccesType value

References: PPW-1826

Closes: PPW-1826
Signed-off-by: Andrei Kuznetsov <a.kuznetsov@inango-systems.com>
2026-06-30 17:56:52 +01:00
prplbot
d527952ec7 profiles: prpl_core.yml: feed_prplmesh: pwhm: stats: improve dm stats updating and make configurable minRefreshPeriod
Integrates following changes:
- util: add util api to update stats parameters of a given objects (d2fa8a9d)
- stats: fix intensive loop while setting dm stats (2f2e2fba)
- config: define new dm param to configure minimum stats refresh period (ec7e057e)
- assocDev: manage refreshing station stats with configurable minimum period (f6a129ee)
- radio: manage refresh stats with configurable minimum period (c34450fd)
- ssid: manage refreshing stats with configurable minimum period (06ae07fd)
- endpoint: manage refreshing stats with configurable minimum period (5379cf81)
- genFsm: fix build warning of timeout signed comparaison (bf670ff2)

References: PPM-3604, PPW-1675, PPM-4125, PPM-4126, PPW-2040
Signed-off-by: prplbot <bot@prplfoundation.org>
2026-06-29 17:25:18 +01:00
Houssem Dafdouf
e78ef81560 PROVISORY: ci: cram: pwhm: freedom: fix unexpected reconfigured links
Include all currently enabled non-TX BSS-related 6GHz links in the
expected output when disabling non-TX BSS links belonging to the same
MLD.

Due to a hostapd limitation (PCF-2595), non-TX BSS links cannot be
dynamically reconfigured and therefore must be re-added.

Context:
This limitation could be workarounded by setting WiFi.Radio.3.IEEE80211ax.MBSSIDAdvertisementMode
to "Off", which was temporarily done through the feed config in the
context of PCF-2539. Now as PCF-2539 in fixed and the config is set
back to Auto, we need to update the expected output.

References: FEAT-389,PCF-2595,PCF-2539
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
2026-06-29 16:46:38 +01:00
Hela Saadani
9c2b156e99 profiles: prpl-core: feed-prplmesh: Revert "pwhm: PROVISORY: disable MBSSID to allow bstamlo connection on 6g link"
Integrates:
- d1c1e7f1: ("Revert "pwhm: PROVISORY: disable MBSSID to allow bstamlo connection on 6g link"", 2026-06-10)

References: PCF-2539
Signed-off-by: Hela Saadani <hela.saadani_ext@softathome.com>
2026-06-29 16:46:13 +01:00
prplbot
c4caf658f1 profiles: prpl_core.yml: feed_prplmesh: pwhm: chanMgt: Add the punctured channels list in setChanspec RPC
Integrates following changes:
- pwhm: chanMgt: Add the punctured channels list in setChanspec RPC (f2943be6)

References: PPM-4055
Signed-off-by: prplbot <bot@prplfoundation.org>
2026-06-29 16:33:58 +01:00
Hela Saadani
fbd87e9082 ci: cram: obuspa: add MSCS/SCS QoS Management support for AccessPoint
References: PPM-3963
Signed-off-by: Hela Saadani <hela.saadani_ext@softathome.com>
2026-06-29 15:30:11 +01:00
prplbot
8e54af323e profiles: prpl_core.yml: feed_prplmesh: pwhm: add MSCS/SCS QoS Management support for AccessPoint
Integrates following changes:
- pWHM: add MSCS/SCS QoS Management support for AccessPoint (ffba8c40)

References: PPM-3963
Signed-off-by: prplbot <bot@prplfoundation.org>
2026-06-29 15:29:45 +01:00
Maarten De Decker
26a84617ac profiles: prpl: prplMesh: bump to prplMesh v6.0.1 (prplware-5.0-2026-06-25)
Integrates following changes:
- ci: remove wireless credential before starting test (5cbbf2071)
- ci: install lzop and libbsd-dev in builder image (8f684724b)
- fronthual: fix csa_notification_timer fd leakage (235601c02)
- Boardfarm: fix importerror for module pytz (60f778ad9)
- common: optimize base_wlan_hal_whm::refresh_radio_info() (9580484d6)
- agent: fix invalid STA in unassoc link metrics resp (6dbbd3f95)
- conn_map: summarize agent classifications (63b67bd9e)
- controller: use AL-MAC for prplMesh classification (ee1b9563e)
- agent: reapply TS VLAN changes (d7a1e7d87)
- tlvf: accept variable-length WSC public keys (23d97f397)

References:  PPM-4118, PPM-4130, PPM-4129, PPM-4077, PPM-4111, PPM-4001,
             PPM-4034, PPM-4083, PPM-4108
Signed-off-by: Maarten De Decker <maarten.dedecker@mind.be>
2026-06-29 13:56:48 +00:00
prplbot
28bcc4ca4b profiles: prpl_core.yml: feed_prplos: OSPv2: mod-wanmgr-system: Handling Onboard BOSA and SFP Transitions
Integrates following changes:
mod-wanmgr-system-ospv2:
- refactor: delegate serdes configuration responsibility to vendor script (b3452597)
- refactor: replace custom WAN type scripts with vendor sfp_change_handler integration (9b481e72)
- unit-test: align unit tests with vendor script-based SFP configuration (ebf62c6b)
- docs: refactor README to reflect vendor script responsibility for system configuration (a3170efe)
- odl: add SupportedSFPTypes parameter to WAN mode defaults (4b25a75f)

wan-manager:
- update_sfp_type: SFPType not updating due to incorrect interface name check (0e303154)
- wan_manager_found_ll: use correct trace function (c0335769)

References: PCF-2611
Signed-off-by: prplbot <bot@prplfoundation.org>
signed-off-by: Hela Saadani <hela.saadani_ext@softathome.com>
2026-06-29 12:49:16 +00:00
Bhavesh Bharadiya
26e2bdfbe1 profiles: mxl_x86_osp_tb341_v2: upstep to the latest UPDK 9.2.10 ER
Fixes below issues:
* WLAN interface does not come up after changing the configuration from hidden SSID to non-hidden SSID
* Stability issue causing WLAN interfaces to go down after approximately 15 hours in a multi-client setup
* Hostapd crashes randomly when WLAN radio configurations are applied after boot
* tc commands failing when trying to create WMM stat queues
* lighttpd configuration fails when configured with PKCS#11 URI
* Default sessions cache not refreshed on netif status change

Enhancements:
* debugfs support for static pp session
* Configure MTU for VEIP interface to max available value

Signed-off-by: Bhavesh Bharadiya <bnbharadiya@maxlinear.com>
2026-06-29 10:06:59 +00:00
Patrick ROGIER
4b6b20a139 cram: add manual tests for WAN modes on OSPv2 B-step board
Add 3 manual cram tests:
- manual_test_ethernet_dhcp.t
- manual_test_gpon_dhcp.t
- manual_test_gpon_onboard_dhcp.t

They respectively test following WAN modes:
- Ethernet_DHCP
- GPON_DHCP
- GPON_ONBOARD_DHCP

Those tests should not be part of ci. Each of them requires the user to
create the proper setup manually before.

cram tests cannot pause mid-test and interactively ask a human for
input. And testing those WAN modes requires unplugging and replugging
SFPs. Therefore it's difficult to write automatic cram tests which are
part of ci to test those WAN modes.

References: PCF-2549, FEAT-287
Signed-off-by: Patrick ROGIER <patrick.rogier_ext@softathome.com>
2026-06-24 11:31:10 +01:00
Théo-Paul Bodin
43f1696033 ci: cram: periodicfileupload tests sometimes fails (PPW-1766)
Problem: Some expected errors are randomly different

Cause: sleep duration was too short for serveile to start correctly
resulting in a 9015 error instead of a 9012

Solution: Increase sleep duration and change how the CABundle is added
to avoid unexpected error

References: PPW-1766, PPW-1632
Signed-off-by: Théo-Paul Bodin <theo-paul.bodin@softathome.com>
2026-06-23 15:38:09 +00:00
prplbot
33ea36c9e0 profiles: prpl_core.yml: feed_prplmesh: pwhm,libswlc: import stability fixes from field deployment
Integrates following changes:
pwhm:
- assocDev: fix MLOMode is Active Unknown for few phones (9e697832)
- assocDev: Prevent bridge port deletion of WDS interface (e84e4814)
- assocDev: pass device MAC address to IE parser for validation logging (92a091e2)
- test: fix unit test issue (33672ee3)
- nl80211: ensure proper handling of created WDS interfaces (32f80df4)
- ap: prevent unnecessary WPS disable and normalize MAC addresses (7173c8ba)
- chanMgt: Fix 6GHz channel bandwidth degrades from 320MHz to 160MHz (0b38befb)
- wld: handle the WiFi Reset RPC as an asynchronous deferred operation (841ae6b2)
- endpoint: Prevent temporary backhaul disconnection during WPS on extender (8afe1ede)
- ap: AP status update only when socket is ready (5b0fa5d0)
- endpoint: wps: Fix stack overflow in WPS credential processing (0130c806)
- Fix 5 GHz MAC address assignment and shell script vulnerabilities (2dc9aa1d)
- hostapd: WPS pairing timeout when hostapd is toogled (82ec1e57)
- chanMgt: Fix default 6 GHz WiFi channel configuration not compliant (7792eb9b)
- ep: Fix Endpoint interface creation (40a2e695)
- ApMgt: BTM sent during or after STA roaming (b0be4e8b)
- hostapd: make MFP SA Query timeouts configurable (77e3c858)
- Make default regulatory domain configurable (f9b14ca4)
- wpactrl: Make default wpactrl cmd timeout configurable (40884ec2)
- nl80211: add SWL bandwidth/chanspec converters for oper channel width (ff41c941)
- assocDev: Ensure cleanStation is called regardless of daemon instance count (f8700676)
- nl80211: Noise equals 0 (edf523bc)
- ep: Reconnect Timer never triggering (3bf22fda)
- assocDev: clear disconnected station MAC from bridge FDB table (ab8e4d60)
- assocDev: let cleanStation clear mac from bridge table (afb0eb08)
- assocDev: Incorrect Tr-181 Mapping for Active AssociatedDevice (67b50102)
- assocDev: Fix AffiliatedSta refresh to preserve MLO links (6959f049)
- rad: Return zero ChannelLoad when Radio is down (97d93d78)
- assocDev: Fix operating standard selection using bitwise AND (966dbe08)
- Update default 6 GHz channel to PSC channel 37 (e0fd47e0)
- test: fix staticPunct unit tests after changing default rad6g0 chan 37 (a1716950)
- chanmgt: prevent applying punctBimap on the primary channel (613bcecc)
- test: add unit to check staticPunct ignored when hitting the prim channel (eb298591)
libswlc:
- libswlc: Incorrect band steering due to false device frequency capabilities (be206950)
- libswlc: set et a PSC channel for 6GHz default (a31526fe)
- libswlc: no notifs for association attempts with security mode WPA3 (ab1bd60f)
- Update default 6 GHz channel to PSC channel 37 (296a8d6b)

References: SAH-SSW-11784, SAH-SSW-11756, SAH-SSW-12708, PPM-4042,SAH-SSW-11924, SAH-SSW-12060, SAH-SSW-11731, SAH-SSW-12245, SAH-SSW-12339, SAH-SSW-12708, SAH-SSW-11823, SAH-SSW-12081, SAH-SSW-12541, PPM-4042, SAH-SSW-11756, SAH-SSW-12705, SAH-SSW-11937, SAH-SSW-12330, PPM-3836, SAH-SSW-12269, SAH-SSW-12122, SAH-SSW-12159, SAH-SSW-12478, SAH-SSW-11703, SAH-SSW-12763, SAH-SSW-12157, SAH-SSW-12042, SAH-SSW-11438, SAH-SSW-12301, SSW-12330, SAH-SSW-11280, SAH-SSW-12518, SAH-SSW-11943, SAH-SSW-12512, SAH-SSW-12485, SAH-SSW-12665
Signed-off-by: prplbot <bot@prplfoundation.org>
Signed-off-by: FAOUZI YAHYA <faouzi.yahya_ext@softathome.com>
2026-06-23 13:12:03 +00:00
Petr Štetiar
370bbd875e
PROVISORY: ci: cram: freedom: skip 5G modem tests until PCF-2663
After migrating Freedom to the new SFL/SMD secure-boot layout, the Quectel
RM520N-GL 5G modem is no longer enumerated on the PCIe bus: its PCIe
controller PHY link never trains in time, so mhi-pci-generic never binds
(the modem stays reachable only over USB). Every modem-dependent cram test
therefore fails on Freedom.

Provisionally skip the modem test suite on Freedom (DUT_BOARD=wnc-freedom)
until PCF-2663 is fixed, keeping the rest of the platform coverage intact:

- generic/cellular-manager/*.t (all 10) -- exit 80 guard
- generic/acceleration-plan-components/50-cellular-offline.t -- exit 80 guard
- generic/acceleration-plan-components/018-cellular-trusted-elements.t -- exit 80 guard
- wnc-freedom/015-platform.t -- drop the PCI / mhi-pci-generic assertion only;
  the USB-modem, ethernet-alias and WPS/reset GPIO checks keep running

Revert this commit once the modem is back on PCIe (PCF-2663).

References: PCF-2663, PCF-2643
Assisted-by: claude:opus-4-8:1m-context
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2026-06-23 10:57:10 +02:00
Petr Štetiar
78b11d2d5b
ci: testbed: labgrid: flash OSPv2 and Freedom via FEAT-29 update_prpl
Switch the OSPv2 (mxl25641-hdk-6) and Freedom (wnc-freedom) eMMC flash
flow to the FEAT-29 U-Boot update script, replacing the legacy OSPv2
update_fullimage path and the Freedom untar/flash sysupgrade path. This
exercises the image/update tooling introduced in prplos!1964.

The flow tftpboots the per-board update_script.itb, sources it and runs
update_prpl against the FEAT-29 OS artifacts:
- OSPv2: PRPL_OSP_v2-wgrtd159be_b_wav700-ext4.img (4G variant)
- Freedom: prpl_freedom-kernel.itb + prpl_freedom-rootfs.itb

update_rescue_bank is set to yes so both OS banks carry the same image
and a bank failover cannot boot a stale rootfs. U-Boot/RBE/XBL/SMD are
left unset: those are one-time migration inputs and must not be
reflashed on every refresh. Boards are expected to already be on the
prpl flash layout. Hand-off to Linux uses run bootcmd (bootprpl/bootipq)
instead of reset, which avoids a power cycle and the labgrid autoboot
re-interrupt hazard.

init_command_timeout bounds the whole init_commands sequence and is set
deliberately tight, per board, so a network/perf regression (e.g. image
TFTP throughput roughly halving) trips the timeout instead of silently
passing, while still absorbing TFTP first-packet jitter. Validated runs
executed the init_commands in:
- OSPv2:   ~30s (update_script TFTP ~10s + update_prpl ~18s)   -> 60s
- Freedom: ~37s (sleep 5 + update_script TFTP ~3.5s + update_prpl ~24s,
                 two images to both banks)                     -> 75s

The rootfs_data overlay is erased before update_prpl so every refresh
boots from a clean overlay; update_prpl itself leaves rootfs_data
untouched. The block offsets are hardcoded from each board's GPT because
the target U-Boot has no part command to derive them:
- OSPv2:   mmc erase 0x86c00 0x10000   (32 MiB, UPDK 9.2.0)
- Freedom: mmc erase 0x534022 0x40000  (128 MiB)

Because update_prpl needs both the update script and the OS image over
TFTP, generalise the testbed/cdrouter firmware copy to a list via the
new TFTP_IMAGE_FILENAMES variable (falling back to TFTP_IMAGE_FILENAME),
rather than overloading TFTP_IMAGE_UNPACK_COMMAND. The Freedom testbed
job now drives the wnc-freedom-emmc target instead of initramfs, so the
now-unused wnc-freedom-initramfs labgrid target is dropped.

Flip the wnc-freedom and mxl25641-hdk-6 testbed runner tags to the -sfl
variant (dut-wnc-freedom-sfl, dut-mxl25641-hdk-6-b-sfl), to make it
clear, that those devices are converted to the prpl Standard Flash
Layout.

References: FEAT-29
Closes: PCF-2644, PCF-2645
Assisted-by: claude:opus-4-8:1m-context
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2026-06-23 10:57:09 +02:00
Paul HENRYS
a4c008ca07
ci: cram: ospv2: test reading the FIT version using get_fit_version.sh
Test reading the FIT version from u-boot-active and kernel-active
partitions and compare it against the version stored in /etc/os-release.

cram file:
  212-read-fit-version.t

Implements: PCF-2606
Tracked-by: FEAT-29
Signed-off-by: Paul HENRYS <paul.henrys_ext@softathome.com>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org> [cram fixes]
2026-06-23 10:57:08 +02:00
Paul HENRYS
c7d6b1daa1
ci: cram: freedom: test reading the FIT version using get_fit_version.sh
Test reading the FIT version from u-boot-active, kernel-active and rootfs-active
partitions and compare it against the version stored in /etc/os-release.

cram file:
  212-read-fit-version.t

Implements: PCF-2606
Tracked-by: FEAT-29
Signed-off-by: Paul HENRYS <paul.henrys_ext@softathome.com>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org> [cram fixes]
2026-06-23 10:57:07 +02:00
yan wang
b3e49c68ce
ci: cram: freedom: test reading a register with sysregister driver
Read and write the bootcount register using sysregister driver.

Implements: PCF-2098, PCF-2099, PCF-2289
Tracked-by: FEAT-29
Signed-off-by: yan wang <yan.wang@softathome.com>
2026-06-23 10:57:06 +02:00
yan wang
b167370b0a
ci: cram: ospv2: test the upgrade with swupdate in Linux
Run upgrades in dry-mode with a correctly signed image and another one
where the keys to sign the .swu image and to authenticate the image
before the upgrade are different.
This last test also covers the case where the image is corrupted.

Implements: PCF-1876, PCF-1878
Tracked-by: FEAT-29
Signed-off-by: yan wang <yan.wang@softathome.com>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org> [cram fixes]
2026-06-23 10:57:05 +02:00
yan wang
1ecd787249
ci: cram: freedom: test the upgrade with swupdate in Linux
Run upgrades in dry-mode with a correctly signed image and another one
where the keys to sign the .swu image and to authenticate the image
before the upgrade are different.
This last test also covers the case where the image is corrupted.

Implements: PCF-1876, PCF-1878
Tracked-by: FEAT-29
Signed-off-by: yan wang <yan.wang@softathome.com>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org> [cram fixes]
2026-06-23 10:57:04 +02:00
yan wang
c317151364
ci: cram: ospv2: SMD reading
Test reading a non encrypted field and an encrypted one in Linux.

Implements: PCF-2103
Tracked-by: FEAT-29
Signed-off-by: yan wang <yan.wang@softathome.com>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org> [cram fixes]
2026-06-23 10:57:03 +02:00
yan wang
f0aa151d7b
ci: cram: freedom: SMD reading
Test reading a non encrypted field and an encrypted one in Linux.

Implements: PCF-2103
Tracked-by: FEAT-29
Signed-off-by: yan wang <yan.wang@softathome.com>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org> [cram fixes]
2026-06-23 10:57:02 +02:00
Bhavesh Bharadiya
e75f6cf681
ci: cram: ospv2: disable devmem
Disable devmem related options in the Linux kernel and Busybox.

Implements: PCF-1854
Tracked-by: FEAT-29
Signed-off-by: Bhavesh Bharadiya <bnbharadiya@maxlinear.com>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org> [cram fixes]
2026-06-23 10:57:01 +02:00
Bhavesh Bharadiya
e98e1b9f23
profiles: mxl_x86_osp_tb341_v2: disable devmem
Disable devmem related options in the Linux kernel and Busybox.

Implements: PCF-1854
Tracked-by: FEAT-29
Signed-off-by: Bhavesh Bharadiya <bnbharadiya@maxlinear.com>
2026-06-23 10:56:42 +02:00
Bhavesh Bharadiya
ea1d110598
profiles: mxl_x86_osp_tb341_v2: upstep rootfs feed to the latest updk 9.2.10 revision
Upstep the rootfs feed to the latest updk 9.2.10 revision, i.e. 7a8fa93c,
not to install a custom MxL script that resets the bootcount register
after a successful boot.
Resetting the bootcount is already done by another generic init script
provided by feed-prplos in swupdate/kmods/sysregister.

Implements: PCF-1854
Tracked-by: FEAT-29
Signed-off-by: Bhavesh Bharadiya <bnbharadiya@maxlinear.com>
2026-06-23 10:56:42 +02:00
Paul HENRYS
89191fbc7f
ci: build: exclude non required images from the artifact
Exclude from the artifact images that are not required for prpl upgrade
This is a temporary workaround while waiting for MaxLinear to build and
copy only the required images.

Fixes: PCF-1854
Tracked-by: FEAT-29
Signed-off-by: Paul HENRYS <paul.henrys_ext@softathome.com>
2026-06-23 10:56:41 +02:00
Paul HENRYS
45ed7e2978
ci: build: install libpython3-dev in the Docker image before building
libpython3-dev provides Python header files required to build U-Boot tools.

Fixes: PCF-2606
Tracked-by: FEAT-29
Signed-off-by: Paul HENRYS <paul.henrys_ext@softathome.com>
2026-06-23 10:56:40 +02:00
Paul HENRYS
7895c59fcd
profiles: secure_boot_emmc: add uboot-tools package
Add uboot-tools to secure_boot_emmc to install preload_check_sign on the
target. preload_check_sign from U-Boot tools is used to authenticate FIT
images signed with a preload by get_fit_version.sh.

Implements: PCF-2606
Tracked-by: FEAT-29
Signed-off-by: Paul HENRYS <paul.henrys_ext@softathome.com>
2026-06-23 10:56:39 +02:00
Paul HENRYS
2ded676158
profiles: mxl_x86_osp_tb341_v2: upstep to the latest updk 9.2.10 revisions
Upstep intel_x86 and bootloader feeds to their latest revisions that
includes the latest integration of MaxLinear for FEAT-29.

Implements: PCF-1854, PCF-1858, PCF-1878
Tracked-by: FEAT-29
Signed-off-by: Paul HENRYS <paul.henrys_ext@softathome.com>
2026-06-23 10:56:38 +02:00
Mohamed-nour Toumi
e457214351
profiles: extract secure eMMC boot config into shared profile
Create profiles/secure_boot_emmc.yml as a common base for secure eMMC
boot with swupdate A/B partitioning, consolidating duplicated config
from mxl_x86_osp_tb341_v2 and qca_ipq95xx.

Moved to secure_boot_emmc.yml:
  - Packages: swupdate, libubootenv, imagegenerator,
    initramfs-generator, readmfg, libfdt, fdt-utils, kmod-sysregister
  - Diffconfig: secure initramfs, swupdate handlers
    (ext4/diskpart/diskformat), imagegenerator, MFG global signature,
    kernel keyring, sysregister bootcount

Also remove unused packages from shared profiles:
  - prpl_core: drop keyctl, keyutils, kmod-sysregister
  - prpl: drop lvm2

Closes: PCF-2097
Fixes: PCF-1875, PCF-1878
Tracked-by: FEAT-29
Signed-off-by: Mohamed-nour Toumi <mohamed.toumi_ext@softathome.com>
2026-06-23 10:56:37 +02:00