GitHub
Trang chủ > Wiki Docs > 3G-4G-5G-GPS Module > SIMCOM A7680C Series > FAQ-Fix Internet Connection Loss Error on Linux/Ubuntu 4G LTE USB Dongle (simcom A7680C)

FAQ-Fix Internet Connection Loss Error on Linux/Ubuntu 4G LTE USB Dongle (simcom A7680C)

Cập nhật 5 phút đọc 28/09/2026

You plug a 4G LTE USB dongle (simcom A7680C-LNNV, Quectel, or other A76XX series) into your Linux computer, the ModemManager says registered, the LTE signal is full, but you can’t access the Internet. The browser reports a DNS error, failing to load the website. Meanwhile, if you type your IP address straight (e.g. 8.8.8.8), the ping will still work.

You must use WiFi as a backup plan.

Root causes

USB 4G LTE models use the RNDIS (Remote Network Driver Interface Specification) protocol — which creates a virtual Ethernet interface (for example) and automatically grants IP over the modem’s internal DHCP.enxae0c29a39b6d

Normal Operating Procedure:

Modem 4G ──RNDIS──> Linux nhận interface `enx...`
                    DHCP từ modem → IP: 192.168.0.100/24
                    Gateway: 192.168.0.1 (chính modem)
                    Route mặc định qua modem

Problem: The modem grants IP and gateway via DHCP, but does not grant a DNS server to . Results:systemd-resolved

  • Direct IP ping (8.8.8.8, 1.1.1.1) → OK, latency ~50-70ms
  • Pinging domains (google.com) → FAIL (DNS unresolved)
  • Browser → “DNS Not Found”
  • resolvectl status → there is no DNS server on the modem link

The system still uses a DNS server from WiFi (or Ethernet), so when WiFi is turned off, DNS dies completely.

Rapid Diagnostic Test

1. Does the ModemManager receive the device?

mmcli -L

Expected results:

/org/freedesktop/ModemManager1/Modem/2 [SIMCOM INCORPORATED] A7680C-LNNV

2. Is the modem registered to the network?

mmcli -m 2

Important:

  • state: registered
  • access tech: lte
  • signal quality: 80% (or high)
  • packet service state: attached

3. Check the IP and route

ip addr show
ip route show

You’ll see the RNDIS interface (name) with the default IP and route.enx...192.168.0.100/24default via 192.168.0.1

4. DNS Audit

resolvectl status <tên_interface>

For example:

resolvectl status enxae0c29a39b6d

If you see and don’t — that’s why.Current Scopes: noneCurrent DNS Server

5. Confirm the modem can ping the IP

ping -c 3 -I enxae0c29a39b6d 8.8.8.8

If the ping is OK → the problem is DNS, not the connection.

Fix Instructions

Step 1: Check the DNS port on the modem

RNDIS modems typically run DNS relays at the gateway (192.168.0.1):

timeout 2 bash -c "echo > /dev/tcp/192.168.0.1/53" 2>/dev/null && echo "DNS port OPEN" || echo "DNS port closed"

If the port is open, → can use the modem itself as a DNS server.

Step 2: Assign a temporary DNS (used immediately, lost after reboot)

sudo resolvectl dns enxae0c29a39b6d 192.168.0.1 8.8.8.8
sudo resolvectl default-route enxae0c29a39b6d yes
  • 192.168.0.1 — DNS relay from the modem (via the carrier’s 4G network)
  • 8.8.8.8 — Google DNS Fallback
  • default-route ... yes — prioritize DNS over modem over WiFi

Review:

resolvectl query google.com

Expected results: google.com: 142.250... -- link: enxae0c29a39b6d

Step 3: Assign a permanent DNS (hold after reboot)

Option A: Use systemd-resolved drop-in (recommended)

Create a configuration file:

sudo mkdir -p /etc/systemd/resolved.conf.d
sudo tee /etc/systemd/resolved.conf.d/modem-rndis-dns.conf << 'EOF'
# Persistent DNS config for SIMCOM 4G LTE RNDIS modem interface
[Resolve]
DNS=192.168.0.1 8.8.8.8
EOF

Systemd-resolved reboot:

sudo systemctl restart systemd-resolved

Option B: Use systemd service (automatically set DNS when the interface is up)

sudo tee /etc/systemd/system/resolvectl-modem-dns.service << 'SERVICEEOF'
[Unit]
Description=Set DNS for 4G LTE RNDIS modem
After=network.target sys-subsystem-net-devices-enxae0c29a39b6d.device
BindsTo=sys-subsystem-net-devices-enxae0c29a39b6d.device

[Service]
Type=oneshot
ExecStart=resolvectl dns enxae0c29a39b6d 192.168.0.1 8.8.8.8
ExecStart=resolvectl default-route enxae0c29a39b6d yes
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target
SERVICEEOF

Activation:

sudo systemctl daemon-reload
sudo systemctl enable resolvectl-modem-dns.service
sudo systemctl start resolvectl-modem-dns.service

Note: Replace it with the actual interface name on your device. The interface name can be checked by: enxae0c29a39b6dip link show | grep -v lo

Step 4: Overall Inspection

# DNS đã hoạt động qua modem chưa?
resolvectl query google.com

# Ping tên miền đã OK chưa?
ping -c 2 google.com

# Tắt WiFi thử:
nmcli radio wifi off

# Kiểm tra lại:
ping -c 2 google.com

# Bật lại WiFi nếu cần:
nmcli radio wifi on

System structure after fix

                    ┌──────────────────┐
                    │   Internet 4G    │
                    │   (Nhà mạng)     │
                    └────────┬─────────┘
                             │ LTE
                    ┌────────▼─────────┐
                    │  SIMCOM A7680C   │
                    │  192.168.0.1     │
                    │  DNS relay: 53   │
                    └────────┬─────────┘
                             │ RNDIS (USB)
                    ┌────────▼─────────┐
                    │  enxae0c29a39b6d │
                    │  192.168.0.100   │
                    │  DNS: 192.168.0.1│
                    │        8.8.8.8   │
                    └────────┬─────────┘
                             │
                    ┌────────▼─────────┐
                    │  systemd-resolved │
                    │  + DefaultRoute  │
                    └──────────────────┘

Important Notes

  1. The interface name() varies from device to device because it is based on the MAC address. Always test beforehand with .enx...ip link show
  2. The number of modems in ModemManager() may differ if you plug in multiple USB devices at the same time.mmcli -m 2
  3. If there is no DNS port (53) on 192.168.0.1: some RNDIS modems do not run DNS relays. Then you’ll need to use external DNS like and .8.8.8.81.1.1.1
  4. NetworkManager vs systemd-networkd: This tutorial uses — this is the default DNS resolver on Ubuntu 22.04+. If you’re using a different distribution, check with .systemd-resolvedsystemctl status systemd-resolved
  5. Compatibility: This fix works with most 4G USB dongles using Qualcomm/Simcom chipsets in RNDIS mode (A76xx, EG800K, EC25, etc.).

References

  • ModemManager docs: https://modemmanager.org/
  • systemd-resolved: man systemd-resolved
  • SIMCOM A7680C AT Command Manual
  • Linux RNDIS host driver: man rndis_host