Error Medic

"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.

Last updated:
Last verified:
2,750 words
Key Takeaways
  • 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.
Fix Approaches Compared
MethodWhen to UseTimeRisk
Modem + Router power cycle (unplug 30s)First step for any ISP or home network issue2-5 minNone
Renew DHCP lease (ipconfig /release + /renew)Device shows 169.x.x.x or 0.0.0.0 IP address1 minNone
Flush DNS cache (ipconfig /flushdns)Pages fail to load but ping to IP succeeds30 secNone
Switch to public DNS (8.8.8.8 / 1.1.1.1)ISP DNS is down or returning bad responses2 minLow
Disable/re-enable network adapterAdapter stuck in bad state after sleep/wake1 minNone
Factory reset routerRouter firmware/config corrupt, all else failed15-30 minHigh — wipes all settings
Android: Forget & rejoin WiFi networkAndroid shows 'Connected without internet' loop2 minNone
Android: Toggle airplane modeQuick reset of all radio stacks on mobile30 secNone
Disable captive portal detection (Android ADB)False positive on enterprise/VPN networks5 minMedium — reduces security warnings
Contact ISP / check ISP status pageWAN IP not assigned, modem auth fails10+ minNone

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.txt and expects the response Microsoft Connect Test.
  • Android contacts http://connectivitycheck.gstatic.com/generate_204 and 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.x address means DHCP failed completely (Windows APIPA fallback).
  • A 192.168.x.x or 10.x.x.x address means your router responded but internet routing may still be broken.
  • A 0.0.0.0 address 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.

  1. Unplug your modem from power (not just the router — the modem too).
  2. Wait 30 full seconds so capacitors discharge and the ISP drops your session.
  3. Plug the modem back in and wait until all status lights stabilize (60-90 seconds).
  4. Plug the router back in (if separate from the modem) and wait another 60 seconds.
  5. 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:

  1. Toggle the hotspot off and back on.
  2. Check that your phone itself has mobile data (not just WiFi calling).
  3. 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).
  4. On T-Mobile: Dial #DATA# (#3282#) to reset the data connection.
  5. 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

bash
#!/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_204
E

Error 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

Related Articles in Other Connected Without Internet

Explore More wifi Guides