[openwrt/openwrt] ath79: don't autodetect AR8033 PHY capabilities

LEDE Commits lede-commits at lists.infradead.org
Mon Jun 21 13:43:57 PDT 2021


blocktrron pushed a commit to openwrt/openwrt.git, branch openwrt-21.02:
https://git.openwrt.org/56228e939365d543933a87cac11109a7d5ccc619

commit 56228e939365d543933a87cac11109a7d5ccc619
Author: David Bauer <mail at david-bauer.net>
AuthorDate: Sun Jun 13 12:00:41 2021 +0200

    ath79: don't autodetect AR8033 PHY capabilities
    
    PHY capabilities are currently read from the fiber status page, thus
    Linux won't advertise 10 / 100 Base-T operation modes, effectively
    limiting operation to 1000 Base-T.
    
    Statically set the PHYs capabilities, avoiding autodetection.
    
    The issue itself is properly fixed kernel upstream, however backporting
    efforts to OpenWrt master resulted in breaking the fiber operation for
    another target.
    
    This is currently only known to be necessary for the Ubiquiti
    UniFi AC series, so enabling it in the ath79 target should not
    break somewhere else.
    
    Signed-off-by: David Bauer <mail at david-bauer.net>
---
 .../700-at803x-force-ar8033-features.patch         | 25 ++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/target/linux/ath79/patches-5.4/700-at803x-force-ar8033-features.patch b/target/linux/ath79/patches-5.4/700-at803x-force-ar8033-features.patch
new file mode 100644
index 0000000000..cfbcaa148d
--- /dev/null
+++ b/target/linux/ath79/patches-5.4/700-at803x-force-ar8033-features.patch
@@ -0,0 +1,25 @@
+PHY capabilities are currently read from the fiber status page, thus
+Linux won't advertise 10 / 100 Base-T operation modes, effectively
+limiting operation to 1000 Base-T.
+
+Statically set the PHYs capabilities, avoiding autodetection.
+
+The issue itself is properly fixed kernel upstream, however backporting
+efforts to OpenWrt master resulted in breaking the fiber operation for
+another target.
+
+This is currently only known to be necessary for the Ubiquiti
+UniFi AC series, so enabling it in the ath79 target should not
+break somewhere else.
+
+--- a/drivers/net/phy/at803x.c
++++ b/drivers/net/phy/at803x.c
+@@ -497,7 +497,7 @@ static struct phy_driver at803x_driver[]
+ 	.get_wol		= at803x_get_wol,
+ 	.suspend		= at803x_suspend,
+ 	.resume			= at803x_resume,
+-	/* PHY_GBIT_FEATURES */
++	.features		= PHY_GBIT_FEATURES,
+ 	.read_status		= at803x_read_status,
+ 	.aneg_done		= at803x_aneg_done,
+ 	.ack_interrupt		= &at803x_ack_interrupt,



More information about the lede-commits mailing list