Ubuntu 20.04:由于检测到微码 SW 错误,未找到 WiFi 适配器,iwlwifi 错误代码 5

Ubuntu 20.04:由于检测到微码 SW 错误,未找到 WiFi 适配器,iwlwifi 错误代码 5

我已经在我的机器上使用 Ubuntu 20.04 有一段时间了,之前遇到过没有 Wi-Fi 适配器的问题。

但是,我的修复方法(如下所述:Ubuntu 20.04-未找到 WiFi 适配器) 不再起作用。

这似乎是一个新的错误,因为错误消息不同。我的错误代码dmesg | grep iwlwifi(请参阅下面的完整日志)显示错误代码为 -5;而我之前的问题的错误代码为 110。

有人知道如何解决这个问题吗?

我的系统:

uname -a
Linux xxx 5.13.0-27-generic #29~20.04.1-Ubuntu SMP Fri Jan 14 00:32:30 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

我的作业:

sudo lshw -class network
  *-network                 
       description: Network controller
       product: Intel Corporation
       vendor: Intel Corporation
       physical id: 0
       bus info: pci@0000:93:00.0
       version: 1a
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress msix bus_master cap_list
       configuration: driver=iwlwifi latency=0
       resources: irq:17 memory:b7200000-b7203fff
  *-network
       description: Ethernet interface
       product: Ethernet Connection (14) I219-LM
       vendor: Intel Corporation
       physical id: 1f.6
       bus info: pci@0000:00:1f.6
       logical name: enp0s31f6
       version: 11
       serial: 38:14:28:4f:b9:25
       size: 1Gbit/s
       capacity: 1Gbit/s
       width: 32 bits
       clock: 33MHz
       capabilities: pm msi bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=e1000e driverversion=5.13.0-27-generic duplex=full firmware=0.4-4 ip=10.93.100.122 latency=0 link=yes multicast=yes port=twisted pair speed=1Gbit/s
       resources: irq:170 memory:b7480000-b749ffff

我的错误日志:

