Score:3

Ubuntu 20.04: No WiFi Adapter found due to Microcode SW error detected, iwlwifi error code 5

vn flag

I've been using Ubuntu 20.04 on my machine for a while now, and I've had the issue with no Wi-Fi Adapter before.

However, my go-to-fix (which is described here: Ubuntu 20.04 - No WiFi adapter found) no longer works.

It seems like this is a new bug, since the error messages are different. My error code from dmesg | grep iwlwifi (see below for full log) shows an error code of -5; whereas my previous issue had an error code of 110.

Any one got any ideas on how to solve this?

My system:

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

My HW:

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

My error logs:

[   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
Someone avatar
my flag
Try booting into an older kernel such as 5.11
cn flag
On my 18.04.6, I upgraded the kernel to 5.13.19 and copied the driver from Intel website to /lib/firmware. It worked like a charm after that. Refer here for detail: https://askubuntu.com/a/1389475/66677
Score:4
vn flag

I found a solution to the issue. As @chili555 mentions, it seems like my 63 version of iwlwifi is corrupt - hence the log message:

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

Based on this thread: https://bugs.launchpad.net/ubuntu/+source/linux-firmware/+bug/1948685, I found a simple trick to force my system to use the oldest version, the 59 version in my case (which isn't corrupted), by doing these commands:

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

Now when I rebooted, the 59 version of iwlwifi was loaded, and I got my wifi adapter.

The better solution is probably to follow @chili555's advice, and update the 62 and 63 versions. But I was just happy to get it working and got on with it.

Score:1
cn flag

In your dmesg, we notice:

iwlwifi: unknown parameter 'd0i3_disable' ignored iwlwifi: unknown parameter 'lar_disable' ignored

I suspect that you have added these parameters to the file /etc/modprobe.d/iwlwifi.conf. Generally, the addition of driver parameters is not needed. In your case, they are mis-applied. Please edit the file and return it to its default:

# /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

I notice that there is a later version of the firmware is available. I also suspect that your -63 version may be corrupted. Let's download fresh copies.

With a working internet connection by ethernet, tethering or whatever means possible, open a terminal and do:

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

Reboot and show us:

sudo dmesg | grep iwl
Marenator avatar
vn flag
Hi, thanks for the quick reply! Yes, I had tried another solution to fix the issue - that's the reasons for the 'unknown parameter ...' error logs. I actually found a solution to the issue, by forcing my system to use the oldest version (which isn't corrupted) by doing these cmds: (1) `cd /lib/firmware`, (2) `sudo mv iwlwifi-ty-a0-gf-a0-63.ucode iwlwifi-ty-a0-gf-a0-63.ucode.b` (3) `reboot` This did the trick. I'm sure the solution to get the new versions for the 63 version would also work.
chili555 avatar
cn flag
If you write this as an answer, I'm sure that the searchers with the same problem will appreciate it. I will upvote yor answer.
Marenator avatar
vn flag
Yes, I'll do that
mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.