0

After a fresh installation of Ubuntu 22.04 I'm not able to use my wifi. The card is the intel Wi-Fi 6 AX200.

During installation I had no trouble using the card downloading updates. After the installation I can't use wifi.

I use a dual boot with Windows 11.

I tried to fix it with sudo apt install backport-iwlwifi-dkms. After rebooting there was no change.

After that I installed the official firmware from Intel for this card by unzipping the ucode file and transferred it to /lib/firmware. After a reboot it worked.

a few hours later I started into win11 where I got a prompt regarding some firmware files that where tried to install. After googling the name it was about the mentioned network card (before I never saw this and didn't have issues in win11 with the card). After that I just forced closing the window and never saw this dialog again (I didn't know what to do and I also don't know if there is a correlation, but I wanted to mentioned it)

After my next boot to Ubuntu the network drivers where gone in terms of I couldn't use wifi so I reproduced the initial fix, but I had no luck.

$ lshw -k
Kernel driver in use: pcieport
07:00.0 Network controller: Intel Corporation Wi-Fi 6 AX200 (rev 1a)
    Subsystem: Intel Corporation Wi-Fi 6 AX200NGW
    Kernel modules: iwlwifi
09:00.0 Ethernet controller: Intel Corporation I211 Gigabit Network Connection (rev 03)
    Subsystem: ASRock Incorporation I211 Gigabit Network Connection
    Kernel driver in use: igb
    Kernel modules: igb
$ rfkill list
0: hci0: Bluetooth
    Soft blocked: no
    Hard blocked: no
$ dmesg | grep iwl
[    3.712065] iwlwifi 0000:07:00.0: enabling device (0000 -> 0002)
[    3.747228] iwlwifi 0000:07:00.0: CSR_RESET = 0x10
[    3.747238] iwlwifi 0000:07:00.0: Host monitor block 0x0 vector 0x0
[    3.747247] iwlwifi 0000:07:00.0:     value [iter 0]: 0x3f7f0430
[    3.747255] iwlwifi 0000:07:00.0:     value [iter 1]: 0x3f7f0c30
[    3.747263] iwlwifi 0000:07:00.0:     value [iter 2]: 0x3f7f8830
[    3.747271] iwlwifi 0000:07:00.0:     value [iter 3]: 0x3f7f0030
[    3.747278] iwlwifi 0000:07:00.0:     value [iter 4]: 0x3f7f0430
[    3.747286] iwlwifi 0000:07:00.0:     value [iter 5]: 0x3f7f8430
[    3.747294] iwlwifi 0000:07:00.0:     value [iter 6]: 0x3f7f8030
[    3.747302] iwlwifi 0000:07:00.0:     value [iter 7]: 0x3f7f0030
[    3.747309] iwlwifi 0000:07:00.0:     value [iter 8]: 0x3f7f0c30
[    3.747317] iwlwifi 0000:07:00.0:     value [iter 9]: 0x3f7f0c30
[    3.747325] iwlwifi 0000:07:00.0:     value [iter 10]: 0x3f7f0030
[    3.747332] iwlwifi 0000:07:00.0:     value [iter 11]: 0x3f7f0030
[    3.747340] iwlwifi 0000:07:00.0:     value [iter 12]: 0x3f7f8430
[    3.747348] iwlwifi 0000:07:00.0:     value [iter 13]: 0x3f7f8430
[    3.747356] iwlwifi 0000:07:00.0:     value [iter 14]: 0x3f7f8030
[    3.747361] iwlwifi 0000:07:00.0: Host monitor block 0x0 vector 0x1
[    3.747369] iwlwifi 0000:07:00.0:     value [iter 0]: 0x044466c2
[    3.747377] iwlwifi 0000:07:00.0:     value [iter 1]: 0x044466c2
[    3.747385] iwlwifi 0000:07:00.0:     value [iter 2]: 0x044466c2
[    3.747392] iwlwifi 0000:07:00.0:     value [iter 3]: 0x044466c2
[    3.747400] iwlwifi 0000:07:00.0:     value [iter 4]: 0x044466c2
[    3.747408] iwlwifi 0000:07:00.0:     value [iter 5]: 0x044466c2
[    3.747416] iwlwifi 0000:07:00.0:     value [iter 6]: 0x044466c2
[    3.747423] iwlwifi 0000:07:00.0:     value [iter 7]: 0x044466c2
[    3.747431] iwlwifi 0000:07:00.0:     value [iter 8]: 0x044466c2
[    3.747438] iwlwifi 0000:07:00.0:     value [iter 9]: 0x044466c2
[    3.747446] iwlwifi 0000:07:00.0:     value [iter 10]: 0x044466c2
[    3.747454] iwlwifi 0000:07:00.0:     value [iter 11]: 0x044466c2
[    3.747461] iwlwifi 0000:07:00.0:     value [iter 12]: 0x044466c2
[    3.747469] iwlwifi 0000:07:00.0:     value [iter 13]: 0x044466c2
[    3.747477] iwlwifi 0000:07:00.0:     value [iter 14]: 0x044466c2
[    3.747482] iwlwifi 0000:07:00.0: Host monitor block 0x0 vector 0x6
[    3.747490] iwlwifi 0000:07:00.0:     value [iter 0]: 0xb00c4471
[    3.747498] iwlwifi 0000:07:00.0:     value [iter 1]: 0xf00c4471
[    3.747506] iwlwifi 0000:07:00.0:     value [iter 2]: 0xe00c4471
[    3.747513] iwlwifi 0000:07:00.0:     value [iter 3]: 0xe00c4471
[    3.747521] iwlwifi 0000:07:00.0:     value [iter 4]: 0xf00c4471
[    3.747529] iwlwifi 0000:07:00.0:     value [iter 5]: 0xb00c4471
[    3.747536] iwlwifi 0000:07:00.0:     value [iter 6]: 0xa00c4471
[    3.747544] iwlwifi 0000:07:00.0:     value [iter 7]: 0xe00c4471
[    3.747551] iwlwifi 0000:07:00.0:     value [iter 8]: 0xb00c4471
[    3.747559] iwlwifi 0000:07:00.0:     value [iter 9]: 0xb00c4471
[    3.747567] iwlwifi 0000:07:00.0:     value [iter 10]: 0xe00c4471
[    3.747574] iwlwifi 0000:07:00.0:     value [iter 11]: 0xe00c4471
[    3.747582] iwlwifi 0000:07:00.0:     value [iter 12]: 0xf00c4471
[    3.747590] iwlwifi 0000:07:00.0:     value [iter 13]: 0xb00c4471
[    3.747598] iwlwifi 0000:07:00.0:     value [iter 14]: 0xa00c4471
[    3.747603] iwlwifi 0000:07:00.0: Host monitor block 0x22 vector 0x0
[    3.747611] iwlwifi 0000:07:00.0:     value [iter 0]: 0x00000000
[    3.747829] iwlwifi: probe of 0000:07:00.0 failed with error -110
karel
  • 122,292
  • 133
  • 301
  • 332

1 Answers1

0

Allow me to share how I fixed this. Regardless of the root cause, [ 3.747829] iwlwifi: probe of 0000:07:00.0 failed with error -110 generally means the driver failed to init. To get a driver that works on your system

1.) $ sudo dmesg | grep iwlwifi Will show you which driver is attempted to be loaded.

