{"id":6856,"date":"2026-02-23T11:07:30","date_gmt":"2026-02-23T05:37:30","guid":{"rendered":"https:\/\/toolswift.com\/blog\/?p=6856"},"modified":"2026-02-23T11:07:30","modified_gmt":"2026-02-23T05:37:30","slug":"wi-fi-connected-but-no-internet-on-android-fixing-sg3218xp-m2-v1-0-eap773-intermittent-issues","status":"publish","type":"post","link":"https:\/\/toolswift.com\/blog\/wi-fi-connected-but-no-internet-on-android-fixing-sg3218xp-m2-v1-0-eap773-intermittent-issues\/","title":{"rendered":"Wi-Fi Connected but No Internet on Android? Fixing SG3218XP-M2 v1.0 + EAP773 Intermittent Issues"},"content":{"rendered":"<p>When Ethernet devices work perfectly but Android phones suddenly say \u201cConnected without Internet\u201d, the problem usually isn\u2019t your ISP. It\u2019s almost always something subtle inside the LAN.<\/p>\n<p>This guide breaks down a real-world case involving:<\/p>\n<ul>\n<li>TP-Link JetStream SG3218XP-M2<\/li>\n<li>TP-Link Omada EAP773<\/li>\n<li>Firewalla<\/li>\n<li>Android phones and Meta Quest 3<\/li>\n<\/ul>\n<p>Ethernet devices? Fine.<br \/>\nWi-Fi laptops? Usually fine.<br \/>\nAndroid phones and Quest 3? Randomly show No Internet.<\/p>\n<p>Toggling Wi-Fi fixes it. Disabling firewall rules doesn\u2019t. Firmware updates don\u2019t help.<\/p>\n<p>Let\u2019s unpack what\u2019s really happening.<\/p>\n<h2>The Important Clue: It\u2019s Not Actually \u201cNo Internet\u201d<\/h2>\n<p>Android doesn\u2019t just check if it has an IP address. It performs an active validation test.<\/p>\n<p>When you connect to Wi-Fi, Android:<\/p>\n<ol>\n<li>Gets an IP from DHCP<\/li>\n<li>Resolves DNS<\/li>\n<li>Contacts a Google connectivity endpoint<\/li>\n<li>Expects a specific HTTP response (204)<\/li>\n<\/ol>\n<p>If any of that fails \u2014 even briefly \u2014 Android flags the network as \u201cConnected without Internet\u201d.<\/p>\n<p>Meanwhile:<\/p>\n<ul>\n<li>Your TV keeps streaming.<\/li>\n<li>Your PC keeps browsing.<\/li>\n<li>Your firewall logs show nothing obvious.<\/li>\n<\/ul>\n<p>So this is usually a validation failure, not a real outage.<\/p>\n<h2>Why Ethernet Devices Work but Android Fails<\/h2>\n<p>This is common in setups where:<\/p>\n<ul>\n<li>A managed switch handles VLANs<\/li>\n<li>A firewall handles DNS<\/li>\n<li>An Omada AP handles Wi-Fi<\/li>\n<li>IPv6 is partially enabled<\/li>\n<li>DNS interception is active<\/li>\n<\/ul>\n<p>Android is stricter and faster at deciding something is wrong.<\/p>\n<p>Let\u2019s look at the most likely causes.<\/p>\n<h2>1\ufe0f\u20e3 DNS Handling Conflicts (Most Common Cause)<\/h2>\n<p>In this setup, Firewalla is handling DNS.<\/p>\n<p>That\u2019s fine \u2014 until:<\/p>\n<ul>\n<li>DNS responses are slightly delayed<\/li>\n<li>Upstream DNS servers are slow<\/li>\n<li>DNS caching is disabled<\/li>\n<li>DNS interception conflicts with device hardcoded DNS<\/li>\n<li>IPv6 DNS resolves but routing fails<\/li>\n<\/ul>\n<p>Android times out quickly during its validation check.<\/p>\n<h3>What to Test<\/h3>\n<p>On an affected Android device:<\/p>\n<ul>\n<li>Set Private DNS off temporarily<\/li>\n<li>Manually set DNS to 8.8.8.8 or 1.1.1.1<\/li>\n<li>See if the issue stops<\/li>\n<\/ul>\n<p>If it does, the issue is inside your DNS path.<\/p>\n<h3>Possible Fixes<\/h3>\n<ul>\n<li>Enable DNS caching (either on Firewalla or upstream)<\/li>\n<li>Reduce DNS filtering temporarily<\/li>\n<li>Disable DNS interception rules<\/li>\n<li>Check for IPv6 DNS mismatches<\/li>\n<\/ul>\n<h2>2\ufe0f\u20e3 IPv6 Misconfiguration (Extremely Common in Omada Setups)<\/h2>\n<p>This one surprises people.<\/p>\n<p>If:<\/p>\n<ul>\n<li>The AP advertises IPv6<\/li>\n<li>The firewall partially supports IPv6<\/li>\n<li>The ISP does not properly route IPv6<\/li>\n<\/ul>\n<p>Android prefers IPv6 by default.<\/p>\n<p>If IPv6 connectivity fails but IPv4 works, Android may mark the network as \u201cNo Internet.\u201d<\/p>\n<p>Meanwhile:<\/p>\n<ul>\n<li>Ethernet devices fall back to IPv4 silently<\/li>\n<li>TVs don\u2019t care<\/li>\n<li>PCs adapt<\/li>\n<li>Android does not.<\/li>\n<\/ul>\n<h3>Quick Diagnostic<\/h3>\n<p>Temporarily disable IPv6 on:<\/p>\n<p>The WAN side of Firewalla<br \/>\nor<\/p>\n<p>The LAN \/ AP settings<\/p>\n<p>If the problem disappears instantly, you\u2019ve found your root cause.<\/p>\n<h2>3\ufe0f\u20e3 VLAN or Gateway ARP Delay<\/h2>\n<p>Since traffic flows:<\/p>\n<p>Client \u2192 EAP773 \u2192 SG3218XP-M2 \u2192 Firewalla \u2192 Internet<\/p>\n<p>Any delay in:<\/p>\n<ul>\n<li>VLAN tagging<\/li>\n<li>ARP resolution<\/li>\n<li>STP transitions<\/li>\n<li>Gateway responsiveness<\/li>\n<\/ul>\n<p>Can break Android\u2019s short validation window.<\/p>\n<p>Even a 1\u20132 second delay can trigger the error.<\/p>\n<p>Managed switches sometimes introduce micro-delays during port state changes or power-saving transitions.<\/p>\n<h3>What to Check<\/h3>\n<ul>\n<li>STP mode (try RSTP if not already)<\/li>\n<li>VLAN tagging consistency<\/li>\n<li>AP uplink port configuration<\/li>\n<li>Disable \u201cGreen Ethernet\u201d or power-saving modes<\/li>\n<\/ul>\n<h2>4\ufe0f\u20e3 Fast Roaming \/ Wi-Fi 6 \/ Wi-Fi 7 Features<\/h2>\n<p>The EAP773 supports Wi-Fi 7 and advanced roaming.<\/p>\n<p>Sometimes features like:<\/p>\n<ul>\n<li>802.11r (Fast Roaming)<\/li>\n<li>802.11k<\/li>\n<li>802.11v<\/li>\n<li>Band steering<\/li>\n<\/ul>\n<p>Can cause brief re-authentication events.<\/p>\n<p>Android sees that micro-interruption and flags no internet.<\/p>\n<h3>Test<\/h3>\n<p>Temporarily disable:<\/p>\n<ul>\n<li>Fast roaming<\/li>\n<li>AI roaming optimization<\/li>\n<li>Advanced band steering<\/li>\n<\/ul>\n<p>See if stability improves.<\/p>\n<h2>5\ufe0f\u20e3 Captive Portal Detection Blocking<\/h2>\n<p>Android expects a specific HTTP 204 response from Google\u2019s connectivity check servers.<\/p>\n<p>If:<\/p>\n<ul>\n<li>Firewall filtering blocks that domain<\/li>\n<li>DNS-based filtering interferes<\/li>\n<li>HTTPS inspection modifies traffic<\/li>\n<\/ul>\n<p>Android may think it&#8217;s behind a captive portal.<\/p>\n<p>Even if everything else works.<\/p>\n<p>This is why putting Firewalla into emergency mode didn\u2019t fix it \u2014 DNS or routing behavior may still have been altered.<\/p>\n<h2>Visualizing the Network Path<\/h2>\n<p>4<\/p>\n<p>The problem is almost always somewhere between the AP and the firewall \u2014 not the ISP.<\/p>\n<h2>Step-by-Step Troubleshooting Checklist<\/h2>\n<p>Follow this in order:<\/p>\n<h3>Step 1<\/h3>\n<p>Disable IPv6 temporarily.<\/p>\n<h3>Step 2<\/h3>\n<p>Manually set DNS on one Android device.<\/p>\n<h3>Step 3<\/h3>\n<p>Enable DNS caching (if available).<\/p>\n<h3>Step 4<\/h3>\n<p>Disable fast roaming features.<\/p>\n<h3>Step 5<\/h3>\n<p>Check switch port configuration for:<\/p>\n<ul>\n<li>Correct VLAN tagging<\/li>\n<li>No port isolation<\/li>\n<li>No power-saving features<\/li>\n<\/ul>\n<h3>Step 6<\/h3>\n<p>Ping connectivitycheck.gstatic.com from a wired LAN device and confirm resolution speed.<\/p>\n<h2>Why This Feels \u201cIntermittent\u201d<\/h2>\n<p>Because:<\/p>\n<ul>\n<li>DNS latency fluctuates<\/li>\n<li>IPv6 routing inconsistencies vary<\/li>\n<li>ARP cache timing changes<\/li>\n<li>Roaming triggers randomly<\/li>\n<li>Android validation timeout is aggressive<\/li>\n<\/ul>\n<p>Toggling Wi-Fi forces a fresh validation cycle, which often succeeds.<\/p>\n<p>That\u2019s why it \u201cfixes itself.\u201d<\/p>\n<h2>The Most Likely Culprit<\/h2>\n<p>In setups like this, the top two causes are:<\/p>\n<ul>\n<li>IPv6 partially enabled but not fully functional<\/li>\n<li>DNS handling delays through firewall filtering<\/li>\n<\/ul>\n<p>Start there.<\/p>\n<h2>Final Takeaway<\/h2>\n<p>When Android says \u201cConnected without Internet,\u201d it usually means:<\/p>\n<p>\u201cMy validation test failed.\u201d<\/p>\n<p>Not:<\/p>\n<p>\u201cYour ISP is down.\u201d<\/p>\n<p>In advanced networks using managed switches, Omada APs, and firewall-based DNS, even small timing or routing inconsistencies can trigger Android\u2019s warning.<\/p>\n<p>Fix the validation path \u2014 not the internet itself \u2014 and the issue disappears.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>When Ethernet devices work perfectly but Android phones suddenly say \u201cConnected without Internet\u201d, the problem usually isn\u2019t your ISP. It\u2019s almost always something subtle&hellip;<\/p>\n","protected":false},"author":1,"featured_media":6857,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-6856","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-how-to"],"_links":{"self":[{"href":"https:\/\/toolswift.com\/blog\/wp-json\/wp\/v2\/posts\/6856","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/toolswift.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/toolswift.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/toolswift.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/toolswift.com\/blog\/wp-json\/wp\/v2\/comments?post=6856"}],"version-history":[{"count":1,"href":"https:\/\/toolswift.com\/blog\/wp-json\/wp\/v2\/posts\/6856\/revisions"}],"predecessor-version":[{"id":6858,"href":"https:\/\/toolswift.com\/blog\/wp-json\/wp\/v2\/posts\/6856\/revisions\/6858"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/toolswift.com\/blog\/wp-json\/wp\/v2\/media\/6857"}],"wp:attachment":[{"href":"https:\/\/toolswift.com\/blog\/wp-json\/wp\/v2\/media?parent=6856"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/toolswift.com\/blog\/wp-json\/wp\/v2\/categories?post=6856"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/toolswift.com\/blog\/wp-json\/wp\/v2\/tags?post=6856"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}