3

I have created an AP (Access Point) server for ESP32 in the Arduino IDE. I have successfully installed the AsyncWebServer and DNSServer libraries. However, when mobile devices connect to the AP network, they receive a "no internet" warning and require manual confirmation to proceed. My goal is to enable these devices to connect to the network without any confirmation or the need for a captive portal window.

In order to address this issue, I have read several articles suggesting various solutions, such as setting the IP address to 8.8.8.8 and responding with "Success" (plain text) when the request "http://captive.apple.com/hotspot-detect.html" is received. Additionally, it is recommended to respond with "HTTP status code 204 with an empty body" when the request "http://connectivitycheck.gstatic.com/generate_204" is made.

I have implemented all of these methods, but I am still unable to bypass the "connected without internet" warning. The phones prevent the connection without selecting the "connect" option, requiring manual confirmation each time to use the application I developed for them. I am currently in search of a solution for this problem. I hope you can assist me.

Thank you for your help.

I tried several methods to resolve the issue. Here is a summary of what I tried, what I expected to happen, and the actual results:

  1. Set the IP address to 8.8.8.8: I expected that setting the IP address to 8.8.8.8 would enable automatic connection without the need for manual confirmation. However, this did not bypass the "connected without internet" warning, and devices still required confirmation.

  2. Responded with "Success" to "http://captive.apple.com/hotspot-detect.html": Based on suggestions, I expected that responding with "Success" (plain text) to this request would allow devices to connect seamlessly. Unfortunately, this method did not resolve the issue, and the warning persisted.

  3. Responded with "HTTP status code 204 with an empty body" to "http://connectivitycheck.gstatic.com/generate_204": I followed recommendations and anticipated that responding with this status code would eliminate the need for confirmation. However, even after implementing this approach, the warning message persisted, and devices still required manual confirmation.

Despite trying these methods, I have been unable to overcome the "connected without internet" warning and establish automatic connection without confirmation.

3
  • Enabling Internet Access for Mobile Devices without Manual Confirmation You cannot enable access if there isnt. Commented Jun 22, 2023 at 8:11
  • I'm sorry to hear that. The ESP32 only uses AP mode with a web server to move the motors. Since the mobile application requires approval, it cannot automatically connect. Commented Jun 22, 2023 at 8:35
  • 1
    Yes we know. You said that before. But the subject of your post is wrong. You cannot enable internet if there is not. Please write a better subject. Commented Jun 22, 2023 at 9:19

1 Answer 1

0

Android phone usually look for the following address for connectivity :

If there is a (real) WiFi in the surrounding, try setting your ESP32 to both Access Point and Station mode (AP+STA). By connecting it to a real Wi-Fi network with internet, your devices will see an active connection when they join your ESP32's network. This should eliminate the "no internet" warning, as the ESP32 bridges the internet to your devices, while the devices are still connected directly to your ESP32.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.