Skip to content

DNS captive portal example works for android in release 2.0.17, but not in 3.x #10330

Closed
@esptini

Description

@esptini

Board

esp32-s2 dev module

Device Description

generic, wifi issue, no hardware effected or needed to reproduce

Hardware Configuration

nothing

Version

v3.0.4

IDE Name

arduino 1.8.19

Operating System

win10

Flash frequency

80

PSRAM enabled

no

Upload speed

921600

Description

CaptivePortal.ino example sketch from the DNSServer library, no modifications to code.

working example works in v2.x, meaning a samsung s23 running android 14 will load the captive portal automatically when connecting to the SoftAP. ios also works.

https://github.com/espressif/arduino-esp32/blob/release/v2.x/libraries/DNSServer/examples/CaptivePortal/CaptivePortal.ino

Not Working example in v3.x, meaning a samsung s23 running android 14 will NOT load the captive portal automatically when connecting to the SoftAP. it can be accessed via the browser when forced to stay connected, but not reliable nor a good user experience. ios devices do not have the issue, they work.

https://github.com/espressif/arduino-esp32/blob/release/v3.1.x/libraries/DNSServer/examples/CaptivePortal/CaptivePortal.ino

Note: there have been many documented issues of esp32 captive portals not loading on newer android devices for over 4 years. some work around methods point blame at the use of certain private IPs used for the soft AP of the esp32, and other solutions mention the issue is related to the http responses 200 vs 302, etc.

i am still trying to figure out why this works in v2 and not in v3, but this may be over my head as I am out of ideas. I think having the official example working would benefit many people that may be searching for a solution also.

Sketch

working

https://github.com/espressif/arduino-esp32/blob/release/v2.x/libraries/DNSServer/examples/CaptivePortal/CaptivePortal.ino

not working (for android 14 devices)

https://github.com/espressif/arduino-esp32/blob/release/v3.1.x/libraries/DNSServer/examples/CaptivePortal/CaptivePortal.ino

Debug Message

none, both compile and run

Other Steps to Reproduce

No response

I have checked existing issues, online documentation and the Troubleshooting Guide

  • I confirm I have checked existing issues, online documentation and Troubleshooting guide.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions