Skip to content
成功

変更履歴

概要

  1. realtek: phy: use lock helpers (commit: b209174) (details)
  2. realtek: phy: enhance RTL8218B initialization (commit: 4fa90d8) (details)
  3. realtek: phy: add RTL8214FC initialization for RTL839x (commit: 0bab65d) (details)
  4. kernel: net: phy: mxl-gpy: replace patch with upstream commit (commit: 6ac605e) (details)
  5. realtek: dsa: avoid use-after-free (commit: a91c3ab) (details)
  6. realtek: ethernet: avoid using unitialized memory (commit: 19b8d39) (details)
  7. package: uboot-qoriq: fix T4240RDB u-boot selection (commit: 20727f8) (details)
  8. realtek: eth: remove mdio leftovers (commit: 80dbf93) (details)
  9. build: remove default provider priority (commit: 49fc319) (details)
  10. build: don't auto mark all provides as virtual (commit: 2a1977a) (details)
  11. build: refactor dependency formatting (commit: 779fa7f) (details)
  12. build: fix provides logic when ABI version is set (commit: 952c918) (details)
  13. uclient: provide virtual wget-any (commit: af1fa17) (details)
  14. elfutils: drop libelf1 provide (commit: 8cc2743) (details)
  15. build: fix implicit self-provides (commit: 2d844a0) (details)
  16. build: remove redundant shebang from apk lifecycle scripts (commit: 1dec468) (details)
  17. build: add default priority to ABI-versioned packages (commit: 470e030) (details)
  18. realtek: mdio: improve iterator readability (commit: 4acbbf6) (details)
  19. realtek: mdio: provide phy info helper (commit: 9371130) (details)
  20. realtek: mdio: Simplify RTL930x phy polling setup (commit: b271735) (details)
  21. realtek: mdio: drop interfaces attribute (commit: 5c5823a) (details)
  22. boot: arm-trusted-firmware-microchipsw: fix compilation against LibreSSL (commit: 410277c) (details)
  23. boot: arm-trusted-firmware-microchipsw: depend on host Ruby (commit: 082fe66) (details)
  24. kernel: add kmod-phy-motorcomm (commit: 96a1337) (details)
  25. mediatek: add Motorcomm PHY driver to Cudy WR3000H (commit: dbafbab) (details)
  26. mediatek: fix PHY autodetection on Cudy WR3000H (commit: 02f0efd) (details)
  27. imagebuilder: add ABI suffix to packages when using apk (commit: 31cdd13) (details)
  28. mediatek: add support for Airpi AP3000M (commit: 6ff4557) (details)
  29. mpc85xx: fix failsafe iface selection for mpc85xx boards (commit: a73db6d) (details)
  30. libiwinfo: update to Git HEAD (2026-01-14) (commit: f642941) (details)
  31. kernel: add kmod-hwmon-adt7470 (commit: cb82479) (details)
  32. rockchip: add `"compat_version": "1.1"` for Radxa E52C (commit: 4303915) (details)
  33. airoha: show link rate and duplex (commit: 4953db3) (details)
  34. base-files: introduce a function to generate IAID (commit: e1f2b66) (details)
  35. netifd: use stable IAID for DHCPv4 (commit: e1c125c) (details)
コミット b209174c43bc0b6a4cb6f4af44a1b25d85d543c6 by stijn
realtek: phy: use lock helpers

No need to open code bus locking.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21435
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
(commit: b209174)
The file was modifiedtarget/linux/realtek/files-6.12/drivers/net/phy/rtl83xx-phy.c (diff)
コミット 4fa90d879b3cb45aadd65c75b741f83f1b9fe811 by stijn
realtek: phy: enhance RTL8218B initialization

The RTL8214FC and the RTL8218B share the same register set and
need to be initialized quite similar. In the future the RTl8214FC
will get its own setup sequence. To keep the codebase small the
common parts (serdes & copper) will be covered by the existing
RTL8218B configuration.

