MWAN3 trouble - "No MWAN Interfaces found"

Hi all,

I have two WAN interfaces (double NAT - WISP situation): eth1 and wan0, configured as 'wan' and 'wwan' respectively. Both interfaces have been added to the 'wan' firewall zone.

wan has a metric of 10
wwan has a metric of 20

Both devices have been added as enabled interfaces to MWAN3, have members of equal weight and have a policy + rules applied for load balancing.

However, when I go to 'status->MultiWAN manager->overview' I get an error:

## MultiWAN Manager - Overview

**No MWAN interfaces found**

When I go to 'status->MultiWAN manager->status', everything appears to be OK:

Interface status:
 interface wan is online 00h:38m:38s, uptime 00h:43m:23s and tracking is active
 interface wwan is online 00h:38m:38s, uptime 00h:43m:19s and tracking is active

Current ipv4 policies:
load_balanced:

When I go under diagnostics, everything seems to check out as well. Both devices can ping their default gateway. But for some reason it's not load balancing, as taking out the 'wan' interface using the ifdown hotplug basically breaks my internet connection.

What could be going on?

Output of troubleshooting:

Software-Version
-------------------------------------------------
OpenWrt - 22.03.5

Output of "ip -4 a show"
-------------------------------------------------
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    inet 192.168.10.163/24 brd 192.168.10.255 scope global eth1
       valid_lft forever preferred_lft forever
5: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    inet 192.168.10.50/24 brd 192.168.10.255 scope global br-lan
       valid_lft forever preferred_lft forever
6: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    inet 192.168.1.20/24 brd 192.168.1.255 scope global wlan0
       valid_lft forever preferred_lft forever

Output of "ip -4 route show"
-------------------------------------------------
default via 192.168.10.1 dev eth1 proto static src 192.168.10.163 metric 10 
default via 192.168.1.1 dev wlan0 proto static src 192.168.1.20 metric 20 
192.168.1.0/24 dev wlan0 proto static scope link metric 20 
192.168.10.0/24 dev br-lan proto kernel scope link src 192.168.10.50 
192.168.10.0/24 dev eth1 proto static scope link metric 10 

Output of "ip -4 rule show"
-------------------------------------------------
0:	from all lookup local
1001:	from all iif eth1 lookup 1
1002:	from all iif wlan0 lookup 2
2001:	from all fwmark 0x100/0x3f00 lookup 1
2002:	from all fwmark 0x200/0x3f00 lookup 2
2061:	from all fwmark 0x3d00/0x3f00 blackhole
2062:	from all fwmark 0x3e00/0x3f00 unreachable
3001:	from all fwmark 0x100/0x3f00 unreachable
3002:	from all fwmark 0x200/0x3f00 unreachable
32766:	from all lookup main
32767:	from all lookup default

Output of "ip -4 route list table 1-250"
-------------------------------------------------
Routing table 1:
default via 192.168.10.1 dev eth1 proto static src 192.168.10.163 metric 10 
192.168.10.0/24 dev br-lan proto kernel scope link src 192.168.10.50 
192.168.10.0/24 dev eth1 proto static scope link metric 10 

Routing table 2:
default via 192.168.1.1 dev wlan0 proto static src 192.168.1.20 metric 20 
192.168.1.0/24 dev wlan0 proto static scope link metric 20 
192.168.10.0/24 dev br-lan proto kernel scope link src 192.168.10.50 

