一些有助于诊断的有用信息:
$ lspci -knn | grep Net -A3; rfkill list
25:00.0 Network controller [0280]: Intel Corporation Wi-Fi 6 AX200 [8086:2723] (rev 1a)
Subsystem: Intel Corporation Wi-Fi 6 AX200 [8086:0084]
Kernel modules: iwlwifi
瘦身
$ sudo lshw -C network
*-network UNCLAIMED
description: Network controller
product: Wi-Fi 6 AX200
vendor: Intel Corporation
physical id: 0
bus info: pci@0000:25:00.0
version: 1a
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress msix cap_list
configuration: latency=0
核心
$ uname -r
5.15.0-41-generic
消息
$ sudo dmesg | grep iwl
[ 133.187211] iwlwifi 0000:25:00.0: pcim_iomap_regions_request_all failed
[ 133.187224] iwlwifi: probe of 0000:25:00.0 failed with error -22
系统信息
$ uname -a
Linux a25f126-lcedt 5.15.0-41-generic #44~20.04.1-Ubuntu SMP Fri Jun 24 13:27:29 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
ps 没有双重启动。仅限 Ubuntu,即在 BIOS 中禁用快速启动没有帮助。
编辑
$ sudo dmesg | grep 25:00
[sudo] password for startup:
[ 2.214779] pci 0000:25:00.0: [8086:2723] type 00 class 0x028000
[ 2.214811] pci 0000:25:00.0: reg 0x10: [mem 0xf0500000-0xf0503fff 64bit]
[ 2.214979] pci 0000:25:00.0: PME# supported from D0 D3hot D3cold
[ 2.251872] pci 0000:25:00.0: BAR 0: no space for [mem size 0x00004000 64bit]
[ 2.251873] pci 0000:25:00.0: BAR 0: failed to assign [mem size 0x00004000 64bit]
[ 2.252073] pci 0000:25:00.0: BAR 0: no space for [mem size 0x00004000 64bit]
[ 2.252074] pci 0000:25:00.0: BAR 0: failed to assign [mem size 0x00004000 64bit]
[ 2.253941] pci 0000:25:00.0: Adding to iommu group 43
[ 53.193450] iwlwifi 0000:25:00.0: pcim_iomap_regions_request_all failed
[ 53.193473] iwlwifi: probe of 0000:25:00.0 failed with error -22
升级后
$ cat /proc/version_signature
Ubuntu 5.15.0-48.54~20.04.1-generic 5.15.53
$ uname -r
5.15.0-48-generic
$ sudo dmesg | grep iwl
[ 47.972918] iwlwifi 0000:25:00.0: pcim_iomap_regions_request_all failed
[ 47.972929] iwlwifi: probe of 0000:25:00.0 failed with error -22
/etc/default/grub 的内容
$ more /etc/default/grub
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'
GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pci=assign-busses"
GRUB_CMDLINE_LINUX="quiet splash"
...
然后,我运行$ sudo update-grub
并$ sudo reboot
。不幸的是,dmesg 输出没有改变。
$ sudo dmesg | grep iwl
[ 28.553306] iwlwifi 0000:26:00.0: pcim_iomap_regions_request_all failed
[ 28.553320] iwlwifi: probe of 0000:26:00.0 failed with error -22
答案1
请尝试我上面给出的链接中提到的技术。打开终端并执行:
sudo nano /etc/default/grub
在编辑器窗口中,使用箭头键将光标移动到以“GRUB_CMDLINE_LINUX_DEFAULT”开头的行。将该行更改为:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pci=assign-busses"
仔细校对两遍。保存(Ctrl+o 然后按 Enter)并退出(Ctrl+x)文本编辑器 nano。然后:
sudo update-grub
重新启动并告诉我们是否有任何改进。
答案2
不确定这是否适用于您或之后的任何人。但我偶然发现了一个对我有用的修复方法。
我的设置:
- 华硕 Pro WS WRX80E Sage Wifi 主板,内置英特尔 AX200 Wifi
- Ubuntu 20.10(5.19.0-23-通用内核)
我安装了linux-modules-iwlwifi-generic
,但 Wifi 无法正常工作(仍然收到 pcim_iomap_regions_request_all 失败和错误 -22)。查看 pcim_iomap_regions_request_all 似乎存在内存分配问题。这让我怀疑是否有硬件相关的东西阻止它正确分配内存。我进入 bios 并在 PCI 设置下找到一个设置“重新调整 BAR 支持”。清除主板 CMOS + 启用“重新调整 BAR 支持”终于让我的适配器工作了!