10

Normally, Safari provides a pop-up window for the public Wi-Fi's landing page: requesting the user to agree to TOS (Terms of Service).

Attempts to login to Wi-Fi were not successful because of the absence of the landing page:

  • ifconfig revealed an IP address (172.31.99.185) was assigned to the laptop's Wi-Fi adapter
  • attempts to ping 172.31.99.1 failed
  • browsing to http://172.31.99.1/ failed
  • browsing to http://www.google.com/ failed

Is there a Safari menu item or process that will call the TOS pop-up?

  • Are you administrating the WiFi network yourself? What do you mean by ‘losing wifi’? – IconDaemon Mar 28 '18 at 1:22
  • No, not administering. Thanks for pointing out the autocorrect typo – gatorback Mar 28 '18 at 1:33
  • Is the problem happening everywhere or only on those two? From what you provided, you are connected to Wi-Fi as evidenced by the IP address, you just haven't been granted permission to pass traffic to/from the Internet gateway. For the record, most public Wi-Fi drop ICMP packets (such as ping) for security. ping not working is not indicative of a failure, per se. – Allan Mar 28 '18 at 7:54
  • @Allan: I have only tested 'Public' wifi at the two sites. Yes: agreeing to TOS opens the internet gateway. – gatorback Mar 28 '18 at 16:11
  • 1
    I've removed your poll-like statement in the question, upvotes have a specific meaning already which conflicts with what you had in mind. – nohillside Jul 30 at 4:11
12

Go to http://captive.apple.com it’s the only way to ensure it pops up.

  • JBis! You’re my hero! Captive.apple.com immediately solved my problem – Jonathan Segal Dec 6 '18 at 21:57
  • @JonathanSegal No Problem. And you can call me......CAPTIVE MAN! ;) – JBis Dec 6 '18 at 22:47
4

If the captive portal auto detection doesn't work, and hitting a common domain (like google.com), try a domain you don't normally visit (and hence won't be cached anywhere). Try borg.org, for example.

If that still doesn't get you the landing page, it's time for extreme measures. You can get more information about the DHCP config it got with ipconfig getpacket en0 (or en1, or whatever the Wi-Fi interface is); look especially at the "server_identifier" (the server that sent the info), "router", and "domain_name_server" lines. Try hitting those in your browser and see if any get you a landing page.

Still nothing? Next try host www.cnn.com x.x.x.x where x.x.x.x is the domain name server (if there are several, try with each). If you get back any IPs that weren't already on the list, try them in a browser.

BTW, the reason this sometimes doesn't work automatically is basically that it's all highly nonstandard. Captive portals are a hack that someone came up with to control access to a wireless network in a way that the standards didn't handle. Lots of other manufacturers copied the idea, but everyone did it a little differently, and it hijacked real web pages in the browser, and was generally a mess. So Apple built a system into macOS that'd try to detect captive portals and display the landing page automatically, in a way that didn't hijack the browser... but since there are so many variants on the idea, it's hard to build a system that handles them all. And then sometimes the local network admin sets things up weirdly, and... basically, it's a hack to get around another hack, and as a result there are a lot of ways for it to fail. Frankly, I'm kind of amazed it works as often as it does.

2

Usually captive portals are triggered by DNS and web browser requests to sites like cnn.com or nyt.com so I would try that first.

  • Good comment: I forgot to include that attempts to access google or other websites failed. Question updated: thank you – gatorback Mar 28 '18 at 1:20
  • You're accessing google with a real browser and no curl or the command line, @gatorback ? – bmike Mar 28 '18 at 2:05
  • Attempts to access http resources are with Safari browser. Ping is performed through command line – gatorback Mar 28 '18 at 16:13
  • 1
    First, I try using the wi-fi provider's site, e.g. if at Starbucks, I'll visit starbucks.com. This will often kickstart the process. Second, I find that different places work better with different browsers. Sometimes, Firefox or OmniWeb will bring up a portal page when Safari does not. – Mockman Mar 30 '18 at 2:15
2

If you’re using a DNS service like 1.1.1.1 or Google DNS, try disabling it temporarily until you’re fully connected. I’ve had success with this technique.

2

Usually www.cnn.com works for me, but not lately on my Mac Air. What worked was opening up Safari browser and entering www.purple.com . The login page popped up immediately!

2

The biggest culprit was Kasperski anti-virus software. I uninstalled the software on my Macbook, and I'm now able to get the popup to work at Starbucks. Keep in mind - deleting Kasperski (or any other anti-virus) app won't do it. You have to use the uninstall program.

2

I used to frequently run into this problem in older versions of macOS, such as Mavericks. I always worked around it by navigating directly to the address of the wifi router.

  1. option + click on the wifi icon in your menu bar, and look for the line that says Router: followed by an IP address (a series of dots and numbers). In a majority of cases, the address will be 192.168.1.1

  2. In your web browser, navigate to http:// followed by the IP address from step 1. So in the most common case, I would navigate to http://192.168.1.1

  • If the Mac's wifi is connected to a Wifi access point, the AP's IP address can be also retrieved from the command line with route get default | grep gateway – gatorback Nov 10 at 15:23
2

On macOS 10.15 I had to

  1. go to System Preferences-> Network -> Wifi -> Advanced -> Proxies
  2. enable "Auto Proxy Discovery"
  3. restart my Mac

Other things I tried prior that did not solve the problem:

  • navigating to a non-https site (http://neverssl.com is my goto)
  • navigating to a well-known (even though https) site: google.com
  • navigating to the router's IP address
    • This did for a second attempt to route to the login page (you could see it in the URL bar), but it didn't load.
  • removing this network and (restarting the computer before) reconnecting to it.
  • ensuring that my DNS settings were defaults (rather than e.g. google's or cloudflare's)

n.b. I was at Starbucks.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .