-
-
Notifications
You must be signed in to change notification settings - Fork 5
Description
FM350-GL modem stuck at "Activate modem" - never establishes data connection
Summary
FM350-GL modem is detected correctly, SIM card recognized, APN auto-detected, but connection never completes. The ATC script gets stuck waiting for URC (Unsolicited Result Codes) from the modem that are never sent, preventing data connection establishment.
Environment
Hardware:
- Board: Banana Pi BPI-R3 Mini
- Modem: Fibocom FM350-GL (USB mode, RNDIS)
- USB ID: 0e8d:7127
- Firmware Version: 81600.0000.00.29.19.16
- SIM: MCC: detected, MNC: detected
Software:
- Firmware: BananaWRT/ImmortalWrt 24.10.4 (r33602-e717d133ed6d)
- Kernel: 6.6.110
- Release: 2025.10.29-1540 (latest as of Oct 31, 2025)
- Packages:
- atc-fib-fm350_gl: 20250606-r3.13
- luci-proto-atc: 20250511-r2.1
- atc-apn-database: 20250529-r1.23
- comgt: 0.32-r36
Configuration
network.wwan=interface
network.wwan.proto='atc'
network.wwan.device='/dev/ttyUSB3'
network.wwan.apn='v-internet'
network.wwan.pdp='IP'
network.wwan.auth='0'
network.wwan.delay='15'
network.wwan.atc_debug='2'Problem Description
The wwan interface initialization proceeds normally through these steps:
- ✅ "Initiate modem with interface eth2" - Success
- ✅ "SIMcard ready" - Success
- ✅ "FM350-GL" detected - Success
- ✅ "Configure modem" - Success
- ✅ "Auto APN detection enabled" - Success
- ✅ "Auto-detected APN: v-internet for carrier: Viettel" - Success
- ❌ "Activate modem" - STUCK HERE FOREVER
After "Activate modem", the script blocks indefinitely and never proceeds.
Root Cause Analysis
The ATC script (/lib/netifd/proto/atc.sh) uses an event-driven architecture:
# Line 525-527
echo Activate modem
COMMAND='AT+CFUN=1' gcom -d "$device" -s /etc/gcom/at.gcom
while read URCline
do
# Process URC codes like +COPS, +CEREG, +CGREG, +CGEV
...
done < ${device} # Line 792 - reads directly from /dev/ttyUSB3The script waits for URCs (Unsolicited Result Codes) such as:
+COPS- Operator selection+CEREG- EPS network registration+CGREG- GPRS network registration
However, the FM350-GL (firmware 81600.0000.00.29.19.16) in RNDIS/USB mode does NOT send these URCs, even after enabling them with:
AT+CREG=2✅ (command accepted)AT+CEREG=2✅ (command accepted)AT+CGREG=2✅ (command accepted)
The modem accepts these commands (returns OK) but never actually sends the URC messages, causing the while read loop to block forever.
Observable Symptoms
- Interface status:
"up": false, "pending": true- stuck in pending state - eth2 state: DOWN (never brought UP)
- No error messages - script is waiting, not failing
- LTE LED: Never lights up
- Logs show: Process stuck after "Activate modem", no further progress
Troubleshooting Attempted
- ✅ Tried different ttyUSB ports (ttyUSB3, ttyUSB4) - same result
- ✅ Enabled URC reporting (CREG=2, CEREG=2, CGREG=2) - modem accepts but doesn't send URCs
- ✅ Added explicit APN configuration - no change
- ✅ Clean firmware flash (factory reset) - same behavior
- ✅ Verified SIM and modem detection - all OK
- ✅ Tested with atc_debug=2 - shows modem configured correctly, just stuck waiting
- ✅ Installed QMI drivers - FM350 in RNDIS mode doesn't expose QMI interface (no /dev/cdc-wdm*)
- ❌ Attempted to rewrite ATC script with polling - resulted in crash loop (requires deep integration changes)
Expected Behavior
Based on documentation claiming FM350 is "plug and play" with BananaWRT, the modem should:
- Complete all initialization steps
- Receive network registration URCs
- Establish PDP context
- Assign IP address to eth2
- Bring up data connection
Actual Behavior
Modem gets stuck at step 7 "Activate modem" indefinitely, waiting for URCs that never arrive.
Questions
- Does BananaWRT work with THIS specific FM350 firmware version? (81600.0000.00.29.19.16)
- Are there known FM350 firmware versions that send URCs properly in RNDIS mode?
- Is there a custom ATC script version with polling support instead of URC-based?
- Should this modem be used in PCIe mode instead? (though documentation mentions PCIe has stability issues)
Logs
Full wwan initialization log
Fri Oct 31 17:38:25 2025 daemon.notice netifd: Interface 'wwan' is setting up now
Fri Oct 31 17:38:26 2025 daemon.notice netifd: wwan (7073): Initiate modem with interface eth2
Fri Oct 31 17:38:29 2025 daemon.notice netifd: wwan (7073): SIMcard ready
Fri Oct 31 17:38:31 2025 daemon.notice netifd: wwan (7073): Fibocom Wireless Inc.
Fri Oct 31 17:38:31 2025 daemon.notice netifd: wwan (7073): FM350-GL
Fri Oct 31 17:38:31 2025 daemon.notice netifd: wwan (7073): 81600.0000.00.29.19.16
Fri Oct 31 17:38:31 2025 daemon.notice netifd: wwan (7073): Configure modem
Fri Oct 31 17:38:40 2025 daemon.notice netifd: wwan (7073): Activate modem
[STUCK HERE - no further progress]
Request
Could you please provide guidance on:
- Compatible FM350 firmware versions for RNDIS mode
- Any custom patches or modifications needed for this modem
- Alternative configuration approaches (ModemManager, QMI, etc.)
- Or confirm if this specific FM350 firmware simply isn't supported
Thank you!
Hardware: Banana Pi BPI-R3 Mini + Fibocom FM350-GL
Firmware: BananaWRT 24.10.4 (2025.10.29-1540)
Issue: Data connection never establishes - stuck waiting for URC