Raspberry Pi Model B
操作系统:Raspbian

我无头运行Pi(目前是通过直接以太网连接)。我有一个USB WiFi加密狗。我想让WiFi在启动时启动并通过DHCP进行连接。

http://rpi.tnet.com/project/faqs/headlessportablewifi建议我不需要实际更改/ etc / network / interfaces的默认设置为:

auto lo

iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp


我已经为网络配置了/etc/wpa_supplicant/wpa_supplicant.conf。

当我启动Pi时,WiFi无法立即连接。但是,如果我使用SSH并运行sudo ifup wlan0,则Pi连接正常。

Pi在启动过程中不应该这样做吗?我大概可以写一个告诉点文件来运行此命令,但是我想以正确的方式(并了解我的系统如何工作)来做。

我知道我也可以为我要使用的每个WiFi网络:如何设置多个WiFi网络?但是,我希望有一个简单的解决方案,只需在/etc/wpa_supplicant/wpa_supplicant.conf上输入几行即可添加新的WiFi网络。

我在这里缺少什么?

#1 楼

默认的Raspbian / etc / network / interfaces配置在启动时不连接到WiFi。接口手册页的关键行是:


以单词“ auto”开头的行用于标识运行ifup时要启动的物理接口。使用
-a选项。 (此选项由系统启动脚本使用。)

...

以单词“ auto”开头的行用于标识物理接口。使用
-a选项运行ifup时将被调出。 (系统引导脚本使用此选项。)


第一个缺少的部分是auto wlan0行。据我所知,它可以放在文件中的任何位置。

直到您尝试在未插入以太网电缆的情况下进行引导时,该方法才起作用。然后,WiFi在引导时无法连接,必须通过运行sudo ifup wlan0或拔出并重新插入Wi-Fi加密狗手动触发。

问题是由ifplugd守护程序引起的,该守护程序在您插入或卸下网络设备时将其打开和关闭。您可以重新配置它,也可以使用sudo apt-get purge ifplugd删除它。

如果已除去ifplugd,则应在/ etc / network / interfaces中添加以下行,以便插入时也可以连接以太网连接: />
我不确定 auto线是否绝对必要,或者在没有ifplugd的情况下hotplug是否可以正确引导,但这对我有用。

我的工作文件如下:

auto eth0
allow-hotplug eth0


评论


您在“ auth eth0”处有错字吗?应该是“ auto eth0”吗?

–乔丹·西特金(Jordan Sitkin)
2014年6月19日,下午2:22

@katriel帖子的一个小更正:需要删除的服务称为ifplugd而不是ifupd

–dh1tw
2015年5月19日在1:04

@ DH1TW和六个月后...我再也不会从内存中写这些东西之一

– katriel
2015年10月21日在7:25

作为记录,我使用的是wpa_supplicant,所以我只启用了服务sudo systemctl enable wpa_supplicant.service

–丹尼尔(DanielArgüelles)
'18 -4-10在16:02



#2 楼

我遇到了同样的问题。
检查您的/etc/network/interfaces的r / w设置。

我做了chmod 600 /etc/network/interfaces,但问题消失了。