[   18.293630] iwlwifi: unknown parameter 'd0i3_disable' ignored
[   18.293633] iwlwifi: unknown parameter 'lar_disable' ignored
[   18.293978] iwlwifi 0000:93:00.0: enabling device (0000 -> 0002)
[   18.322181] iwlwifi 0000:93:00.0: api flags index 2 larger than supported by driver
[   18.322227] iwlwifi 0000:93:00.0: TLV_FW_FSEQ_VERSION: FSEQ Version: 0.0.2.25
[   18.323547] iwlwifi 0000:93:00.0: loaded firmware version 63.c04f3485.0 ty-a0-gf-a0-63.ucode op_mode iwlmvm
[   18.353126] iwlwifi 0000:93:00.0: Detected Intel(R) Wi-Fi 6 AX210 160MHz, REV=0x420
[   18.514384] iwlwifi 0000:93:00.0: Microcode SW error detected. Restarting 0x0.
[   18.514487] iwlwifi 0000:93:00.0: Start IWL Error Log Dump:
[   18.514488] iwlwifi 0000:93:00.0: Status: 0x00000040, count: 6
[   18.514489] iwlwifi 0000:93:00.0: Loaded firmware version: 63.c04f3485.0 ty-a0-gf-a0-63.ucode
[   18.514491] iwlwifi 0000:93:00.0: 0x00000071 | NMI_INTERRUPT_UMAC_FATAL    
[   18.514492] iwlwifi 0000:93:00.0: 0x002002F0 | trm_hw_status0
[   18.514493] iwlwifi 0000:93:00.0: 0x00000000 | trm_hw_status1
[   18.514494] iwlwifi 0000:93:00.0: 0x004DA004 | branchlink2
[   18.514495] iwlwifi 0000:93:00.0: 0x004D07EA | interruptlink1
[   18.514495] iwlwifi 0000:93:00.0: 0x004D07EA | interruptlink2
[   18.514496] iwlwifi 0000:93:00.0: 0x004D8DEA | data1
[   18.514497] iwlwifi 0000:93:00.0: 0x00000010 | data2
[   18.514498] iwlwifi 0000:93:00.0: 0x00000000 | data3
[   18.514499] iwlwifi 0000:93:00.0: 0x00000000 | beacon time
[   18.514500] iwlwifi 0000:93:00.0: 0x00012961 | tsf low
[   18.514501] iwlwifi 0000:93:00.0: 0x00000000 | tsf hi
[   18.514502] iwlwifi 0000:93:00.0: 0x00000000 | time gp1
[   18.514502] iwlwifi 0000:93:00.0: 0x00024AAB | time gp2
[   18.514503] iwlwifi 0000:93:00.0: 0x00000001 | uCode revision type
[   18.514504] iwlwifi 0000:93:00.0: 0x0000003F | uCode version major
[   18.514505] iwlwifi 0000:93:00.0: 0xC04F3485 | uCode version minor
[   18.514506] iwlwifi 0000:93:00.0: 0x00000420 | hw version
[   18.514507] iwlwifi 0000:93:00.0: 0x18489002 | board version
[   18.514507] iwlwifi 0000:93:00.0: 0x8008FF00 | hcmd
[   18.514508] iwlwifi 0000:93:00.0: 0x00020000 | isr0
[   18.514509] iwlwifi 0000:93:00.0: 0x60000000 | isr1
[   18.514510] iwlwifi 0000:93:00.0: 0x58F00002 | isr2
[   18.514510] iwlwifi 0000:93:00.0: 0x00C0000C | isr3
[   18.514511] iwlwifi 0000:93:00.0: 0x00000000 | isr4
[   18.514512] iwlwifi 0000:93:00.0: 0x00000000 | last cmd Id
[   18.514513] iwlwifi 0000:93:00.0: 0x004D8DEA | wait_event
[   18.514514] iwlwifi 0000:93:00.0: 0x00000000 | l2p_control
[   18.514514] iwlwifi 0000:93:00.0: 0x00000000 | l2p_duration
[   18.514515] iwlwifi 0000:93:00.0: 0x00000000 | l2p_mhvalid
[   18.514516] iwlwifi 0000:93:00.0: 0x00000000 | l2p_addr_match
[   18.514517] iwlwifi 0000:93:00.0: 0x00000009 | lmpm_pmg_sel
[   18.514518] iwlwifi 0000:93:00.0: 0x00000000 | timestamp
[   18.514518] iwlwifi 0000:93:00.0: 0x00000024 | flow_handler
[   18.514591] iwlwifi 0000:93:00.0: Start IWL Error Log Dump:
[   18.514592] iwlwifi 0000:93:00.0: Status: 0x00000040, count: 7
[   18.514593] iwlwifi 0000:93:00.0: 0x2010070D | ADVANCED_SYSASSERT
[   18.514594] iwlwifi 0000:93:00.0: 0x00000000 | umac branchlink1
[   18.514595] iwlwifi 0000:93:00.0: 0x8045CF40 | umac branchlink2
[   18.514596] iwlwifi 0000:93:00.0: 0x0108E0B2 | umac interruptlink1
[   18.514597] iwlwifi 0000:93:00.0: 0x00000000 | umac interruptlink2
[   18.514597] iwlwifi 0000:93:00.0: 0x00000005 | umac data1
[   18.514598] iwlwifi 0000:93:00.0: 0xDEADBEEF | umac data2
[   18.514599] iwlwifi 0000:93:00.0: 0xDEADBEEF | umac data3
[   18.514600] iwlwifi 0000:93:00.0: 0x0000003F | umac major
[   18.514601] iwlwifi 0000:93:00.0: 0xC04F3485 | umac minor
[   18.514601] iwlwifi 0000:93:00.0: 0x00024AA4 | frame pointer
[   18.514602] iwlwifi 0000:93:00.0: 0xC0885E90 | stack pointer
[   18.514603] iwlwifi 0000:93:00.0: 0x00010C00 | last host cmd
[   18.514604] iwlwifi 0000:93:00.0: 0x00000000 | isr status reg
[   18.514659] iwlwifi 0000:93:00.0: IML/ROM dump:
[   18.514660] iwlwifi 0000:93:00.0: 0x00000B03 | IML/ROM error/state
[   18.514671] iwlwifi 0000:93:00.0: 0x00007837 | IML/ROM data1
[   18.514681] iwlwifi 0000:93:00.0: 0x00000080 | IML/ROM WFPM_AUTH_KEY_0
[   18.514688] iwlwifi 0000:93:00.0: Fseq Registers:
[   18.514691] iwlwifi 0000:93:00.0: 0x60000000 | FSEQ_ERROR_CODE
[   18.514698] iwlwifi 0000:93:00.0: 0x80440002 | FSEQ_TOP_INIT_VERSION
[   18.514705] iwlwifi 0000:93:00.0: 0x00080009 | FSEQ_CNVIO_INIT_VERSION
[   18.514712] iwlwifi 0000:93:00.0: 0x0000A652 | FSEQ_OTP_VERSION
[   18.514718] iwlwifi 0000:93:00.0: 0x00000002 | FSEQ_TOP_CONTENT_VERSION
[   18.514725] iwlwifi 0000:93:00.0: 0x4552414E | FSEQ_ALIVE_TOKEN
[   18.514729] iwlwifi 0000:93:00.0: 0x00400410 | FSEQ_CNVI_ID
[   18.514735] iwlwifi 0000:93:00.0: 0x00400410 | FSEQ_CNVR_ID
[   18.514739] iwlwifi 0000:93:00.0: 0x00400410 | CNVI_AUX_MISC_CHIP
[   18.514745] iwlwifi 0000:93:00.0: 0x00400410 | CNVR_AUX_MISC_CHIP
[   18.514751] iwlwifi 0000:93:00.0: 0x00009061 | CNVR_SCU_SD_REGS_SD_REG_DIG_DCDC_VTRIM
[   18.514758] iwlwifi 0000:93:00.0: 0x00000061 | CNVR_SCU_SD_REGS_SD_REG_ACTIVE_VDIG_MIRROR
[   18.514768] iwlwifi 0000:93:00.0: WRT: Collecting data: ini trigger 13 fired (delay=0ms).
[   19.435227] iwlwifi 0000:93:00.0: Failed to run INIT ucode: -5

