Bar*_*chs 25 linux fedora wireless-networking wpa-supplicant
从今天起,我遇到了一个非常烦人的问题,即 HP ProBook 上的 WiFi 不再进行身份验证。我没有更改任何设置,我的手机连接到 WiFi 正常。尝试另一个 WiFi 接入点(实际上是我的手机热点)也不起作用。
扫描似乎有效,因为 SSID 显示正常。此外,如果没有提供钥匙,它会很好地要求它。但是,我在dmesg
以下内容中看到了这一点:
[ 1854.199036] wlo1: authenticate with 92:68:c3:f4:ec:3a
[ 1854.201743] wlo1: send auth to 92:68:c3:f4:ec:3a (try 1/3)
[ 1854.275690] wlo1: send auth to 92:68:c3:f4:ec:3a (try 2/3)
[ 1854.334745] wlo1: send auth to 92:68:c3:f4:ec:3a (try 3/3)
[ 1854.393245] wlo1: authentication with 92:68:c3:f4:ec:3a timed out
Run Code Online (Sandbox Code Playgroud)
我在 Fedora 20 上遇到了这个问题,所以我升级到了 21。问题还是一样。甚至更新到 22 测试版,使用wpa_supplicant
2.3 版。同样的问题。
在我试图解决这个问题时,我发现了一些额外的东西:
wpa_cli
,但收到无法连接的消息。ctrl_interface
在wpa_supplicant.conf
不创建在 中wpa_supplicant.log
,我得到了这个:
wlo1: SME: Trying to authenticate with 00:24:01:df:c2:fb (SSID='MYSSID' freq=2467 MHz)
wlo1: SME: Trying to authenticate with 00:24:01:df:c2:fb (SSID='MYSSID' freq=2467 MHz)
wlo1: SME: Trying to authenticate with 00:24:01:df:c2:fb (SSID='MYSSID' freq=2467 MHz)
wlo1: SME: Trying to authenticate with 00:24:01:df:c2:fb (SSID='MYSSID' freq=2467 MHz)
wlo1: CTRL-EVENT-SSID-TEMP-DISABLED id=0 ssid="MYSSID" auth_failures=1 duration=10 reason=CONN_FAILED
Run Code Online (Sandbox Code Playgroud)
更新即使没有任何加密的接入点也不会关联。
Bar*_*chs 18
我在这里找到了解决方案:
echo "options iwlwifi 11n_disable=1 wd_disable=1" | sudo tee /etc/modprobe.d/iwlwifi.conf
Run Code Online (Sandbox Code Playgroud)
重新启动,它再次工作。
小智 9
如果 WiFi 速度对您很重要,我建议您切换iwd
为替代方案wpa_supplicant
,因为禁用 802.11n(如带有该选项的其他答案11n_disable
中的建议)可能会导致支持 802.11n 的 2.4GHz 网络的网络性能下降。
我让它在运行 Manjaro GNOME 的 HP Elitebook 1030 上运行,我很高兴现在可以从家庭网络提供的整个 WiFi 带宽中获益。以前,禁用 802.11n 是我所知道的唯一选择。这里有一个关于如何启动iwd
和运行而不是wpa_supplicant
.
安装所需的包:
sudo dnf install iwd
Run Code Online (Sandbox Code Playgroud)
编辑 NetworkManager 配置(我假设您正在运行 NetworkManager):
sudo nano /etc/NetworkManager/NetworkManager.conf
Run Code Online (Sandbox Code Playgroud)
# https://iwd.wiki.kernel.org/networkmanager#nm_configuration
[device]
wifi.backend=iwd
Run Code Online (Sandbox Code Playgroud)
上面的配置将使 NetworkManager 使用iwd
而不是wpa_supplicant
您遇到问题的网络管理器。
我们现在需要启动/停止/重新启动所需的服务以加载和应用配置。
sudo systemctl stop wpa_supplicant.service
sudo systemctl stop NetworkManager.service
sudo systemctl start iwd
sudo systemctl restart NetworkManager.service
Run Code Online (Sandbox Code Playgroud)
并使您的更改永久生效(通过在启动时启动正确的服务并且不干扰错误的服务):
sudo systemctl disable wpa_supplicant.service
sudo systemctl enable iwd
Run Code Online (Sandbox Code Playgroud)
您现在应该能够使用普通 GUI 连接到 WiFi 网络。如果这种连接方式不适合您,请尝试使用iwctl
命令行界面。连接到正确的网络应该可以这样工作。要获取分配的 IP 地址,您可能需要运行命令dhclient
。
请参阅下面的 Arch Wiki 链接,了解有关iwd
和 的更多信息iwctl
。如果您遇到密码 (PSK) 无法正常工作等问题,另请参阅 Arch Wiki。
如果您可以成功连接到网络,请尝试删除该/etc/modprobe.d/iwlwifi.conf
文件以在下次启动/模块重新加载时重新激活 802.11n。iwd
毕竟,这就是切换到 的目的。
sudo rm /etc/modprobe.d/iwlwifi.conf
Run Code Online (Sandbox Code Playgroud)
步骤取自linux-whv.de、 ArchWiki on iwd