"Connected Without Internet" Error: Complete Fix Guide for WiFi, Routers, Android & ISP Issues
Fix the 'connected without internet' error on WiFi, Android, hotspots & ISPs like Cox, CenturyLink & Fios. Step-by-step commands and solutions inside.
- Root cause 1: Your device is successfully connected to the router/access point (Layer 2), but the router cannot reach the internet gateway — often due to a failed DHCP lease, incorrect DNS, or ISP-side outage.
- Root cause 2: On Android and mobile hotspots, Google's captive portal detection (connectivitycheck.gstatic.com) fails even when internet is technically available, triggering a false 'Connected without internet' warning — common with strict firewalls, VPNs, or DNS filtering.
- Root cause 3: ISP-specific provisioning failures (Cox, CenturyLink, Frontier, Fios, T-Mobile Home Internet, Bell, Converge) where the modem is authenticated but the WAN IP is not assigned or routing tables are corrupt.
- Quick fix summary: Restart modem and router in sequence, flush DNS cache, renew DHCP lease, switch to public DNS (8.8.8.8 / 1.1.1.1), and test with a wired connection to isolate the problem layer.
| Method | When to Use | Time | Risk |
|---|---|---|---|
| Modem + Router power cycle (unplug 30s) | First step for any ISP or home network issue | 2-5 min | None |
| Renew DHCP lease (ipconfig /release + /renew) | Device shows 169.x.x.x or 0.0.0.0 IP address | 1 min | None |
| Flush DNS cache (ipconfig /flushdns) | Pages fail to load but ping to IP succeeds | 30 sec | None |
| Switch to public DNS (8.8.8.8 / 1.1.1.1) | ISP DNS is down or returning bad responses | 2 min | Low |
| Disable/re-enable network adapter | Adapter stuck in bad state after sleep/wake | 1 min | None |
| Factory reset router | Router firmware/config corrupt, all else failed | 15-30 min | High — wipes all settings |
| Android: Forget & rejoin WiFi network | Android shows 'Connected without internet' loop | 2 min | None |
| Android: Toggle airplane mode | Quick reset of all radio stacks on mobile | 30 sec | None |
| Disable captive portal detection (Android ADB) | False positive on enterprise/VPN networks | 5 min | Medium — reduces security warnings |
| Contact ISP / check ISP status page | WAN IP not assigned, modem auth fails | 10+ min | None |
Understanding the "Connected Without Internet" Error
When your device shows "Connected without internet" (also displayed as "No internet access" on Windows or "Connected, no internet" on Android), it means your device has successfully established a link-layer connection to your router or access point, but traffic cannot reach the public internet. This is a Layer 3 (network) or higher failure, not a Layer 1/2 (physical/data-link) failure.
Operating systems detect this using captive portal probes:
- Windows contacts
http://www.msftconnecttest.com/connecttest.txtand expects the responseMicrosoft Connect Test. - Android contacts
http://connectivitycheck.gstatic.com/generate_204and expects an HTTP 204 response. - macOS/iOS contacts
http://captive.apple.com/hotspot-detect.html.
If these probes fail — for ANY reason, including DNS failure, routing issues, or firewall blocking — the OS marks the connection as "no internet."
Step 1: Identify Which Layer Is Failing
Before applying fixes, determine whether the problem is at the device, router, modem, or ISP level.
Check your IP address:
- A
169.254.x.xaddress means DHCP failed completely (Windows APIPA fallback). - A
192.168.x.xor10.x.x.xaddress means your router responded but internet routing may still be broken. - A
0.0.0.0address on Android means DHCP negotiation failed.
Ping the router gateway:
If pinging your router gateway (usually 192.168.1.1) works but pinging 8.8.8.8 fails, the problem is between your router and the ISP (WAN side).
If pinging 8.8.8.8 works but pinging google.com fails, the problem is DNS.
Step 2: Power Cycle Your Network Hardware (All ISPs)
This resolves the majority of "connected without internet" issues across Cox, CenturyLink, Frontier, Fios, T-Mobile Home Internet, Bell, and Converge networks.
- Unplug your modem from power (not just the router — the modem too).
- Wait 30 full seconds so capacitors discharge and the ISP drops your session.
- Plug the modem back in and wait until all status lights stabilize (60-90 seconds).
- Plug the router back in (if separate from the modem) and wait another 60 seconds.
- Reconnect your device and test.
For T-Mobile Home Internet (5G gateway): Hold the power button for 10 seconds, then release. The unit reboots and re-registers on the 5G network. For Cox and Fios fiber ONT devices, also check whether the ONT box (the white box mounted on your wall) needs a restart — it has its own power adapter.
Step 3: Renew Your DHCP Lease
On Windows:
ipconfig /release
ipconfig /renew
On Linux/macOS:
sudo dhclient -r
sudo dhclient
Or using NetworkManager:
nmcli con down "Your-WiFi-Name" && nmcli con up "Your-WiFi-Name"
On Android: Go to Settings → WiFi → Long-press your network → Forget Network → Rejoin and re-enter the password. This forces a fresh DHCP negotiation.
Step 4: Fix DNS Issues
DNS failure is one of the most common causes of the "connected without internet" symptom because the OS captive portal probe uses a domain name. If DNS is broken, the probe fails even if routing is fine.
Flush DNS cache:
- Windows:
ipconfig /flushdns - macOS:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder - Linux:
sudo systemd-resolve --flush-caches
Switch to a public DNS server:
Set your DNS to 8.8.8.8 (Google) or 1.1.1.1 (Cloudflare) either on your device or in your router's WAN settings. On CenturyLink and Frontier DSL connections, ISP DNS is frequently degraded during outages even when the connection itself is up.
Step 5: Android-Specific Fixes
Android 10+ aggressively marks networks as "Connected without internet" when the captive portal check fails. This can be a false positive on corporate VPNs, Pi-hole setups, or networks that block Google's connectivity check servers.
Option A — Toggle Airplane Mode: Swipe down, enable Airplane Mode for 15 seconds, disable it, then reconnect to WiFi.
Option B — Change Private DNS:
Go to Settings → Network & Internet → Private DNS → set to dns.google or one.one.one.one. This often resolves the probe failure.
Option C — Disable captive portal detection (rooted or ADB): Using ADB with USB debugging enabled:
adb shell settings put global captive_portal_detection_enabled 0
Or change the probe server to a custom endpoint on your network:
adb shell settings put global captive_portal_server your.server.com
Note: This disables the warning indicator but does not fix an actual outage.
Option D — For Samsung Galaxy (Tab S6 Lite, S series):
Go to Settings → Connections → WiFi → tap the gear icon next to your network → IP Settings → change from DHCP to Static, enter a manual IP, gateway, and DNS (8.8.8.8), save, and reconnect.
Step 6: Mobile Hotspot "Connected Without Internet" Fixes
When your phone's mobile hotspot shows "connected without internet" on connected devices:
- Toggle the hotspot off and back on.
- Check that your phone itself has mobile data (not just WiFi calling).
- Disable WiFi on the phone (a phone connected to WiFi that shares it as a hotspot can fail if the upstream WiFi has no internet).
- On T-Mobile: Dial
#DATA#(#3282#) to reset the data connection. - Check APN settings: Settings → Mobile Network → APN → verify the APN matches your carrier's official settings.
Step 7: Router-Level Fixes
If multiple devices show "connected without internet" simultaneously, the issue is at the router or ISP level.
Check WAN status in router admin panel:
Log into your router at 192.168.1.1 or 192.168.0.1. Navigate to the WAN/Internet status page. Look for:
- WAN IP: should be a public or ISP-assigned IP (not
0.0.0.0) - Default gateway: should be populated
- DNS servers: should be populated
D-Link routers: Firmware bugs in certain D-Link models cause periodic WAN lease drops. Check for firmware updates at support.dlink.com and consider enabling "Clone MAC Address" if your ISP is MAC-locked.
Update router firmware: An outdated firmware is a frequent cause of intermittent WAN disconnections on all brands.
MTU mismatch fix: ISPs like Fios and CenturyLink sometimes require MTU of 1492 (PPPoE) instead of 1500. Set this in your router's WAN settings.
Step 8: ISP-Specific Checks
- Cox: Log into
myaccount.cox.com→ check for outages in your area. Cox modems require 15-20 minutes to fully re-provision after a power cycle on DOCSIS 3.1. - CenturyLink/Quantum Fiber: PPPoE credentials may expire. Re-enter your username/password in the router WAN settings. Check status at
centurylink.com/local/outages. - Frontier: If you have fiber, check the ONT lights. A solid green on all indicators is required. Call 1-800-921-8101 for provisioning resets.
- Fios: Check the ONT and router coax/ethernet connection. Run the My Fios app self-diagnostics.
- T-Mobile Home Internet: The 5G gateway app (available on iOS/Android) shows signal strength. Reposition the unit for better 5G signal if bars are low.
- Bell / Converge / ACT: These ISPs use PPPoE or IPoE. Verify session credentials haven't changed after a billing cycle reset.
- Blink cameras / smart devices: "Blink connected without internet" usually means the device joined the WiFi but cannot reach Blink's cloud servers — check if your router's firewall blocks outbound HTTPS or if there's a DNS issue (see Step 4).
Frequently Asked Questions
#!/usr/bin/env bash
# ============================================================
# "Connected Without Internet" Diagnostic & Fix Script
# Supports: Linux, macOS (run with sudo for full functionality)
# Windows users: run equivalent commands in CMD as Administrator
# ============================================================
echo "====== Network Connectivity Diagnostic ======"
echo ""
# --- 1. Show current IP configuration ---
echo "[1] Current IP Configuration:"
if command -v ip &>/dev/null; then
ip addr show | grep -E 'inet |link/ether'
else
ifconfig | grep -E 'inet |ether'
fi
echo ""
# --- 2. Check default gateway ---
echo "[2] Default Gateway:"
if command -v ip &>/dev/null; then
ip route show default
else
netstat -rn | head -5
fi
GATEWAY=$(ip route show default 2>/dev/null | awk '/default/ {print $3}' | head -1)
echo ""
# --- 3. Ping the gateway ---
echo "[3] Ping Gateway ($GATEWAY):"
if [ -n "$GATEWAY" ]; then
ping -c 3 -W 2 "$GATEWAY" && echo "Gateway reachable" || echo "FAIL: Gateway unreachable — check router/modem"
else
echo "FAIL: No default gateway found — DHCP may have failed"
fi
echo ""
# --- 4. Ping Google DNS by IP (no DNS needed) ---
echo "[4] Ping 8.8.8.8 (bypasses DNS):"
ping -c 3 -W 3 8.8.8.8 && echo "Internet routing OK" || echo "FAIL: Cannot reach internet — check ISP/modem WAN"
echo ""
# --- 5. DNS resolution test ---
echo "[5] DNS Resolution Test:"
if nslookup google.com 8.8.8.8 &>/dev/null; then
echo "DNS OK via 8.8.8.8"
else
echo "FAIL: DNS resolution failed even with public DNS 8.8.8.8"
fi
if nslookup google.com &>/dev/null; then
echo "DNS OK via system resolver"
else
echo "FAIL: System DNS resolver broken — consider changing DNS to 1.1.1.1"
fi
echo ""
# --- 6. Captive portal probe (simulates OS check) ---
echo "[6] Simulated Captive Portal Probe:"
HTTP_CODE=$(curl -o /dev/null -s -w "%{http_code}" --max-time 5 http://connectivitycheck.gstatic.com/generate_204)
if [ "$HTTP_CODE" = "204" ]; then
echo "Android probe: OK (HTTP 204 received)"
else
echo "Android probe: FAIL (got HTTP $HTTP_CODE instead of 204) — firewall may be blocking gstatic.com"
fi
MS_RESPONSE=$(curl -o /tmp/mstest.txt -s --max-time 5 http://www.msftconnecttest.com/connecttest.txt 2>/dev/null && cat /tmp/mstest.txt)
if [ "$MS_RESPONSE" = "Microsoft Connect Test" ]; then
echo "Windows probe: OK"
else
echo "Windows probe: FAIL — got: $MS_RESPONSE"
fi
echo ""
# --- 7. Flush DNS cache ---
echo "[7] Flushing DNS Cache:"
if command -v systemd-resolve &>/dev/null; then
sudo systemd-resolve --flush-caches && echo "systemd DNS cache flushed"
elif [ "$(uname)" = "Darwin" ]; then
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder && echo "macOS DNS cache flushed"
else
echo "Manual flush required: run 'ipconfig /flushdns' on Windows"
fi
echo ""
# --- 8. Renew DHCP lease ---
echo "[8] Renewing DHCP Lease:"
IF=$(ip route show default 2>/dev/null | awk '{print $5}' | head -1)
if [ -n "$IF" ] && command -v dhclient &>/dev/null; then
echo "Releasing and renewing DHCP on interface: $IF"
sudo dhclient -r "$IF" 2>/dev/null
sleep 2
sudo dhclient "$IF" 2>/dev/null && echo "DHCP renewed" || echo "DHCP renewal failed"
elif command -v nmcli &>/dev/null; then
CONN=$(nmcli -t -f NAME con show --active | head -1)
nmcli con down "$CONN" && nmcli con up "$CONN" && echo "NetworkManager connection restarted"
else
echo "Run: ipconfig /release && ipconfig /renew (Windows)"
fi
echo ""
# --- 9. Traceroute to identify where packets stop ---
echo "[9] Traceroute to 8.8.8.8 (first 5 hops):"
if command -v traceroute &>/dev/null; then
traceroute -m 5 -w 2 8.8.8.8 2>/dev/null || echo "traceroute not available"
elif command -v tracepath &>/dev/null; then
tracepath -m 5 8.8.8.8 2>/dev/null
fi
echo ""
echo "====== Diagnostic Complete ======"
echo "If step 3 fails: reboot your router/modem"
echo "If step 4 fails: ISP or WAN issue — check ISP status page"
echo "If step 5 fails but step 4 passes: DNS problem — set DNS to 8.8.8.8 or 1.1.1.1"
echo "If step 6 fails but steps 4-5 pass: firewall blocking OS captive portal probe"
# --- Windows equivalent commands (reference) ---
# ipconfig /all
# ipconfig /release && ipconfig /renew
# ipconfig /flushdns
# ping 192.168.1.1
# ping 8.8.8.8
# nslookup google.com 8.8.8.8
# tracert -h 5 8.8.8.8
# netsh interface ip set dns "Wi-Fi" static 8.8.8.8
# netsh winsock reset
# netsh int ip reset
# --- Android ADB commands (reference) ---
# adb shell settings put global captive_portal_detection_enabled 0
# adb shell settings put global captive_portal_server connectivitycheck.gstatic.com
# adb shell settings put global captive_portal_use_https 1
# adb shell settings put global captive_portal_https_url https://connectivitycheck.gstatic.com/generate_204Error Medic Editorial
The Error Medic Editorial team is composed of senior DevOps engineers, SREs, and network specialists with 10+ years of experience diagnosing infrastructure issues across enterprise, ISP, and consumer networking environments. Our guides are tested on real hardware and validated against official vendor documentation.
Sources
- https://support.microsoft.com/en-us/windows/fix-wi-fi-connection-issues-in-windows-9424a1f7-6a3b-65a6-4d78-7f07eee84d2c
- https://support.google.com/android/answer/9075124
- https://developer.android.com/training/basics/network-ops/connecting
- https://superuser.com/questions/694022/windows-shows-connected-no-internet-access-but-i-have-internet-access
- https://www.dslreports.com/forum/r32591743-Internet-Connected-Without-Internet-Access-on-Windows
- https://support.cox.com/app/answers/detail/a_id/1405
- https://www.centurylink.com/local/outages.html