Files
openwrt/target/linux
Michał Kępień a8aef63898 ath79: mikrotik: also compile AG71XX_LEGACY as a module
Commit 9091c9f8cb ("ath79: mikrotik: compile SWCONFIG and AR8216_PHY
as modules") caused the hybrid PHY/MDIO ar8xxx driver to be built as a
module instead of built-in.  On at least MikroTik RouterBOARD 951G-2HnD,
this prevents the kernel from binding the correct PHY driver at boot
because the ar8xxx driver is not yet available when the MDIO bus is
probed:

  - before:

    ag71xx-legacy 19000000.eth: invalid MAC address, using random address
    switch0: Atheros AR8327 rev. 4 switch registered on mdio.0
    ag71xx-legacy 19000000.eth: connected to PHY at mdio.0:00 [uid=004dd034, driver=Atheros AR8216/AR8236/AR8316]
    eth0: Atheros AG71xx at 0xb9000000, irq 4, mode: rgmii

  - after:

    ag71xx-legacy 19000000.eth: invalid MAC address, using random address
    ag71xx-legacy 19000000.eth: connected to PHY at mdio.0:00 [uid=004dd034, driver=Generic PHY]
    eth0: Atheros AG71xx at 0xb9000000, irq 4, mode: rgmii

As the PHY is already bound to the fallback "Generic PHY" driver when
the ar8xxx module is loaded, the switch remains non-functional and the
router has no network connectivity.

Fix by also compiling the MAC driver (ag71xx-legacy) as a module,
deferring switch initialization until control is transferred to
userspace during boot.  The configured module autoload priorities
(ar8xxx: 43, ag71xx-legacy: 50) ensure that the ar8xxx driver is loaded
before ag71xx-legacy.

Fixes: https://github.com/openwrt/openwrt/issues/23739
Fixes: 9091c9f8cb ("ath79: mikrotik: compile SWCONFIG and AR8216_PHY as modules")
Suggested-by: Daniel Golle <daniel@makrotopia.org>
Signed-off-by: Michał Kępień <openwrt@kempniu.pl>
Link: https://github.com/openwrt/openwrt/pull/23748
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 12abb2413a)
Link: https://github.com/openwrt/openwrt/pull/23833
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-06-18 23:25:09 +02:00
..
2026-06-09 01:00:11 +02:00
…
2026-06-17 01:55:50 +02:00
2026-04-02 23:23:41 +02:00
…
2026-04-02 23:23:40 +02:00
2026-06-17 01:55:50 +02:00
…
2026-06-17 01:55:50 +02:00
2026-04-02 23:23:40 +02:00
2026-05-27 12:38:31 +02:00
2026-06-09 01:00:11 +02:00
…
…
2026-04-02 23:23:40 +02:00
2026-05-27 12:38:31 +02:00
2026-04-02 23:23:40 +02:00
2026-04-30 21:18:02 +02:00
2026-06-17 01:55:50 +02:00
2026-04-02 23:23:40 +02:00
2026-05-27 12:38:31 +02:00
2026-06-17 01:55:50 +02:00
2026-04-20 16:43:22 +02:00
…
…