It definitely seems you're on the right track with the synchronization stuff. Ping is now sometimes successful, and my laptop even received a DHCP lease:
root@OpenWrt:/# tcpdump -i eth0.1
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0.1, link-type EN10MB (Ethernet), capture size 262144 bytes
10:07:10.712701 IP MacBook-Pro.lan > OpenWrt.lan: ICMP echo request, id 36377, seq 153, length 64
10:07:10.713169 IP OpenWrt.lan > MacBook-Pro.lan: ICMP echo reply, id 36377, seq 153, length 64
10:07:15.684691 IP MacBook-Pro.lan > OpenWrt.lan: ICMP echo request, id 36377, seq 158, length 64
10:07:15.685150 IP OpenWrt.lan > MacBook-Pro.lan: ICMP echo reply, id 36377, seq 158, length 64
10:07:15.743758 ARP, Request who-has MacBook-Pro.lan tell OpenWrt.lan, length 28
10:07:16.783699 ARP, Request who-has MacBook-Pro.lan tell OpenWrt.lan, length 28
10:07:17.823699 ARP, Request who-has MacBook-Pro.lan tell OpenWrt.lan, length 28
10:07:17.824139 ARP, Reply MacBook-Pro.lan is-at xx (oui Unknown), length 46
10:07:19.668781 IP MacBook-Pro.lan > OpenWrt.lan: ICMP echo request, id 36377, seq 162, length 64
10:07:19.669232 IP OpenWrt.lan > MacBook-Pro.lan: ICMP echo reply, id 36377, seq 162, length 64
10:07:20.664184 IP MacBook-Pro.lan > OpenWrt.lan: ICMP echo request, id 36377, seq 163, length 64
10:07:20.664639 IP OpenWrt.lan > MacBook-Pro.lan: ICMP echo reply, id 36377, seq 163, length 64
I tried both realtek,extif1 = <2 0 1 1 1 1 1 1 2>;
and realtek,extif1 = <1 0 1 1 1 1 1 1 2>;
in the .dts file, both with the same sometimes-successful ping results. These are the results of pinging from my laptop to the device for 30 seconds:
ping -c 30 192.168.1.1
PING 192.168.1.1 (192.168.1.1): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.997 ms
Request timeout for icmp_seq 3
Request timeout for icmp_seq 4
Request timeout for icmp_seq 5
Request timeout for icmp_seq 6
Request timeout for icmp_seq 7
Request timeout for icmp_seq 8
Request timeout for icmp_seq 9
Request timeout for icmp_seq 10
Request timeout for icmp_seq 11
Request timeout for icmp_seq 12
Request timeout for icmp_seq 13
64 bytes from 192.168.1.1: icmp_seq=14 ttl=64 time=0.836 ms
Request timeout for icmp_seq 15
64 bytes from 192.168.1.1: icmp_seq=16 ttl=64 time=0.779 ms
Request timeout for icmp_seq 17
Request timeout for icmp_seq 18
Request timeout for icmp_seq 19
Request timeout for icmp_seq 20
Request timeout for icmp_seq 21
Request timeout for icmp_seq 22
64 bytes from 192.168.1.1: icmp_seq=23 ttl=64 time=0.889 ms
Request timeout for icmp_seq 24
Request timeout for icmp_seq 25
Request timeout for icmp_seq 26
Request timeout for icmp_seq 27
Request timeout for icmp_seq 28
64 bytes from 192.168.1.1: icmp_seq=29 ttl=64 time=0.915 ms
--- 192.168.1.1 ping statistics ---
30 packets transmitted, 5 packets received, 83.3% packet loss
round-trip min/avg/max/stddev = 0.779/0.883/0.997/0.074 ms
switch1 port 6 statistics:
Port 6:
mib: Port 6 MIB counters
ifInOctets : 58614
dot3StatsFCSErrors : 0
dot3StatsSymbolErrors : 0
dot3InPauseFrames : 0
dot3ControlInUnknownOpcodes : 0
etherStatsFragments : 0
etherStatsJabbers : 0
ifInUcastPkts : 46
etherStatsDropEvents : 0
ifInMulticastPkts : 41
ifInBroadcastPkts : 149
inMldChecksumError : 0
inIgmpChecksumError : 0
inMldSpecificQuery : 0
inMldGeneralQuery : 0
inIgmpSpecificQuery : 0
inIgmpGeneralQuery : 0
inMldLeaves : 0
inIgmpLeaves : 0
etherStatsOctets : 88977
etherStatsUnderSizePkts : 0
etherOversizeStats : 0
etherStatsPkts64Octets : 30
etherStatsPkts65to127Octets : 281
etherStatsPkts128to255Octets : 33
etherStatsPkts256to511Octets : 154
etherStatsPkts512to1023Octets : 0
etherStatsPkts1024to1518Octets : 0
ifOutOctets : 30363
dot3StatsSingleCollisionFrames : 0
dot3StatMultipleCollisionFrames : 0
dot3sDeferredTransmissions : 0
dot3StatsLateCollisions : 0
etherStatsCollisions : 0
dot3StatsExcessiveCollisions : 0
dot3OutPauseFrames : 0
ifOutDiscards : 0
dot1dTpPortInDiscards : 154
ifOutUcastPkts : 206
ifOutMulticastPkts : 20
ifOutBroadcastPkts : 36
outOampduPkts : 0
inOampduPkts : 0
inIgmpJoinsSuccess : 0
inIgmpJoinsFail : 0
inMldJoinsSuccess : 24
inMldJoinsFail : 0
inReportSuppressionDrop : 0
inLeaveSuppressionDrop : 0
outIgmpReports : 0
outIgmpLeaves : 0
outIgmpGeneralQuery : 0
outIgmpSpecificQuery : 0
outMldReports : 0
outMldLeaves : 0
outMldGeneralQuery : 0
outMldSpecificQuery : 0
inKnownMulticastPkts : 0
pvid: 1
link: port:6 link:up speed:1000baseT full-duplex txflow rxflow