1

I've set up a hifiberry(raspberry + dac shield) in my car, which has a wireless access point. I'm using my old sony z3 compact as a headunit. Runeaudio allows you to do all this easily. However, the raspberry is just an access point, there is no modem so it has no internet access.

Normally the phone will connect to networks automatically, but inthis case, it says "no internet access, won't automatically connect" in the wifi options. I have to manually connect it every time.

Is there a way to make it connect automatically, even though there is no internet access?

14
  • This seems strange as android is supposed to automatically connect to automatically to saved networks irrespective of internet access, otherwise try forgetting the network and reconnect ing Commented Jun 19, 2017 at 16:17
  • I can add a screenshot later if you don8
    – fstam
    Commented Jun 19, 2017 at 16:47
  • T believe me. It says it is not automatically connecting explicitly because there is no internet access.
    – fstam
    Commented Jun 19, 2017 at 16:48
  • Oh really, let me see if my device behaves in the same way, i will get back to you Commented Jun 19, 2017 at 16:49
  • Figured it out! I guess the phone detects it as captive portal Commented Jun 19, 2017 at 19:00

1 Answer 1

1

As mentioned here since Android 5, when the device connect to. Wi-Fi network it makes a quick HTTP request to check if it has internet access.

This check is, for example, done with clients3.google.com/generate_204 , a “webpage” that always returns an HTTP status code 204 No Content| . Thus, if the device receives a 204` it is connected to the internet, otherwise it assumes that this network does not provide proper internet access or is just a captive portal.

Most probable resolution is to disable captive portal detection, ad there are a variety of ways to achieve this:

  1. Using AdAway to prevent the HTTP leak (blocking the URL)

    • Configuration of AdAway which blocks Google’s captive portal detection.

# captive portal

 127.0.0.1   clients3.google.com

 127.0.0.1   clients.l.google.com
  1. Disable captive portal detection

With a rooted phone you can simply disable captive portal detection. Just get a root-shell through adb (or SSH etc) to run the following command:

settings put global captive_portal_detection_enabled 0

Additionally see this related question: How to disable captive portal detection? How to remove exclamation mark on Wi-Fi or signal icon in Lollipop?

  1. Change the server for captive portal detection using AdAway

    Another option for changing the captive portal detection server is to change its IP address to one that’s under your control.

You can do that with AdAway, for example. Let’s say your captive portal detection server has the IP address 5.189.140.231 , then you may add the following to your AdAway configuration:

5.189.140.231 clients3.google.com
5.189.140.231 clients.l.google.com

The webserver at 5.189.140.231 should then of course accept requests for the foreign domains.

For other workarounds see here

1
  • Thats great! Anytime :) Commented Jun 19, 2017 at 19:42

You must log in to answer this question.

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