Enhance the RTL8218B setup with this separate commit to ensure
that nothing breaks.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21435
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
(commit: 4fa90d8)
The file was modifiedtarget/linux/realtek/files-6.12/drivers/net/phy/rtl83xx-phy.c (diff)
コミット 0bab65dfa7c8ab27d0b2c76126e4d1114a92aa10 by stijn
realtek: phy: add RTL8214FC initialization for RTL839x

Until now the RTL8214FC is initialized either by U-Boot (all
devices) or by some magic firmware file (RTL838x). On RTL839x
devices without U-Boot (e.g. ZyXEL GS1920) this PHY cannot
be used.

Provide the most basic setup sequence for RTL839x so that
copper/fiber work. Later it can be taken over for all devices
and the firmware helpers can be dropped.

Remark! This should not (but might) break RTL839x devices with
RTL8214FC U-Boot setup.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21435
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
(commit: 0bab65d)
The file was modifiedtarget/linux/realtek/files-6.12/drivers/net/phy/rtl83xx-phy.c (diff)
コミット 6ac605e4c61746c2c4fbf24a705508de7fc67d7f by daniel
kernel: net: phy: mxl-gpy: replace patch with upstream commit

Replace accepted patch with backported upstream commit and refresh
patches.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(commit: 6ac605e)
The file was addedtarget/linux/generic/backport-6.12/730-11-v7.0-net-phy-mxl-gpy-implement-SGMII-in-band-configuratio.patch
The file was modifiedtarget/linux/generic/backport-6.12/735-v6.13-net-phy-avoid-undefined-behavior-in-_led_polarity_se.patch (diff)
The file was removedtarget/linux/generic/pending-6.12/721-net-phy-mxl-gpy-implement-SGMII-in-band-configuratio.patch
コミット a91c3abe83c3f9513518c86b5d0a42b5a9afaad3 by stijn
realtek: dsa: avoid use-after-free

The realtek target uses some functions marked __init for initialization.
However, that means they can only be called once when compiled in and
afterwards the memory occupied by them is freed and potentially reused.
Some "impossible" (code at a given location can't crash in the way it
does) crashes can be caused by this because upon re-execution of those
functions, garbage gets executed. Such re-execution can happen for
deferred probes or repeated probes.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Link: https://github.com/openwrt/openwrt/pull/21504
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
(commit: a91c3ab)
The file was modifiedtarget/linux/realtek/files-6.12/drivers/net/dsa/rtl83xx/common.c (diff)
The file was modifiedtarget/linux/realtek/files-6.12/drivers/net/ethernet/rtl838x_eth.c (diff)
コミット 19b8d391a95d5a2fa038551a9498a9fd426dfc0e by stijn
realtek: ethernet: avoid using unitialized memory

The mac_addr variable was not zero-initialized, causing weird side effects
when the memory contents were a valid MAC address.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Link: https://github.com/openwrt/openwrt/pull/21504
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
(commit: 19b8d39)
The file was modifiedtarget/linux/realtek/files-6.12/drivers/net/ethernet/rtl838x_eth.c (diff)
コミット 20727f89d524ffc2970165a5f91558b3785ea249 by robimarko
package: uboot-qoriq: fix T4240RDB u-boot selection

Mark T4240RDB u-boot variants as device-built and avoid installing them into rootfs.

Without this buildbot crashes during package install with:

ERROR: unable to select packages:

  u-boot-fsl_T4240RDB-nor (no such package):

    required by: world[u-boot-fsl_T4240RDB-nor]

  u-boot-fsl_T4240RDB-sdboot (no such package):

    required by: world[u-boot-fsl_T4240RDB-sdboot]

Fixes: c5d3d5fe28f7 ("package: u-boot: initial support for qoriq arch")
Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21514
Signed-off-by: Robert Marko <robimarko@gmail.com>
(commit: 20727f8)
The file was modifiedtarget/linux/qoriq/image/generic.mk (diff)
The file was modifiedpackage/boot/uboot-qoriq/Makefile (diff)
コミット 80dbf932a39eb81eec8096e4ab8513ddb5d69e26 by stijn
realtek: eth: remove mdio leftovers

The mdio driver was carved out from the ethernet driver long
ago. Remove some leftover defines.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21502
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
(commit: 80dbf93)
The file was modifiedtarget/linux/realtek/files-6.12/drivers/net/ethernet/rtl838x_eth.h (diff)
コミット 49fc31903306c346fcda862800f40d5e94cff5b0 by robimarko
build: remove default provider priority

Remove default provider priority since packages are expected to
explicitly declare virtual provides and set default variants. With
default priority some package variants without PROVIDES and not marked
as default end up with priority 0 and are not picked for installation.

Before the change dnsmasq-dhcpv6 is selected for dnsmasq, because the
former has higher priority:

name <dnsmasq> selected from selectable list
select_package: dnsmasq (requirers=1, autosel=1, iif=0, order_id=0x4000005f)
  consider dnsmasq-2.91-r2 iif_triggered=0, tag_ok=1, selectable=1, available=1, flags=0x0, provider_priority=0, installed=0
   prefer existing package
    choose as new provider
  consider dnsmasq-dhcpv6-2.91-r2 iif_triggered=0, tag_ok=1, selectable=1, available=1, flags=0x0, provider_priority=1, installed=0
    prefer highest declared provider priority
    choose as new provider
  consider dnsmasq-full-2.91-r2 iif_triggered=0, tag_ok=1, selectable=1, available=1, flags=0x0, provider_priority=1, installed=0
    prefer lowest available repository
selecting: dnsmasq-dhcpv6-2.91-r2, available: 1
assign dnsmasq-dhcpv6 to dnsmasq-dhcpv6-2.91-r2
assign dnsmasq to dnsmasq-dhcpv6-2.91-r2
disqualify_package: dnsmasq-2.91-r2 (conflicting provides)
disqualify_package: dnsmasq-full-2.91-r2 (conflicting provides)
    apply_constraint: libc
    apply_constraint: provider: libc-1.2.5-r5: 1

After the change dnsmasq is selected for dnsmasq based on
lexicographical order:

name <dnsmasq> selected from selectable list
select_package: dnsmasq (requirers=1, autosel=1, iif=0, order_id=0x4000005f)
  consider dnsmasq-2.91-r2 iif_triggered=0, tag_ok=1, selectable=1, available=1, flags=0x0, provider_priority=0, installed=0
   prefer existing package
    choose as new provider
  consider dnsmasq-dhcpv6-2.91-r2 iif_triggered=0, tag_ok=1, selectable=1, available=1, flags=0x0, provider_priority=0, installed=0
    prefer lowest available repository
  consider dnsmasq-full-2.91-r2 iif_triggered=0, tag_ok=1, selectable=1, available=1, flags=0x0, provider_priority=0, installed=0
    prefer lowest available repository
selecting: dnsmasq-2.91-r2, available: 1
assign dnsmasq to dnsmasq-2.91-r2
disqualify_package: dnsmasq-dhcpv6-2.91-r2 (conflicting provides)
disqualify_package: dnsmasq-full-2.91-r2 (conflicting provides)
    apply_constraint: libc
    apply_constraint: provider: libc-1.2.5-r5: 1

Fixes: dea8397 ("include/package-pack: add default 'provider_priority' for APK packages")
Signed-off-by: George Sapkin <george@sapk.in>
Link: https://github.com/openwrt/openwrt/pull/21369
Signed-off-by: Robert Marko <robimarko@gmail.com>
(commit: 49fc319)
The file was modifiedinclude/package-pack.mk (diff)
コミット 2a1977a4b83c8b5c61a2e74deeac00e2b58e026f by robimarko
build: don't auto mark all provides as virtual

Don't mark all provides as virtual when ALTERNATIVES is set.
Automatically marking all provides as virtual prevents variants from
conflicting between each other. Alternatives have nothing to do with
packaging and packages are expected to manage their own provides.

Updated internal provides explanation.

Remove unnecessary back slashes from FormatProvides.

Fixes: 18029977 ("build: fix apk packaging and ABI-versioning")
Signed-off-by: George Sapkin <george@sapk.in>
Link: https://github.com/openwrt/openwrt/pull/21369
Signed-off-by: Robert Marko <robimarko@gmail.com>
(commit: 2a1977a)
The file was modifiedinclude/package-pack.mk (diff)
コミット 779fa7ff6caa509d5df3827342162fdb07093cee by robimarko
build: refactor dependency formatting

