F2F #90: Connected to WiFi but the login page won't show up? Here's why, finally

Wi-fi sign

Photo by yasara hansani / Unsplash

First off, apologies for not sending the issue last week. I figured that not sending a newsletter on the day before my wedding would be socially acceptable, so I used that time for more pressing concerns. That being said, I'm itching to share more things and there's this one issue that bugs me too often, when working remotely.

You join the airport wifi, menu bar icon of the wifi bars fills up, it says "connected", and then nothing loads and no login page appears. And it can be a few different things until you hit the nail on the head, so let me summarise it for you. Maybe, and only maybe, by writing it down I will be able to memorise it, finally. Just maybe.

Public networks use a captive portal, the page that makes you accept terms or sign in first - usually a popup or a landing page on the browser. When you join, your device quietly pings a known test address (captive.apple.com, connectivitycheck.gstatic.com, just to name a few) to check whether it is trapped. That check needs DNS to resolve a hostname, which is why the whole thing fails in one of two ways.

  1. Your own DNS is not set up. Your device cannot resolve the test address, so it never sends the request, so the portal never redirects you. No request, no popup. No popup, no wifi. No bueno.
  2. Your own DNS is set up. A custom resolver (8.8.8.8, 1.1.1.1), encrypted DNS, or a VPN resolves the request straight to the real internet and skips the portal. Your device thinks it is already online. But it is not. No bueno either.

Damned if you do, damned if you don't. Same root cause, opposite symptoms, quite the irony! A few others also block the page: a browser loading an https site first, a stale DNS cache, pop-up blockers, or security software set to trust only your home network. So make sure you check all of these to force the login page to appear.

How to force it:

  1. Visit an unencrypted page on purpose: type http://neverssl.com into the address bar.
  2. Turn off your VPN and encrypted DNS, log in, then switch them back on.
  3. Set DNS back to automatic for that network.
  4. Forget and rejoin the network.

🚨 Then secure it! If you've had to disable VPN to log in (I have to do it when I'm working from Santa Gloria's cafeterias in Barcelona all the time), make sure you turn on your VPN immediately after connecting. Public WiFi is the easiest place for someone to watch your traffic. Log into the portal first, then turn on your VPN. Stick to https sites, never reuse passwords on a portal, and turn off auto-join for public networks.

That's it for today. I wish someone had written this years ago, so I could've find it when I needed this, usually losing my nerves over a non-working "connected" wifi signal, wasting my time and losing money in the process. And hair. Lots of hair!