5

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
Marenator
  • 101
  • Try booting into an older kernel such as 5.11 – Error404 Jan 24 '22 at 09:36
  • 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 – Champ Jan 26 '22 at 22:05
  • How did you get the error logs? I'm also struggling with the error code -5 but want to check if the rest of the logs match. – Milos Jun 14 '22 at 15:48
  • @Milos The logs come from: sudo dmesg | grep iwl If we can help, please start your own new question. – chili555 Jun 14 '22 at 15:54
  • @chili555, thanks. I started a new question: https://askubuntu.com/questions/1414286/ubuntu-20-04-wireless-disappears-randomly . – Milos Jun 16 '22 at 09:07

2 Answers2

5

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.

Marenator
  • 101
2

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
chili555
  • 60,188
  • 1
    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.

    – Marenator Jan 24 '22 at 15:45
  • 1
    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. – chili555 Jan 24 '22 at 16:58
  • Yes, I'll do that – Marenator Jan 26 '22 at 09:34