Link constantly goes up and down (Mercusys MR70X)

I have a setup that uses two Mercusys MR70Xs due to several reasons that don't particularly matter. Both use a custom firmware I built myself due to certain hardware differences to the available image, and I have the second one serving as a dumb AP for the first one, which uses PPPoE. The first one works just fine, however, the connection between them (which is Ethernet) constantly goes up and down for no apparent reason (sometimes up to several times a minute), and I haven't been able to figure out a solution through messing with the devices or through looking at the forum posts about this issue.

Device 1 settings
  • Version info
root@OpenWrt:~# ubus call system board
{
        "kernel": "6.6.83",
        "hostname": "OpenWrt",
        "system": "MediaTek MT7621 ver:1 eco:4",
        "model": "MERCUSYS MR70X v1",
        "board_name": "mercusys,mr70x-v1",
        "rootfs_type": "squashfs",
        "release": {
                "distribution": "OpenWrt",
                "version": "SNAPSHOT",
                "firmware_url": "https://downloads.openwrt.org/",
                "revision": "r29055-4f5f56b702",
                "target": "ramips/mt7621",
                "description": "OpenWrt SNAPSHOT r29055-4f5f56b702",
                "builddate": "1742386774"
        }
}
  • Network settings
root@OpenWrt:~# uci export network
package network

config interface 'loopback'
        option device 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'nope:idk:bean::/48'
        option packet_steering '1'

config device
        option name 'br-lan'
        option type 'bridge'
        list ports 'lan1'
        list ports 'lan2'
        list ports 'lan3'

config interface 'lan'
        option device 'br-lan'
        option proto 'static'
        option ipaddr '192.168.1.1'
        option netmask '255.255.255.0'
        option ip6assign '60'

config interface 'wan'
        option device 'wan'
        option proto 'pppoe'
        option username '***'
        option password '***'
        option ipv6 'auto'
        option mtu '1492' # Necessary for my connection to actually work
        option peerdns '0'
        list dns '1.1.1.1'
        list dns '1.0.0.1'

config interface 'wan6'
        option device 'wan'
        option proto 'dhcpv6'
        option reqaddress 'try'
        option reqprefix 'auto'
        option norelease '1'
        option peerdns '0'
        list dns '2606:4700:4700::1111'
        list dns '2606:4700:4700::1001'
  • Relevant logs
