Rasberry PI 零上的 Rasbian。
我已从启动时禁用网络和 dhcpcd 服务,并希望启动网络并从我自己的脚本中获取 IP,该脚本是从自定义 systemd 服务启动的。
这是脚本中令我困惑的部分:
wpa_passphrase ssid password > /etc/wpa_supplicant/wpa_supplicant.conf
systemctl start networking.service
dhcpcd wlan0
从脚本中运行 dhcpcd wlan0 不会分配 IP(登录后使用 ifconfig),但如果我在启动并登录后运行 sudo dhcpcd wlan0 将会获得一个 IP。任何人都知道这是否是一个计时问题(等待networking.service),或者我是否需要做一些不同的事情来通过脚本中的 dhcpcd 获取 IP。
我还尝试添加一些延迟(睡眠 100)并运行 systemctl start dhcpcd (而不是 dhcpcd wlan0)。
我知道这不是执行此操作的标准方法,但禁用网络和 dhcpcd 并从我的脚本中启动它将使启动更有效(在执行更多启动之前减少上/下和等待网络等)。我在脚本中进行了大量自定义配置和实例化。
亨里克
答案1
我自己解决了:
我必须更改 /etc/network/interfaces 配置文件。我变了:
auto wlan0
iface wlan0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
到:
auto wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
这也意味着我可以删除脚本中的 dhcpcd wlan0 行。现在,即使从脚本内启动网络服务,我也会在启动时获得 IP。