You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ESP32 S3连接WiFi AP失败:无法获取IP/DNS且四次握手超时

ESP32 S3 WiFi连接4WAY_HANDSHAKE_TIMEOUT(原因码15)问题排查方案

问题现象

ESP32 S3尝试连接SSID为TheScientist的WiFi AP时,触发四次握手超时,无法获取IP与DNS,串口输出如下:

Connecting to TheScientist
[  1064][D][WiFiGeneric.cpp:929] _eventCallback(): Arduino Event: 0 - WIFI_READY
[  1098][V][WiFiGeneric.cpp:338] _arduino_event_cb(): STA Started
[  1099][V][WiFiGeneric.cpp:97] set_esp_interface_ip(): Configuring Station static IP: 0.0.0.0, MASK: 0.0.0.0, GW: 0.0.0.0
[  1099][D][WiFiGeneric.cpp:929] _eventCallback(): Arduino Event: 2 - STA_START
.......[  4750][V][WiFiGeneric.cpp:360] _arduino_event_cb(): STA Disconnected: SSID: TheScientist, BSSID: 3c:cd:5d:a7:f1:13, Reason: 15
[  4750][D][WiFiGeneric.cpp:929] _eventCallback(): Arduino Event: 5 - STA_DISCONNECTED
[  4758][W][WiFiGeneric.cpp:950] _eventCallback(): Reason: 15 - 4WAY_HANDSHAKE_TIMEOUT

排查与解决步骤

  • 验证加密模式与密码一致性:原因码15最常见诱因是密码错误或加密模式不匹配。确认AP的加密类型(如WPA2-PSK/WPA3)与代码中WiFi.begin()指定参数一致,同时检查密码的大小写、特殊字符是否完全正确。
  • 切换WiFi信道:部分信道(如国内12/13信道)可能存在设备兼容性问题,将AP信道调整为1-11区间内的常用信道(如6、11),减少信号干扰。
  • 降低ESP32发射功率:过高的发射功率可能导致握手阶段信号异常,在WiFi.begin()前添加代码:WiFi.setTxPower(WIFI_POWER_11dBm);(可选值参考ESP32官方文档)。
  • 检查AP MAC过滤设置:若AP开启MAC地址白名单,需将ESP32的MAC地址添加至允许列表,否则会被拒绝握手。
  • 清除WiFi缓存:ESP32可能留存旧的WiFi配置,在连接前执行WiFi.disconnect(true);清除缓存,再重新发起连接。
  • 排查AP负载与状态:AP连接设备过多或带宽占用过高时,会导致握手超时。尝试重启AP,或暂时减少连接的设备数量。
  • 更新Arduino-ESP32库:旧版本库可能存在WiFi握手兼容性bug,更新到最新稳定版的Arduino-ESP32核心库。

内容的提问来源于stack exchange,提问作者Miguel Tomás

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 13:31:04