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

WEMOS D1 Mini(ESP8266)连接Sagemcom FAST3890V3路由器DHCP失败求助

问题根因

你遇到的是Sagemcom FAST3890V3路由器的DHCP服务兼容性问题:该型号路由器默认开启了DHCP报文严格校验,要求客户端发送的DHCP Discover报文中必须携带客户端标识符(Option 61)或主机名(Option 12),而ESP8266的默认WiFi库发送的Discover报文没有携带这两个选项,直接被路由器丢弃,不会返回DHCP Offer响应。
你后续拿到的超出地址池的无效IP是ESP8266长时间未收到DHCP响应时自动生成的169.254.x.x段链路本地地址,并非路由器分配的地址。

解决方案

方案1:修改ESP8266代码补全DHCP选项(优先推荐)

在调用WiFi.begin()前添加代码补全DHCP必需的主机名选项即可,修改后代码示例:

// 先设置DHCP主机名,满足路由器的报文校验要求
WiFi.hostname("ESP8266_Device");
WiFi.begin(ssid, password);
client.setTrustAnchors(&cert); // Add root certificate for api.telegram.org
while (WiFi.status() != WL_CONNECTED) {
  delay(500);
  Serial.println("Connecting to WiFi..");
}

如果上述修改仍无效,可以额外补充客户端标识符选项:

#include <WiFi.h>
extern "C" {
  #include "user_interface.h"
}

// 自定义DHCP Option 61(客户端标识符),后面6位填你设备的MAC地址即可
uint8_t client_id[] = {0x01, 0xe8, 0xdb, 0x84, 0xdf, 0x9d, 0xf6}; 
wifi_set_option(STATION_IF, 61, sizeof(client_id), client_id);

方案2:修改路由器配置(临时验证用)

登录路由器管理后台,做任意一项配置修改即可临时验证:

  • 进入「LAN设置」-「DHCP高级配置」,关闭「严格校验DHCP报文」开关,保存后重启路由器
  • 或进入「静态地址绑定」页面,将你ESP8266的MAC地址(e8:db:84:df:9d:f6)绑定到DHCP地址池范围内的固定IP,保存后设备重启即可直接拿到绑定的IP

方案3:确认WiFi频段配置

Sagemcom FAST3890V3默认开启双频合一功能,ESP8266仅支持2.4G WiFi,建议在路由器后台将2.4G和5G SSID拆分,单独连接2.4G的SSID,避免双频合一导致的DHCP请求转发错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 05:36:04