全新安装 Ubuntu 22.04 后,我无法使用我的 wifi。该卡是英特尔 Wi-Fi 6 AX200。
安装过程中,使用卡下载更新没有遇到任何问题。安装后,我无法使用 wifi。
我使用 Windows 11 双启动。
我尝试用 来修复它sudo apt install backport-iwlwifi-dkms
。重启后没有任何变化。
之后,我通过解压 ucode 文件并将其传输到 安装了英特尔针对此卡的官方固件/lib/firmware
。重启后,它就可以正常工作了。
几个小时后,我开始进入 win11,出现提示,提示我尝试安装一些固件文件。在谷歌搜索名称后,发现是有关提到的网卡(之前我从未见过这种情况,在 win11 中也没有遇到过网卡问题)。之后,我强行关闭窗口,再也没有看到这个对话框(我不知道该怎么做,也不知道是否存在关联,但我想提一下)
下次启动 Ubuntu 后,网络驱动程序就消失了,我无法使用 wifi,因此我重复了最初的修复,但没有成功。
$ lshw -k
Kernel driver in use: pcieport
07:00.0 Network controller: Intel Corporation Wi-Fi 6 AX200 (rev 1a)
Subsystem: Intel Corporation Wi-Fi 6 AX200NGW
Kernel modules: iwlwifi
09:00.0 Ethernet controller: Intel Corporation I211 Gigabit Network Connection (rev 03)
Subsystem: ASRock Incorporation I211 Gigabit Network Connection
Kernel driver in use: igb
Kernel modules: igb
$ rfkill list
0: hci0: Bluetooth
Soft blocked: no
Hard blocked: no
$ dmesg | grep iwl
[ 3.712065] iwlwifi 0000:07:00.0: enabling device (0000 -> 0002)
[ 3.747228] iwlwifi 0000:07:00.0: CSR_RESET = 0x10
[ 3.747238] iwlwifi 0000:07:00.0: Host monitor block 0x0 vector 0x0
[ 3.747247] iwlwifi 0000:07:00.0: value [iter 0]: 0x3f7f0430
[ 3.747255] iwlwifi 0000:07:00.0: value [iter 1]: 0x3f7f0c30
[ 3.747263] iwlwifi 0000:07:00.0: value [iter 2]: 0x3f7f8830
[ 3.747271] iwlwifi 0000:07:00.0: value [iter 3]: 0x3f7f0030
[ 3.747278] iwlwifi 0000:07:00.0: value [iter 4]: 0x3f7f0430
[ 3.747286] iwlwifi 0000:07:00.0: value [iter 5]: 0x3f7f8430
[ 3.747294] iwlwifi 0000:07:00.0: value [iter 6]: 0x3f7f8030
[ 3.747302] iwlwifi 0000:07:00.0: value [iter 7]: 0x3f7f0030
[ 3.747309] iwlwifi 0000:07:00.0: value [iter 8]: 0x3f7f0c30
[ 3.747317] iwlwifi 0000:07:00.0: value [iter 9]: 0x3f7f0c30
[ 3.747325] iwlwifi 0000:07:00.0: value [iter 10]: 0x3f7f0030
[ 3.747332] iwlwifi 0000:07:00.0: value [iter 11]: 0x3f7f0030
[ 3.747340] iwlwifi 0000:07:00.0: value [iter 12]: 0x3f7f8430
[ 3.747348] iwlwifi 0000:07:00.0: value [iter 13]: 0x3f7f8430
[ 3.747356] iwlwifi 0000:07:00.0: value [iter 14]: 0x3f7f8030
[ 3.747361] iwlwifi 0000:07:00.0: Host monitor block 0x0 vector 0x1
[ 3.747369] iwlwifi 0000:07:00.0: value [iter 0]: 0x044466c2
[ 3.747377] iwlwifi 0000:07:00.0: value [iter 1]: 0x044466c2
[ 3.747385] iwlwifi 0000:07:00.0: value [iter 2]: 0x044466c2
[ 3.747392] iwlwifi 0000:07:00.0: value [iter 3]: 0x044466c2
[ 3.747400] iwlwifi 0000:07:00.0: value [iter 4]: 0x044466c2
[ 3.747408] iwlwifi 0000:07:00.0: value [iter 5]: 0x044466c2
[ 3.747416] iwlwifi 0000:07:00.0: value [iter 6]: 0x044466c2
[ 3.747423] iwlwifi 0000:07:00.0: value [iter 7]: 0x044466c2
[ 3.747431] iwlwifi 0000:07:00.0: value [iter 8]: 0x044466c2
[ 3.747438] iwlwifi 0000:07:00.0: value [iter 9]: 0x044466c2
[ 3.747446] iwlwifi 0000:07:00.0: value [iter 10]: 0x044466c2
[ 3.747454] iwlwifi 0000:07:00.0: value [iter 11]: 0x044466c2
[ 3.747461] iwlwifi 0000:07:00.0: value [iter 12]: 0x044466c2
[ 3.747469] iwlwifi 0000:07:00.0: value [iter 13]: 0x044466c2
[ 3.747477] iwlwifi 0000:07:00.0: value [iter 14]: 0x044466c2
[ 3.747482] iwlwifi 0000:07:00.0: Host monitor block 0x0 vector 0x6
[ 3.747490] iwlwifi 0000:07:00.0: value [iter 0]: 0xb00c4471
[ 3.747498] iwlwifi 0000:07:00.0: value [iter 1]: 0xf00c4471
[ 3.747506] iwlwifi 0000:07:00.0: value [iter 2]: 0xe00c4471
[ 3.747513] iwlwifi 0000:07:00.0: value [iter 3]: 0xe00c4471
[ 3.747521] iwlwifi 0000:07:00.0: value [iter 4]: 0xf00c4471
[ 3.747529] iwlwifi 0000:07:00.0: value [iter 5]: 0xb00c4471
[ 3.747536] iwlwifi 0000:07:00.0: value [iter 6]: 0xa00c4471
[ 3.747544] iwlwifi 0000:07:00.0: value [iter 7]: 0xe00c4471
[ 3.747551] iwlwifi 0000:07:00.0: value [iter 8]: 0xb00c4471
[ 3.747559] iwlwifi 0000:07:00.0: value [iter 9]: 0xb00c4471
[ 3.747567] iwlwifi 0000:07:00.0: value [iter 10]: 0xe00c4471
[ 3.747574] iwlwifi 0000:07:00.0: value [iter 11]: 0xe00c4471
[ 3.747582] iwlwifi 0000:07:00.0: value [iter 12]: 0xf00c4471
[ 3.747590] iwlwifi 0000:07:00.0: value [iter 13]: 0xb00c4471
[ 3.747598] iwlwifi 0000:07:00.0: value [iter 14]: 0xa00c4471
[ 3.747603] iwlwifi 0000:07:00.0: Host monitor block 0x22 vector 0x0
[ 3.747611] iwlwifi 0000:07:00.0: value [iter 0]: 0x00000000
[ 3.747829] iwlwifi: probe of 0000:07:00.0 failed with error -110
答案1
请允许我分享我如何修复此问题。无论根本原因是什么,[ 3.747829] iwlwifi: probe of 0000:07:00.0 failed with error -110
通常都意味着驱动程序无法初始化。要获取一个可以在你的系统
1.)$ sudo dmesg | grep iwlwifi
将向您显示尝试加载哪个驱动程序。
就像是
[ 3.109344] iwlwifi 0000:00:14.3: loaded firmware version 68.01d30b0c.0 QuZ-a0-hr-b0-71.ucode op_mode iwlmvm
2.) 记下驱动程序版本号(上例中为 71)
3.) 现在在目录 /lib/firmware 中搜索(使用find
或fd
或其他)所有以 开头的文件iwlwifi-QuZ-a0-hr-b0-*
。您的系统保留了为您的 wifi 卡设计的驱动程序的许多版本,可能由 QuZ-a0-hr-b0- 这一部分表示。
4.) 逐步尝试以前版本的驱动程序。例如,如果您在 dmesg 中看到无法加载的驱动程序是QuZ-a0-hr-b0-71
,则执行$ cp iwlwifi-QuZ-a0-hr-b0-71 backup_iwlwifi-QuZ-a0-hr-b0-71
或$ sudo modprobe -r iwlwifi; $ sudo modprobe iwlwifi
重新启动以使新驱动程序生效。
您可以从 dmesg 命令查看加载了哪些驱动程序:$ sudo dmesg | grep iwlwifi
并继续这样做,直到找到适合你的 iwlwifi-QuZ-a0-hr-b0-。就我而言,我必须消除所有这些:
[ 3.096222] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-77.ucode failed with error -2
[ 3.096379] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-76.ucode failed with error -2
[ 3.096454] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-75.ucode failed with error -2
[ 3.096935] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-74.ucode failed with error -2
[ 3.096970] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-73.ucode failed with error -2
[ 3.097172] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-72.ucode failed with error -2
[ 3.097212] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-71.ucode failed with error -2
[ 3.097458] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-70.ucode failed with error -2
[ 3.097916] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-69.ucode failed with error -2
这是我的 dmesg 日志,显示我的内核正在寻找我已删除的这些驱动程序(我上面建议您重命名它们,但效果相同)。直到它最终找到一个可用的驱动程序:
[ 3.109344] iwlwifi 0000:00:14.3: loaded firmware version 68.01d30b0c.0 QuZ-a0-hr-b0-68.ucode op_mode iwlmvm
所以你可以看到我必须回溯好几个版本才能找到一个可行的版本。
(我通过从与我的 Ubuntu 系统主版本相同的实时 USB 启动发现了这个问题,我的 Ubuntu 系统有坏掉的 wifi,我注意到了哪个驱动程序正在工作来自 dmesg)
它让我不用做任何激烈的事情