Sat Apr  5 20:54:03 2025 daemon.warn odhcpd[1725]: No default route present, overriding ra_lifetime to 0!
Sat Apr  5 20:54:04 2025 kern.info kernel: [  700.510418] mt7530-mdio mdio-bus:1f lan1: Link is Up - 100Mbps/Full - flow control rx/tx
Sat Apr  5 20:54:04 2025 kern.info kernel: [  700.510516] br-lan: port 1(lan1) entered blocking state
Sat Apr  5 20:54:04 2025 kern.info kernel: [  700.523779] br-lan: port 1(lan1) entered forwarding state
Sat Apr  5 20:54:04 2025 daemon.notice netifd: Network device 'lan1' link is up
Sat Apr  5 20:54:04 2025 daemon.notice netifd: bridge 'br-lan' link is up
Sat Apr  5 20:54:04 2025 daemon.notice netifd: Interface 'lan' has link connectivity
Sat Apr  5 20:54:04 2025 kern.info kernel: [  700.566046] mt7530-mdio mdio-bus:1f lan1: Link is Down
Sat Apr  5 20:54:04 2025 kern.info kernel: [  700.566150] br-lan: port 1(lan1) entered disabled state
Sat Apr  5 20:54:04 2025 daemon.notice netifd: Network device 'lan1' link is down
Sat Apr  5 20:54:04 2025 daemon.notice netifd: bridge 'br-lan' link is down
Sat Apr  5 20:54:04 2025 daemon.notice netifd: Interface 'lan' has link connectivity loss
Sat Apr  5 20:54:04 2025 daemon.warn odhcpd[1725]: No default route present, overriding ra_lifetime to 0!
Sat Apr  5 20:54:06 2025 kern.info kernel: [  702.510438] mt7530-mdio mdio-bus:1f lan1: Link is Up - 100Mbps/Full - flow control rx/tx
Sat Apr  5 20:54:06 2025 kern.info kernel: [  702.510539] br-lan: port 1(lan1) entered blocking state
Sat Apr  5 20:54:06 2025 kern.info kernel: [  702.523798] br-lan: port 1(lan1) entered forwarding state
Sat Apr  5 20:54:06 2025 daemon.notice netifd: Network device 'lan1' link is up
Sat Apr  5 20:54:06 2025 daemon.notice netifd: bridge 'br-lan' link is up
Sat Apr  5 20:54:06 2025 daemon.notice netifd: Interface 'lan' has link connectivity
Sat Apr  5 20:54:06 2025 kern.info kernel: [  702.566012] mt7530-mdio mdio-bus:1f lan1: Link is Down
Sat Apr  5 20:54:06 2025 kern.info kernel: [  702.571302] br-lan: port 1(lan1) entered disabled state
Sat Apr  5 20:54:06 2025 daemon.notice netifd: Network device 'lan1' link is down
Sat Apr  5 20:54:07 2025 daemon.warn odhcpd[1725]: No default route present, overriding ra_lifetime to 0!
Sat Apr  5 20:54:07 2025 daemon.notice netifd: bridge 'br-lan' link is down
Sat Apr  5 20:54:07 2025 daemon.notice netifd: Interface 'lan' has link connectivity loss
Sat Apr  5 20:54:07 2025 daemon.warn odhcpd[1725]: No default route present, overriding ra_lifetime to 0!
Sat Apr  5 20:54:09 2025 kern.info kernel: [  705.885450] mt7530-mdio mdio-bus:1f lan1: Link is Up - 100Mbps/Full - flow control rx/tx
Sat Apr  5 20:54:09 2025 kern.info kernel: [  705.893623] br-lan: port 1(lan1) entered blocking state
Sat Apr  5 20:54:09 2025 kern.info kernel: [  705.898917] br-lan: port 1(lan1) entered forwarding state
Sat Apr  5 20:54:09 2025 daemon.notice netifd: Network device 'lan1' link is up
Sat Apr  5 20:54:09 2025 daemon.notice netifd: bridge 'br-lan' link is up
Sat Apr  5 20:54:09 2025 daemon.notice netifd: Interface 'lan' has link connectivity
Sat Apr  5 20:54:09 2025 daemon.notice netifd: Network device 'lan1' link is down
Sat Apr  5 20:54:09 2025 kern.info kernel: [  705.941025] mt7530-mdio mdio-bus:1f lan1: Link is Down
Sat Apr  5 20:54:09 2025 kern.info kernel: [  705.946326] br-lan: port 1(lan1) entered disabled state
Sat Apr  5 20:54:10 2025 daemon.warn odhcpd[1725]: No default route present, overriding ra_lifetime to 0!
Sat Apr  5 20:54:10 2025 daemon.notice netifd: bridge 'br-lan' link is down
Sat Apr  5 20:54:10 2025 daemon.notice netifd: Interface 'lan' has link connectivity loss
Sat Apr  5 20:54:10 2025 daemon.warn odhcpd[1725]: No default route present, overriding ra_lifetime to 0!
Sat Apr  5 20:54:11 2025 kern.info kernel: [  707.885439] mt7530-mdio mdio-bus:1f lan1: Link is Up - 100Mbps/Full - flow control rx/tx
Sat Apr  5 20:54:11 2025 kern.info kernel: [  707.893613] br-lan: port 1(lan1) entered blocking state
Sat Apr  5 20:54:11 2025 kern.info kernel: [  707.898895] br-lan: port 1(lan1) entered forwarding state
Sat Apr  5 20:54:11 2025 daemon.notice netifd: Network device 'lan1' link is up
Sat Apr  5 20:54:11 2025 daemon.notice netifd: bridge 'br-lan' link is up
Sat Apr  5 20:54:11 2025 daemon.notice netifd: Interface 'lan' has link connectivity
Sat Apr  5 20:54:11 2025 daemon.notice netifd: Network device 'lan1' link is down
Sat Apr  5 20:54:11 2025 kern.info kernel: [  707.941013] mt7530-mdio mdio-bus:1f lan1: Link is Down
Sat Apr  5 20:54:11 2025 kern.info kernel: [  707.946346] br-lan: port 1(lan1) entered disabled state
Sat Apr  5 20:54:12 2025 daemon.warn odhcpd[1725]: No default route present, overriding ra_lifetime to 0!
Sat Apr  5 20:54:12 2025 daemon.notice netifd: bridge 'br-lan' link is down
Sat Apr  5 20:54:12 2025 daemon.notice netifd: Interface 'lan' has link connectivity loss
Sat Apr  5 20:54:12 2025 daemon.warn odhcpd[1725]: No default route present, overriding ra_lifetime to 0!
Sat Apr  5 20:54:54 2025 kern.info kernel: [  750.599220] mt7530-mdio mdio-bus:1f lan1: Link is Up - 100Mbps/Full - flow control rx/tx
Sat Apr  5 20:54:54 2025 kern.info kernel: [  750.605019] br-lan: port 1(lan1) entered blocking state
Sat Apr  5 20:54:54 2025 kern.info kernel: [  750.612530] br-lan: port 1(lan1) entered forwarding state
Sat Apr  5 20:54:54 2025 daemon.notice netifd: Network device 'lan1' link is up
Sat Apr  5 20:54:54 2025 daemon.notice netifd: bridge 'br-lan' link is up
Sat Apr  5 20:54:54 2025 daemon.notice netifd: Interface 'lan' has link connectivity
Sat Apr  5 20:54:55 2025 daemon.warn odhcpd[1725]: No default route present, overriding ra_lifetime to 0!
Sat Apr  5 20:55:11 2025 daemon.warn odhcpd[1725]: No default route present, overriding ra_lifetime to 0!
Sat Apr  5 20:55:27 2025 daemon.warn odhcpd[1725]: No default route present, overriding ra_lifetime to 0!
Sat Apr  5 21:00:07 2025 daemon.warn odhcpd[1725]: No default route present, overriding ra_lifetime to 0!
Sat Apr  5 21:00:58 2025 daemon.notice netifd: Network device 'lan1' link is down
Sat Apr  5 21:00:58 2025 kern.info kernel: [ 1114.946586] mt7530-mdio mdio-bus:1f lan1: Link is Down
Sat Apr  5 21:00:58 2025 kern.info kernel: [ 1114.951983] br-lan: port 1(lan1) entered disabled state
Sat Apr  5 21:00:59 2025 daemon.notice netifd: bridge 'br-lan' link is down
Device 2 settings
  • Version info
{
        "kernel": "6.6.83",
        "hostname": "OpenWrt",
        "system": "MediaTek MT7621 ver:1 eco:3",
        "model": "MERCUSYS MR70X v1",
        "board_name": "mercusys,mr70x-v1",
        "rootfs_type": "squashfs",
        "release": {
                "distribution": "OpenWrt",
                "version": "SNAPSHOT",
                "firmware_url": "https://downloads.openwrt.org/",
                "revision": "r29055-4f5f56b702",
                "target": "ramips/mt7621",
                "description": "OpenWrt SNAPSHOT r29055-4f5f56b702",
                "builddate": "1742386774"
        }
}
  • Network settings
root@OpenWrt:~# uci export network
package network

config interface 'loopback'
        option device 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'thef:unny:.mp3::/48'
        option packet_steering '1'

config device
        option name 'br-lan'
        option type 'bridge'
        list ports 'lan1'
        list ports 'lan2'
        list ports 'lan3'
        list ports 'wan'

config interface 'lan'
        option device 'br-lan'
        option proto 'static'
        option ipaddr '192.168.1.254'
        option netmask '255.255.255.0'
        option ip6assign '60'
        option gateway '192.168.1.1'
        list dns '192.168.1.1'
  • Relevant logs
Wed Mar 19 12:39:42 2025 daemon.info dnsmasq[1]: read /etc/hosts - 12 names
Wed Mar 19 12:39:42 2025 daemon.info dnsmasq[1]: read /tmp/hosts/dhcp.cfg01411c - 0 names
Wed Mar 19 12:39:42 2025 user.notice ucitrack: Setting up /etc/config/odhcpd reload dependency on /etc/config/dhcp
Wed Mar 19 12:39:42 2025 kern.info kernel: [   27.790876] mt7530-mdio mdio-bus:1f lan1: Link is Up - 1Gbps/Full - flow control rx/tx
Wed Mar 19 12:39:42 2025 kern.info kernel: [   27.799081] br-lan: port 1(lan1) entered blocking state
Wed Mar 19 12:39:42 2025 kern.info kernel: [   27.804387] br-lan: port 1(lan1) entered forwarding state
Wed Mar 19 12:39:42 2025 daemon.notice netifd: Network device 'lan1' link is up
Wed Mar 19 12:39:42 2025 daemon.notice netifd: bridge 'br-lan' link is up
Wed Mar 19 12:39:42 2025 daemon.notice netifd: Interface 'lan' has link connectivity
Wed Mar 19 12:39:42 2025 user.notice ucitrack: Setting up /etc/config/dhcp reload dependency on /etc/config/network
Wed Mar 19 12:39:42 2025 user.notice ucitrack: Setting up /etc/config/network reload dependency on /etc/config/wireless
Wed Mar 19 12:39:43 2025 user.notice ucitrack: Setting up non-init /etc/config/fstab reload handler: /sbin/block mount
Wed Mar 19 12:39:43 2025 user.notice ucitrack: Setting up /etc/config/system reload trigger for non-procd /etc/init.d/led
Wed Mar 19 12:39:43 2025 user.notice ucitrack: Setting up /etc/config/luci_statistics reload dependency on /etc/config/system
Wed Mar 19 12:39:43 2025 user.notice ucitrack: Setting up /etc/config/dhcp reload dependency on /etc/config/system
Wed Mar 19 12:39:45 2025 daemon.notice procd: /etc/rc.d/S99dcwapd: dcwapd is disabled in UCI
Wed Mar 19 12:39:46 2025 daemon.info procd: - init complete -
Wed Mar 19 12:39:55 2025 kern.info kernel: [   40.686761] mtk_soc_eth 1e100000.ethernet wan: Link is Up - 100Mbps/Full - flow control rx/tx
Wed Mar 19 12:39:55 2025 kern.info kernel: [   40.686858] br-lan: port 4(wan) entered blocking state
Wed Mar 19 12:39:55 2025 daemon.notice netifd: Network device 'wan' link is up
Wed Mar 19 12:39:55 2025 kern.info kernel: [   40.700447] br-lan: port 4(wan) entered forwarding state
Sat Apr  5 21:08:31 2025 daemon.err uhttpd[2171]: [info] luci: accepted login on /admin/system/reboot for root from 192.168.1.100
Sat Apr  5 21:08:31 2025 cron.err crond[1789]: time disparity of 24988 minutes detected
Sat Apr  5 21:09:55 2025 kern.info kernel: [  129.088687] mtk_soc_eth 1e100000.ethernet wan: Link is Down
Sat Apr  5 21:09:55 2025 kern.info kernel: [  129.098098] br-lan: port 4(wan) entered disabled state
Sat Apr  5 21:09:55 2025 daemon.notice netifd: Network device 'wan' link is down
Sat Apr  5 21:09:57 2025 kern.info kernel: [  131.169205] mtk_soc_eth 1e100000.ethernet wan: Link is Up - 100Mbps/Full - flow control rx/tx
Sat Apr  5 21:09:57 2025 kern.info kernel: [  131.171970] br-lan: port 4(wan) entered blocking state
Sat Apr  5 21:09:57 2025 daemon.notice netifd: Network device 'wan' link is up
Sat Apr  5 21:09:57 2025 kern.info kernel: [  131.182898] br-lan: port 4(wan) entered forwarding state
Sat Apr  5 21:10:09 2025 kern.info kernel: [  143.649663] mtk_soc_eth 1e100000.ethernet wan: Link is Down
Sat Apr  5 21:10:09 2025 kern.info kernel: [  143.659061] br-lan: port 4(wan) entered disabled state
Sat Apr  5 21:10:09 2025 daemon.notice netifd: Network device 'wan' link is down
Sat Apr  5 21:10:11 2025 kern.info kernel: [  145.730037] mtk_soc_eth 1e100000.ethernet wan: Link is Up - 100Mbps/Full - flow control rx/tx
Sat Apr  5 21:10:11 2025 kern.info kernel: [  145.730139] br-lan: port 4(wan) entered blocking state
Sat Apr  5 21:10:11 2025 daemon.notice netifd: Network device 'wan' link is up
Sat Apr  5 21:10:11 2025 kern.info kernel: [  145.743724] br-lan: port 4(wan) entered forwarding state
Sat Apr  5 21:11:16 2025 kern.info kernel: [  210.209910] mtk_soc_eth 1e100000.ethernet wan: Link is Down
Sat Apr  5 21:11:16 2025 kern.info kernel: [  210.219324] br-lan: port 4(wan) entered disabled state
Sat Apr  5 21:11:16 2025 daemon.notice netifd: Network device 'wan' link is down
Sat Apr  5 21:11:19 2025 kern.info kernel: [  213.330205] mtk_soc_eth 1e100000.ethernet wan: Link is Up - 100Mbps/Full - flow control rx/tx
Sat Apr  5 21:11:19 2025 kern.info kernel: [  213.330313] br-lan: port 4(wan) entered blocking state
Sat Apr  5 21:11:19 2025 daemon.notice netifd: Network device 'wan' link is up
Sat Apr  5 21:11:19 2025 kern.info kernel: [  213.343892] br-lan: port 4(wan) entered forwarding state
Sat Apr  5 21:11:24 2025 kern.info kernel: [  218.529886] mtk_soc_eth 1e100000.ethernet wan: Link is Down
Sat Apr  5 21:11:24 2025 kern.info kernel: [  218.539284] br-lan: port 4(wan) entered disabled state
Sat Apr  5 21:11:24 2025 daemon.notice netifd: Network device 'wan' link is down
Sat Apr  5 21:11:26 2025 kern.info kernel: [  220.610228] mtk_soc_eth 1e100000.ethernet wan: Link is Up - 100Mbps/Full - flow control rx/tx
Sat Apr  5 21:11:26 2025 kern.info kernel: [  220.610320] br-lan: port 4(wan) entered blocking state
Sat Apr  5 21:11:26 2025 daemon.notice netifd: Network device 'wan' link is up
Sat Apr  5 21:11:26 2025 kern.info kernel: [  220.623915] br-lan: port 4(wan) entered forwarding state
Sat Apr  5 21:12:18 2025 kern.info kernel: [  272.610429] mtk_soc_eth 1e100000.ethernet wan: Link is Down
Sat Apr  5 21:12:18 2025 kern.info kernel: [  272.619845] br-lan: port 4(wan) entered disabled state
Sat Apr  5 21:12:18 2025 daemon.notice netifd: Network device 'wan' link is down
Sat Apr  5 21:12:19 2025 kern.info kernel: [  273.650768] mtk_soc_eth 1e100000.ethernet wan: Link is Up - 100Mbps/Full - flow control rx/tx
Sat Apr  5 21:12:19 2025 kern.info kernel: [  273.659380] br-lan: port 4(wan) entered blocking state
Sat Apr  5 21:12:19 2025 kern.info kernel: [  273.664561] br-lan: port 4(wan) entered forwarding state
Sat Apr  5 21:12:19 2025 daemon.notice netifd: Network device 'wan' link is up
Sat Apr  5 21:12:35 2025 kern.info kernel: [  289.250695] mtk_soc_eth 1e100000.ethernet wan: Link is Down
Sat Apr  5 21:12:35 2025 kern.info kernel: [  289.260110] br-lan: port 4(wan) entered disabled state
Sat Apr  5 21:12:35 2025 daemon.notice netifd: Network device 'wan' link is down
Sat Apr  5 21:12:38 2025 kern.info kernel: [  292.371031] mtk_soc_eth 1e100000.ethernet wan: Link is Up - 100Mbps/Full - flow control rx/tx
Sat Apr  5 21:12:38 2025 kern.info kernel: [  292.371131] br-lan: port 4(wan) entered blocking state
Sat Apr  5 21:12:38 2025 daemon.notice netifd: Network device 'wan' link is up
Sat Apr  5 21:12:38 2025 kern.info kernel: [  292.384744] br-lan: port 4(wan) entered forwarding state
Sat Apr  5 21:13:21 2025 kern.info kernel: [  335.011291] mtk_soc_eth 1e100000.ethernet wan: Link is Down
Sat Apr  5 21:13:21 2025 kern.info kernel: [  335.020689] br-lan: port 4(wan) entered disabled state
Sat Apr  5 21:13:21 2025 daemon.notice netifd: Network device 'wan' link is down

Do note that device 2 has the wan interface disabled, and the device connects to the LAN bridge instead. The issue persists if I swap to any of the LAN ports. If I've read up on it correctly, I also believe that those DHCP warnings can be safely ignored in this case.

Have you tried:

  • replacing the ethernet cable?
  • using different ports?

Have you tried ... replacing the ethernet cable?

I have tested the cable (although with one of those cheaper cable testers, but it works for me), and I'm pretty damn sure it's working fine as it has for a really long time, but I suppose I could try it. I'll report back if/when I do that.

Have you tried ... using different ports?

I have indeed tried using different ports, and that doesn't change anything at all. They all give me the same error.

replace the ethernet cable with one that is known good, and try again. Cables can become marginal and/or fail over time and use. Cheap testers may not detect these issues.

I have done it, though it's nearly 30 meters of cable I'm lucky I had on hand. I'll see what the results are.

Well, it'd seem that the guy my old ISP sent over to take the modem must have completely destroyed one end of the cable, because I replaced it and now it works fine.
Sorry for wasting your time there, I'd imagined the cable would be holding up just fine as it had until yesterday, but apparently not.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.