Refactor dependencies and extra dependencies logic into a helper define
and document it.

Signed-off-by: George Sapkin <george@sapk.in>
Link: https://github.com/openwrt/openwrt/pull/21369
Signed-off-by: Robert Marko <robimarko@gmail.com>
(commit: 779fa7f)
The file was modifiedinclude/package-pack.mk (diff)
コミット 952c918028b4811e5cf0f3fa8607ce50630a5060 by robimarko
build: fix provides logic when ABI version is set

Same as for the base package name, when a package has an ABI version,
provide both unversioned provider in addition to one with ABI version
and version.

So for each provide instead of providing only:

$provide$ABI_version=$package_version

now provide:

$provide $provide$ABI_version=$package_version

When a provide ends in a number, the ABI version will be prefixed with
a - sign, e.g.: provide1-0

Fixes: 18029977 ("build: fix apk packaging and ABI-versioning")
Signed-off-by: George Sapkin <george@sapk.in>
Link: https://github.com/openwrt/openwrt/pull/21369
Signed-off-by: Robert Marko <robimarko@gmail.com>
(commit: 952c918)
The file was modifiedinclude/package-pack.mk (diff)
コミット af1fa176c31368e5e56c5a1f31d8a12273536378 by robimarko
uclient: provide virtual wget-any

Packages shouldn't provide a package that another package, in this case
wget from packages provides. Explicitly provide a virtual @wget-any
instead to match the implicit wget provide and switch the only consumer
to use the new provider.

Set uclient-fetch as the default variant for wget-any.

Signed-off-by: George Sapkin <george@sapk.in>
Link: https://github.com/openwrt/openwrt/pull/21369
Signed-off-by: Robert Marko <robimarko@gmail.com>
(commit: af1fa17)
The file was modifiedpackage/system/apk/Makefile (diff)
The file was modifiedpackage/libs/uclient/Makefile (diff)
コミット 8cc2743c4865607b67f9b4b2ecacb62e242abb20 by robimarko
elfutils: drop libelf1 provide

ABI version is added to a package name during packaging, so there's no
need to specify it manually. And nothing explicitly depends on libelf1.

Fixes: d7bf089 ("elfutils: rename libelf1 to libelf")
Signed-off-by: George Sapkin <george@sapk.in>
Link: https://github.com/openwrt/openwrt/pull/21369
Signed-off-by: Robert Marko <robimarko@gmail.com>
(commit: 8cc2743)
The file was modifiedpackage/libs/elfutils/Makefile (diff)
コミット 2d844a077089575ab67fcbd15e021a981387e668 by robimarko
build: fix implicit self-provides

Fix setting implicit self-provides for packages when they don't have any
PROVIDES specified.

Remove redundant self-provide for kmods, since kmods are packages and
will have a self-provide added already.

Fixes: 5ed650a ("build: add support for virtual provides")
Fixes: 9b37b71 ("build: provide virtual self in kmods")
Signed-off-by: George Sapkin <george@sapk.in>
Link: https://github.com/openwrt/openwrt/pull/21369
Signed-off-by: Robert Marko <robimarko@gmail.com>
(commit: 2d844a0)
The file was modifiedinclude/kernel.mk (diff)
The file was modifiedinclude/package.mk (diff)
The file was modifiedinclude/package-pack.mk (diff)
コミット 1dec4683f6a91cb0734e97186738b0ea413bb356 by robimarko
build: remove redundant shebang from apk lifecycle scripts

Due to the way apk lifecycle scripts are defined, they might end up with
multiple shebangs. Remove them.

Before:

  post-upgrade: |
    #!/bin/sh
    export PKG_UPGRADE=1
    #!/bin/sh
    [ "${IPKG_NO_SCRIPT}" = "1" ] && exit 0
    [ -s ${IPKG_INSTROOT}/lib/functions.sh ] || exit 0
    . ${IPKG_INSTROOT}/lib/functions.sh
    export root="${IPKG_INSTROOT}"
    export pkgname="adblock-fast"
    add_group_and_user
    default_postinst
    #!/bin/sh
    # check if we are on real system
    if [ -z "${IPKG_INSTROOT}" ]; then
    /etc/init.d/adblock-fast enable
    fi
    exit 0

