0

我有一个 C# .net 应用程序在我自己的由 buildroot 工具生成的嵌入式自定义 Linux 发行版中运行,我的硬件是 FriendlyArm4412。我使用 eth0 接口将我的应用程序连接到互联网,没有任何问题。问题是:如果我在系统启动之前连接以太网电缆,一切正常,但如果我在系统启动后插入电缆,我的系统无法获得 IP 地址。我看到这是因为我的应用程序在屏幕上显示“ip 地址:127.0.0.1”,这只是我的本地地址。

我已经尝试使用对上述问题非常有效的 Connman 网络管理器,但我意识到 connman 忽略了我的 /etc/network/interfaces 设置,这很糟糕,因为我的应用程序在这个文件中设置了一些东西,比如静态ip地址、wlan0接口等

我能做些什么 ?任何想法 ?

4

1 回答 1

0

检查 /etc/connman/main.conf 文件中的 DefaultAutoConnectTechnologies 配置参数。查看以太网是否存在。

Connman 不使用 /etc/network/interfaces 文件。您需要使用 Connman D-Bus API 为您的网络接口设置静态 IP。下载 Connman 源代码并查看 D-Bus API 的 doc/service-api.txt。另请参阅源目录中的 test/set-ipv4-method python 脚本以获取有关如何使用 D-Bus API 设置静态 IP 的快速代码参考。

如果不想使用 D-Bus API,可以在 connman 启动前编辑 connman 存储目录文件设置静态 IP。但是编辑 connman 存储目录并不是正确的方法。默认的 Connman 存储目录是 /var/lib/connman/ethernet_$mac_address_cable/*。

于 2017-11-14T11:30:52.993 回答