5

I use a WiFi network that requires users to first go through a captive portal login window after joining the WiFi network. It works fine on my Android phone, but on my iPad no captive portal login window appears, and as a result I cannot use the WiFi network. What could the issue be?

1
  • It's possible the network is treating Apple devices differently on purpose. What happens if you manually browse to captive.apple.com in Safari?
    – deed02392
    Apr 6, 2023 at 11:23

5 Answers 5

8

iOS attempts to connect to http://captive.apple.com. If this request doesn't return the string "Success", the captive portal page is opened on the device. Therefore if the router isn't redirecting this request, the captive portal won't be shown.

Usually in these cases you can open Safari and connect to a non-HTTPS URL where you will be redirected to the captive portal.

If you know the URL of the portal through another device, you can enter this in Safari to go straight there if the redirects aren't working properly.

If DNS is really not working, you might even need to browse something like http://1.1.1.1 if you don’t see the captive portal log in.

In the majority of cases (maybe 98%) this is a problem on the network, it the iOS device. If you reboot your device and still can’t connect, you’ll need the person(s) that run the network to assist in all likelihood.

1
  • if it‘s indeed a problem of the network, it‘s strange that it works with Android based devives ;-)
    – salocinx
    Sep 25, 2018 at 19:58
2

I had the same problem on my iPhone trying to connect to a free captive Hotel WiFi.

I found the solution on How to Force a Wifi Login Page.

You go to a website that doesn‘t use SSL which forces the WiFi Login page to come up such as http://neverssl.com.

2
  • 1
    Your answer could be improved with additional supporting information. Please edit to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers in the help center.
    – Allan
    Apr 6, 2023 at 13:26
  • Super addition on the never SSL page +1
    – bmike
    Apr 6, 2023 at 13:32
1

One workaround that seems to do the trick:

  1. Once you've connected to the WiFi, tap the ⓘ symbol next to it.
  2. On the settings page, find the Router IP address (underneath Subnet Mask)
  3. Long tap on it, and you'll get a popup to copy it to the clipboard
  4. Go to Safari and paste it into the address bar*. It should take you to the portal page.

* You may need to prefix it with http://

1

Great answers above! One other option I just realized is that this issue can also happen if in the advanced network configuration you have configured a custom DNS IP address.

Check and to fix, simply go to

Settings -> WiFi -> Click the “i” circle -> DNS -> Configure DNS -> set to automatic

That will remove any manually added DNS servers.

0

Check for iOS:

/System/Library/SystemConfiguration/CaptiveNetworkSupport.bundle/Settings.plist

on Mac:

/System/Library/SystemConfiguration/CaptiveNetworkSupport.bundle/Contents/Resources/Settings.plist

don't mess with that file! If you mess with the the URLs inside, congratulations, you've killed Captive for good:

PlistBuddy -c "Set ProbeParameters:ProbeURL" /System/Library/SystemConfiguration/CaptiveNetworkSupport.bundle/Settings.plist

PlistBuddy -c "Set ProbeParameters:SSIDExceptions:ATTMETROWIFI:ProbeURL" /System/Library/SystemConfiguration/CaptiveNetworkSupport.bundle/Settings.plist

PlistBuddy -c "Set ProbeParameters:SSIDExceptions:ATTMetroWiFi:ProbeURL" /System/Library/SystemConfiguration/CaptiveNetworkSupport.bundle/Settings.plist

PlistBuddy -c "Set ProbeParameters:SSIDExceptions:MOBILE:ProbeURL" /System/Library/SystemConfiguration/CaptiveNetworkSupport.bundle/Settings.plist

PlistBuddy -c "Set ProbeParameters:SSIDExceptions:Wayport_Access:ProbeURL" /System/Library/SystemConfiguration/CaptiveNetworkSupport.bundle/Settings.plist

PlistBuddy -c "Set ProbeParameters:SSIDExceptions:attwifi:ProbeURL" /System/Library/SystemConfiguration/CaptiveNetworkSupport.bundle/Settings.plist

PlistBuddy -c "Set ProbeParameters:SSIDExceptions:dillardswifi:ProbeURL" /System/Library/SystemConfiguration/CaptiveNetworkSupport.bundle/Settings.plist

PlistBuddy -c "Set ProbeParameters:SSIDExceptions:hhonors:ProbeURL" /System/Library/SystemConfiguration/CaptiveNetworkSupport.bundle/Settings.plist

PlistBuddy -c "Set ProbeParameters:SSIDExceptions:swisscom:ProbeURL" /System/Library/SystemConfiguration/CaptiveNetworkSupport.bundle/Settings.plist

😱😂

Also make sure "captive.apple.com" is not blocked by hosts/dnsmasq etc.

When the computer (iphone or mac or whatever) boots, "/usr/libexec/captiveagent" checks that page. If it can't access it, any logins to portal wifis, even if they use a custom non-apple login page (like Vodafone hotspots) will not show, the "captiveagent" executable will simply not load the popup (I mean, NO popup will open AT ALL). Also make sure "com.apple.captiveagent" service is not disabled:

launchctl load -w /System/Library/LaunchDaemons/com.apple.captiveagent.plist

or remove it from:

/private/var/db/com.apple.xpc.launchd/disabled.plist

and reboot

New contributor
WRFan is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.

You must log in to answer this question.

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