After:

  post-upgrade: |
    #!/bin/sh
    export PKG_UPGRADE=1
    [ "${IPKG_NO_SCRIPT}" = "1" ] && exit 0
    [ -s ${IPKG_INSTROOT}/lib/functions.sh ] || exit 0
    . ${IPKG_INSTROOT}/lib/functions.sh
    export root="${IPKG_INSTROOT}"
    export pkgname="adblock-fast"
    add_group_and_user
    default_postinst
    # check if we are on real system
    if [ -z "${IPKG_INSTROOT}" ]; then
    /etc/init.d/adblock-fast enable
    fi
    exit 0

Fixes: b52e897 ("include/package-pack: remove leading whitespace from install scripts")
Fixes: 03880e2 ("include/package-pack: add missing apk package lifecycle events")
Signed-off-by: George Sapkin <george@sapk.in>
Link: https://github.com/openwrt/openwrt/pull/21369
Signed-off-by: Robert Marko <robimarko@gmail.com>
(commit: 1dec468)
The file was modifiedinclude/package-pack.mk (diff)
コミット 470e030a5eae77e94192e0dd933d7b1b657f7b2c by robimarko
build: add default priority to ABI-versioned packages

If a package has an ABI version defined, set priority to 10. The enables
packages with an ABI version to be installed by their base name instead
of a name and an ABI version, e.g.:

libfoo3, where 3 is the ABI version can be installed by just libfoo.

This affects manual installation only, as the dependency resolution
takes care of ABI versions.

Refactor apk priority logic into a helper define.

Signed-off-by: George Sapkin <george@sapk.in>
Link: https://github.com/openwrt/openwrt/pull/21369
Signed-off-by: Robert Marko <robimarko@gmail.com>
(commit: 470e030)
The file was modifiedinclude/package-pack.mk (diff)
コミット 4acbbf6f058ddf1704960f1c75cd0bea984ecd7e by stijn
realtek: mdio: improve iterator readability

Currently there are several places where the driver uses the
classic "i" as iterator. In these cases where it iterates
phy ports use "addr" instead to make it easier to read. Do
the same for the smi bus. Additionally forthcomming commits
will show nicer diffs.

While we are here fix the initialization sequence of the private
structure. There is no need to set data to zero that has already
been zero-allocated before. Instead initialize smi_bus[] with
a value of "-1" to denote that a phy is not in scope. This is
essential as some functions already have a matching check in
place.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21469
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
(commit: 4acbbf6)
The file was modifiedtarget/linux/realtek/files-6.12/drivers/net/mdio/mdio-realtek-otto.c (diff)
コミット 93711307e0c116591d7a4c452dbbfe76273b33ef by stijn
realtek: mdio: provide phy info helper

The mdio driver currently initializes the phy polling registers
with some nasty magic. It identifies the interface mode from the
dts and draws some strange conclusions.

Looking at the SDK one can see that this is basically dependent
of the attached phy type. So the code location is quite right
inside the mdio driver.

Provide a new get_phy_info() function that determines the phy
characteristics that are important for the polling unit . It will
be later needed by the RTL93xx setup code.

Some explanation about the fields of the structure:

- has_res_reg: phy has a special Realtek resolution polling
  register. It is unclear if this gives more details or if it
  simply allows faster polling.

- has_giga_lite: This is a phy that allows for Realtek proprietary
  1G/2.5G lite connectivity. In this case data is only transmitted
  over two wire pairs.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21469
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
(commit: 9371130)
The file was modifiedtarget/linux/realtek/files-6.12/drivers/net/mdio/mdio-realtek-otto.c (diff)
コミット b2717357a78ab03dc69cb72114cd83f7e01b4782 by stijn
realtek: mdio: Simplify RTL930x phy polling setup

Cleanup the RTL930x polling setup. Make use of the
new phy fixup helper to initialize the polling registers.

As an integral update to the logic before only write
register bits that are really in scope. This might save
some bits set by U-Boot.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21469
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
(commit: b271735)
The file was modifiedtarget/linux/realtek/files-6.12/drivers/net/mdio/mdio-realtek-otto.c (diff)
コミット 5c5823afdcce797c313d5d105801490289c0b340 by stijn
realtek: mdio: drop interfaces attribute

The interfaces attribute of the mdio bus held the information
about the connection mode (qsgmii, sgmii, ...). This was only
used during the old RTL930x setup. Drop it because it is not
needed any longer.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21469
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
(commit: 5c5823a)
The file was modifiedtarget/linux/realtek/files-6.12/drivers/net/mdio/mdio-realtek-otto.c (diff)
コミット 410277ca12d811daa8040edf75dfd87a2d9dd5f8 by robimarko
boot: arm-trusted-firmware-microchipsw: fix compilation against LibreSSL

LibreSSL 3.9+ has dropped support for X509V3 extension API so cert_create
tool does not compile against it at all.

This was hidden by the fact that it was compiling against OpenSSL on my
host which still has that API, however we do not ship libssl-dev in the
Buildbot containers so compiling against distro OpenSSL is not possible.

So, after a long time trying to find any docs on that API I resorted to
LLM(Gemini 3 Pro) to get it to compile.

Our libcrypto is linked against pthread so we must pass -lpthread as well
for cert_tool.

Fixes: 5205c0c42607 ("microchipsw: lan969x: add Microchip EV23X71A")
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
(commit: 410277c)
The file was addedpackage/boot/arm-trusted-firmware-microchipsw/patches/0002-cert_create-add-LibreSSL-3.9-compatibility.patch
The file was addedpackage/boot/arm-trusted-firmware-microchipsw/patches/0003-cert_create-pass-pthread-in-LDFLAGS.patch
The file was modifiedpackage/boot/arm-trusted-firmware-microchipsw/Makefile (diff)
コミット 082fe669f7b6839144484589ebb72c87bb9d6314 by robimarko
boot: arm-trusted-firmware-microchipsw: depend on host Ruby

Microchip ATF depends on Ruby scripts to generate the FWU monitor HTML
and more, so make sure that host Ruby is available.

We also need to call the scripts directly via Ruby executable as shebang
wont work due to lack of Ruby in the Buildbot container.

Fixes: 5205c0c42607 ("microchipsw: lan969x: add Microchip EV23X71A")
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
(commit: 082fe66)
The file was addedpackage/boot/arm-trusted-firmware-microchipsw/patches/0004-microchip-lan969x-do-not-rely-on-Ruby-shebang.patch
The file was modifiedpackage/boot/arm-trusted-firmware-microchipsw/Makefile (diff)
コミット 96a133737433eca069e26b1730ea5a895b8f2fd8 by hauke
kernel: add kmod-phy-motorcomm

The Motorcomm YT8821 2.5G PHY is being used in some devices as an
alternative to devices like the RTL8221B.  Package it as a kmod
so it can be used as a device package rather than requiring changes
to the target kernel config.

Signed-off-by: Andrew MacIntyre <andymac@pcug.org.au>
Link: https://github.com/openwrt/openwrt/pull/21399
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(commit: 96a1337)
The file was modifiedpackage/kernel/linux/modules/netdevices.mk (diff)
コミット dbafbab8769b92c8466ea83400280b4f549ace71 by hauke
mediatek: add Motorcomm PHY driver to Cudy WR3000H

Recent Cudy WR3000H v1 units have a Motorcomm YT8821 2.5G PHY for
the WAN interface instead of the RTL8221B PHY used in earlier units,
so add kmod-phy-motorcomm to be able to use it.

Signed-off-by: Andrew MacIntyre <andymac@pcug.org.au>
[linuxtardis@gmail.com: slightly reworded the commit description]
Signed-off-by: Jakub Vaněk <linuxtardis@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21399
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(commit: dbafbab)
The file was modifiedtarget/linux/mediatek/image/filogic.mk (diff)
コミット 02f0efd60b423b4ce9b996f7c986dd68965a50d4 by hauke
mediatek: fix PHY autodetection on Cudy WR3000H

