4

I am working on an access point that doesn't have internet. Android phone when connected to this access point drops the connection due to no internet and connects to another access point that has internet or mobile data. I do not want to make changes to android phone such as "settings put global captive_portal_detection_enabled 0". I also do not want to disable "autoconnect" option on other SSID's on android phone because this will be an inconvenience for the customer to connect back and forth between normal access points and this AP.

I checked this link - http://www.ateijelo.com/blog/2016/09/11/make-android-believe-it-has-internet-access this makes it better as in before the disconnect used to be within 3 seconds to 20 seconds but now it seems to take around 5 mins for the android phone to switch the access point automatically.

Here is what I did,

  1. Install NGINX on this access point and start http web server, on default_server added
location /generate_204 {
    return 204;
}
  1. Added these two lines to /etc/hosts
10.0.0.1    connectivitycheck.gstatic.com
10.0.0.1    clients3.google.com

This way the access point is faking the response to android's connectivity check.

After this modification it no more shows "connected, no internet", android believes that there is internet but still android drops the connection after 5 mins to connect to another access point that has internet.

It will be very helpful if the solution is not on the phone. I do not want to make modifications to customer's phone.

Thanks

Marwa Eltayeb
  • 1,921
  • 1
  • 17
  • 29
Vinay
  • 131
  • 6

0 Answers0