I'm trying to port OpenWrt to a RouterBOARD 711G 5HnD.
I have never ported any device before. I found some instructions in the wiki that helped me compile OpenWrt and boot the initramfs image over the network using MikroTik's Etherboot mode. I then managed to make the NAND flash chip, wifi and ethernet work. I'm using the deprecated ar71xx target since that's what the instructions in the wiki suggested and I couldn't even get an image for the ath79 target booting after several hours of trying.
Everything works as expected if I Etherboot the image but if I use sysupgrade to flash the image and boot off of the flash chip, ethernet stops working correctly.
Here is the output of ip a
if I boot off of the network:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br-lan state UP qlen 1000
link/ether d4:ca:6d:42:ad:4b brd ff:ff:ff:ff:ff:ff
4: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
link/ether d4:ca:6d:42:ad:4b brd ff:ff:ff:ff:ff:ff
inet 192.168.2.149/24 brd 192.168.2.255 scope global br-lan
valid_lft forever preferred_lft forever
inet6 fe80::d6ca:6dff:fe42:ad4b/64 scope link
valid_lft forever preferred_lft forever
5: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-lan state UP qlen 1000
link/ether d4:ca:6d:42:ad:4a brd ff:ff:ff:ff:ff:ff
inet6 fe80::d6ca:6dff:fe42:ad4a/64 scope link
valid_lft forever preferred_lft forever
Here is the output of ip a
if I boot off the NAND flash chip:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br-lan state UP qlen 1000
link/ether d4:ca:6d:42:ad:4b brd ff:ff:ff:ff:ff:ff
4: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
link/ether d4:ca:6d:42:ad:4b brd ff:ff:ff:ff:ff:ff
inet6 fe80::d6ca:6dff:fe42:ad4b/64 scope link
valid_lft forever preferred_lft forever
5: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-lan state UP qlen 1000
link/ether d4:ca:6d:42:ad:4a brd ff:ff:ff:ff:ff:ff
inet6 fe80::d6ca:6dff:fe42:ad4a/64 scope link
valid_lft forever preferred_lft forever
As you can see, br-lan
has no IPv4 address. However, the ethernet port still seems to work somewhat as the DHCP server logs show DHCPDISCOVER
messages every couple seconds (slightly random intervals). The ethernet indicator LED on the RouterBOARD and the LED on the switch it's attached to blink when that happens. If I configure OpenWrt to act as a DHCP server, as is the default, then attached devices won't get an IP address assigned.
I have no idea why this happens as I'm booting basically the same image both times, only once via ethernet and once via the onboard storage.
Has anyone seen this behaviour before or knows what could be going on? I have tried everything I could think of for multiple days now and am getting desperate.
I'm happy to provide any additional information that may be useful for debugging this.