Router is losing WAN connectivity periodically

Hello.

I have a Belkin RT3200 with 24.10.1 and everything works fine and I usually have a cron job to reboot the router eveyday. However, I wanted to test an extended uptime and now I'm on 2 days but I'm losing Internet connectivity like every hour or so.

Here's the relevant part of the system log related to this:

Sat Jun  7 22:03:52 2025 daemon.notice netifd: Network device 'wan' link is down
Sat Jun  7 22:03:52 2025 daemon.notice netifd: Network alias 'wan' link is down
Sat Jun  7 22:03:52 2025 daemon.notice netifd: Interface 'modem' has link connectivity loss
Sat Jun  7 22:03:52 2025 daemon.notice netifd: Interface 'wan' has link connectivity loss
Sat Jun  7 22:03:52 2025 daemon.notice netifd: Interface 'wan6' has link connectivity loss
Sat Jun  7 22:03:52 2025 kern.info kernel: [239483.315061] mt7530-mdio mdio-bus:1f wan: Link is Down
Sat Jun  7 22:03:52 2025 daemon.notice netifd: wan6 (28496): Command failed: ubus call network.interface notify_proto { "action": 0, "link-up": false, "keep": false, "interface": "wan6" } (Permission denied)
Sat Jun  7 22:03:52 2025 daemon.notice netifd: wan (28494): udhcpc: received SIGTERM
Sat Jun  7 22:03:52 2025 daemon.notice netifd: wan (28494): udhcpc: unicasting a release of 38.222.230.210 to 38.222.192.1
Sat Jun  7 22:03:52 2025 daemon.notice netifd: wan (28494): udhcpc: sending release
Sat Jun  7 22:03:52 2025 daemon.notice netifd: wan (28494): udhcpc: entering released state
Sat Jun  7 22:03:52 2025 daemon.notice netifd: wan (28494): Command failed: ubus call network.interface notify_proto { "action": 0, "link-up": false, "keep": false, "interface": "wan" } (Permission denied)
Sat Jun  7 22:03:52 2025 daemon.notice netifd: Interface 'wan' is now down
Sat Jun  7 22:03:52 2025 daemon.notice netifd: Interface 'modem' is now down
Sat Jun  7 22:03:52 2025 daemon.notice netifd: Interface 'modem' is disabled
Sat Jun  7 22:03:52 2025 user.notice ddns-scripts[28761]: NoIP: PID '28761' terminated by 'SIGTERM' at 2025-06-07 22:03
Sat Jun  7 22:03:53 2025 daemon.notice netifd: Interface 'wan6' is now down
Sat Jun  7 22:03:53 2025 daemon.info dnsmasq[1]: read /etc/hosts - 12 names
Sat Jun  7 22:03:53 2025 daemon.info dnsmasq[1]: read /tmp/hosts/dhcp.cfg01411c - 8 names
Sat Jun  7 22:03:53 2025 daemon.info dnsmasq[1]: read /tmp/hosts/odhcpd - 0 names
Sat Jun  7 22:03:53 2025 daemon.info dnsmasq-dhcp[1]: read /etc/ethers - 0 addresses
Sat Jun  7 22:03:54 2025 daemon.warn odhcpd[1972]: No default route present, overriding ra_lifetime to 0!
Sat Jun  7 22:03:54 2025 daemon.warn odhcpd[1972]: No default route present, overriding ra_lifetime to 0!
Sat Jun  7 22:03:54 2025 daemon.notice netifd: Network device 'wan' link is up
Sat Jun  7 22:03:54 2025 daemon.notice netifd: Interface 'wan' has link connectivity
Sat Jun  7 22:03:54 2025 daemon.notice netifd: Interface 'wan' is setting up now
Sat Jun  7 22:03:54 2025 daemon.notice netifd: Interface 'wan6' has link connectivity
Sat Jun  7 22:03:54 2025 daemon.notice netifd: Interface 'wan6' is setting up now
Sat Jun  7 22:03:54 2025 kern.info kernel: [239485.703927] mt7530-mdio mdio-bus:1f wan: Link is Up - 1Gbps/Full - flow control off

