Lan port speed 1000mbit only.
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
1000baseX/Full
Supported pause frame use: Symmetric Receive-only
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
1000baseX/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Link partner advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Link partner advertised pause frame use: Transmit-only
Link partner advertised auto-negotiation: Yes
Link partner advertised FEC modes: Not reported
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 4
Transceiver: external
Auto-negotiation: on
Current message level: 0x000000ff (255)
drv probe link timer ifdown ifup rx_err tx_err
Link detected: yes
root@OpenWrt:~#
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
1000baseX/Full
Supported pause frame use: Symmetric Receive-only
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
1000baseX/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Link partner advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Link partner advertised pause frame use: Symmetric
Link partner advertised auto-negotiation: Yes
Link partner advertised FEC modes: Not reported
Speed: 1000Mb/s
Duplex: Full
Port: MII
PHYAD: 4
Transceiver: external
Auto-negotiation: on
Current message level: 0x000000ff (255)
drv probe link timer ifdown ifup rx_err tx_err
Link detected: yes
root@OpenWrt:~#
similar situation: D7800 wan not working with 100Mbit - #15 by simon_b
simon_b
February 8, 2021, 10:18pm
2
A build including the changes submitted by @ynezz solved the issue I was having on my D7800.
Hi. some problem here with an EAP225 Outdoor v1.
All was fine on bench environment (with 1GBit link), but after mounting on pole I don't get the link working to my TPLink WR741ND v4.
Adding a WDR3600 as switch in the middle made the link work. Putting a dumb Netgear GS108 switch in the middle made link work only for some seconds. So even 1GBit/s seems not reliable.
Did the mentioned patch of @simon_b fix it?
That patch was for the D7800, but perhaps applying it to a custom build on the EAP225 would help?
Before the EAP2xx-series was merged into OpenWrt, @j-d-r maintained the port out-of-tree. This patch added the original ar71xx support for the EAP245 v1, and should have a fix for 100Mb/s links. But I can't really remember (or find) which part of the code should be responsible for that...
committed 02:29PM - 08 Jul 17 UTC
TP-Link EAP245 v1 is AC1750 Wireless Dual Band Gigabit Ceiling Mount
Access Poi… nt:
CPU: QCA9563-AL3A MIPS 74kc v5.0 @775MHz with 2.4GHz wifi
RAM: 128MiB M14D1G1664A-2.5B @650MHz
Flash: 16MiB 25Q128CSIG SPI NOR
Wifi 5Ghz: QCA9880-BR4A 5 GHz wifi ath10k
Gigabit Eth: AR8033-AL1A 1 gigabit lan port (802.3at PoE)
Factory firmwares are signed, signature is verified when upgrading by
software. The only way to update is to solder a serial port, u-boot is
opened.
Serial port can be soldered on PCB J3, pins are TXD, RXD, GND, VCC.
PCB line close to header are missing resistors R225 (TXD), R237 (RXD),
R230 (RXD voltage divider). R225 and R237 can be replaced by wires, and
R230 (voltage divider) must be let opended. WITHOUT RESISTOR, THERE IS
NO PROTECTION. USE 3.3V MAX, AND PLUG TXD TO SERIAL PORT RX FIRST.
U-Boot is opened, just send C-B to break.
TAKE CARE ALL U-BOOT ENVIRONMENT VARAIABLE ARE NOT CORRESPONDING TO THE
BOARD. Partitions in bootargs and tftp flash command are BROKEN.
To flash:
ath> setenv ipaddr XXX.XXX.XXX.XXX (optional 192.168.1.1 by default)
ath> setenv serverip XXX.XXX.XXX.XXX (optional 192.168.1.10 by default)
ath> tftp 0x80060000 openwrt-ar71xx-generic-eap245-v1-squashfs-sysupgrade.bin
ath> erase 0x9f040000 +$filesize
ath> cp.b $fileaddr 0x9f040000 $filesize
Notes:
* Kernel partition is bigger than factory to fit new kernel.
* U-Boot miss initializing Gigabit ethernet SGMII port. A lot of register
writes must be done for calibration and bus enabling. Without this ethernet
PHY is detected but packets are never sent. This code is taken from QC/A
SDK, with a lot of cleanup done to use standard way to write to QCA956X
registers (PLL, RESET, GMAC_SGMII, etc.).
Thanks to Sander Vanheule for ethernet bug report
Signed-off-by: Julien Dusser <julien.dusser@free.fr>
More recently, @blocktrron merged a patch to fix 10Mb/s links.
https://git.openwrt.org/?p=openwrt/openwrt.git;a=commitdiff;h=bbff6239e2ea273388f4ca0f8586945ff5f36271
I just tested the latest master on my EAP245 v1 with the link forced to 10Mb/s and 100Mb/s (both half duplex), and that appears to work fine.
j-d-r
April 27, 2021, 6:06pm
7
Hello,
I remember that bug as difficult to solve, but not the details. I've deleted old buggy branches related to lede, but i found this in this PR:
lede-project:master
← j-d-r:eap245-v1
I've just corrected a bug that someone reported me. Ethernet was only working in… gigabit.
The fix consists in using ag71xx-mdio instead of mdio-gpio and explicitly set gpio functions before registering mdio. mdio-gpio does not set dev->mii_dev->bus resulting in fixed ethernet mode.
I also removed initialization (from tp-link kernel and qca u-boot) code that seems useless. Some registers that i had to arch/mips/include/asm/mach-ath79/ar71xx_regs.h are no longer used but i keep them.
Old code kept in eap245-v1-buggy-eth0 branch.
Tested on linux-4.9.
The fix consists in using ag71xx-mdio instead of mdio-gpio and explicitly set gpio functions before registering mdio. mdio-gpio does not set dev->mii_dev->bus resulting in fixed ethernet mode.
Since your changes, we no longer use GPIO for mdio but pins are set to MDC/MDIO in DTS.
diff --git a/target/linux/ath79/dts/qca9563_tplink_eap2x5-1port.dtsi b/target/linux/ath79/dts/qca9563_tplink_eap2x5-1port.dtsi
index 3978be75e6..4d99c234d9 100644
--- a/target/linux/ath79/dts/qca9563_tplink_eap2x5-1port.dtsi
+++ b/target/linux/ath79/dts/qca9563_tplink_eap2x5-1port.dtsi
@@ -109,7 +109,6 @@
ð0 {
status = "okay";
- phy-handle = <&phy4>;
phy-mode = "sgmii";
pll-data = <0x03000000 0x00000101 0x00001313>;
@@ -120,6 +119,11 @@
gmac-config {
device = <&gmac>;
};
+
+ fixed-link {
+ speed = <1000>;
+ full-duplex;
+ };
};
&wmac {
That was the backport of the D7800 code-fix I built, but did not change anything
the 1st mentioned patch of @blocktrron ("ath79: fix 10 Mbit PLL data for TP-Link EAP2xx" - bbff6239e2ea273388f4ca0f8586945ff5f36271) is already on 21.02 branch
the 2nd mentioned by @blocktrron ("ath79: force SGMII SerDes mode to MAC operation" - fbbad9a9a629b388626b477e6cd692c160f63fb3) seems to be a perfect match. The pure commit subject did not trigger me to take it into account before.
I'll start a build and report back. Based on this we might then have to take a closer look the the old PR of @j-d-r .
just installed the build with this patch included - fixes the link-problem for the 100MBit towards the WR741ND v4 and also the GS108 switch has now stable 1GB link
@blocktrron can you cherry-pick directly to 21.02 branch?
1 Like
Picked to 21.02.
I saw this thread by pure luck. Next time dorp me an E-Mail with a link to the thread, as i do not get notifications for mentions on the forum.
1 Like