I am working on porting the MR18 to ATH79, I have run into an issue with the Ethernet port (1x Gigabit Atheros AR8035-A, 802.3af PoE capable).
I have enabled the eth0 interface and connectivity is intermittent for example here is the output of a ping where there are missing sequences. It seems to be doing excessive arp requests, but I am not sure if its is a symptom or the cause:
FROM: MR18 running openwrt v21.02
root@OpenWrt:/# ping 192.168.1.2
PING 192.168.1.2 (192.168.1.2): 56 data bytes
64 bytes from 192.168.1.2: seq=0 ttl=64 time=1.510 ms
64 bytes from 192.168.1.2: seq=4 ttl=64 time=1.237 ms
64 bytes from 192.168.1.2: seq=7 ttl=64 time=1.287 ms
64 bytes from 192.168.1.2: seq=12 ttl=64 time=1.267 ms
64 bytes from 192.168.1.2: seq=20 ttl=64 time=1.597 ms
^C
--- 192.168.1.2 ping statistics ---
23 packets transmitted, 5 packets received, 78% packet loss
round-trip min/avg/max = 1.237/1.379/1.597 ms
TCPDUMP on the destination @ 192.168.1.2:
sudo tcpdump --interface=wlp3s0 -n host 192.168.1.1
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on wlp3s0, link-type EN10MB (Ethernet), capture size 262144 bytes
08:54:30.119782 IP 192.168.1.1 > 192.168.1.2: ICMP echo request, id 2941, seq 0, length 64
08:54:30.119897 IP 192.168.1.2 > 192.168.1.1: ICMP echo reply, id 2941, seq 0, length 64
08:54:34.120504 IP 192.168.1.1 > 192.168.1.2: ICMP echo request, id 2941, seq 4, length 64
08:54:34.120564 IP 192.168.1.2 > 192.168.1.1: ICMP echo reply, id 2941, seq 4, length 64
08:54:35.178973 ARP, Request who-has 192.168.1.2 tell 192.168.1.1, length 46
08:54:35.179014 ARP, Reply 192.168.1.2 is-at 84:3a:4b:76:ac:0c, length 28
08:54:37.121072 IP 192.168.1.1 > 192.168.1.2: ICMP echo request, id 2941, seq 7, length 64
08:54:37.121160 IP 192.168.1.2 > 192.168.1.1: ICMP echo reply, id 2941, seq 7, length 64
08:54:42.121946 IP 192.168.1.1 > 192.168.1.2: ICMP echo request, id 2941, seq 12, length 64
08:54:42.122028 IP 192.168.1.2 > 192.168.1.1: ICMP echo reply, id 2941, seq 12, length 64
08:54:42.271955 ARP, Request who-has 192.168.1.1 tell 192.168.1.2, length 28
08:54:42.327821 ARP, Reply 192.168.1.1 is-at 00:18:0a:de:7d:70, length 46
08:54:50.123410 IP 192.168.1.1 > 192.168.1.2: ICMP echo request, id 2941, seq 20, length 64
08:54:50.123492 IP 192.168.1.2 > 192.168.1.1: ICMP echo reply, id 2941, seq 20, length 64
My DTS Config for eth0 / eth1 is based on the mach-mr18.c from v19.07.7:
&mdio0 {
status = "okay";
phy-mask = <3>;
phy3: ethernet-phy@3 {
reg = <3>;
};
};
&mdio1 {
status = "okay";
phy-mask = <2>;
phy2: ethernet-phy@2 {
reg = <2>;
at803x-override-sgmii-link-check;
};
};
ð0 {
status = "okay";
pll-data = <0xa6000000 0xa0000101 0x80001313>;
phy-mode = "rgmii";
phy-handle = <&phy3>;
//mtd-mac-address = <&gmac>;
gmac-config {
//device remove ??
device = <&gmac>;
rgmii-enabled = <1>;
rxd-delay = <3>;
rxdv-delay = <3>;
};
};
ð1 {
status = "okay";
phy-handle = <&phy2>;
qca955x-sgmii-fixup;
};
Any help would be appreciated.