I have been working on a project where we are using the Omega2+ with the power and ethernet addons.
Since this board is to be added to a Yocto based project, I can't use the mainline or Onion OpenWRT builds so I've been trying to create a meta to support the Omega2+. To do that, I extracted the Linux 4.14.43 kernel source and device tree from the latest OpenWRT.
I have successfully built an kernel, initramfs and rootfs and booted them using the web updater from the UBoot and a sd-card. The kernel configuration was extracted from the OpenWRT and modified to my requirements (mainly, systemd, ext2/4 filesystem support and removed wireless stuff). The defconfig can be found here.
The problem is with the ethernet port. I can't make it work, I always get the following messages:
[ 6186.097454] mtk_soc_eth 10100000.ethernet eth0: transmit timed out
[ 6186.103746] mtk_soc_eth 10100000.ethernet eth0: dma_cfg:00000057
[ 6186.109874] mtk_soc_eth 10100000.ethernet eth0: tx_ring=0, base=07f8c000, max=1024, ctx=3, dtx=0, fdx=0, next=3
[ 6186.120125] mtk_soc_eth 10100000.ethernet eth0: rx_ring=0, base=07220000, max=1024, calc=1023, drx=0
I saw some reports of this issue in the web (here) but without a clear resolution.
I confirmed the internal switch configuration with swconfig and I see no differences to the mainline or Onion OpenWRT builds.
Strange enough, I can see RX packets arriving to the board correctly (with tcpdump and by pinging) but no TX packets are leaving. ifconfig reports an high packet error:
eth0 Link encap:Ethernet HWaddr 40:A3:6B:C1:AD:1D
inet addr:192.168.8.8 Bcast:0.0.0.0 Mask:255.255.255.0
inet6 addr: fe80::42a3:6bff:fec1:ad1d%2012397072/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:36 errors:0 dropped:0 overruns:0 frame:0
TX packets:59 errors:34 dropped:0 overruns:0 carrier:0
RX bytes:6948 (6.7 KiB) TX bytes:10836 (10.5 KiB)
I'm using systemd-networkd to configure the interface:
Can someone help me out?