- Many phones only open a portal after a DNS or HTTP probe. Serving only on a fixed IP with no DNS captive response looks ‘connected but blank’.
- HTTP must listen on the SoftAP interface address the phone actually uses. Binding only to STA IP fails when STA is down.
- iOS and Android differ on when they show the portal. Test both; do not assume one browser tab means provisioning works.
- For shipping units prefer the official provisioning flow over a home-made SoftAP page.
Short answer
Phone joins ESP32 SoftAP but the captive page never opens. What breaks?
中文
短答
手机连上 ESP32 SoftAP 但门户页不出来,卡在哪?
- 很多手机会先做 DNS/HTTP 探测才弹门户。只在固定 IP 开页、没有 captive DNS 时,会显示已连接但空白。
- HTTP 要绑在 SoftAP 口实际地址上。只绑 Station IP、STA 又没连时,手机打不开。
- iOS 和 Android 弹窗时机不同。两边都测;不要以为开一个浏览器标签就等于配网成功。
- 量产更稳妥的是官方配网流程,而不是自制 SoftAP 页。