最近遇到一个问题,NetworkManager无法扫描出wifi连接,持续了一个多星期,多次重启,有很小的几率可以正常使用。
尝试了降级Linux内核,NetworkManager,wpa_supplicant等等,问题依旧出现,然后禁用了NetworkManager改用wifi-menu出现了一样的结果。
用systemctl status wpa_supplicant.service
发现一大堆ioctl错误:
nl80211: Could not configure driver mode
ioctl[SIOCSIWPMKSA]: Invalid argument
ioctl[SIOCSIWMODE]: Device or resource busy
ioctl[SIOCSIWENCODEEXT]: Operation not supported
结合以上种种,再看网上的讨论,很大可能是驱动问题,而不是软件本身的bug,不然不会两种wifi连接软件都无法使用的情况,而且wpa_supplicant本身就是驱动和应用软件的中间层,既然软件都无法连接,那么就该怀疑到驱动上了。
通过lshw -C network
可以查看网卡相关信息:
*-network
description: Wireless interface
product: Wireless 8265 / 8275
vendor: Intel Corporation
physical id: 0
bus info: pci@0000:03:00.0
logical name: wlp3s0
version: 78
serial: d4:6d:6d:fb:e7:4e
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
configuration: broadcast=yes driver=iwlwifi driverversion=5.4.8-arch1-1 firmware=36.77d01142.0 ip=192.168.0.102 latency=0 link=yes multicast=yes wireless=IEEE 802.11
resources: irq:147 memory:b4100000-b4101fff
由输出可以看到作者的驱动是iwlwifi,再通过dmesg查看系统启动信息
1 2 3 |
dmesg | grep iwlwifi #将iwlwifi替换成你使用的网卡驱动 |
找到类似如下信息:
[ 2.943235] iwlwifi 0000:03:00.0: loaded firmware version 36.77d01142.0 op_mode iwlmvm
iwlwifi驱动加载了两个固件,然后作者试着将iwlmvm卸载再装载,wifi竟然可以用了…
问题应该在这里,可能iwlmvm没有加载成功?
读者如果遇到同样的问题,试下将网卡驱动加载的固件卸载再装载。
卸载命令为:
1 2 3 |
rmmod iwlmvm #请自行修改对应的模块名 |
加载命令为:
1 2 3 |
modprobe iwlmvm #请自行修改对应的模块名 |