我在笔记本电脑上全新安装了 ubuntu 20.04,然后 apt 更新并升级到最新版本。
$ uname -r
5.13.0-39-generic
到目前为止,BT 运行良好,但现在只有 wifi 无法使用。
我检查了以下内容
$ lspci -nnk | grep 0280 -A3
0000:00:14.3 Network controller [0280]: Intel Corporation Device [8086:51f0] (rev 01)
DeviceName: Onboard - Ethernet
Subsystem: Intel Corporation Device [8086:0094]
Kernel modules: iwlwifi
网络适配器显示 UNCLAIMED
$ sudo lshw -C network
[sudo] password for khyou:
*-network UNCLAIMED
description: Network controller
product: Intel Corporation
vendor: Intel Corporation
physical id: 14.3
bus info: pci@0000:00:14.3
version: 01
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress msix cap_list
configuration: latency=0
resources: iomemory:620-61f memory:622f284000-622f287fff
*-network
description: Ethernet interface
product: RTL8125 2.5GbE Controller
vendor: Realtek Semiconductor Co., Ltd.
physical id: 0
bus info: pci@0000:2c:00.0
logical name: enp44s0
version: 05
serial: 50:eb:f6:d1:4b:1d
capacity: 1Gbit/s
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress msix vpd bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=5.13.0-39-generic firmware=rtl8125b-2_0.0.2 07/13/20 latency=0 link=no multicast=yes port=twisted pair
resources: irq:18 ioport:3000(size=256) memory:60200000-6020ffff memory:60210000-60213fff
根据这里的答案使用 iwlwifi 卡时无线网络不显示
我从以下网址下载了 backport-iwlwifi-dkms_9340-0ubuntu4_all.debhttps://packages.ubuntu.com/impish/backport-iwlwifi-dkms
并从以下位置下载 linux-firmware-20220310.tar.gz https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/
dkms_9340 安装
安装 dkms_9340 如下
$ sudo dpkg -i backport-iwlwifi-dkms_9340-0ubuntu4_all.deb
Selecting previously unselected package backport-iwlwifi-dkms.
(Reading database ... 185839 files and directories currently installed.)
Preparing to unpack backport-iwlwifi-dkms_9340-0ubuntu4_all.deb ...
Unpacking backport-iwlwifi-dkms (9340-0ubuntu4) ...
Setting up backport-iwlwifi-dkms (9340-0ubuntu4) ...
Loading new backport-iwlwifi-9340 DKMS files...
Building for 5.13.0-39-generic
Building initial module for 5.13.0-39-generic
Secure Boot not enabled on this system.
Done.
compat.ko:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /lib/modules/5.13.0-39-generic/updates/dkms/
iwlwifi.ko:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /lib/modules/5.13.0-39-generic/updates/dkms/
iwlxvt.ko:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /lib/modules/5.13.0-39-generic/updates/dkms/
iwlmvm.ko:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /lib/modules/5.13.0-39-generic/updates/dkms/
mac80211.ko:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /lib/modules/5.13.0-39-generic/updates/dkms/
cfg80211.ko:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /lib/modules/5.13.0-39-generic/updates/dkms/
depmod...
DKMS: install completed.
复制 iwlwifi-so 文件
并从 linux-firmware-20220310 复制所有 iwlwifi-so-a0-* 文件
$ sudo cp iwlwifi-so-a0-* /lib/firmware
重启后
重启后,wifi 模块似乎已接通但无法正常工作
$ sudo lshw -C network
[sudo] password for khyou:
*-network
description: Network controller
product: Intel Corporation
vendor: Intel Corporation
physical id: 14.3
bus info: pci@0000:00:14.3
version: 01
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress msix bus_master cap_list
configuration: driver=iwlwifi latency=0
resources: iomemory:620-61f irq:16 memory:622f284000-622f287fff
$ dmesg | grep iwl
[ 2.014622] Loading modules backported from iwlwifi
[ 2.014623] iwlwifi-stack-public:master:9340:55438a77
[ 2.073131] iwlwifi 0000:00:14.3: enabling device (0000 -> 0002)
[ 2.088226] iwlwifi 0000:00:14.3: api flags index 2 larger than supported by driver
[ 2.088243] iwlwifi 0000:00:14.3: TLV_FW_FSEQ_VERSION: FSEQ Version: 0.0.2.34
[ 2.088570] iwlwifi 0000:00:14.3: loaded firmware version 67.8f59b80b.0 so-a0-gf-a0-67.ucode op_mode iwlmvm
[ 2.238949] iwlwifi 0000:00:14.3: Detected Intel(R) Wi-Fi 6E AX211 160MHz, REV=0x370
[ 2.245368] iwlwifi 0000:00:14.3: WRT: Failed to set DRAM buffer for alloc id 1, ret=-1
[ 2.245371] iwlwifi 0000:00:14.3: WRT: Failed to set DRAM buffer for alloc id 2, ret=-1
[ 2.245372] iwlwifi 0000:00:14.3: WRT: Failed to set DRAM buffer for alloc id 3, ret=-1
[ 2.393431] iwlwifi 0000:00:14.3: Detected RF GF, rfid=0x2010d000
[ 2.394563] iwlwifi 0000:00:14.3: Microcode SW error detected. Restarting 0x0.
[ 2.394664] iwlwifi 0000:00:14.3: Start IWL Error Log Dump:
[ 2.394665] iwlwifi 0000:00:14.3: Transport status: 0x0000004A, valid: 6
[ 2.394667] iwlwifi 0000:00:14.3: Loaded firmware version: 67.8f59b80b.0 so-a0-gf-a0-67.ucode
[ 2.394668] iwlwifi 0000:00:14.3: 0x00000071 | NMI_INTERRUPT_UMAC_FATAL
[ 2.394670] iwlwifi 0000:00:14.3: 0x000002F0 | trm_hw_status0
[ 2.394671] iwlwifi 0000:00:14.3: 0x00000000 | trm_hw_status1
[ 2.394672] iwlwifi 0000:00:14.3: 0x004D9EF2 | branchlink2
[ 2.394673] iwlwifi 0000:00:14.3: 0x004D01BA | interruptlink1
[ 2.394674] iwlwifi 0000:00:14.3: 0x004D01BA | interruptlink2
[ 2.394675] iwlwifi 0000:00:14.3: 0x004D8BF2 | data1
[ 2.394676] iwlwifi 0000:00:14.3: 0x00000010 | data2
[ 2.394677] iwlwifi 0000:00:14.3: 0x00000000 | data3
[ 2.394678] iwlwifi 0000:00:14.3: 0x00000000 | beacon time
[ 2.394679] iwlwifi 0000:00:14.3: 0x0001265C | tsf low
[ 2.394680] iwlwifi 0000:00:14.3: 0x00000000 | tsf hi
[ 2.394681] iwlwifi 0000:00:14.3: 0x00000000 | time gp1
[ 2.394682] iwlwifi 0000:00:14.3: 0x00024051 | time gp2
[ 2.394683] iwlwifi 0000:00:14.3: 0x00000001 | uCode revision type
[ 2.394684] iwlwifi 0000:00:14.3: 0x00000043 | uCode version major
[ 2.394685] iwlwifi 0000:00:14.3: 0x8F59B80B | uCode version minor
[ 2.394686] iwlwifi 0000:00:14.3: 0x00000370 | hw version
[ 2.394687] iwlwifi 0000:00:14.3: 0x00C89002 | board version
[ 2.394688] iwlwifi 0000:00:14.3: 0x8007FF05 | hcmd
[ 2.394689] iwlwifi 0000:00:14.3: 0x00020000 | isr0
[ 2.394689] iwlwifi 0000:00:14.3: 0x60000000 | isr1
[ 2.394690] iwlwifi 0000:00:14.3: 0x48F00002 | isr2
[ 2.394691] iwlwifi 0000:00:14.3: 0x00C0000C | isr3
[ 2.394692] iwlwifi 0000:00:14.3: 0x00000000 | isr4
[ 2.394693] iwlwifi 0000:00:14.3: 0x00000000 | last cmd Id
[ 2.394693] iwlwifi 0000:00:14.3: 0x004D8BF2 | wait_event
[ 2.394694] iwlwifi 0000:00:14.3: 0x00000000 | l2p_control
[ 2.394695] iwlwifi 0000:00:14.3: 0x00000000 | l2p_duration
[ 2.394696] iwlwifi 0000:00:14.3: 0x00000000 | l2p_mhvalid
[ 2.394697] iwlwifi 0000:00:14.3: 0x00000000 | l2p_addr_match
[ 2.394698] iwlwifi 0000:00:14.3: 0x0000000B | lmpm_pmg_sel
[ 2.394698] iwlwifi 0000:00:14.3: 0x00000000 | timestamp
[ 2.394699] iwlwifi 0000:00:14.3: 0x00000024 | flow_handler
[ 2.394746] iwlwifi 0000:00:14.3: Start IWL Error Log Dump:
[ 2.394747] iwlwifi 0000:00:14.3: Transport status: 0x0000004A, valid: 7
[ 2.394748] iwlwifi 0000:00:14.3: 0x2010070D | ADVANCED_SYSASSERT
[ 2.394749] iwlwifi 0000:00:14.3: 0x00000000 | umac branchlink1
[ 2.394750] iwlwifi 0000:00:14.3: 0x8045E9F6 | umac branchlink2
[ 2.394751] iwlwifi 0000:00:14.3: 0x0109712A | umac interruptlink1
[ 2.394752] iwlwifi 0000:00:14.3: 0x00000000 | umac interruptlink2
[ 2.394752] iwlwifi 0000:00:14.3: 0x00000005 | umac data1
[ 2.394753] iwlwifi 0000:00:14.3: 0xDEADBEEF | umac data2
[ 2.394754] iwlwifi 0000:00:14.3: 0xDEADBEEF | umac data3
[ 2.394755] iwlwifi 0000:00:14.3: 0x00000043 | umac major
[ 2.394756] iwlwifi 0000:00:14.3: 0x8F59B80B | umac minor
[ 2.394757] iwlwifi 0000:00:14.3: 0x00024048 | frame pointer
[ 2.394757] iwlwifi 0000:00:14.3: 0xC0885E88 | stack pointer
[ 2.394758] iwlwifi 0000:00:14.3: 0x00010C00 | last host cmd
[ 2.394759] iwlwifi 0000:00:14.3: 0x00000000 | isr status reg
[ 2.394795] iwlwifi 0000:00:14.3: IML/ROM dump:
[ 2.394796] iwlwifi 0000:00:14.3: 0x00000B03 | IML/ROM error/state
[ 2.394804] iwlwifi 0000:00:14.3: 0x000071F6 | IML/ROM data1
[ 2.394812] iwlwifi 0000:00:14.3: 0x00000080 | IML/ROM WFPM_AUTH_KEY_0
[ 2.394818] iwlwifi 0000:00:14.3: Fseq Registers:
[ 2.394821] iwlwifi 0000:00:14.3: 0x20000000 | FSEQ_ERROR_CODE
[ 2.394823] iwlwifi 0000:00:14.3: 0x803E0001 | FSEQ_TOP_INIT_VERSION
[ 2.394826] iwlwifi 0000:00:14.3: 0x00190002 | FSEQ_CNVIO_INIT_VERSION
[ 2.394829] iwlwifi 0000:00:14.3: 0x0000A652 | FSEQ_OTP_VERSION
[ 2.394832] iwlwifi 0000:00:14.3: 0x00000003 | FSEQ_TOP_CONTENT_VERSION
[ 2.394835] iwlwifi 0000:00:14.3: 0x4552414E | FSEQ_ALIVE_TOKEN
[ 2.394837] iwlwifi 0000:00:14.3: 0x00080400 | FSEQ_CNVI_ID
[ 2.394840] iwlwifi 0000:00:14.3: 0x00400410 | FSEQ_CNVR_ID
[ 2.394843] iwlwifi 0000:00:14.3: 0x00080400 | CNVI_AUX_MISC_CHIP
[ 2.394848] iwlwifi 0000:00:14.3: 0x00400410 | CNVR_AUX_MISC_CHIP
[ 2.394852] iwlwifi 0000:00:14.3: 0x00009061 | CNVR_SCU_SD_REGS_SD_REG_DIG_DCDC_VTRIM
[ 2.394858] iwlwifi 0000:00:14.3: 0x00000061 | CNVR_SCU_SD_REGS_SD_REG_ACTIVE_VDIG_MIRROR
[ 2.394920] iwlwifi 0000:00:14.3: WRT: Collecting data: ini trigger 13 fired (delay=0ms).
[ 3.077528] iwlwifi 0000:00:14.3: Failed to run INIT ucode: -5
根据这个答案ubuntu 20.04 LTS 驱动程序英特尔 WI-FI 6E AX211 160MHZ
AX211 在内核 5.14 中受支持,因此遗憾的是,即使是 20.04 LTS 的 HWE 内核也不支持
那么 ubuntu 20.04 运行 AX211 wifi 模块就没希望了?还是只能等待更新?
答案1
我通过安装从以下位置下载的最新 dkms backport-iwlwifi-dkms_9858-0ubuntu2_all.deb 解决了此问题https://launchpad.net/ubuntu/+source/backport-iwlwifi-dkms
简单地
$ sudo dpkg -i backport-iwlwifi-dkms_9858-0ubuntu2_all.deb
然后重启。现在 wifi 运行正常!