When Android devices try to connect to a SSID configured with the SmartWiFiPlatform, the related Splash Page does not pop up, or just pops up for an instant, and closes automatically. After that, if a user tries to open a browser and surf the web on their device, they will be redirected to the Splash Page.
What is the cause?
This happens because as soon as a device connects to a WiFi network, it automatically tries to reach a specific URLs based on the type of device. If this step is successful, the device assumes that it’s already connected and that it can reach Internet without restrictions. As a consequence it will not trigger the Splash Page popup request.
This mechanism is called “Automatic Detection of Captive Portal” and is done by the device’s Operating System (OS).
- The URL trying to be reached can differ based on different devices brands
- different devices model of a same brand
- different Android OS version
Some of the known URLs used by Android to preform a connectivity check are:
- http://clients1.google.com/
- http://clients3.google.com/
- http://connectivitycheck.gstatic.com
- http://connectivitycheck.android.com
Solutions
Walled Garden Configuration
Most of the google domains used for Android Captive portal detection are hosted on the Akamai network so make sure there is no reference Akamai or AkamaiHD in your walled garden entries. Make sure there is no reference to google.com or android.com in your walled garden. If your device accepts wildcard entries you may need to remove reference to *.gstatic.* and instead add the specific entry fonts.gstatic.com so the splash page can load but keeping http://connectivitycheck.gstatic.com locked out.
DNS Solution
By configuring DNS to respond with invalid IPs based on the request. This helps ensure that the Android fails the connectivity test and will trigger the captive portal.
With a MikroTik device you could run the following commands in the Terminal window where a.b.c.d represents an inactive private IP that cannot generate a 204 response.
- ip dns static add name=clients1.google.com address=a.b.c.d
- ip dns static add name=clients3.google.com address=a.b.c.d
- ip dns static add name=connectivitycheck.android.com address= a.b.c.d
- ip dns static add name =connectivitycheck.gstatic.com address= a.b.c.d
We’ve received reports and seen evidence online that there are issues regarding certain models running Android OS 8 (Oreo) and Captive Portal presentation.