如何在Arch Linux中连接到Wi-Fi网络?


8

tl; dr阅读了有关安装无线设置WPA请求方的Arch Wiki文章,尝试了以下建议以及许多论坛主题后,启动Arch时,我无法获得以下任意卡来连接至我的无线网络Linux 2013年9月1日ISO:


方法1(默认):

缺省做法是systemctl stop dhcpcd.service紧随其后wifi-menu。它找到网络:

[SSID] + wpa 10

超时后,它将报告连接失败。如果我运行wifi-menu一个第二时间不要求输入密码,但完成当它终于给出了一些调试提示:

Job for netctl@wlp0s29f7u5\x2dBTHub4\x2dGRK6.service failed. See 'systemctl status netctl@wlp0s29f7u5\x2dBTHub4\x2dGRK6.service' and 'journalctl -xn' for details.

前者报告服务已“加载”,但未“活动”(从字面上看inactive (dead))。后者说:

WPA association/authentication failed for interface 'wlp0s29f7u5'

这是否意味着输入/etc/netctl/wlp0s29f7u5-BTHub4-GRK6错误?我无法告诉程序何时需要实际的 Wi-Fi密码,何时需要类似的pskwpa_passphraseman 5 netctl.profile例如,不说)。


方法2(wpa_supplicant以及wpa_passphrase根据deerafwarl0ck的建议以及Wiki页面):

# echo 'ctrl_interface=/var/run/wpa_supplicant' > wifi.conf
# wpa_passphrase essid passphrase >> wifi.conf
# wpa_supplicant -B -i interface -c wifi.conf
Successfully initialized wpa_supplicant
# dhcpcd -A interface
[...]
timed out
exited

我尝试iw直接连接,但得到一些奇怪的输出:

# iw dev wlp0s26f7u5 connect [SSID]
command failed: Operation not supported (-95)

您是否尝试过使用其他发行版(例如Ubuntu live系统)来测试它,只是为了确定它可以在Linux上运行?您的dmesg输出中是否有有趣的东西,也许是指向固件问题的东西?
Martin von Wittich

有趣的是,在Ubuntu 13.04上,它显示在网络菜单上,但显示为“已断开连接”。
l0b0 2013年

所以你也不能在Ubuntu上连接吗?您是否考虑过仅使用另一个WiFi USB记忆棒?这可能是解决您的问题的更简单方法。
Martin von Wittich 2013年

我猜。最新的驱动程序仅支持2.6.33以下的内核。不幸的是,几乎找不到可靠的Linux兼容硬件来源。
l0b0

1
我通常使用dhcpcd -d -n interface-它为您提供更多信息。首先检查接口的状态也是一个好主意iwconfig。理想的情况是1)运行wpa_supplicant在单独的终端没有-B选项,但-d得到更多的调试信息,即:wpa_supplicant -d -i interface -c wifi.conf -Dwext ; 2)在另一个终端,检查iwconfig;3)在另一个终端上运行。或者,在所有这些之前,您可能需要wicd尝试一下。
彼得

Answers:


5

您是否使用设置了密码wpa_passphrase?例如

%> wpa_passphrase SSID passphrase
network={
        ssid="SSID"
        #psk="passphrase"
        psk=28964ba6ea8b8f3a0db1c4414b327da253d0af5d4f4adccec0f8abf5b05b10f8
}

否则wpa_supplicant -B -i [wireless device] -c /etc/wpa_supplicant/cli.conf根本不起作用


有趣。您是否需要对密码进行哈希处理,还是将其作为带引号/不带引号的纯文本?
l0b0 2013年

@ l0b0全部由wpa_passphrase生成,否,仅需要散列版本
daisy

所以我需要手动将该字符串复制到wpa_cli?有没有更简单的方法可以做到这一点?看来我事后已连接(至少没有错误消息),因此我将授予该答案。
l0b0

@ l0b0我以前从未想过wpa_cli。通常,我会直接使用生成的配置文件运行wpa_supplicant(记住指定无线接口和驱动程序)。然后,我检查的输出dmesg是否相关联
雏菊

根据选项,wpa_supplicant.confpsk选项似乎是未加密的密钥。您还应该有一个密钥管理规范,例如:key_mgmt=WPA-PSK
彼得

3

似乎主要问题是Internet订阅随附的BT Home Hub版本4。在禁用5 GHz无线,WPS,802.11 n,自动通道选择并将安全性设置为仅WPA2之后,我现在能够在Ubuntu和Windows中在几秒钟内建立连接,而且连接非常粗略(例如,约30秒)使用wpa_supplicant最新的Arch Linux 每隔几分钟即可连接一次)。

更新:使用NetworkManager(nmcli dev wifi connect SSID password PASSWORD)之后,我似乎变得更加稳定-它仍然每隔几分钟左右就会消失一次。

Windows也不会始终保持几分钟的连接,在此之后它似乎很稳定。

(我也尝试连接旧的ADSL路由器,但没有意识到它无法理解VDSL信号。)


0

wifi-menu应该为您设置密码。不需要手动设置它。在/etc/conf.d/network-wireless@中检查wlp0s29f7u5的配置。还要检查/etc/wpa_supplicant.conf以查看信息是否正确。

另一件事,除非您尝试设置静态地址,否则无需停止dhcpcd服务。如果它是静态的,请确保在/etc/conf.d/network-wireless@中声明

最后提供和ip。dhcp的``dhcpcd wlp0s26f7u5''

或对于静态,请执行以下操作。

IP地址添加“您的IP” / 24 dev wlp0s26f7u5 IP路由添加默认通过

编辑

我尝试引用的文件在netctl中。这是我的:

[verdict@sparky ~]$ cat /etc/netctl/wlo1-ZombieNet 
Description='Automatically generated profile by wifi-menu'
Interface=wlo1
Connection=wireless
Security=wpa
ESSID=ZombieNet
IP=dhcp
Key=<my password>

顺便说一句,我根本不使用/etc/wpa_supplicant/wpa_supplicant.conf文件。您不必使用wifi菜单。
13年

我已经多次验证了中的密码wifi-menu,生成的文件和wpa_passphrase输出文件无济于事。相同的密码可以在另一台(Ubuntu)机器上使用,所以这不是问题。
13年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.