Newer Cudy WR3000H units have a Motorcomm YT8821 PHY instead of a
Realtek PHY on the WAN port. Before this commit, the Motorcomm PHY
could not be autodetected by the kernel -- the PHY would show up as
just a generic clause 45 PHY and the proper driver would not be loaded.

The cause of the detection failure likely was that the YT8821 PHY was
held in reset during PHY detection. To fix this, move the reset GPIO
definition to the MDIO bus level. This reset line is deasserted before
the autodetection process, see also [1]. With this change, both Realtek
and Motorcomm PHYs can be supported with a single device tree.

[1]: https://lore.kernel.org/all/20251119134750.394655-1-horatiu.vultur@microchip.com/

Signed-off-by: Jakub Vaněk <linuxtardis@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21399
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(commit: 02f0efd)
The file was modifiedtarget/linux/mediatek/dts/mt7981b-cudy-wr3000h-v1.dts (diff)
コミット 31cdd13d22dd374d4a8b8d86377627ad01928495 by robimarko
imagebuilder: add ABI suffix to packages when using apk

If an apk package with an ABI version doesn't have priority set, it
can't be selected by its base name:

$ make manifest PACKAGES='libustream-openssl libsqlite3'
ERROR: unable to select packages:
  libsqlite3 (virtual):
    note: please select one of the 'provided by'
          packages explicitly
    provided by: libsqlite3-0
    required by: world[libsqlite3]
  libustream-openssl (virtual):
    note: please select one of the 'provided by'
          packages explicitly
    provided by: libustream-openssl20201210
    required by: world[libustream-openssl]

Look up the ABI version in apk index and if present, add an ABI suffix
to all requested packages.

Signed-off-by: George Sapkin <george@sapk.in>
Link: https://github.com/openwrt/openwrt/pull/21449
Signed-off-by: Robert Marko <robimarko@gmail.com>
(commit: 31cdd13)
The file was modifiedtarget/imagebuilder/files/Makefile (diff)
コミット 6ff4557317139cc02003db9d058f4d9d6ba859ce by hauke
mediatek: add support for Airpi AP3000M

This adds support for the Airpi AP3000M 5G CPE based on MediaTek MT7981B.

Specifications:

SoC: MediaTek MT7981B (dual-core ARM Cortex-A53)
RAM: 1GB DDR4
Storage: 8GB or 16GB eMMC
Ethernet: 1x 2.5GbE LAN, 1x 1GbE WAN
Wireless: 2.4GHz/5GHz 802.11ax
Buttons: Reset, WPS
LEDs: System, 2.4GHz WiFi, 5GHz WiFi
Cooling: PWM-controlled fan
Expansion: M.2 slot for 5G modem

The factory partition (mmcblk0p2) is empty in stock firmware.
Execute via SSH before flashing OpenWrt:
```
dd if=/lib/firmware/MT7981_iPAiLNA_EEPROM.bin of=/dev/mmcblk0p2 bs=4k count=1
MAC addresses
```
Fixed MAC addresses are derived by macaddr_generate_from_mmc_cid.

Installation via U-Boot web page

Set static IP 192.168.88.2/255.255.255.0 on your computer.
Connect to the 1GbE port (WAN) and hold the reset button while booting the device. Wait for about 6 seconds, and release the reset button.
Open U-boot web page on your browser at http://192.168.88.1
Select the OpenWRT sysupgrade image, upload it, and start the upgrade.
Wait for automatic reboot.
Installation via sysupgrade

Flash the sysupgrade file via LuCI upgrade page without saving the settings.

Signed-off-by: Fil Dunsky <filipp.dunsky@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21397
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(commit: 6ff4557)
The file was addedtarget/linux/mediatek/dts/mt7981b-airpi-ap3000m.dts
The file was modifiedtarget/linux/mediatek/filogic/base-files/etc/hotplug.d/ieee80211/11_fix_wifi_mac (diff)
The file was modifiedtarget/linux/mediatek/image/filogic.mk (diff)
The file was modifiedtarget/linux/mediatek/filogic/base-files/etc/board.d/02_network (diff)
The file was modifiedtarget/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh (diff)
The file was modifiedtarget/linux/mediatek/filogic/base-files/etc/board.d/01_leds (diff)
コミット a73db6d0a041e1b86bd72ee4103b23d41887a31e by hauke
mpc85xx: fix failsafe iface selection for mpc85xx boards

Some mpc85xx boards still boot with failsafe configured on a non-LAN
interface. Align the preinit interface with the first DSA port or the
interface that LAN is connected to.

This makes failsafe reachable on devices where the default selection does
not map to the primary LAN port.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21516
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(commit: a73db6d)
The file was modifiedtarget/linux/mpc85xx/base-files/lib/preinit/05_set_preinit_iface_mpc85xx (diff)
コミット f6429413d92890181574f0f37b57d734bb73ba96 by hauke
libiwinfo: update to Git HEAD (2026-01-14)

f5dd57a84cc3 nl80211: fix 5Ghz frequency calculations

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(commit: f642941)
The file was modifiedpackage/network/utils/iwinfo/Makefile (diff)
コミット cb8247947589a63a9398088f245a0d2f87aaf80d by robimarko
kernel: add kmod-hwmon-adt7470

This driver supports the ADT7470 thermal monitoring chip, which is used
in the ECS4100-12PH switch.

Fixes: fa9f92595197 ("realtek/rtl839x: Edgecore ECS4100-12PH support")
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Link: https://github.com/openwrt/openwrt/pull/21505
Signed-off-by: Robert Marko <robimarko@gmail.com>
(commit: cb82479)
The file was modifiedpackage/kernel/linux/modules/hwmon.mk (diff)
コミット 43039157babc7262180cdd56994732ca1ebbb6fd by robimarko
rockchip: add `"compat_version": "1.1"` for Radxa E52C

This is something I missed in https://github.com/openwrt/openwrt/pull/20608

Fixes: 1f1db75432 ("rockchip: make NIC name predictable for Radxa E52C/ROCK 5 ITX/ROCK 5T")
Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
Link: https://github.com/openwrt/openwrt/pull/21533
Signed-off-by: Robert Marko <robimarko@gmail.com>
(commit: 4303915)
The file was addedtarget/linux/rockchip/armv8/base-files/etc/board.d/05_compat-version
コミット 4953db3aeff052223e4588fe892f94a32e917a05 by robimarko
airoha: show link rate and duplex

Implement the .get_link_ksettings to get the rate, duplex, and
auto-negotiation status.

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Link: https://github.com/openwrt/openwrt/pull/21530
Signed-off-by: Robert Marko <robimarko@gmail.com>
(commit: 4953db3)
The file was addedtarget/linux/airoha/patches-6.12/611-v7.0-net-airoha-implement-get_link_ksettings.patch
コミット e1f2b666ff94f2b8a50ca000d69f5b5f0b89a27c by noltari
base-files: introduce a function to generate IAID

Add new function "network_generate_iface_iaid()" to generate a stable IAID
from an interface name.

Link: https://github.com/openwrt/openwrt/pull/21489
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(commit: e1f2b66)
The file was modifiedpackage/base-files/files/lib/functions/network.sh (diff)
コミット e1c125c167e5c4fef16fd5e2bf670f290808b2d1 by noltari
netifd: use stable IAID for DHCPv4

Commit 9151c7015ed2 introduced support for the global DHCP DUID to
generate a RFC4361-style client identifier.
However, the IAID introduced in those changes is based on ifindex, which
is subject to changes and causes issues on environments requiring a stable
IAID.

This commit switches the IAID to a stable one based on MD5.

Fixes: 9151c7015ed2 ("netifd: use the global DHCP DUID for DHCPv4")
Link: https://github.com/openwrt/openwrt/pull/21489
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(commit: e1c125c)
The file was modifiedpackage/network/config/netifd/Makefile (diff)
The file was modifiedpackage/network/config/netifd/files/lib/netifd/proto/dhcp.sh (diff)