Output of "iptables -t mangle -w -L -v -n"
-------------------------------------------------
Chain PREROUTING (policy ACCEPT 9202 packets, 3678K bytes)
 pkts bytes target     prot opt in     out     source               destination         
 559K  572M mwan3_hook  all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain INPUT (policy ACCEPT 1171 packets, 124K bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 7913 packets, 3535K bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 885 packets, 1063K bytes)
 pkts bytes target     prot opt in     out     source               destination         
 9415   17M mwan3_hook  all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain POSTROUTING (policy ACCEPT 8798 packets, 4598K bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain mwan3_connected_ipv4 (2 references)
 pkts bytes target     prot opt in     out     source               destination         
 261K  386M MARK       all  --  *      *       0.0.0.0/0            0.0.0.0/0            match-set mwan3_connected_ipv4 dst MARK or 0x3f00

Chain mwan3_custom_ipv4 (2 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 MARK       all  --  *      *       0.0.0.0/0            0.0.0.0/0            match-set mwan3_custom_ipv4 dst MARK or 0x3f00

Chain mwan3_dynamic_ipv4 (2 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 MARK       all  --  *      *       0.0.0.0/0            0.0.0.0/0            match-set mwan3_dynamic_ipv4 dst MARK or 0x3f00

Chain mwan3_hook (2 references)
 pkts bytes target     prot opt in     out     source               destination         
 568K  589M CONNMARK   all  --  *      *       0.0.0.0/0            0.0.0.0/0            mark match 0x0/0x3f00 CONNMARK restore mask 0x3f00
 5879 2124K mwan3_ifaces_in  all  --  *      *       0.0.0.0/0            0.0.0.0/0            mark match 0x0/0x3f00
 4482 1887K mwan3_custom_ipv4  all  --  *      *       0.0.0.0/0            0.0.0.0/0            mark match 0x0/0x3f00
 4482 1887K mwan3_connected_ipv4  all  --  *      *       0.0.0.0/0            0.0.0.0/0            mark match 0x0/0x3f00
 2938 1657K mwan3_dynamic_ipv4  all  --  *      *       0.0.0.0/0            0.0.0.0/0            mark match 0x0/0x3f00
 2938 1657K mwan3_rules  all  --  *      *       0.0.0.0/0            0.0.0.0/0            mark match 0x0/0x3f00
 569K  589M CONNMARK   all  --  *      *       0.0.0.0/0            0.0.0.0/0            CONNMARK save mask 0x3f00
 545K  571M mwan3_custom_ipv4  all  --  *      *       0.0.0.0/0            0.0.0.0/0            mark match ! 0x3f00/0x3f00
 545K  571M mwan3_connected_ipv4  all  --  *      *       0.0.0.0/0            0.0.0.0/0            mark match ! 0x3f00/0x3f00
 286K  185M mwan3_dynamic_ipv4  all  --  *      *       0.0.0.0/0            0.0.0.0/0            mark match ! 0x3f00/0x3f00

Chain mwan3_iface_in_wan (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 MARK       all  --  eth1   *       0.0.0.0/0            0.0.0.0/0            match-set mwan3_custom_ipv4 src mark match 0x0/0x3f00 /* default */ MARK or 0x3f00
   69 10374 MARK       all  --  eth1   *       0.0.0.0/0            0.0.0.0/0            match-set mwan3_connected_ipv4 src mark match 0x0/0x3f00 /* default */ MARK or 0x3f00
    0     0 MARK       all  --  eth1   *       0.0.0.0/0            0.0.0.0/0            match-set mwan3_dynamic_ipv4 src mark match 0x0/0x3f00 /* default */ MARK or 0x3f00
   11  1780 MARK       all  --  eth1   *       0.0.0.0/0            0.0.0.0/0            mark match 0x0/0x3f00 /* wan */ MARK xset 0x100/0x3f00

Chain mwan3_iface_in_wwan (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 MARK       all  --  wlan0  *       0.0.0.0/0            0.0.0.0/0            match-set mwan3_custom_ipv4 src mark match 0x0/0x3f00 /* default */ MARK or 0x3f00
   54  9128 MARK       all  --  wlan0  *       0.0.0.0/0            0.0.0.0/0            match-set mwan3_connected_ipv4 src mark match 0x0/0x3f00 /* default */ MARK or 0x3f00
    0     0 MARK       all  --  wlan0  *       0.0.0.0/0            0.0.0.0/0            match-set mwan3_dynamic_ipv4 src mark match 0x0/0x3f00 /* default */ MARK or 0x3f00
    1    32 MARK       all  --  wlan0  *       0.0.0.0/0            0.0.0.0/0            mark match 0x0/0x3f00 /* wwan */ MARK xset 0x200/0x3f00

Chain mwan3_ifaces_in (1 references)
 pkts bytes target     prot opt in     out     source               destination         
 5879 2124K mwan3_iface_in_wan  all  --  *      *       0.0.0.0/0            0.0.0.0/0            mark match 0x0/0x3f00
 4537 1896K mwan3_iface_in_wwan  all  --  *      *       0.0.0.0/0            0.0.0.0/0            mark match 0x0/0x3f00

Chain mwan3_policy_load_balanced (2 references)
 pkts bytes target     prot opt in     out     source               destination         
   25 25797 MARK       all  --  *      *       0.0.0.0/0            0.0.0.0/0            mark match 0x0/0x3f00 statistic mode random probability 0.50000000000 /* wan 1 2 */ MARK xset 0x100/0x3f00
   20 16991 MARK       all  --  *      *       0.0.0.0/0            0.0.0.0/0            mark match 0x0/0x3f00 /* wan 1 1 */ MARK xset 0x100/0x3f00

Chain mwan3_rule_https (1 references)
 pkts bytes target     prot opt in     out     source               destination         
 1409  128K MARK       all  --  *      *       0.0.0.0/0            0.0.0.0/0            mark match 0x0/0x3f00 MARK xset 0x100/0x3f00
  515 80413 MARK       all  --  *      *       0.0.0.0/0            0.0.0.0/0            mark match 0x100/0x3f00 ! match-set mwan3_rule_ipv4_https src,src MARK and 0xffffc0ff
  515 80413 MARK       all  --  *      *       0.0.0.0/0            0.0.0.0/0            mark match 0x0/0x3f00 MARK xset 0x100/0x3f00
  515 80413 MARK       all  --  *      *       0.0.0.0/0            0.0.0.0/0            mark match 0x100/0x3f00 ! match-set mwan3_rule_ipv4_https src,src MARK and 0xffffc0ff
  515 80413 mwan3_policy_load_balanced  all  --  *      *       0.0.0.0/0            0.0.0.0/0            mark match 0x0/0x3f00
 1409  128K SET        all  --  *      *       0.0.0.0/0            0.0.0.0/0            mark match ! 0xfc00/0xfc00 del-set mwan3_rule_ipv4_https src,src
 1409  128K SET        all  --  *      *       0.0.0.0/0            0.0.0.0/0            mark match ! 0xfc00/0xfc00 add-set mwan3_rule_ipv4_https src,src

Chain mwan3_rules (1 references)
 pkts bytes target     prot opt in     out     source               destination         
 1409  128K mwan3_rule_https  tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            multiport dports 443 mark match 0x0/0x3f00
 1529 1528K mwan3_policy_load_balanced  all  --  *      *       0.0.0.0/0            0.0.0.0/0            mark match 0x0/0x3f00

br-lan and eth1 use the same IP address spaces.
Change the device's LAN IP address

Same issue here after I added wwan0 interface, before it was working ok with eth2 and eth3.
Currently, while I write this, I only added wwan0 to the setup (1 more wan interface and the corresponding config on the mwan3)
Connectivity is now running over eth2 and wwan0, however I see:
“No MWAN Interfaces found” message under Status > Multiwan Manager > Overview

The config looks correct to me:

Interface status:
 interface 4G is online 00h:08m:03s, uptime 43h:32m:04s and tracking is active
 interface 4G_2 is offline and tracking is paused
 interface 4G_wwan0 is online 00h:08m:03s, uptime 00h:20m:07s and tracking is active

Current ipv4 policies:
balanced:

-----------------------------------

Output of "ip -4 a show"
-------------------------------------------------
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
6: eth2: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000
    inet 192.168.0.100/24 brd 192.168.0.255 scope global eth2
       valid_lft forever preferred_lft forever
10: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    inet 192.168.14.1/24 brd 192.168.14.255 scope global br-lan
       valid_lft forever preferred_lft forever
14: wwan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000
    inet 192.168.8.102/24 brd 192.168.8.255 scope global wwan0
       valid_lft forever preferred_lft forever

Output of "ip -4 route show"
-------------------------------------------------
default via 192.168.0.1 dev eth2 proto static src 192.168.0.100 metric 10 
default via 192.168.8.1 dev wwan0 proto static src 192.168.8.102 metric 30 
192.168.0.0/24 dev eth2 proto static scope link metric 10 
192.168.8.0/24 dev wwan0 proto static scope link metric 30 
192.168.14.0/24 dev br-lan proto kernel scope link src 192.168.14.1 

Output of "ip -4 rule show"
-------------------------------------------------
0:	from all lookup local
1001:	from all iif eth2 lookup 1
1003:	from all iif wwan0 lookup 3
2001:	from all fwmark 0x100/0x3f00 lookup 1
2003:	from all fwmark 0x300/0x3f00 lookup 3
2061:	from all fwmark 0x3d00/0x3f00 blackhole
2062:	from all fwmark 0x3e00/0x3f00 unreachable
3001:	from all fwmark 0x100/0x3f00 unreachable
3003:	from all fwmark 0x300/0x3f00 unreachable
32766:	from all lookup main
32767:	from all lookup default

Output of "ip -4 route list table 1-250"
-------------------------------------------------
Routing table 1:
default via 192.168.0.1 dev eth2 proto static src 192.168.0.100 metric 10 
192.168.0.0/24 dev eth2 proto static scope link metric 10 
192.168.14.0/24 dev br-lan proto kernel scope link src 192.168.14.1 

Routing table 3:
default via 192.168.8.1 dev wwan0 proto static src 192.168.8.102 metric 30 
192.168.8.0/24 dev wwan0 proto static scope link metric 30 
192.168.14.0/24 dev br-lan proto kernel scope link src 192.168.14.1

Looks similar to https://github.com/openwrt/luci/pull/1744

Based on that link, I have the similar output that was noted there:

root@OpenWrt:~# ubus -v list mwan3
'mwan3' @fac41ade
"status":{"section":"String","interface":"String","policies":"String"}

root@OpenWrt:~# ubus -v call mwan3 status
Command failed: No response

Did anyone ever find a solution to this? I'm having the exact same issue. All seems to work well except that I get the same No MWAN interfaces found when going to 'status->MultiWAN manager->overview' ?

I managed to fix this myself. I had an error in the config of one of my rules. Somehow I had added the same value for list use_member 'wan_m10_w3' twice. I tracked it down by running "mwan3 status" which resulted in an error which eventually disappeared once I delete the faulty policy from my config.