答案1

我找到了该问题的解决方案。正如@chili555 提到的,我的 63 版 iwlwifi 似乎已损坏 - 因此出现以下日志消息:

[   18.514384] iwlwifi 0000:93:00.0: Microcode SW error detected. Restarting 0x0.

根据此线程:https://bugs.launchpad.net/ubuntu/+source/linux-firmware/+bug/1948685,我发现了一个简单的技巧,可以强制我的系统使用最旧的版本,在我的情况下是 59 版本(没有损坏),通过执​​行以下命令:

  1. cd /lib/firmware
  2. sudo mv iwlwifi-ty-a0-gf-a0-63.ucode iwlwifi-ty-a0-gf-a0-63.ucode.b
  3. reboot

现在,当我重新启动时,59 版本的 iwlwifi 已被加载,并且我得到了我的 wifi 适配器。

更好的解决方案可能是遵循@chili555的建议,并更新 62 和 63 版本。但我很高兴它能正常工作并继续使用它。

答案2

在您的 dmesg 中,我们注意到:

iwlwifi:忽略未知参数“d0i3_disable” iwlwifi:忽略未知参数“lar_disable”

我怀疑您已将这些参数添加到文件中/etc/modprobe.d/iwlwifi.conf。通常,不需要添加驱动程序参数。就您而言,这些参数应用不当。请编辑文件并将其恢复为默认值:

# /etc/modprobe.d/iwlwifi.conf
# iwlwifi will dyamically load either iwldvm or iwlmvm depending on the
# microcode file installed on the system.  When removing iwlwifi, first
# remove the iwl?vm module and then iwlwifi.
remove iwlwifi \
(/sbin/lsmod | grep -o -e ^iwlmvm -e ^iwldvm -e ^iwlwifi | xargs /sbin/rmmod) \
&& /sbin/modprobe -r mac80211

我注意到有更高版本的固件可用。我还怀疑您的 -63 版本可能已损坏。让我们下载新副本。

通过以太网、网络共享或任何可能的方式建立有效的互联网连接,打开终端并执行以下操作:

cd /usr/lib/firmware/
sudo wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/iwlwifi-ty-a0-gf-a0-63.ucode
sudo wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/iwlwifi-ty-a0-gf-a0-66.ucode
sudo mv iwlwifi-ty-a0-gf-a0.pnvm iwlwifi-ty-a0-gf-a0.bak

重新启动并显示:

sudo dmesg | grep iwl

相关内容