wpa-roam
时将wpa-conf
更改为/etc/wpa_supplicant/wpa_supplicant.conf
,但是为什么这样做有效? 即当我在
/etc/network/interfaces
文件中有此文件时:auto lo
iface lo inet loopback
auto wlan0
iface wlan0 inet static
address 192.168.0.3
netmask 255.255.255.0
gateway 192.168.0.1
broadcast 192.168.0.255
network 192.168.0.0
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
假定
/etc/wpa_supplicant/wpa_supplicant.conf
已正确配置,则此方法无效。 这是
iwconfig
的相关输出:wlan0 unassociated Nickname:"<WIFI@REALTEK>"
Mode:Managed Frequency=2.437 GHz Access Point: Not-Associated
Sensitivity:0/0
Retry:off RTS thr:off Fragment thr:off
Power Management:off
Link Quality:0 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
以及
ifconfig
的相关输出:wlan0 Link encap:Ethernet HWaddr ec:1a:59:64:3a:36
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:847 errors:0 dropped:1029 overruns:0 frame:0
TX packets:759 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:677394 (661.5 KiB) TX bytes:133345 (130.2 KiB)
但是,一旦将
wpa-roam
更改为wpa-conf
并运行sudo /etc/init.d/networking restart
,一切都会神奇地开始工作。什么时候使用wpa-roam
?什么时候使用wpa-conf
? #1 楼
wpa-roaming
是一种可以浏览并连接到无线网络的方法。或到可用的开放无线网络或预定的无线网络。如果连接以太网电缆,则有线网络连接会立即关闭WiFi接入,然后eth0将您连接到有线网络。通过拔下网络电缆,无线连接将立即再次可用。来源:http://manual.aptosid.com/en/inet-setup-en.htm
我假定
wpa-conf
是静态配置,不需要通过网络接口漫游。我找不到与此相关的任何详细文档。我的WiFi配置也有同样的问题。拔出有线以太网时,我的WiFi无法正常工作。所以我像您一样将wpa-roam更改为wpa-conf,它起作用了。
#2 楼
您还可以在本地安装的文档文件中找到wpa_supplicant的两种操作模式(托管和漫游)的完整说明-可以查看(在线版本为[旧版?],请查看):zless /usr/share/doc/wpa_supplicant/README.modes.gz
它解释说,虽然“托管”模式仅允许连接到单个已配置的WiFi网络,但是“漫游”模式允许连接到具有潜在不同网络配置的多个WiFi网络,这可以通过添加特殊功能来控制选项
id_str
,然后将其与网络配置文件中相应的条目匹配-在/etc/network/interfaces
文件中指定。例如:allow-hotplug eth1
iface eth1 inet manual
wpa-driver wext
wpa-roam /etc/wpa_supplicant/wpa_roam.conf
# id_str="uni"
iface uni inet dhcp
# id_str="home_static"
iface home_static inet static
address 192.168.0.20
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
在
wpa-roam
文件中指定了相应的WiFi网络。例如/etc/wpa_supplicant/wpa_roam.conf
:network={
ssid="foo"
key_mgmt=NONE
# this id_str will notify /sbin/wpa_action to 'ifup uni'
id_str="uni"
}
network={
ssid="bar"
psk=123456789...
# this id_str will notify /sbin/wpa_action to 'ifup home_static'
id_str="home_static"
}
因此,“ uni”网络将使用DHCP,而“ home_static”网络将使用静态IP地址192.168.0.20。尽管不必使用
id_str
选项,但设备将仅使用默认值(请参阅doc文件)。
评论
我怀疑如果要使用wpa-roam,则需要将wlan0设置为manual,而不是dhcp或static。不过那只是一个理论。
–劳伦斯
13年8月27日在8:16
对,那是正确的。漫游意味着您允许无线接口尝试“漫游”并连接到其他接入点-但是,如果您只有1台,这意味着如果出现问题,它将尝试“重新连接”。使用wpa-conf,它将不会在下降时重新连接。
– Piotr Kula
13年8月27日在8:34
@劳伦斯,的确如此。虽然不只是理论:它在运行sudo /etc/init.d/networking restart时报告
– Jochem Schulenklopper
2015年1月2日于13:52
@jschulenklopper啊。甚至没有意识到这一点。我根本不使用/etc/init.d/networking restart。
–劳伦斯
2015年1月9日在2:42
要注意的另一个区别是,对于wpa-roam,当插入eth0时,ifplugd会断开wlan0的连接。这是可配置的行为,可能是RaspberryPI特有的。
–domen
15年9月24日在20:15