Something like [ 3.109344] iwlwifi 0000:00:14.3: loaded firmware version 68.01d30b0c.0 QuZ-a0-hr-b0-71.ucode op_mode iwlmvm

2.) note the driver version number (in the above case it's 71)

3.) now in the directory /lib/firmware search (using find or fd or whatever) for all files that start with iwlwifi-QuZ-a0-hr-b0-*. Your system keeps many versions of the driver designed for your wifi card, probably indicated by this portion QuZ-a0-hr-b0-.

4.) Progressively try the previous versions of your driver. For example if the driver that you see failing to load in dmesg is QuZ-a0-hr-b0-71, then do $ cp iwlwifi-QuZ-a0-hr-b0-71 backup_iwlwifi-QuZ-a0-hr-b0-71
and either $ sudo modprobe -r iwlwifi; $ sudo modprobe iwlwifi or reboot to make the new driver take effect.

You can view what driver loads from that dmesg command: $ sudo dmesg | grep iwlwifi

and keep doing this until you reach a iwlwifi-QuZ-a0-hr-b0- that works for you. In my case I had to eliminate all of these:

[    3.096222] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-77.ucode failed with error -2
[    3.096379] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-76.ucode failed with error -2
[    3.096454] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-75.ucode failed with error -2
[    3.096935] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-74.ucode failed with error -2
[    3.096970] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-73.ucode failed with error -2
[    3.097172] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-72.ucode failed with error -2
[    3.097212] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-71.ucode failed with error -2
[    3.097458] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-70.ucode failed with error -2
[    3.097916] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-69.ucode failed with error -2

That's my dmesg log showing that my kernal is looking for these drivers that I've deleted (I've recommended above that you rename them, but it has the same effect). Until it finally finds one that works:

[    3.109344] iwlwifi 0000:00:14.3: loaded firmware version 68.01d30b0c.0 QuZ-a0-hr-b0-68.ucode op_mode iwlmvm

So you can see I had to go back quite a few versions in order to reach one that works.

(I discovered this by booting from a live usb with the same major version as my ubuntu system with the broken wifi and noted what driver was working from dmesg)

It saved me having to do anything drastic