Intermittent email issues

I'm running the firmware at https://github.com/openwrt/openwrt/pull/18076 and using MWAN3 and have it all configured with custom firewall rules. Here are a few bullet points on the issue, and I haven't been able to fix it yet after months of on and off trying.

  • Email connectivity is sometimes intermittent. (Ex. I can't send email sometimes. It also takes a while for new emails to reach my laptop, but my phone can get them pretty fast when on the upstream wan device. Both are running Thunderbird.)
  • Sometimes I'll have issues with pages loading, loading slowly, video streams having issues, etc.
  • I can connect to the upstream router and everything works perfectly. (Rules out upstream and local machine issues)
  • I'm running MWAN 3. The only rules in play are the default_rule_v4 and default_rule_v6 which allow wan and wan 6 to failover to their wanb and wanb6 counterparts. I've removed the load-balancing default rule for HTTPS. I thought MWAN3 might be the issue, but I read the docs and made sure things weren't set to "sticky" and the like so that it'll use the WAN that's available. However, this issue still happens even several minutes after failing over to the working WAN.
  • WAN is Starlink, WanB is Verizon Hotspot. So, WanB is connected wirelessly.
  • No cell modems are getting used.
  • Firewall config is below. The tabs not shown are empty.
  • If you need more info to help me troubleshoot, please let me know what to show.


The screenshots only tell a small amount of the story...

Please connect to your OpenWrt device using ssh and copy the output of the following commands and post it here using the "Preformatted text </> " button:
grafik
Remember to redact passwords, MAC addresses and any public IP addresses you may have:

ubus call system board
cat /etc/config/network
cat /etc/config/wireless
cat /etc/config/dhcp
cat /etc/config/firewall
{
	"kernel": "6.6.78",
	"hostname": "MOFI5500",
	"system": "MediaTek MT7621 ver:1 eco:3",
	"model": "MoFi Network MOFI5500-5GXeLTE",
	"board_name": "mofinetwork,mofi5500-5gxelte",
	"rootfs_type": "squashfs",
	"release": {
		"distribution": "OpenWrt",
		"version": "SNAPSHOT",
		"firmware_url": "https://downloads.openwrt.org/",
		"revision": "r28871-aa68bc8bf3",
		"target": "ramips/mt7621",
		"description": "OpenWrt SNAPSHOT r28871-aa68bc8bf3",
		"builddate": "1742438289"
	}
}
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 'fd31:d4a5:b717::/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 'lan4'

config interface 'lan'
	option device 'br-lan'
	option proto 'static'
	option ipaddr '192.168.10.1'
	option netmask '255.255.255.0'
	option ip6assign '60'
	list dns '9.9.9.9'
	list dns '149.112.112.112'
	list dns '2620:fe::fe'
	list dns '2620:fe::9'

config interface 'wan'
	option device 'wan'
	option proto 'dhcp'
	option metric '10'

config interface 'wan6'
	option device 'wan'
	option proto 'dhcpv6'
	option reqaddress 'try'
	option reqprefix 'auto'
	option metric '10'

config interface 'IOT'
	option proto 'static'
	option ipaddr '10.20.30.40'
	option netmask '255.255.255.0'
	list dns '1.1.1.1'
	list dns '1.0.0.1'

config interface 'GUEST'
	option proto 'static'
	option ipaddr '172.16.0.1'
	option netmask '255.255.255.0'
	list dns '1.1.1.1'
	list dns '1.0.0.1'

config interface 'GUEST5'
	option proto 'static'
	option ipaddr '192.168.26.1'
	option netmask '255.255.255.0'
	list dns '1.1.1.1'
	list dns '1.0.0.1'

config interface 'wanb'
	option proto 'dhcp'
	option device 'radio1.network3'
	option metric '20'

config interface 'wanb6'
	option proto 'dhcpv6'
	option reqaddress 'try'
	option reqprefix 'auto'
	option metric '20'
	option device '@wanb'
config wifi-device 'radio0'
	option type 'mac80211'
	option path '1e140000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0'
	option channel 'auto'
	option band '2g'
	option htmode 'HT20'
	option cell_density '0'

config wifi-iface 'default_radio0'
	option device 'radio0'
	option network 'lan'
	option mode 'ap'
	option ssid '2.4GHz'
	option encryption 'sae-mixed'
	option key '[REDACTED]'
	option wpa_disable_eapol_key_retries '1'

config wifi-device 'radio1'
	option type 'mac80211'
	option path '1e140000.pcie/pci0000:00/0000:00:01.0/0000:02:00.0'
	option channel 'auto'
	option band '5g'
	option htmode 'VHT80'
	option cell_density '0'
	option country 'US'

config wifi-iface 'default_radio1'
	option device 'radio1'
	option network 'lan'
	option mode 'ap'
	option ssid '5GHz'
	option encryption 'sae-mixed'
	option key '[REDACTED]'
	option wpa_disable_eapol_key_retries '1'

config wifi-iface 'wifinet2'
	option device 'radio0'
	option mode 'ap'
	option ssid 'Guest 2.4GHz'
	option encryption 'sae-mixed'
	option isolate '1'
	option key '[REDACTED]'
	option wpa_disable_eapol_key_retries '1'
	option network 'GUEST'

config wifi-iface 'wifinet3'
	option device 'radio0'
	option mode 'ap'
	option ssid 'IOT 2.4GHz'
	option encryption 'sae-mixed'
	option key '[REDACTED]'
	option wpa_disable_eapol_key_retries '1'
	option network 'IOT'

config wifi-iface 'wifinet4'
	option device 'radio1'
	option mode 'ap'
	option ssid 'Guest 5GHz'
	option encryption 'sae-mixed'
	option isolate '1'
	option key '[REDACTED]'
	option wpa_disable_eapol_key_retries '1'
	option network 'GUEST5'

config wifi-iface 'trm_uplink6'
	option device 'radio1'
	option mode 'sta'
	option network 'wanb'
	option ssid 'Hotspot 5GHz'
	option encryption 'sae-mixed'
	option key '[REDACTED]'
config dnsmasq
	option domainneeded '1'
	option boguspriv '1'
	option filterwin2k '0'
	option localise_queries '1'
	option rebind_protection '1'
	option rebind_localhost '1'
	option local '/lan/'
	option domain 'lan'
	option expandhosts '1'
	option nonegcache '0'
	option cachesize '1000'
	option authoritative '1'
	option readethers '1'
	option leasefile '/tmp/dhcp.leases'
	option resolvfile '/tmp/resolv.conf.d/resolv.conf.auto'
	option nonwildcard '1'
	option localservice '1'
	option ednspacket_max '1232'
	option filter_aaaa '0'
	option filter_a '0'

config dhcp 'lan'
	option interface 'lan'
	option start '100'
	option limit '150'
	option leasetime '12h'
	option dhcpv4 'server'
	option dhcpv6 'server'
	option ra 'server'
	option ra_slaac '1'
	list ra_flags 'managed-config'
	list ra_flags 'other-config'

config dhcp 'wan'
	option interface 'wan'
	option ignore '1'

config odhcpd 'odhcpd'
	option maindhcp '0'
	option leasefile '/tmp/hosts/odhcpd'
	option leasetrigger '/usr/sbin/odhcpd-update'
	option loglevel '4'
config defaults
	option input 'REJECT'
	option output 'ACCEPT'
	option forward 'REJECT'
	option synflood_protect '1'
	option flow_offloading '1'
	option flow_offloading_hw '1'

config zone
	option name 'lan'
	option input 'ACCEPT'
	option output 'ACCEPT'
	option forward 'ACCEPT'
	list network 'lan'

config zone
	option name 'wan'
	option input 'REJECT'
	option output 'ACCEPT'
	option forward 'REJECT'
	option masq '1'
	option mtu_fix '1'
	list network 'wan'
	list network 'wan6'
	list network 'wanb'
	list network 'wanb6'
	list network 'wanb'
	list network 'wanb6'

config forwarding
	option src 'lan'
	option dest 'wan'

config rule
	option name 'Allow-DHCP-Renew'
	option src 'wan'
	option proto 'udp'
	option dest_port '68'
	option target 'ACCEPT'
	option family 'ipv4'

config rule
	option name 'Allow-Ping'
	option src 'wan'
	option proto 'icmp'
	option icmp_type 'echo-request'
	option family 'ipv4'
	option target 'ACCEPT'

config rule
	option name 'Allow-IGMP'
	option src 'wan'
	option proto 'igmp'
	option family 'ipv4'
	option target 'ACCEPT'

config rule
	option name 'Allow-DHCPv6'
	option src 'wan'
	option proto 'udp'
	option dest_port '546'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-MLD'
	option src 'wan'
	option proto 'icmp'
	option src_ip 'fe80::/10'
	list icmp_type '130/0'
	list icmp_type '131/0'
	list icmp_type '132/0'
	list icmp_type '143/0'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-ICMPv6-Input'
	option src 'wan'
	option proto 'icmp'
	list icmp_type 'echo-request'
	list icmp_type 'echo-reply'
	list icmp_type 'destination-unreachable'
	list icmp_type 'packet-too-big'
	list icmp_type 'time-exceeded'
	list icmp_type 'bad-header'
	list icmp_type 'unknown-header-type'
	list icmp_type 'router-solicitation'
	list icmp_type 'neighbour-solicitation'
	list icmp_type 'router-advertisement'
	list icmp_type 'neighbour-advertisement'
	option limit '1000/sec'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-ICMPv6-Forward'
	option src 'wan'
	option dest '*'
	option proto 'icmp'
	list icmp_type 'echo-request'
	list icmp_type 'echo-reply'
	list icmp_type 'destination-unreachable'
	list icmp_type 'packet-too-big'
	list icmp_type 'time-exceeded'
	list icmp_type 'bad-header'
	list icmp_type 'unknown-header-type'
	option limit '1000/sec'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-IPSec-ESP'
	option src 'wan'
	option dest 'lan'
	option proto 'esp'
	option target 'ACCEPT'

config rule
	option name 'Allow-ISAKMP'
	option src 'wan'
	option dest 'lan'
	option dest_port '500'
	option proto 'udp'
	option target 'ACCEPT'

config include 'bcp38'
	option type 'script'
	option path '/usr/lib/bcp38/run.sh'

config zone
	option name 'GuestZone'
	option input 'REJECT'
	option output 'ACCEPT'
	option forward 'REJECT'
	list network 'GUEST'
	list network 'GUEST5'

config zone
	option name 'IOTZone'
	option input 'ACCEPT'
	option output 'ACCEPT'
	option forward 'REJECT'
	list network 'IOT'

config forwarding
	option src 'lan'
	option dest 'IOTZone'

config forwarding
	option src 'GuestZone'
	option dest 'wan'

config rule
	option name 'Guest DHCP and DNS'
	option src 'GuestZone'
	option dest_port '53 67 68'
	option target 'ACCEPT'

I would simplify things by just using a single wan initially. Try one of the services, then try the other, but independently (physically disconnect or disable the interfaces, make sure mwan3 is appropriately configured).

Does this change the dynamics? For example...

  • It only happens when both wans are connected and active
  • One wan appears to have this issue consistently, but the other is okay
  • it doesn't matter which wan is in use, both experience the same issue even if used independently.
  • etc.
1 Like

Since it's intermittent, I'm going to test that over the next couple days. One each day we'll get disabled and we'll see what happens with that.

1 Like

All day I had my WANB disabled in MWAN3 and tonight I tried to watch Udemy and it wouldn't play. Then when I changed the connection to my cell phone provider it worked, and then I changed it back again to the router and it worked fine for a moment and then it wouldn't work again.

I was on my router on my phone for hours and YouTube was working fine just seconds beforehand.

So now use wanA for a while. We have not yet determined if it is both wans or just one.

Also, if/when the problem manifests again, please grab the following log info:

logread -e udhcpc

See below for the log. Also, the issues are still happening for WAN-B alone. So, WAN-A alone and also WAN-B alone both have the troubles only when connecting through the router.

This morning on WAN-B Udemy wouldn't play if I connected through the router. I also couldn't connect to the Loom app, but everything else seemed to work fine.

I tried Udemy and Loom on my laptop, and they work just fine. I only had unrelated errors on Udemy at first.

BTW, I'm not using a VPN when I am testing, so that's ruled out. I've had email connectivity issues on my laptop before, so it's not the client device itself.

Sat Jun 14 17:53:37 2025 daemon.notice netifd: wanb (5814): udhcpc: started, v1.37.0
Sat Jun 14 17:53:37 2025 daemon.notice netifd: wanb (5814): udhcpc: broadcasting discover
Sat Jun 14 17:53:38 2025 daemon.notice netifd: wanb (5814): udhcpc: broadcasting select for 192.168.1.2, server 192.168.1.1
Sat Jun 14 17:53:38 2025 daemon.notice netifd: wanb (5814): udhcpc: lease of 192.168.1.2 obtained from 192.168.1.1, lease time 86400
Sat Jun 14 18:23:26 2025 daemon.notice netifd: wan (3760): udhcpc: sending renew to server 192.168.1.1
Sat Jun 14 18:23:26 2025 daemon.notice netifd: wan (3760): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600
Sat Jun 14 18:53:26 2025 daemon.notice netifd: wan (3760): udhcpc: sending renew to server 192.168.1.1
Sat Jun 14 18:53:26 2025 daemon.notice netifd: wan (3760): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600
Sat Jun 14 19:23:26 2025 daemon.notice netifd: wan (3760): udhcpc: sending renew to server 192.168.1.1
Sat Jun 14 19:23:26 2025 daemon.notice netifd: wan (3760): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600
Sat Jun 14 19:53:27 2025 daemon.notice netifd: wan (3760): udhcpc: sending renew to server 192.168.1.1
Sat Jun 14 19:53:27 2025 daemon.notice netifd: wan (3760): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600
Sat Jun 14 20:23:27 2025 daemon.notice netifd: wan (3760): udhcpc: sending renew to server 192.168.1.1
Sat Jun 14 20:23:27 2025 daemon.notice netifd: wan (3760): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600
Sat Jun 14 20:53:27 2025 daemon.notice netifd: wan (3760): udhcpc: sending renew to server 192.168.1.1
Sat Jun 14 20:53:27 2025 daemon.notice netifd: wan (3760): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600
Sat Jun 14 21:23:27 2025 daemon.notice netifd: wan (3760): udhcpc: sending renew to server 192.168.1.1
Sat Jun 14 21:23:27 2025 daemon.notice netifd: wan (3760): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600
Sat Jun 14 21:53:27 2025 daemon.notice netifd: wan (3760): udhcpc: sending renew to server 192.168.1.1
Sat Jun 14 21:53:27 2025 daemon.notice netifd: wan (3760): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600
Sat Jun 14 22:23:27 2025 daemon.notice netifd: wan (3760): udhcpc: sending renew to server 192.168.1.1
Sat Jun 14 22:23:27 2025 daemon.notice netifd: wan (3760): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600
Sat Jun 14 22:53:28 2025 daemon.notice netifd: wan (3760): udhcpc: sending renew to server 192.168.1.1
Sat Jun 14 22:53:28 2025 daemon.notice netifd: wan (3760): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600
Sat Jun 14 23:23:28 2025 daemon.notice netifd: wan (3760): udhcpc: sending renew to server 192.168.1.1
Sat Jun 14 23:23:28 2025 daemon.notice netifd: wan (3760): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600
Sat Jun 14 23:53:28 2025 daemon.notice netifd: wan (3760): udhcpc: sending renew to server 192.168.1.1
Sat Jun 14 23:53:28 2025 daemon.notice netifd: wan (3760): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600
Sun Jun 15 00:23:28 2025 daemon.notice netifd: wan (3760): udhcpc: sending renew to server 192.168.1.1
Sun Jun 15 00:23:28 2025 daemon.notice netifd: wan (3760): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600
Sun Jun 15 00:53:28 2025 daemon.notice netifd: wan (3760): udhcpc: sending renew to server 192.168.1.1
Sun Jun 15 00:53:28 2025 daemon.notice netifd: wan (3760): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600
Sun Jun 15 01:23:29 2025 daemon.notice netifd: wan (3760): udhcpc: sending renew to server 192.168.1.1
Sun Jun 15 01:23:29 2025 daemon.notice netifd: wan (3760): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600
Sun Jun 15 01:53:29 2025 daemon.notice netifd: wan (3760): udhcpc: sending renew to server 192.168.1.1
Sun Jun 15 01:53:29 2025 daemon.notice netifd: wan (3760): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600
Sun Jun 15 02:23:29 2025 daemon.notice netifd: wan (3760): udhcpc: sending renew to server 192.168.1.1
Sun Jun 15 02:23:29 2025 daemon.notice netifd: wan (3760): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600
Sun Jun 15 02:53:29 2025 daemon.notice netifd: wan (3760): udhcpc: sending renew to server 192.168.1.1
Sun Jun 15 02:53:29 2025 daemon.notice netifd: wan (3760): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600
Sun Jun 15 03:23:29 2025 daemon.notice netifd: wan (3760): udhcpc: sending renew to server 192.168.1.1
Sun Jun 15 03:23:29 2025 daemon.notice netifd: wan (3760): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600
Sun Jun 15 03:53:30 2025 daemon.notice netifd: wan (3760): udhcpc: sending renew to server 192.168.1.1
Sun Jun 15 03:53:30 2025 daemon.notice netifd: wan (3760): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600
Sun Jun 15 04:23:30 2025 daemon.notice netifd: wan (3760): udhcpc: sending renew to server 192.168.1.1
Sun Jun 15 04:23:30 2025 daemon.notice netifd: wan (3760): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600
Sun Jun 15 04:53:30 2025 daemon.notice netifd: wan (3760): udhcpc: sending renew to server 192.168.1.1
Sun Jun 15 04:53:30 2025 daemon.notice netifd: wan (3760): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600
Sun Jun 15 05:23:29 2025 daemon.notice netifd: wan (3760): udhcpc: sending renew to server 192.168.1.1
Sun Jun 15 05:23:29 2025 daemon.notice netifd: wan (3760): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600
Sun Jun 15 05:53:29 2025 daemon.notice netifd: wan (3760): udhcpc: sending renew to server 192.168.1.1
Sun Jun 15 05:53:29 2025 daemon.notice netifd: wan (3760): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600
Sun Jun 15 05:53:37 2025 daemon.notice netifd: wanb (5814): udhcpc: sending renew to server 192.168.1.1
Sun Jun 15 05:53:37 2025 daemon.notice netifd: wanb (5814): udhcpc: lease of 192.168.1.2 obtained from 192.168.1.1, lease time 86400
Sun Jun 15 06:23:29 2025 daemon.notice netifd: wan (3760): udhcpc: sending renew to server 192.168.1.1
Sun Jun 15 06:23:29 2025 daemon.notice netifd: wan (3760): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600
Sun Jun 15 06:53:30 2025 daemon.notice netifd: wan (3760): udhcpc: sending renew to server 192.168.1.1
Sun Jun 15 06:53:30 2025 daemon.notice netifd: wan (3760): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600
Sun Jun 15 07:23:30 2025 daemon.notice netifd: wan (3760): udhcpc: sending renew to server 192.168.1.1
Sun Jun 15 07:23:30 2025 daemon.notice netifd: wan (3760): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600
Sun Jun 15 07:53:29 2025 daemon.notice netifd: wan (3760): udhcpc: sending renew to server 192.168.1.1
Sun Jun 15 07:53:29 2025 daemon.notice netifd: wan (3760): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600
Sun Jun 15 08:23:29 2025 daemon.notice netifd: wan (3760): udhcpc: sending renew to server 192.168.1.1
Sun Jun 15 08:23:29 2025 daemon.notice netifd: wan (3760): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600
Sun Jun 15 08:53:30 2025 daemon.notice netifd: wan (3760): udhcpc: sending renew to server 192.168.1.1
Sun Jun 15 08:53:30 2025 daemon.notice netifd: wan (3760): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600
Sun Jun 15 09:23:30 2025 daemon.notice netifd: wan (3760): udhcpc: sending renew to server 192.168.1.1
Sun Jun 15 09:23:30 2025 daemon.notice netifd: wan (3760): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600
Sun Jun 15 09:53:30 2025 daemon.notice netifd: wan (3760): udhcpc: sending renew to server 192.168.1.1
Sun Jun 15 09:53:30 2025 daemon.notice netifd: wan (3760): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600
Sun Jun 15 10:23:29 2025 daemon.notice netifd: wan (3760): udhcpc: sending renew to server 192.168.1.1
Sun Jun 15 10:23:29 2025 daemon.notice netifd: wan (3760): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600
Sun Jun 15 10:53:29 2025 daemon.notice netifd: wan (3760): udhcpc: sending renew to server 192.168.1.1
Sun Jun 15 10:53:29 2025 daemon.notice netifd: wan (3760): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600
Sun Jun 15 11:23:30 2025 daemon.notice netifd: wan (3760): udhcpc: sending renew to server 192.168.1.1
Sun Jun 15 11:23:30 2025 daemon.notice netifd: wan (3760): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600
Sun Jun 15 11:53:30 2025 daemon.notice netifd: wan (3760): udhcpc: sending renew to server 192.168.1.1
Sun Jun 15 11:53:30 2025 daemon.notice netifd: wan (3760): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600
Sun Jun 15 12:23:30 2025 daemon.notice netifd: wan (3760): udhcpc: sending renew to server 192.168.1.1
Sun Jun 15 12:23:30 2025 daemon.notice netifd: wan (3760): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600
Sun Jun 15 12:53:29 2025 daemon.notice netifd: wan (3760): udhcpc: sending renew to server 192.168.1.1
Sun Jun 15 12:53:29 2025 daemon.notice netifd: wan (3760): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600
Sun Jun 15 13:23:29 2025 daemon.notice netifd: wan (3760): udhcpc: sending renew to server 192.168.1.1
Sun Jun 15 13:23:29 2025 daemon.notice netifd: wan (3760): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600
Sun Jun 15 13:53:30 2025 daemon.notice netifd: wan (3760): udhcpc: sending renew to server 192.168.1.1
Sun Jun 15 13:53:30 2025 daemon.notice netifd: wan (3760): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600
Sun Jun 15 14:23:30 2025 daemon.notice netifd: wan (3760): udhcpc: sending renew to server 192.168.1.1
Sun Jun 15 14:23:30 2025 daemon.notice netifd: wan (3760): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600
Sun Jun 15 14:39:13 2025 daemon.notice netifd: wan (3760): udhcpc: received SIGTERM
Sun Jun 15 14:39:13 2025 daemon.notice netifd: wan (3760): udhcpc: unicasting a release of 192.168.1.79 to 192.168.1.1
Sun Jun 15 14:39:13 2025 daemon.notice netifd: wan (3760): udhcpc: sending release
Sun Jun 15 14:39:13 2025 daemon.notice netifd: wan (3760): udhcpc: entering released state
Sun Jun 15 14:43:03 2025 daemon.notice netifd: wan (22399): udhcpc: started, v1.37.0
Sun Jun 15 14:43:03 2025 daemon.notice netifd: wan (22399): udhcpc: broadcasting discover
Sun Jun 15 14:43:04 2025 daemon.notice netifd: wan (22399): udhcpc: received SIGTERM
Sun Jun 15 14:43:04 2025 daemon.notice netifd: wan (22399): udhcpc: entering released state
Sun Jun 15 14:43:07 2025 daemon.notice netifd: wan (22680): udhcpc: started, v1.37.0
Sun Jun 15 14:43:07 2025 daemon.notice netifd: wan (22680): udhcpc: broadcasting discover
Sun Jun 15 14:43:10 2025 daemon.notice netifd: wan (22680): udhcpc: broadcasting discover
Sun Jun 15 14:43:13 2025 daemon.notice netifd: wan (22680): udhcpc: broadcasting discover
Sun Jun 15 14:43:24 2025 daemon.notice netifd: wan (22680): udhcpc: received SIGTERM
Sun Jun 15 14:43:25 2025 daemon.notice netifd: wan (22680): udhcpc: entering released state
Sun Jun 15 14:43:27 2025 daemon.notice netifd: wan (22998): udhcpc: started, v1.37.0
Sun Jun 15 14:43:27 2025 daemon.notice netifd: wan (22998): udhcpc: broadcasting discover
Sun Jun 15 14:43:30 2025 daemon.notice netifd: wan (22998): udhcpc: broadcasting discover
Sun Jun 15 14:43:33 2025 daemon.notice netifd: wan (22998): udhcpc: broadcasting discover
Sun Jun 15 14:43:41 2025 daemon.notice netifd: wan (22998): udhcpc: received SIGTERM
Sun Jun 15 14:43:41 2025 daemon.notice netifd: wan (22998): udhcpc: entering released state
Sun Jun 15 14:43:44 2025 daemon.notice netifd: wan (23349): udhcpc: started, v1.37.0
Sun Jun 15 14:43:44 2025 daemon.notice netifd: wan (23349): udhcpc: broadcasting discover
Sun Jun 15 14:43:45 2025 daemon.notice netifd: wan (23349): udhcpc: broadcasting select for 192.168.1.79, server 192.168.1.1
Sun Jun 15 14:43:45 2025 daemon.notice netifd: wan (23349): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600
Sun Jun 15 15:04:34 2025 daemon.notice netifd: wan (23349): udhcpc: received SIGTERM
Sun Jun 15 15:04:34 2025 daemon.notice netifd: wan (23349): udhcpc: unicasting a release of 192.168.1.79 to 192.168.1.1
Sun Jun 15 15:04:34 2025 daemon.notice netifd: wan (23349): udhcpc: sending release
Sun Jun 15 15:04:34 2025 daemon.notice netifd: wan (23349): udhcpc: entering released state
Sun Jun 15 15:08:15 2025 daemon.notice netifd: wan (5142): udhcpc: started, v1.37.0
Sun Jun 15 15:08:15 2025 daemon.notice netifd: wan (5142): udhcpc: broadcasting discover
Sun Jun 15 15:08:16 2025 daemon.notice netifd: wan (5142): udhcpc: received SIGTERM
Sun Jun 15 15:08:16 2025 daemon.notice netifd: wan (5142): udhcpc: entering released state
Sun Jun 15 15:08:19 2025 daemon.notice netifd: wan (5427): udhcpc: started, v1.37.0
Sun Jun 15 15:08:19 2025 daemon.notice netifd: wan (5427): udhcpc: broadcasting discover
Sun Jun 15 15:08:22 2025 daemon.notice netifd: wan (5427): udhcpc: broadcasting discover
Sun Jun 15 15:08:25 2025 daemon.notice netifd: wan (5427): udhcpc: broadcasting discover
Sun Jun 15 15:08:38 2025 daemon.notice netifd: wan (5427): udhcpc: received SIGTERM
Sun Jun 15 15:08:38 2025 daemon.notice netifd: wan (5427): udhcpc: entering released state
Sun Jun 15 15:08:41 2025 daemon.notice netifd: wan (5752): udhcpc: started, v1.37.0
Sun Jun 15 15:08:41 2025 daemon.notice netifd: wan (5752): udhcpc: broadcasting discover
Sun Jun 15 15:08:44 2025 daemon.notice netifd: wan (5752): udhcpc: broadcasting discover
Sun Jun 15 15:08:47 2025 daemon.notice netifd: wan (5752): udhcpc: broadcasting discover
Sun Jun 15 15:08:55 2025 daemon.notice netifd: wan (5752): udhcpc: received SIGTERM
Sun Jun 15 15:08:55 2025 daemon.notice netifd: wan (5752): udhcpc: entering released state
Sun Jun 15 15:08:57 2025 daemon.notice netifd: wan (6100): udhcpc: started, v1.37.0
Sun Jun 15 15:08:58 2025 daemon.notice netifd: wan (6100): udhcpc: broadcasting discover
Sun Jun 15 15:09:01 2025 daemon.notice netifd: wan (6100): udhcpc: broadcasting discover
Sun Jun 15 15:09:01 2025 daemon.notice netifd: wan (6100): udhcpc: broadcasting select for 192.168.1.79, server 192.168.1.1
Sun Jun 15 15:09:01 2025 daemon.notice netifd: wan (6100): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600
Sun Jun 15 15:09:54 2025 daemon.notice netifd: wan (6100): udhcpc: received SIGTERM
Sun Jun 15 15:09:54 2025 daemon.notice netifd: wan (6100): udhcpc: unicasting a release of 192.168.1.79 to 192.168.1.1
Sun Jun 15 15:09:54 2025 daemon.notice netifd: wan (6100): udhcpc: sending release
Sun Jun 15 15:09:54 2025 daemon.notice netifd: wan (6100): udhcpc: entering released state
Sun Jun 15 15:18:21 2025 daemon.notice netifd: wan (10969): udhcpc: started, v1.37.0
Sun Jun 15 15:18:21 2025 daemon.notice netifd: wan (10969): udhcpc: broadcasting discover
Sun Jun 15 15:18:24 2025 daemon.notice netifd: wan (10969): udhcpc: broadcasting discover
Sun Jun 15 15:18:27 2025 daemon.notice netifd: wan (10969): udhcpc: broadcasting discover
Sun Jun 15 15:18:44 2025 daemon.notice netifd: wan (10969): udhcpc: received SIGTERM
Sun Jun 15 15:18:44 2025 daemon.notice netifd: wan (10969): udhcpc: entering released state
Sun Jun 15 15:18:46 2025 daemon.notice netifd: wan (11329): udhcpc: started, v1.37.0
Sun Jun 15 15:18:46 2025 daemon.notice netifd: wan (11329): udhcpc: broadcasting discover
Sun Jun 15 15:18:49 2025 daemon.notice netifd: wan (11329): udhcpc: broadcasting discover
Sun Jun 15 15:18:53 2025 daemon.notice netifd: wan (11329): udhcpc: broadcasting discover
Sun Jun 15 15:19:01 2025 daemon.notice netifd: wan (11329): udhcpc: received SIGTERM
Sun Jun 15 15:19:01 2025 daemon.notice netifd: wan (11329): udhcpc: entering released state
Sun Jun 15 15:19:03 2025 daemon.notice netifd: wan (11647): udhcpc: started, v1.37.0
Sun Jun 15 15:19:03 2025 daemon.notice netifd: wan (11647): udhcpc: broadcasting discover
Sun Jun 15 15:19:03 2025 daemon.notice netifd: wan (11647): udhcpc: broadcasting select for 192.168.1.79, server 192.168.1.1
Sun Jun 15 15:19:03 2025 daemon.notice netifd: wan (11647): udhcpc: lease of 192.168.1.79 obtained from 192.168.1.1, lease time 3600

There is some potentially odd stuff happening with the DHCP (starting at 14:39:13 where there is a SIGTERM and then DHCP is unable to get a lease for the next 4 minutes). Then there is another release that occurs about 21 minutes later... and so on.

So that's strange. But it doesn't explain why some sites work and others don't... if anything, I'd expect that everything breaks during that time.

Since the upstream device is itself a router, try bypassing the OpenWrt router and see if any of these problems persist.

Connecting to the upstream devices makes the errors go away. Also, the SIGTERM I think is because Starlink doesn't allow the usage of the satellite dish while driving, so I made an outlet in my skoolie that is off while driving, and plugged it into that. That's WAN-A, and thus the need to fail over to the hotspot as WAN-B. I was driving today, and I'm plugged into the grid. My house batteries are all full, so the fact that solar is my primary power source should also be irrelevant since it's still happening regardless of how much power I have for the router to use.

Is there a different deamon that I should pull logs for? Maybe I could increase logging on something else? I'm going to re-enable the WAN-A since testing them independently didn't show any changes.

EDIT: I might have found the issue, but I'm not sure. I'm also not sure how to fix it. I tested the IPv6 ping and traceroute on /cgi-bin/luci/admin/network/diagnostics using both udemy.com and openwrt.org, but they always fail and OpenWRT puts up a banner saying "Error: XHR request timed out". My IPV6 stuff is enabled on the interfaces. What should I check to make sure that IPV6 is configured correctly?

My next recommendation would be to reset the OpenWrt router to defaults and only configure the minimum stuff (one wan, adjust the lan IP, enable wifi, but no other package installations or significant changes). Test that for a while and see if the problem still manifests. Then, if it's all good, add mwan3 and test again, and so on.

You can, of course, make a backup first so you can get back to where you are now.

That's what I was trying to avoid. Also, as for IPV6, the MWAN3 status page said that WAN6 was offline, so I restarted it. That fixed the diagnostics, but the issues with the Udemy app are still present.

This could also be a DNS issue... have you ruled that out?

No, but I used the diagnostics tab on the MWAN3 settings, and I found that the wan6 and wanb6 (alias of wan6) failed both the "Check IP Rules" and "Check Routing Table" options. Trouble is, I don't know if that's typical of an alias, and if not then how I'm supposed to set that up. wan, and wanb both pass. Also, the only DHCP configured is on wan (WAN-A).

EDIT: False alarm on the DHCP stuff. Those are under a tab called "DHCP Server", so not the client, and that explains why it was able to get an IP. Still I don't know if the firewall mark and IIF stuff matters or not. I noticed that wanb was using an "absent interface", but it told me which interface that lead to, so I put it on the correct one, then made wanb6 no longer an alias, and instead it now uses the dame device as wan.

I really believe that the easiest approach would be to reset the OpenWrt device to defaults and test with only a minimal setup. Then you can build upon that until something breaks. That is how you'll find out what is actually causing this issue.

Alright. When I get a moment, I'll have a go at it that way. Thank you.

EDIT: I compiled a minimal version of OpenWRT for the Mofi 5500 target with only LuCI and coreutils added extra. (make clean && make -j4) I configured it with just the 5GHz, 2.4GHz and wired LAN, firewall rules, and so forth. It doesn't have MWAN3 installed yet, and I didn't set up the guest network since it's not used. I also didn't set up WAN B for the hotspot.

Everything seems to be working normally, including the Udemy app. I'm going to run this until tomorrow, then start adding in WANB, and if that keeps going smoothly, I'll try for MWAN3. If all goes well, then it might have been a compile that had the wrong mix of components or some such.

EDIT 2: It's working normally still, so I've configured wanb and wanb6. I tested and it's still working normally. Tonight I'll shoot for an MWAN3 install and see if all goes well for tomorrow morning.

Alright. Everything looks good, and I decided to put some of my smart tech into guest zones again, so I added those back. No issues so far. I can't just install mwan3 on the OpenWRT interface, as there are several missing dependencies, so I'm compiling the same firmware as the minimal install, but with mwan3. I'm going to just upload it over top of the firmware there's there and keep my config files. I'll try disabling mwan3 and testing for a while to rule out any configuration issues since flashing firmware is a big jump as it is. So, we'll see what happens by tomorrow, and if all is still going well, I'll try configuring mwan3.

EDIT: So far, so good. It survived the flash, and is still working well. Since I couldn't disable MWAN3 directly, I had to choose a network and use only that one to leave the others disabled. So, WAN-A is enabled. I also decided to leave all the default interfaces (configured to respond faster to failover, though), members, and policies. I deleted the https rule since I'm not using balancing and it would cause problems to leave a sticky rule in place. The other two I kept in place and set to wan_only. (WAN-A)

I tested the diagnostics to see if the rules table and firewall marks would show up, but the disabled interfaces said they couldn't be found. I'll check again once I turn them on tomorrow morning.

EDIT 2: The Udemy and Loom apps have been slightly slow ever since the MWAN3 install, but I'm not sure if that's solvable. I mean, the machine needs to do more, and it's inefficient since no one updated the rules to FW4, and so it's using the "compatibility" hack instead. Overall, it's like 10% slower to open, but seems to work fine once open. Not a huge issue.

I'm going to try configuring MWAN3 to do failover now, and I'll follow up (hopefully) one last time tonight on how well that goes.

EDIT 3: I configured it and the wan/wanb stuff shows that "Check IP rules" and "Check routing table" work fine, but the wan6/wanb6 still show that they couldn't find anything. So, that was a red herring before. (I only like blue.)

Tonight I was watching Udemy again, and all of a sudden in the middle of the stream it cut out, started endlessly loading, then, if I left the screen and came back, it was black, and then playing for a second, then it stopped. So I switched my internet connection to a different one, and then switched it back and tested it, it didn't fix the issue. But if I switch it to a different connection, then play it, and then switch the internet connection back, it works again.

I'm thinking there's some kind of layer 3 disconnect. My wan didn't fail over, as there was no reason for it to. Any idea why it wouldn't find the correct path to my device all of a sudden?

EDIT: Another app, "The Dyrt", wouldn't open unless I switched the connection back and forth. So, something is really weird at Layer 3. Any ideas?

Definitely an MWAN3 issue. I just enabled MWAN3 logging on all interfaces, so it'll spam the logs for a while until I happen upon an error again and then I'll check it. Also, I put the https rule back up, but I don't know if that will help or hurt. If "sticky" makes it so it stays IPV4 or stays IPV6, versus only staying on wan versus wanb, then it could help. Otherwise, it's just going to cause trouble.

I've increased the amount of time that an IPv6 ping has to respond, so they stopped timing out and those messages no longer appear in the logs. So, that keeps wan6 up. Maybe that was the issue? I'll keep this updated tomorrow morning, and if it's the solution, I'll mark it as such.

EDIT 2: The connection stopped working for a moment, and the logs show that MWAN 3 was pinging it and the pings were failing. Then it started working again. No idea what that was about. Maybe a cloud?

Here's the solution to why MWAN3 is intermittently blocking connections to seemingly random things like email, some apps, etc. The reason is because the ping settings aren't set properly. It times out too quickly, and then it disables the connection because it didn't respond in time. The fact that it's intermittent is due to the fact that only IPv4 or IPv6 went down, but the other is fine.

Here's how to solve this issue.

  1. Confirm that the connection is really "disabled" when you experience the problem. That's under Status -> MultiWAN Manager -> Overview.
  2. Increase the wait time for pings at Network -> MultiWAN Manager -> Interface -> Edit. (Mine is "Ping Timeout: 4 Seconds", "Ping Interval: 10 Seconds", "Failure Interval: 5 Seconds".

Now, I did notice that everything is stable, but yet my wan6 connection says it is "Offline" (not disabled by MWAN3) and has been for 4.5 hours. I'll put it back up, but it's not an MWAN3 issue on that. Not sure why it went down, though.

Also, if that doesn't work for you, try compiling the firmware with just LuCI Mwan3 installed, and that's all. Don't keep your settings, and instead reconfigure everything once done. This will put you on the same starting point as I had for my MoFi 5500. If you're on a different router, maybe there's ready-made firmware for yours so you don't need to compile it.

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