从今天起,我遇到了一个非常烦人的问题,我的 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
我在 Fedora 20 上遇到了这个问题,所以我升级到了 21。问题仍然存在。即使更新到 22 beta,wpa_supplicant
版本 2.3。问题依然存在。
在尝试解决这个问题时,我发现了一些额外的东西:
- 该适配器在 Windows 7 下工作正常,所以我的路由器和硬件都没有问题。
- 我尝试使用
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
更新即使没有任何加密的接入点也没有关联。
答案1
我找到了解决方案这里:
echo "options iwlwifi 11n_disable=1 wd_disable=1" | sudo tee /etc/modprobe.d/iwlwifi.conf
重新启动,它又可以正常工作。
答案2
如果 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
编辑 NetworkManager 配置(我假设您正在运行 NetworkManager):
sudo nano /etc/NetworkManager/NetworkManager.conf
# https://iwd.wiki.kernel.org/networkmanager#nm_configuration
[device]
wifi.backend=iwd
上述配置将使 NetworkManageriwd
代替wpa_supplicant
您遇到的问题。
我们现在需要启动/停止/重新启动所需的服务以加载和应用配置。
sudo systemctl stop wpa_supplicant.service
sudo systemctl stop NetworkManager.service
sudo systemctl start iwd
sudo systemctl restart NetworkManager.service
并使您的更改永久生效(通过在启动时启动正确的服务并且不干扰错误的服务):
sudo systemctl disable wpa_supplicant.service
sudo systemctl enable iwd
您现在应该能够使用普通 GUI 连接到 WiFi 网络。如果这种方式不适合您,请尝试使用iwctl
命令行界面。这样应该可以连接到正确的网络。要获得分配的 IP 地址,您可能需要运行命令dhclient
。
请参阅下面的 Arch Wiki 链接以了解有关iwd
和 的更多iwctl
信息。如果您遇到有关密码 (PSK) 工作的问题,也请参阅 Arch Wiki。
如果您可以成功连接到网络,请尝试删除该文件以在下次启动/模块重新加载时重新激活 802.11n。毕竟,/etc/modprobe.d/iwlwifi.conf
这就是切换到 的意义所在。iwd
sudo rm /etc/modprobe.d/iwlwifi.conf
来源
采取的步骤linux-whv.de, iwd 上的 ArchWiki