我正在运行 Ubuntu Server 12.04。我有一张无线 USB 卡。当我开始启动过程时,我看到:
Waiting for network configuration
事实证明,网络始终无法连接。但是,一旦我进入命令行,如果我输入:ifup wlan0
,那么我就可以访问网络。我的 /etc/network/interfaces 如下所示:
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto wlan0
iface wlan0 inet dhcp
wpa-ssid xxxxxxx
wpa-psk xxxxxxxx
查看我的 network-interface-wlan0.log 显示:
Failed to connect to wpa_supplicant - wpa_ctrl_open: Read-only file system
Failed to bring up wlan0.
Failed to connect to wpa_supplicant - wpa_ctrl_open: Read-only file system
ifdown: interface wlan0 not configured
我查看过 askubuntu.com 上其他类似的问题,但它们似乎并不适用。
如何让我的系统在启动时实现无线联网?
附加信息:
我做了一些调查。基本上,一旦我登录,我需要执行以下操作:
ifdown wlan0
因为我认为 ip 认为它处于启动状态,但在 /var/run/network 中,唯一处于“启动”状态的是 ifup.lo。然后我执行
‘ifup -a’
然后一切正常。
答案1
无法连接到 wpa_supplicant-wpa_ctrl_open:只读文件系统
根据您的日志,您需要使用 wpa_supplicant。
因此添加一些类似这样的内容:
auto wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant.conf
/etc/wpa_supplicant.conf 的内容:
network={
ssid="ADD-YOUR-SSID-HERE"
proto=RSN
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
group=CCMP TKIP
psk="ADD-YOUR-WPA-PASSWORD-HERE"
}
答案2
您可以添加ifup wlan0
到您的/etc/rc.local
文件中。添加命令ifup wlan0
前。同样在前面exit 0
添加命令,例如:ifdown wlan0
ifup wlan0
...
ifdown wlan0
ifup wlan0
exit 0
由于某种原因,Ubuntu 启动时认为 wlan0 已启动。因此您必须将其关闭,然后重新启动。
答案3
正在连接至WPA-PSK 和 WPA2-PSK(分别又称为“WPA Personal”和“WPA2 Personal”)
跑步:
$ wpa_passphrase myssid my_very_secret_passphrase
从上面的输出中复制“psk=”的值。
在文本编辑器中打开 /etc/network/interfaces:
$ sudo sensible-editor /etc/network/interfaces
为您的无线接口定义适当的节以及 SSID 和 PSK HASH。例如:
auto wlan0 face wlan0 inet dhcp wpa-ssid <myssid> wpa-psk <ccb290fd4fe6b22935cbae3144..>
最后运行:
$ sudo ifup wlan0
笔记:
一些答案似乎建议配置单独的wpa_supplicant.conf
。但它仅适用于WPA-EAP,EAP-TLS网络。
如何让我的系统在启动时实现无线联网?
该auto
节确实会在系统启动时调出该界面。
答案4
原因是文件系统在启动时是只读的。此时只有静态设置有效,因为 udev 在文件系统准备就绪之前发出网络热插拔信号。
解决方法是更改/etc/init/network-interface.conf
文件中的这一行:
“ifup --allow auto ...” 至 “ifup--allow=hotplug...”。
您必须将热插拔 PCMCI 和 USB 网络适配器标记为“热插拔”/etc/network/interfaces
才能使它们继续工作,并且您应该在启动后而不是之前插入它们。