[openwrt/openwrt] ramips/mt7621: mark EEE as broken in devicetree
LEDE Commits
lede-commits at lists.infradead.org
Mon Jun 16 06:30:39 PDT 2025
hauke pushed a commit to openwrt/openwrt.git, branch openwrt-24.10:
https://git.openwrt.org/926314ab12e4858477b35d152157339e9038dee6
commit 926314ab12e4858477b35d152157339e9038dee6
Author: Mateusz Jończyk <mat.jonczyk at o2.pl>
AuthorDate: Sat Apr 5 22:41:56 2025 +0200
ramips/mt7621: mark EEE as broken in devicetree
Multiple users have reported a regression [1] in OpenWRT 24.10 with the
ramips/mt7621 target, which has the MT7530 PHYs: the Ethernet link is
periodically going down for a brief period of time:
mt7530-mdio mdio-bus:1f lan1: Link is Down
br-lan: port 1(lan1) entered disabled state
mt7530-mdio mdio-bus:1f lan1: Link is Up - 1Gbps/Full - flow control rx/tx
The symptoms stop after disabling EEE and it was reported by Mediatek in
2021 that EEE is unstable for the MT7530 PHYs [2]:
> EEE of the 10-year-old MT7530 internal gephy has many IOT problems, so
> it is recommended to disable its EEE.
EEE is enabled by default for these devices in OpenWRT 24.10 whereas in the
previous version (OpenWRT 23.05, Linux 5.15) it was not. It was determined
that in Linux 6.6, the PHY driver tries to disable EEE in
mtk_gephy_config_init() in drivers/net/phy/mediatek-ge.c, but this is later
overridden by a subsequent execution of the genphy_c45_write_eee_adv()
function, which enables every EEE mode supported.
The best way forward for now seems to be to mark EEE as broken directly in
the devicetree, which affects the genphy_c45_write_eee_adv() function.
There are some devices, like GnuBee GB-PC2, that define additional PHYs,
for example ethernet-phy at 5 or ethernet-phy at 7. As reported by Chester A.
Unal, these are not MT7530 PHYs and they are not affected.
This would need to be cherrypicked for the OpenWRT 24.10 branch.
[1] https://github.com/openwrt/openwrt/issues/17351
[2] https://lore.kernel.org/all/0adde34f936a2dafca40b06b408d82afe0852327.camel@mediatek.com/
Tested-by: Darren Tucker
Signed-off-by: Mateusz Jończyk <mat.jonczyk at o2.pl>
Closes: https://github.com/openwrt/openwrt/issues/17351
Link: https://github.com/openwrt/openwrt/pull/18585
(cherry picked from commit b7fa9d92aef86453c28875b50ae27fbab3b500a4)
Signed-off-by: Mateusz Jończyk <mat.jonczyk at o2.pl>
Tested-by: Mateusz Jończyk <mat.jonczyk at o2.pl>
Link: https://github.com/openwrt/openwrt/pull/19150
Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
---
target/linux/ramips/dts/mt7621.dtsi | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/target/linux/ramips/dts/mt7621.dtsi b/target/linux/ramips/dts/mt7621.dtsi
index da992bada4..da03d47ff6 100644
--- a/target/linux/ramips/dts/mt7621.dtsi
+++ b/target/linux/ramips/dts/mt7621.dtsi
@@ -522,26 +522,36 @@
ethphy0: ethernet-phy at 0 {
reg = <0>;
interrupts = <0>;
+ eee-broken-100tx;
+ eee-broken-1000t;
};
ethphy1: ethernet-phy at 1 {
reg = <1>;
interrupts = <1>;
+ eee-broken-100tx;
+ eee-broken-1000t;
};
ethphy2: ethernet-phy at 2 {
reg = <2>;
interrupts = <2>;
+ eee-broken-100tx;
+ eee-broken-1000t;
};
ethphy3: ethernet-phy at 3 {
reg = <3>;
interrupts = <3>;
+ eee-broken-100tx;
+ eee-broken-1000t;
};
ethphy4: ethernet-phy at 4 {
reg = <4>;
interrupts = <4>;
+ eee-broken-100tx;
+ eee-broken-1000t;
};
};
More information about the lede-commits
mailing list