Device: GL.iNet Mudi 7 (GL-E5800)
Firmware: 4.8.5 (OpenWrt 23.05.4, kernel 5.15.170-perf)
Modem: Quectel RG650V-EU
Network: eSIM (eiotclub platform), roaming on MCC/MNC 283/05 (Viva-MTS, Armenia), LTE, signal "Excellent"
Diagnosis method: SSH logread over USB-RNDIS (stable, independent of Wi-Fi)
SUMMARY
With cellular as the WAN, the data session drops after a period of inactivity and the modem does NOT re-establish it. The UI stays on "Connecting…" indefinitely until a manual action (re-applying the APN, Abort, or reboot). Observed and logged repeatedly over several hours. APN
"plus" is correct and connects fine — this is a recovery problem, not a setup problem.
OBSERVED FACTS
A. The carrier deactivates the idle data session — seen with two different call-end codes.
Occurrence 1:
Diag_Lib (cm.c) wwan handle:1 (CallendType=3 CallendCode=1034) wwan_status:0x6
kernel: Deleting wan Conntrack IP:
root: stop rmnet cfg:modem_cpu
hotplug-iface ACTION=ifdown INTERFACE=modem_cpu DEVICE=rmnet_data0
Occurrence 2 (different code; session had been up ~16 min with little/no traffic):
Diag_Lib (cm.c) wwan handle:1 (CallendType=6 CallendCode=36) wwan_status:0x6
kernel: Deleting wan Conntrack IP:
gl-repeater: interface modem_cpu down
root: stop rmnet cfg:modem_cpu
B. No automatic re-dial follows.
After teardown, the connection manager makes no attempt to re-establish the cellular data call. Confirmed by disconnecting the only other backhaul (Wi-Fi repeater) while cellular was down — the router was left with no WAN and still made no redial attempt:
combine_backhaul_ipv4ipv6 ... ipv4_bh=no ... loop on modem_cpu
switch_backhaul ... current_bh:wwan; previous_bh:; new_bh: (empty — no modem_cpu)
In one instance the cellular session stayed down with no recovery attempt for ~50 minutes (until manual intervention).
C. Recovery only happens on a config change.
Re-applying the APN triggers a fresh dial that succeeds:
Diag_Lib (cm.c) dial connect, initiated by CONFIG CHANGE (bus: cpu, slot: 2, interface: modem_cpu)
Diag_Lib (cm.c) Dial success with APN: plus ctx_ipv4:
QCMAP:WAN connected v4 ... CallendCode=0 wwan_status:0x3
D. kmwan tracks cellular and the repeater differently.
Wi-Fi repeater (never observed to drop) is tracked "force":
kmwan op:2 cells:[{ interface:"wwan", track_mode:"force", tracks:[ping 1.1.1.1, 8.8.8.8, 208.67.222.222, 208.67.220.220] }]
Cellular (the one that drops on idle) is tracked "passive":
kmwan op:2 cells:[{ interface:"modem_cpu", track_mode:"passive", tracks:[ping 1.1.1.1, 8.8.8.8, 208.67.222.222, 208.67.220.220] }]
E. IPv4&IPv6 dial -IPv6 leg rejected.
During the dial (IP type IPv4&IPv6), right after the IPv4 context connects:
Diag_Lib (cm.c) wwan handle:1 (CallendType=2 CallendCode=210) wwan_status:0x8
STEPS TO REPRODUCE
- Use a SIM/eSIM on a roaming network that deactivates idle PDP sessions.
- Make cellular the active WAN; leave it idle (no client traffic) through the carrier's inactivity window.
- The carrier deactivates the session; the UI shows "Connecting…" and does not recover until a manual config change/reboot.
IMPACT
On a trip where cellular is the only WAN, any idle-induced drop results in a full loss of connectivity until manual intervention.
ENVIRONMENT NOTES (also seen in logs, possibly relevant)
- During backhaul teardown: "sh[...]: unable to attach the filter ... : Out of memory" (repeated).
- A dial attempt made with a wrong APN failed with "Failed to get cell info (retry 1/30 … 30/30)" then "dial allowed[No] reason[Failed to get cell info]"; the subsequent dial with the correct APN succeeded.
NOTE ON REDACTION
Logs were redacted before posting - IMEI, ICCID, assigned IPs, cell IDs (CID/TAC/LAC), MAC addresses and Wi-Fi SSID removed. Full SSH logread excerpts and a gl_modem capture can be provided on request.
