ESP32 ap转ethernet, 修改默认169.254.xx.xx网段失败?

bluebirdwishes
Posts: 2
Joined: Sat Oct 10, 2020 1:21 am

ESP32 ap转ethernet, 修改默认169.254.xx.xx网段失败?

Postby bluebirdwishes » Sat Oct 10, 2020 2:00 am

问题描述:(在ap2eth示例基础上修改, 路径 esp-idf\examples\ethernet\eth2ap )
1. 单独使用无线AP,关闭DHCP之后能够成功修改本地IP和网关,连接wifi设备之后分配的IP也是新网段
2. 同时启用AP+ ethernet,调用esp_netif_set_ip_info()修改本地IP和网关。通过esp_netif_get_ip_info()查看本地ip和网关修改成功。
但是PC和wifi设备分配到的IP仍然是169.254.xx.xx

请各位不吝赐教,十分感谢!
Attachments
ethernet_example_main.c
ap2eth示例代码修改后的main文件
(15.28 KiB) Downloaded 836 times

ESP_morris
Posts: 290
Joined: Wed Sep 05, 2018 6:23 am

Re: ESP32 ap转ethernet, 修改默认169.254.xx.xx网段失败?

Postby ESP_morris » Sat Oct 10, 2020 2:37 am

你想做的是二层数据包转发吗?如果是的话,esp32上的lwip协议栈就压根用不到。如果你想做的是以太网和wifi同时联网,你应该参考这个exmaple:https://github.com/espressif/esp-idf/tr ... _multi_net
如果你想要的是NAT,ESP-IDF中的lwip是支持IPv4的NAPT的,但是还没有提供example

bluebirdwishes
Posts: 2
Joined: Sat Oct 10, 2020 1:21 am

Re: ESP32 ap转ethernet, 修改默认169.254.xx.xx网段失败?

Postby bluebirdwishes » Sat Oct 10, 2020 10:31 am

你好,十分感谢解答!

还有一个麻烦请教一下:
我想通过设置DHCP来改变分配的网段,比如192.168.0.xx ,调用的esp_netif_dhcps_option()函数,先set后get,能够看到参数设置已经成功了,但是连接以太网和WIFI后实际分配给PC和wifi设备的还是169.254.xx.xx网段 。请问可能是什么原因?


操作的时序是: 先关闭DHCP, 设置新参数(返回OK), 启动DHCP, 读取新参数(返回OK).然后连接PC和wifi设备。

ESP_morris
Posts: 290
Joined: Wed Sep 05, 2018 6:23 am

Re: ESP32 ap转ethernet, 修改默认169.254.xx.xx网段失败?

Postby ESP_morris » Mon Oct 12, 2020 8:45 am

169.254.x.x应该是DHCP失败后自己autoip到的,建议抓取DHCP通信的报文进一步排查

Who is online

Users browsing this forum: Baidu [Spider] and 59 guests