LwIP 无主机路由
LwIP No Route To Host
设置:
Linux host 运行 LwiP 测试示例代码的一个稍微修改的版本。
PPPoS 转 uBlux W132 Wifi 模块
Wifi 模块连接到具有互联网访问权限的家庭网络
问题:
我无法打开到 echo.u-blox.com 的 TCP 套接字。错误总是 "No Route To Host"。我认为问题是我对网络的理解有限!我相信 LwIP、PPP 和我的模块工作正常,但我不知道如何向外界打开套接字!也有可能我没有为网关正确配置 LwIP,尽管 PPP 的 IP 地址和网关是通过 PPP 自动配置的。 WiFi模块本身可以配置的很少。
更多信息:网络拓扑如下所示。我可以从我家庭网络上的其他 PC ping 192.168.1.121,但只有在 LwIP 代码为 运行 时(显示 LwIP 正在处理 ping)。我可以打开一个从 LwIP 到 172.30.0.251:23 的 UDP 套接字到 WiFi 模块,并用它来发送 AT 命令来配置模块。我可以调用 lwip_gethostbyname("echo.u-blox.com") 来获取正确的 IP 地址 (195.34.89.241),以便 DNS 正常工作。
Linux Host
Running LWiP W132 WiFi Module Home Network Destination
172.30.0.252 <-- PPPoS --> 172.30.0.251 <> 192.168.1.121 <-- WiFi --> 192.168.1.XXX <> ext ip <-- Internet --> 195.34.89.241
Netmask Netmask
255.255.255.255 255.255.255.0
Gateway Gateway
172.30.0.251 192.168.1.1
DNS
172.30.0.251
当我单步执行 LWiP 代码时,它无法调用 ip_route,因为目标 IP 地址与子网和掩码或网关 IP 地址不匹配。我不确定如何打开满足这些条件但指定了正确目标地址的套接字。
在此先感谢,如果需要,我可以提供更多信息。
我似乎已经解决了我自己的问题。我需要手动将我的 PPP 接口设置为默认网络接口。我不太明白为什么,但会研究代码找出答案!
提示来自标题为 "further netif management" 的部分中的 this page。
设置: Linux host 运行 LwiP 测试示例代码的一个稍微修改的版本。 PPPoS 转 uBlux W132 Wifi 模块 Wifi 模块连接到具有互联网访问权限的家庭网络
问题: 我无法打开到 echo.u-blox.com 的 TCP 套接字。错误总是 "No Route To Host"。我认为问题是我对网络的理解有限!我相信 LwIP、PPP 和我的模块工作正常,但我不知道如何向外界打开套接字!也有可能我没有为网关正确配置 LwIP,尽管 PPP 的 IP 地址和网关是通过 PPP 自动配置的。 WiFi模块本身可以配置的很少。
更多信息:网络拓扑如下所示。我可以从我家庭网络上的其他 PC ping 192.168.1.121,但只有在 LwIP 代码为 运行 时(显示 LwIP 正在处理 ping)。我可以打开一个从 LwIP 到 172.30.0.251:23 的 UDP 套接字到 WiFi 模块,并用它来发送 AT 命令来配置模块。我可以调用 lwip_gethostbyname("echo.u-blox.com") 来获取正确的 IP 地址 (195.34.89.241),以便 DNS 正常工作。
Linux Host
Running LWiP W132 WiFi Module Home Network Destination
172.30.0.252 <-- PPPoS --> 172.30.0.251 <> 192.168.1.121 <-- WiFi --> 192.168.1.XXX <> ext ip <-- Internet --> 195.34.89.241
Netmask Netmask
255.255.255.255 255.255.255.0
Gateway Gateway
172.30.0.251 192.168.1.1
DNS
172.30.0.251
当我单步执行 LWiP 代码时,它无法调用 ip_route,因为目标 IP 地址与子网和掩码或网关 IP 地址不匹配。我不确定如何打开满足这些条件但指定了正确目标地址的套接字。
在此先感谢,如果需要,我可以提供更多信息。
我似乎已经解决了我自己的问题。我需要手动将我的 PPP 接口设置为默认网络接口。我不太明白为什么,但会研究代码找出答案!
提示来自标题为 "further netif management" 的部分中的 this page。