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

Esp32-WROOM-32D无法连接家庭WiFi,排查路由设置后仍未解决

ESP32 无法连接Netgear WiFi 排查思路

问题背景

我尝试让ESP32连接WiFi,但始终无法成功,代码无问题(附代码),使用Netgear双频路由器,已确认ESP32能扫描到2.4G网络且是WPA2加密,路由器曾将ESP32的连接判定为DoS攻击,已关闭DoS防护并添加MAC白名单,但问题仍存在。

代码示例

#include<WiFi.h>

const char *ssid = "mySSID";
const char *password = "myPW";
        
void initWiFi() {
      WiFi.mode(WIFI_STA);
      WiFi.begin(ssid, password);
      Serial.print("Connecting to WiFi ..");
      while (WiFi.status() != WL_CONNECTED) {
        Serial.print('.');
        delay(1000);
      }
      Serial.println(WiFi.localIP());
    }
    
    void setup() {
      Serial.begin(115200);
      initWiFi();
      Serial.print("RRSI: ");
      Serial.println(WiFi.RSSI());
    }
    
    void loop() {
      // put your main code here, to run repeatedly:
    }

排查思路

  • 检查路由器2.4G频段设置
    • 调整2.4G信道为1、6、11这类不重叠的低拥挤信道,部分ESP32对高编号信道兼容性较差
    • 强制路由器2.4G使用**WPA2-PSK(AES)**加密,关闭WPA3混合模式,避免加密协议不兼容
    • 确认MAC地址过滤的“仅允许列表”是否正确添加ESP32的MAC,部分路由器2.4G和5G的MAC过滤是分开设置的
    • 关闭路由器的AP隔离功能,该功能可能会阻止ESP32完成入网流程
  • 调试ESP32连接状态码
    修改代码打印具体连接状态码,精准定位问题:
    while (WiFi.status() != WL_CONNECTED) {
      Serial.print('.');
      Serial.print(" Status code: ");
      Serial.println(WiFi.status());
      delay(1000);
    }
    
    常见状态码对应问题:
    • 4(WL_CONNECT_FAILED):密码错误或加密方式不匹配
    • 6(WL_DISCONNECTED):路由器主动拒绝连接
  • 路由器其他限制排查
    • 检查路由器的最大连接设备数,若已达上限需先移除闲置设备
    • 确认连接的是主网络而非访客网络,访客网络可能存在额外访问限制
    • 重启路由器清除临时缓存,部分情况下路由器会话缓存会导致设备无法接入
  • ESP32侧额外调试
    • 在WiFi.begin()前添加缓存清除代码:
      WiFi.disconnect(true);
      delay(100);
      
    • 将ESP32靠近路由器测试,排除信号强度过低导致的连接失败
    • 用手机等设备连接同一2.4G网络,确认网络本身可正常使用

内容的提问来源于stack exchange,提问作者trashkev

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 05:35:11