According to that, it could be OpenWRT's fault or my fiber ONT is losing the link and therefore WAN/WAN6 connectivity.

When rebooting the router everyday I don't usually noticed this, but now I have 2 days of uptime and I'm starting to see these disconnects.

Here's my relevant info:

{
        "kernel": "6.6.86",
        "hostname": "CharlieNet",
        "system": "ARMv8 Processor rev 4",
        "model": "Belkin RT3200 (UBI)",
        "board_name": "linksys,e8450-ubi",
        "rootfs_type": "squashfs",
        "release": {
                "distribution": "OpenWrt",
                "version": "24.10.1",
                "revision": "r28597-0425664679",
                "target": "mediatek/mt7622",
                "description": "OpenWrt 24.10.1 r28597-0425664679",
                "builddate": "1744562312"
        }
}

Network Config:


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 packet_steering '2'
        option steering_flows '128'

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'
        list dns '127.0.0.1'
        list dns '0::1'
        option dns_metric '20'
        option ip6assign '64'
        option ip6hint '0'

config interface 'wan'
        option device 'wan'
        option proto 'dhcp'
        option peerdns '0'
        list dns '1.1.1.1'
        list dns '1.0.0.1'
        option dns_metric '50'
        option hostname 'belkin-rt3200'

config interface 'wan6'
        option device 'wan'
        option proto 'dhcpv6'
        option reqaddress 'try'
        option reqprefix '60'
        option peerdns '0'
        list dns '2606:4700:4700::1111'
        list dns '2606:4700:4700::1001'
        option dns_metric '55'
        option norelease '1'

config device
        option name 'wan'
        option macaddr '[REDACTED]'

config interface 'modem'
        option proto 'static'
        option device '@wan'
        option ipaddr '192.168.100.2'
        option netmask '255.255.255.0'

config interface 'guest'
        option proto 'static'
        option device 'br-guest'
        option ipaddr '192.168.2.1'
        option netmask '255.255.255.0'
        list dns '127.0.0.1'
        list dns '0::1'
        option dns_metric '20'
        option ip6assign '64'
        option ip6hint '1'

config device
        option type 'bridge'
        option name 'br-guest'
        list ports 'lan4'
        option mtu '1500'
        option macaddr '[REDACTED]'

Wireless config:


config wifi-device 'radio0'
        option type 'mac80211'
        option path 'platform/18000000.wmac'
        option band '2g'
        option country 'PA'
        option cell_density '0'
        option noscan '1'
        option htmode 'HT40'
        option channel '11'
        option log_level '4'

config wifi-iface 'default_radio0'
        option device 'radio0'
        option network 'lan'
        option mode 'ap'
        option ssid 'CharlieNet'
        option encryption 'psk2'
        option key '[REDACTED]'
        option ieee80211r '1'
        option mobility_domain '4f58'
        option ft_over_ds '0'
        option ft_psk_generate_local '1'
        option ieee80211k '1'
        option wnm_sleep_mode '1'
        option bss_transition '1'
        option time_advertisement '2'

config wifi-device 'radio1'
        option type 'mac80211'
        option path '1a143000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0'
        option band '5g'
        option country 'PA'
        option cell_density '0'
        option htmode 'HE160'
        option channel '36'
        option noscan '1'
        option log_level '4'

config wifi-iface 'default_radio1'
        option device 'radio1'
        option network 'lan'
        option mode 'ap'
        option ssid 'CharlieNetHD'
        option key '[REDACTED]'
        option encryption 'psk2+ccmp'
        option skip_inactivity_poll '1'
        option ieee80211r '1'
        option mobility_domain '4f58'
        option ft_over_ds '0'
        option ft_psk_generate_local '1'
        option ieee80211k '1'
        option wnm_sleep_mode '1'
        option bss_transition '1'
        option time_advertisement '2'

