openwrt / openwrt/packages

mwan3: mwan3track pings failing, manual pings work

Open
#26,698 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Makefile
Stars
4.6k
Forks
4k
Avg merge
3d 12h
Merged PRs (30d)
134

Description

Package Name

mwan3

Maintainer

(@feckert)

OpenWrt Version

OpenWrt 24.10.1 r28597-0425664679 / LuCI (HEAD detached at 2ac26e56) branch 25.103.51521~2ac26e5

OpenWrt Target/Subtarget

ath79/generic

Steps to Reproduce

Summary

I'm attempting to set up an OpernWrt device as an LTE fallback access method to my home network. I am not using the OpenWrt device as my main router/firewall; rather, it's a client device plugged into my existing network. I connected the device's WAN port to my LAN, so from the router's perspective it's a double-NAT setup.

I'm attempting to use mwan3's interface monitoring features only (mwan3track), i.e., I'm not currently using members, policies, or rules. I plan to use the Notify script feature to send myself notifications and adjust the device's routing table myself, loosely following this guide: OpenWrt, mwan3 and default route for IPsec tunnel – Dariusz Więckiewicz 🇬🇧.

Steps Taken

  1. Set up primary WAN; I'm using a simple wired connection to my network.
  2. Set up secondary (LTE) WAN according to this procedure: [OpenWrt Wiki] How to use LTE modem in QMI mode for WAN connection.
  3. Install mwan3 following this guide: [OpenWrt Wiki] mwan3 (Multi WAN load balancing/failover).
  4. Delete all stock mwan3 configuration settings, i.e., Interfaces, Members, Policies, and Rules.
  5. Add interface for primary WAN (wan) and secondary LTE WAN (wwan); keep (mostly) default configuration, adding a Tracking IP and ticking the Enabled box.
  6. Monitor logread -f, observe check ping failure messages for the wwan interface like these...
mwan3track[2091]: Check (ping) failed for target "9.9.9.9" on interface wwan (wwan0). Current score: 7

Troubleshooting Attempts

I've used iftop and tcpdump to observe the traffic on the wwan0 interface. I can see my echo requests leaving the LTE interface, but do not see any replies back from the tracking IP. I can see replies coming from my pings to non-tracking IP addresses, so the LTE interface is working.

Further, I can use curl to verify that the wwan interface works. For example, curl --interface wwan0 ip4.me/api/ returns an address that is different from my primary WAN connection's address.

Actual Behaviour

I observed tracking pings sent by the mwan3track script leaving my wwan0 interface but do not see any replies to these echo requests coming back from the tracking IP target; I'm using tcpdump and iftop. When manually testing pings using ping -I <Interface> <Address>, I observe the same behavior for the tracking IP (no replies) but pinging other addresses on the same interface works (replies received).

Pinging Non-Tracking IP

root@OpenWrt:~# ping -c 2 -I wwan0 1.1.1.1
PING 1.1.1.1 (1.1.1.1): 56 data bytes
64 bytes from 1.1.1.1: seq=0 ttl=52 time=138.245 ms
64 bytes from 1.1.1.1: seq=1 ttl=52 time=37.757 ms

--- 1.1.1.1 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 37.757/88.001/138.245 ms

Pinging Tracking IP

root@OpenWrt:~# ping -c 2 -I wwan0 9.9.9.9
PING 9.9.9.9 (9.9.9.9): 56 data bytes

--- 9.9.9.9 ping statistics ---
2 packets transmitted, 0 packets received, 100% packet loss
Confirmation Checklist

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the mwan3track script and reproduce the reported difference between tracking target 9.9.9.9 and other addresses over wwan0. Compare the generated ping traffic and replies with the manual ping and tcpdump observations; done means tracking pings work over the LTE interface without regressing the working interface checks.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux, shell
Domain
networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.