Swig 4.3.0 has changed SWIG_Python_AppendOutput, which now requires an
additional parameter `is_void`. SWIG_AppendOutput remains unchanged.
This was fixed upstream in u-boot/u-boot@a63456b
```
scripts/dtc/pylibfdt/libfdt_wrap.c: In function ‘_wrap_fdt_next_node’:
scripts/dtc/pylibfdt/libfdt_wrap.c:5581:17: error: too few arguments to function ‘SWIG_Python_AppendOutput’
5581 | resultobj = SWIG_Python_AppendOutput(resultobj, val);
| ^~~~~~~~~~~~~~~~~~~~~~~~
```
This is the same fix as applied in 363e07d.
Fixes: #20619
Link: #20620
Signed-off-by: Trix Taiclet <trix@c3l.lu>
Link: https://github.com/openwrt/openwrt/pull/20620
(cherry picked from commit 71b5de61aecf49ca1522b3f549631417c67e73d0)
Signed-off-by: Trix Taiclet <git@trix.moe>
Link: https://github.com/openwrt/openwrt/pull/21415
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 4327b82a7b4fd39f540169a20a364f572abfc35c)
Fixes the following error by backporting upstream update:
```
scripts/dtc/pylibfdt/libfdt_wrap.c: In function ‘_wrap_fdt_next_node’:
scripts/dtc/pylibfdt/libfdt_wrap.c:5581:17: error: too few arguments to function ‘SWIG_Python_AppendOutput’
5581 | resultobj = SWIG_Python_AppendOutput(resultobj, val);
| ^~~~~~~~~~~~~~~~~~~~~~~~
```
This is the same fix as applied in 4e68103c4eb9 ("uboot-rockchip: fix build with swig 4.3.0")
Link: https://github.com/openwrt/openwrt/pull/20538
(cherry picked from commit 363e07dfa2ec39756dad3ef9c955bc83b9e920c9)
Signed-off-by: Trix Taiclet <git@trix.moe>
Link: https://github.com/openwrt/openwrt/pull/21415
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 23180fbfaad6e202f2745e811175ec1625ea17d9)
The gmac definition has an offset of 1 at the moment. This leads to an
off by one error in downstream projects that rely on the package label mac.
Signed-off-by: Steffen Förster <nemesis@chemnitz.freifunk.net>
Link: https://github.com/openwrt/openwrt/pull/21543
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Link: https://github.com/openwrt/openwrt/pull/21561
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 49862b1cf56e72a12d7dfad1b34f2e34bae44b2d)
The gmac definition has an offset of 1 compared to the label MAC.
Fixes: a55ab9e134 ("mediatek: filogic: prevent faulty mac address assignment")
Signed-off-by: Maximilian Baumgartner <aufhaxer@googlemail.com>
Link: https://github.com/openwrt/openwrt/pull/21560
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 687a2535d55f84a0daa2038b7e8736313cb2804e)
(cherry picked from commit 82f4ee5656d0126de24cf1cc2197c4194a31d6e9)
The SUPPORTED_DEVICES sets for both Maxlinear (v1) and Airoha (v2)
devices were identical, so sysupgrade was unable to detect when an
incorrect image was being installed. This caused "soft bricking" of
devices when a v1 image was installed on a v2 device, and vice versa.
Fix this by making the supported_devices distinct for each device
version, by renaming the devices with a version-specific name.
This is reflected in the file name and the image metadata.
Fixes: https://github.com/openwrt/openwrt/issues/20566
Fixes: https://github.com/openwrt/asu/issues/1525
Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20632
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit b71f4665cda10c284c9460409ae30fb9b0beecf8)
(cherry picked from commit dcf11c832a95595e6b919b88d6cd649bd9343a1f)
The EW71v2 has the WAN port configured at eth1.
The printed label-mac is configured on this iface in openwrt.
Signed-off-by: Florian Maurer <f.maurer@outlook.de>
(cherry picked from commit 7f3537ee2cefbe90ff9408c5bf0c855186daa62b)
(cherry picked from commit b023a06cfb88ef9688a7f1c39b371a7129a85694)
backport upstream commit 095151b235 (mediatek: fix pwn fan settings for
sinovoip bpi-r3 (v3))
Popular cheap PWM fans for this machine, like the ones coming in
heatsink+fan combos will not work properly at the currently defined
medium speed. Trying different pwm setting using a command
echo $value > /sys/devices/platform/pwm-fan/hwmon/hwmon1/pwm1
I found:
pwm1 value fan rotation speed cpu temperature notes
-----------------------------------------------------------------
0 maximal 31.5 Celsius too noisy
40 optimal 35.2 Celsius no noise hearable
95 minimal
above 95 does not rotate 55.5 Celsius
-----------------------------------------------------------------
Current cooling levels are:
cooling-levels = <255 96 0>;
Thus only cpu-active-high and cpu-active-low modes are usable.
This patch fixes cpu-active-medium settings for bpi-r3 board.
This patch may not be enough. Users may wants to tweak their thermal_zone0
trip points, thus tuning fan rotation speed depending on cpu temperature.
That can be done on the base of the following example:
=== example =========
# cpu temperature below 25 Celsius degrees, no rotation
echo 25000 > /sys/class/thermal/thermal_zone0/trip_point_4_temp
# cpu temperature in [25..32] Celsius degrees, normal rotation speed
echo 32000 > /sys/class/thermal/thermal_zone0/trip_point_3_temp
# cpu temperature above 50 Celsius degrees, max rotation speed
echo 50000 > /sys/class/thermal/thermal_zone0/trip_point_2_temp
=====================
Changes v2:
* put patch to a proper directory
* updated patch description
* tested with latest openwrt based on linux-6.6
Changes v3:
* use upstream linux patch
* update patch description
Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21252
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 2916275a3d6cdda8bbc9decb5fd4df5e89a425a1)
Release binaries must be reproducible from the sources shipped with them.
Generate version and version.date from git when CI_COMMIT_TAG is set,
before the build reads either value.
Compute both values before writing either file, then print them for
traceability. The tag condition is the exact complement of the development
guard, so generation cannot run on development builds.
Assisted-by: codex:gpt-5.6-sol:medium-fast
Assisted-by: claude:opus-5:orchestrator
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
References: PCF-2730
version and version.date override the git-derived metadata used by
development builds. Keeping either file after a release-tag sync freezes
the reported revision or source date.
Add a fail-fast check to the shared build template before the first make
invocation. When CI_COMMIT_TAG is empty, the check reports their presence
and points sync authors to upstream's "revert to branch defaults"
commit.
Assisted-by: codex:gpt-5.6-sol:medium-fast
Assisted-by: claude:opus-5:orchestrator
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
References: PCF-2730
The v24.10.5 sync kept the release-tag version and version.date files
and set VERSION_CODE to a fixed revision. Development builds therefore
report the same revision and source date regardless of the commit.
Delete the two release-tag files and restore VERSION_CODE to
$(REVISION), following upstream's tag-then-revert flow. This is the
version-data part of bcfa0417febc; feeds.conf.default and
package/base-files/image-config.in remain unchanged.
Assisted-by: codex:gpt-5.6-sol:medium-fast
Assisted-by: claude:opus-5:orchestrator
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Fixes: bcfa0417fe ("OpenWrt v24.10.5: adjust config defaults")
References: PCF-2730
Integrates following changes:
- hapdAp: add api to RELOAD_BSS conf from hapd memory (991f26cd)
- hapdRad: manage long lasting RELOAD cmd of hapd memory conf (c5a344d5)
- hapdAp: define two new actions to RELOAD hapd mem config of one of all BSSs (652d941f)
- genFsm: add fsm actions to dyn RELOAD hapd mem conf of one or all BSSs (c2b3ee0d)
- genHapd: learn hapd support of RELOAD_BSS wpactlr command (ef3c51f5)
- hapdCfg: move MULTI_AP type definition to header file (0e27dc79)
- hapdCfg: add api for fetch and handle reconf of matched multi-ap FH BSSs (00212c6b)
- hapdAp: add api to dyn SET multi-ap bh ssid in hapd memory (b27c9da1)
- genFsm: manage applying bh ssid and bh creds through fsm (9553f607)
- hapdAp: apply multi-ap bh ssid/creds using RELOAD_BSS isof global RELOAD_CONF (48236192)
- hapdAp: use RELOAD_BSS isof RELOAD_CONF to update wps ssid/creds config (dabbc343)
- nl80211: fix getting non-mlo nl80211 iface info (aa210cfb)
- genFsm: fix slow vap ifaces update after changing operstd (d216c273)
References: PPW-2068, PPW-2269
Signed-off-by: prplbot <bot@prplfoundation.org>
Signed-off-by: FAOUZI YAHYA <faouzi.yahya_ext@softathome.com>
Update the expected prplMesh CLI status output to include the live
controller connectivity state.
The backhaul manager refactoring added the "controller connected" field
to the agent status output. All covered gateway scenarios are operational
and connected to their local controller, so expect the field to be true
across the affected platform CRAM tests.
This is an expected-output update only and does not change test behavior.
References: PPM-4012
Signed-off-by: Dmytro Puz <d.puz@inango-systems.com>
Verify IEEE1905 model population against the number of prplMesh devices
expected in each testbed. Compare AL IDs and DataElements references, and
check that Network.Enable controls materialization.
Run the NMAP checks after the other prplMesh tests to avoid disrupting
the established Controller+Agent state and discovered testbed topology.
Closes: PPM-3970
References: FEAT-319
Signed-off-by: Andrey Erokhin <a.erokhin@inango-systems.com>
Check that prplMesh registers the complete Device.IEEE1905 data model
with obuspa.
Keep this check separate from obuspa.expected and run it before the tests
that restart obuspa. The prplMesh event loop does not currently support
reconnecting after an obuspa restart.
Closes: PPM-3970
References: PPM-4178
References: FEAT-319
Signed-off-by: Andrey Erokhin <a.erokhin@inango-systems.com>
Extend the Cram datamodel expectations with the new Device.IEEE1905 object tree
and the prplMesh HigherLayerRequestIntervalSec configuration parameter.
Closes: PPM-3970
References: FEAT-319
Signed-off-by: Andrey Erokhin <a.erokhin@inango-systems.com>
The WPS button now uses a gpio-keys-polled node, which pulls in
kmod-input-gpio-keys-polled, so it appears in the build .config.
Add it to the expected package list in 005-build-config.t.
Fixed: PCF-2655
Signed-off-by: Tim Hsu <tim.hsu@wnc.com.tw>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org> [rebased]
WPS button moved from the gpio-keys edge-IRQ node to a separate gpio-keys-polled node to avoid the GPIO12 pad-leakage IRQ storm.
015-platform.t still read soc@0/gpio_keys/button@1, which no longer exists, so the WPS label and linux,code checks failed.
Point both at soc@0/gpio_keys_polled/button@1; reset stays at gpio_keys/button@2 and linux,code is unchanged (0x0211).
Fixed: PCF-2655
Signed-off-by: Tim Hsu <tim.hsu@wnc.com.tw>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org> [rebased]
On Freedom boards, GPIO12 (WPS button) pad leakage lets the pin
linger near the switching threshold during cold boot, so the mainline
gpio-keys edge IRQ (IRQ36) storms at hundreds of thousands to millions
of edges per second, all pinned to CPU0.
CPU0 gets wedged in hardirq context, stops reporting RCU quiescent states,
and the resulting rcu_preempt stall blocks any driver bring-up that waits on synchronize_rcu(),
stalling i2c-mux/expander/LED probe and locking the board up.
Move the WPS button to a separate gpio-keys-polled node so it no longer requests an edge IRQ,
decoupling it from the pad leakage entirely.
Fixes: PCF-2655
Signed-off-by: Tim Hsu <tim.hsu@wnc.com.tw>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org> [rebased, removed PCI fix]
ForceSolicitPolicy is now a standard TR-181 parameter with no vendor
prefix. Update the cram test accordingly.
Signed-off-by: Alexandre Fiset <alexandre.fiset@softathome.com>
DROP BEFORE MERGE.
Pins feed_prplos at feed-prplos !1014, which reverts ethernet-manager
v1.38.1 back to v1.37.0. The pinned commit is exactly one revert on top
of 7ad2df9d, the revision this branch already carried, so the only
delta in the resulting image is the ethernet-manager version.
Since v1.38.1 landed, every "run test MXL25641-HDK-6 with system on
eMMC" job on latest-24.10 dies at DUT bring-up: check_network --network
lan times out after 180s with the LAN datamodel reporting Status="Up"
while every ping to the test host returns "Destination Host
Unreachable". v1.38.1 pulls in tr181-ethernet 220eb0a7c, which writes
speed/duplex, EEE and EDPD to the PHY on every link-up and applies EDPD
for the first time; a PHY with EEE/EDPD newly applied shows carrier but
passes no traffic.
This commit only exists to prove that on CI. Drop it and let prplbot
bump feed_prplos normally once the revert has landed on feed main.
Integrates:
- 7f0c9c5: ("Revert "tr181-ethernet: preserve configured energy settings across init and link changes"", 2026-06-17)
Refernces: PCF-2584
Signed-off-by: Alexandre Fiset <alexandre.fiset@softathome.com>
prplbot deleted some changes made in prpl-core file.
Readd thise changes to fix the briken version.
- Add IPsec support and netmodel-ipsec
- Add wireguard, netmodel-wireguard and libwireguard
- Add netmodel-tuntap and tr181-tuntap
References: PCF-2467, PCF-2023, PCF-2469, Feat-150
Signed-off-by: Hela Saadani <hela.saadani_ext@softathome.com>
Integrates following changes:
- libamxp: Correctly set CoreDump flag based on WCOREDUMP status (ed282fc1)
References: PPW-1141
Signed-off-by: prplbot <bot@prplfoundation.org>
Signed-off-by: FAOUZI YAHYA <faouzi.yahya_ext@softathome.com>
Testing Various valid combinations on 6GHz PrivateVAP
side-effect: default value of MLDUnitSetting changes behavior of PWHM
i.e. new parameter:
Radio.{i}.IEEE80211be.MLDUnitSetting=Assumed
is expected to invalidate current apmld tests
Reset it to Required, the value that keeps old pwhm behavior
OBUSPA:
Prefix IEEE80211be.MLDUnitSetting with X_PRPLWARE-COM_
and add it to obuspa.expected datamodel dump
testbed.yml : increase timeout by 2min (nominal execution time : 1m50s)
Issue: PPM-3545
Signed-off-by: Iacob Juc <iacob.juc_ext@softathome.com>
Issue:
With the introduction of cache services and a configurable removal timeout (PPW-1676),
services are no longer removed immediately when they are no longer detected.
Instead, a timer is started based on the new RemoveServiceTimeout parameter.
If the service is rediscovered before the timer expires, it remains in the data model.
The default timeout value is set to 300000 ms (5 minutes).
Fix:
The fix involves modifying the cram test to lower the RemoveServiceTimeout to 5000 ms (5 second)
for quicker testing.
Tracked-by: PPW-1676
Signed-off-by: Yousfi Neji <yousfi.neji_ext@softathome.com>
Integrates following changes:
- tr181-dnssd: increase maximum Service instance limit (d9b67836)
- tr181-dnssd: fix reserved bit count in intf_flags struct (03118b63)
- tr181-dnssd: rename misspelled files and clean up events handler (f08cb7ea)
- tr181-dnssd: avoid unnecessary copy of service_htable (85fcc6ec)
- tr181-dnssd: implement DNSSD.Scan data model (7057dd18)
- tr181-dnssd: cache services with configurable removal timeout (e5b1e471)
- tr181-dnssd: remove stale services on IP address change (06dfe2e1)
- tr181-dnssd: fix IP version detection using IPAddresses (443985b5)
- tr181-dnssd: expose IPAddresses in Scan event notification (959fb531)
- tr181-dnssd: fix NULL Host when TR-181 path lookup fails (8628544e)
- tr181-dnssd: remove @version tags from non standard parameters (241462e7)
- tr181-dnssd: implement DNSSD.Scan data model (160ea637)
- tr181-dnssd: remove stale services on IP address change (c23d7ce2)
References: PPW-1676
Signed-off-by: prplbot <bot@prplfoundation.org>
signed-off-by: Hela Saadani <hela.saadani_ext@softathome.com>
prpl_core.yml now pulls strongswan-default and sixteen strongswan
modules for the IPsec datamodel. They drag in dependencies nothing
selects explicitly -- strongswan-ipsec via mod-stroke, and libgcrypt
plus libgpg-error via mod-gcrypt -- so every board that ships strongswan
sees a wider package set than its expected output records.
Refresh the expectations for the three boards that build strongswan:
- 005-build-config.t on mxl25641-hdk-6, wnc-freedom and urx851-b0-dk.
urx851-b0-dk has no hardware test job, so its copy of the same
expected output would have drifted unnoticed until the board is
exercised again; keep the three in sync.
- 011-tls.t on mxl25641-hdk-6 and wnc-freedom. The grep pattern and the
version-tolerant libopenssl / libustream-openssl regexes are left
untouched; only strongswan-mod-openssl is added. Enumerating the whole
strongswan package set belongs in 005-build-config.t, not in a test
whose subject is the single TLS library.
The same module set also widens what charon advertises through the IPsec
root object. Rather than track those capability strings, 133-tr181-ipsec.t
now asserts only that the datamodel starts with no entries, so the
expectation no longer moves with the strongswan module selection.
Also drop CONFIG_VERSION_CODE_FILENAMES from the wnc-freedom expected
build config. The symbol is no longer emitted, which is OpenWrt base
drift rather than a VPN change, but the expectation cannot pass while it
is listed.
References: FEAT-150, PCF-2467
Signed-off-by: Alexandre Fiset <alexandre.fiset@softathome.com>
The .swu firmware image (~80MB) and temporary PEM keys generated during
the wrong-key test were never removed from DUT /tmp, leaving the
partition nearly full for the tests that run afterwards.
Delete the .swu image and the generated PEM files at the end of the
test.
References: PCF-2469, PPW-2134
Signed-off-by: Alexandre Fiset <alexandre.fiset@softathome.com>
With VPN features the rootfs is now too smal, increase it to make more
rooms as this is mainly use for qemu system where roots don't have hard
constrain.
References: PCF-2469, PCF-2467, PCF-2294, PCF-2023
Signed-off-by: Alexandre Fiset <alexandre.fiset@softathome.com>
Add initial cram tests for tr181-ipsec, including an end-to-end test with
IKEv2 certificate authentication: a dedicated strongSwan charon instance
runs inside a network namespace (with a private /var/run tmpfs to isolate
it from the CPE charon) behind a veth pair emulating the WAN link, so the
test is self-contained and is not tied to a specific board. Certificates
are generated on the DUT: a self-signed one for the CPE, and for the peer
an end entity certificate issued by a dedicated CA, since
IKEv2RemoteAuthenticationMethod designates the authority the peer is
validated against rather than the peer certificate itself. They are
imported through /etc/config/autocert into Security.Certificate, and
referenced from an IPsec.Profile/Filter pair. The end-to-end test verifies
the IKEv2 SA and Child SA come up and that protected traffic flows.
References: PCF-2469, FEAT-150
Signed-off-by: Alin Nastac <alin.nastac@softathome.com>
Signed-off-by: Alexandre Fiset <alexandre.fiset@softathome.com>
Add initial cram tests for tr181-wireguard, including an end-to-end tunnel
test: the remote peer lives in a network namespace behind a veth pair
emulating the WAN link and is configured with wireguard-tools, so the
test is self-contained and is not tied to a specific board. The
end-to-end test drives the CPE side through the data
model (WireGuard.Tunnel/Peer + IP.Interface + Firewall.Service), verifies
the handshake on the peer, ping in both directions, a short iperf3 session
and the NetModel flags.
Implements: PCF-2023
References: FEAT-150
Signed-off-by: Patrick Havelange <patrick.havelange_ext@softathome.com>
Signed-off-by: Alexandre Fiset <alexandre.fiset@softathome.com>