config wifi-iface 'wifinet2'
        option device 'radio0'
        option mode 'ap'
        option ssid 'CharlieGuests'
        option encryption 'psk2'
        option key '[REDACTED]'
        option network 'guest'
        option isolate '1'

config wifi-iface 'wifinet3'
        option device 'radio1'
        option mode 'ap'
        option ssid 'CharlieGuests'
        option encryption 'psk2'
        option dtim_period '2'
        option key '[REDACTED]'
        option network 'guest'
        option isolate '1'

config wifi-iface 'wifinet5'
        option device 'radio0'
        option mode 'ap'
        option ssid 'Airtek24'
        option encryption 'psk2'
        option hidden '1'
        option dtim_period '3'
        option key '[REDACTED]'
        option network 'guest'

My gut reaction is that this is likely a physical issue such as something wrong with the cable or ports, or in rare situations issues at the phy level between two devices.

But I do see a few small things you should fix in the network config... namely, you should be using a single bridge and bridge-VLANs instead of creating two bridges. I don't know that this will fix your issue, but it most certainly will not hurt and is worth doing.

Delete br-guest:

Add port lan4 back into br-lan like this:

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

Create two bridge-VLANs:

config bridge-vlan
        option device 'br-lan'
        option vlan '1'
        list ports 'lan1:u*'
        list ports 'lan2:u*'
        list ports 'lan3:u*'

config bridge-vlan
        option device 'br-lan'
        option vlan '2'
        list ports 'lan4:u*'

Edit the lan to use br-lan.1 and the guest network to use br-lan.2. You can also get rid of the DNS related lines as it doesn't do anything useful there. It'll look like this:

config interface 'lan'
        option device 'br-lan.1'
        option proto 'static'
        option ipaddr '192.168.1.1'
        option netmask '255.255.255.0'
        option ip6assign '64'
        option ip6hint '0'

...

config interface 'guest'
        option proto 'static'
        option device 'br-lan.2'
        option ipaddr '192.168.2.1'
        option netmask '255.255.255.0'
        option ip6assign '64'
        option ip6hint '1'

Then restart and test again.

If this doesn't solve the issue, try swapping cables with a known good one. While you're at it, inspect the physical ports for any debris or bent pins and make sure the new cable seats properly into both jacks.

1 Like

Thanks for your kind reply!

I added those DNS as part of the Stubby tutorial. I use DoT with Stubby.

Other than that, it's working fine so far, but I'll wait like 2 or 3 days to see if the WAN disconnects start.

But I have a question for learning purposes. How do I set up those VLANs on Luci? There's no way to specify which ports belong to a VLAN. I see that it works, but I don't see how can I edit via Luci.

EDIT: I figured out where to do it in Luci: Configure Bridge LAN > Bridge VLAN filtering. Still I'll wait for a couple of days if the WAN disconnect persists. Can I ask why separate ports in VLANs instead of Bridges? The wiki says it needs vetting.

For most of the devices with DSA, issues arise when have more than one bridge associated with the switch chip. There is no problem if you remove a port and use it directly as a device in a network interface, but if you instead put that into another bridge, this can cause issues with the switch and/or kernel (I'm not exactly sure the root cause here).

AFAIK, this limitation doesn't apply to all devices and may in fact be mitigated in the future, but the bridge-VLAN approach against a single bridge is guaranteed to work and has no downsides.

1 Like

Thank you again, P. Sherman, 42 Wallaby Way, Sydney.....

NEMO!

Just Kidding.

Still working fine after a day and a bit. I'll wait for another day or so, to mark the thread as solved.

I can't thank you enough.

1 Like

Apparently this was the issue, because as of 3 days, I didn't had a single WAN disconnection.

I followed the Dumb AP guide but then I wanted to add LAN4 also as part of the guest network in case I wanted an external wired computer not to be part of my home LAN. Maybe with only the WiFi APs in the guest bridge there weren't any issues, but when I added a LAN port, issues happened.

Thanks again Mr Sherman.