Intel Comet Lake PCH-LP CNVi WiFi driver: N/A

Linux fedora 6.0.7-301.fc37.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Nov 4 18:35:48 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

I’m trying to get wifi working on an Asus laptop.

When booted in Windows, the wifi works correctly.

Why is the driver listed as N/A here (other programs seem to know the driver is iwlwifi)?

[john@fedora ~]$ inxi -Nxx
Network:
  Device-1: Intel Comet Lake PCH-LP CNVi WiFi driver: N/A bus-ID: 00:14.3
    chip-ID: 8086:02f0
  Device-2: Realtek RTL8153 Gigabit Ethernet Adapter type: USB
    driver: r8152 bus-ID: 2-1:4 chip-ID: 0bda:8153

The failure shown at the end of this dmesg extract is probably relevant, but doesn’t answer it for me:

[john@fedora ~]$ dmesg | grep -i iwlwifi
[   11.511235] iwlwifi 0000:00:14.3: enabling device (0000 -> 0002)
[   11.596126] iwlwifi 0000:00:14.3: CSR_RESET = 0x10
[   11.596140] iwlwifi 0000:00:14.3: Host monitor block 0x0 vector 0x0
[   11.596159] iwlwifi 0000:00:14.3:     value [iter 0]: 0x3f1d0430
[   11.596183] iwlwifi 0000:00:14.3:     value [iter 1]: 0x3f1d0030
[   11.596206] iwlwifi 0000:00:14.3:     value [iter 2]: 0x3f1d0030
[   11.596209] iwlwifi 0000:00:14.3:     value [iter 3]: 0x3f1d0030
[   11.596211] iwlwifi 0000:00:14.3:     value [iter 4]: 0x3f1d0030
[   11.596214] iwlwifi 0000:00:14.3:     value [iter 5]: 0x3f1d0030
[   11.596217] iwlwifi 0000:00:14.3:     value [iter 6]: 0x3f1d0030
[   11.596219] iwlwifi 0000:00:14.3:     value [iter 7]: 0x3f1d0430
[   11.596222] iwlwifi 0000:00:14.3:     value [iter 8]: 0x3f1d0430
[   11.596224] iwlwifi 0000:00:14.3:     value [iter 9]: 0x3f1d0430
[   11.596227] iwlwifi 0000:00:14.3:     value [iter 10]: 0x3f1d0430
[   11.596248] iwlwifi 0000:00:14.3:     value [iter 11]: 0x3f1d0030
[   11.596251] iwlwifi 0000:00:14.3:     value [iter 12]: 0x3f1d0430
[   11.596254] iwlwifi 0000:00:14.3:     value [iter 13]: 0x3f1d0430
[   11.596256] iwlwifi 0000:00:14.3:     value [iter 14]: 0x3f1d0430
[   11.596258] iwlwifi 0000:00:14.3: Host monitor block 0x0 vector 0x1
[   11.596278] iwlwifi 0000:00:14.3:     value [iter 0]: 0x040066c2
[   11.596281] iwlwifi 0000:00:14.3:     value [iter 1]: 0x040066c2
[   11.596283] iwlwifi 0000:00:14.3:     value [iter 2]: 0x040066c2
[   11.596286] iwlwifi 0000:00:14.3:     value [iter 3]: 0x040066c2
[   11.596289] iwlwifi 0000:00:14.3:     value [iter 4]: 0x040066c2
[   11.596291] iwlwifi 0000:00:14.3:     value [iter 5]: 0x040066c2
[   11.596294] iwlwifi 0000:00:14.3:     value [iter 6]: 0x040066c2
[   11.596297] iwlwifi 0000:00:14.3:     value [iter 7]: 0x040066c2
[   11.596299] iwlwifi 0000:00:14.3:     value [iter 8]: 0x040066c2
[   11.596302] iwlwifi 0000:00:14.3:     value [iter 9]: 0x040066c2
[   11.596304] iwlwifi 0000:00:14.3:     value [iter 10]: 0x040066c2
[   11.596307] iwlwifi 0000:00:14.3:     value [iter 11]: 0x040066c2
[   11.596310] iwlwifi 0000:00:14.3:     value [iter 12]: 0x040066c2
[   11.596312] iwlwifi 0000:00:14.3:     value [iter 13]: 0x040066c2
[   11.596315] iwlwifi 0000:00:14.3:     value [iter 14]: 0x040066c2
[   11.596317] iwlwifi 0000:00:14.3: Host monitor block 0x0 vector 0x6
[   11.596337] iwlwifi 0000:00:14.3:     value [iter 0]: 0xa00c7c75
[   11.596340] iwlwifi 0000:00:14.3:     value [iter 1]: 0xa00c7c75
[   11.596342] iwlwifi 0000:00:14.3:     value [iter 2]: 0xb00c7c75
[   11.596345] iwlwifi 0000:00:14.3:     value [iter 3]: 0xb00c7c75
[   11.596347] iwlwifi 0000:00:14.3:     value [iter 4]: 0xb00c7c75
[   11.596350] iwlwifi 0000:00:14.3:     value [iter 5]: 0xf00c7c75
[   11.596353] iwlwifi 0000:00:14.3:     value [iter 6]: 0xf00c7c75
[   11.596355] iwlwifi 0000:00:14.3:     value [iter 7]: 0xf00c7c75
[   11.596358] iwlwifi 0000:00:14.3:     value [iter 8]: 0xa00c7c75
[   11.596360] iwlwifi 0000:00:14.3:     value [iter 9]: 0xa00c7c75
[   11.596363] iwlwifi 0000:00:14.3:     value [iter 10]: 0xa00c7c75
[   11.596366] iwlwifi 0000:00:14.3:     value [iter 11]: 0xa00c7c75
[   11.596368] iwlwifi 0000:00:14.3:     value [iter 12]: 0xa00c7c75
[   11.596371] iwlwifi 0000:00:14.3:     value [iter 13]: 0xb00c7c75
[   11.596374] iwlwifi 0000:00:14.3:     value [iter 14]: 0xb00c7c75
[   11.596375] iwlwifi 0000:00:14.3: Host monitor block 0x22 vector 0x0
[   11.596395] iwlwifi 0000:00:14.3:     value [iter 0]: 0x31cec019
[   11.596489] iwlwifi: probe of 0000:00:14.3 failed with error -110

But the driver is loaded anyway:

[john@fedora ~]$ lsmod | grep wifi
iwlwifi               413696  0
cfg80211             1097728  1 iwlwifi

I uploaded the full hardware info, in case any other aspect of the hardware is relevant:
https://linux-hardware.org/?probe=5b18e83e0d

The extract from lspci of just this wifi device is:

00:14.3 Network controller: Intel Corporation Comet Lake PCH-LP CNVi WiFi
        DeviceName: WLAN
        Subsystem: Intel Corporation Wi-Fi 6 AX201 160MHz
        Flags: fast devsel, IRQ 16
        Memory at c42a4000 (64-bit, non-prefetchable) [size=16K]
        Capabilities: [c8] Power Management version 3
        Capabilities: [d0] MSI: Enable- Count=1/1 Maskable- 64bit+
        Capabilities: [40] Express Root Complex Integrated Endpoint, MSI 00
        Capabilities: [80] MSI-X: Enable- Count=16 Masked-
        Capabilities: [100] Latency Tolerance Reporting
        Capabilities: [164] Vendor Specific Information: ID=0010 Rev=0 Len=014 <?>
        Kernel modules: iwlwifi

More programs looking at the same issue:

[john@fedora ~]$ rfkill list all
0: asus-wlan: Wireless LAN
        Soft blocked: no
        Hard blocked: no
1: asus-bluetooth: Bluetooth
        Soft blocked: no
        Hard blocked: no
2: hci0: Bluetooth
        Soft blocked: no
        Hard blocked: no

[john@fedora ~]$ nmcli device wifi rescan
Error: No Wi-Fi device found.
[john@fedora ~]$ nmcli d show
GENERAL.DEVICE:                         enp0s20f0u1
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         0C:37:96:16:33:FB
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (connected)
GENERAL.CONNECTION:                     Wired connection 1
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/1
WIRED-PROPERTIES.CARRIER:               on
IP4.ADDRESS[1]:                         192.168.1.174/24
IP4.GATEWAY:                            192.168.1.1
IP4.ROUTE[1]:                           dst = 192.168.1.0/24, nh = 0.0.0.0, mt = 100
IP4.ROUTE[2]:                           dst = 0.0.0.0/0, nh = 192.168.1.1, mt = 100
IP4.DNS[1]:                             192.168.1.1
IP4.DOMAIN[1]:                          ...
IP6.ADDRESS[1]:                         ...
IP6.ADDRESS[2]:                         ...
IP6.GATEWAY:                            ...
IP6.ROUTE[1]:                           ...
IP6.ROUTE[2]:                           ...
IP6.ROUTE[3]:                           ...
IP6.ROUTE[4]:                           ...
IP6.DNS[1]:                             ...

GENERAL.DEVICE:                         lo
GENERAL.TYPE:                           loopback
GENERAL.HWADDR:                         00:00:00:00:00:00
GENERAL.MTU:                            65536
GENERAL.STATE:                          10 (unmanaged)
GENERAL.CONNECTION:                     --
GENERAL.CON-PATH:                       --
IP4.ADDRESS[1]:                         127.0.0.1/8
IP4.GATEWAY:                            --
IP6.ADDRESS[1]:                         ::1/128
IP6.GATEWAY:                            --
IP6.ROUTE[1]:                           dst = ::1/128, nh = ::, mt = 256

You should scan your system with Linux-Hardware.org’s hw-probe. This will check for your hardware in the community-supported database. Intel
has Linux Support for Intel Wireless Adapters. You may need to get firmware directly from Intel. If your wifi hardware is socketed, you may want to consider updating to a more recent Intel chip.

I had done that and I had posted the link to having done that in my original post.

The page that links to contains a link to this page about the specific wifi device:
https://linux-hardware.org/?id=pci:8086-02f0-8086-0074&page=1#status

But from there, I don’t know what information I can derive (other than it is working for many people and failing for others).

I had looked there and could not understand the correspondence between that and the device I have. I guess I should study that more carefully.

I assume I could not do that for this laptop. But if I could, I wouldn’t.

What is the output of ip address show and ip route show?

Everything you have posted is only part of the picture since you do not show the actual config of that device even though it shows as identified and the iwlwifi driver is loaded. Rfkill seems to see it,

Some intel chipsets may not be supported with the version of the iwlwifi driver installed and loading. Thus we need to know exactly what firmware is installed and what version of the iwlwifi driver is installed.

The chip ID chip-ID: 8086:02f0 can be used to identify the specific driver and firmware needed .
The firmware installed can be seen with dnf list installed *firmware* | grep iwl

The driver must match the kernel.
Related entries in the logs can likely be seen with journalctl -b 0 | grep iwl. Please post that for us.

Also try lsmod | grep iwl to see if additional related modules may be loaded.

Thanks. The key takeaway from that appears to be no suitable firmware found!

Nov 23 13:10:30 fedora kernel: iwlwifi 0000:00:14.3: enabling device (0000 -> 0002)
Nov 23 13:10:30 fedora kernel: iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-72.ucode failed with error -2
Nov 23 13:10:30 fedora kernel: iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-71.ucode failed with error -2
Nov 23 13:10:30 fedora kernel: iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-70.ucode failed with error -2
Nov 23 13:10:30 fedora kernel: iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-69.ucode failed with error -2
Nov 23 13:10:30 fedora kernel: iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-68.ucode failed with error -2
Nov 23 13:10:30 fedora kernel: iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-67.ucode failed with error -2
Nov 23 13:10:30 fedora kernel: iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-66.ucode failed with error -2
Nov 23 13:10:30 fedora kernel: iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-65.ucode failed with error -2
Nov 23 13:10:30 fedora kernel: iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-64.ucode failed with error -2
Nov 23 13:10:30 fedora kernel: iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-63.ucode failed with error -2
Nov 23 13:10:30 fedora kernel: iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-62.ucode failed with error -2
Nov 23 13:10:30 fedora kernel: iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-61.ucode failed with error -2
Nov 23 13:10:30 fedora kernel: iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-60.ucode failed with error -2
Nov 23 13:10:30 fedora kernel: iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-59.ucode failed with error -2
Nov 23 13:10:30 fedora kernel: iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-58.ucode failed with error -2
Nov 23 13:10:30 fedora kernel: iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-57.ucode failed with error -2
Nov 23 13:10:30 fedora kernel: iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-56.ucode failed with error -2
Nov 23 13:10:30 fedora kernel: iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-55.ucode failed with error -2
Nov 23 13:10:30 fedora kernel: iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-54.ucode failed with error -2
Nov 23 13:10:30 fedora kernel: iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-53.ucode failed with error -2
Nov 23 13:10:30 fedora kernel: iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-52.ucode failed with error -2
Nov 23 13:10:30 fedora kernel: iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-51.ucode failed with error -2
Nov 23 13:10:30 fedora kernel: iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-50.ucode failed with error -2
Nov 23 13:10:30 fedora kernel: iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-49.ucode failed with error -2
Nov 23 13:10:30 fedora kernel: iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-48.ucode failed with error -2
Nov 23 13:10:30 fedora kernel: iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-47.ucode failed with error -2
Nov 23 13:10:30 fedora kernel: iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-46.ucode failed with error -2
Nov 23 13:10:30 fedora kernel: iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-45.ucode failed with error -2
Nov 23 13:10:30 fedora kernel: iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-44.ucode failed with error -2
Nov 23 13:10:30 fedora kernel: iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-43.ucode failed with error -2
Nov 23 13:10:30 fedora kernel: iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-42.ucode failed with error -2
Nov 23 13:10:30 fedora kernel: iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-41.ucode failed with error -2
Nov 23 13:10:30 fedora kernel: iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-40.ucode failed with error -2
Nov 23 13:10:30 fedora kernel: iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-hr-b0-39.ucode failed with error -2
Nov 23 13:10:30 fedora kernel: iwlwifi 0000:00:14.3: no suitable firmware found!
Nov 23 13:10:30 fedora kernel: iwlwifi 0000:00:14.3: minimum version required: iwlwifi-QuZ-a0-hr-b0-39
Nov 23 13:10:30 fedora kernel: iwlwifi 0000:00:14.3: maximum version supported: iwlwifi-QuZ-a0-hr-b0-72
Nov 23 13:10:30 fedora kernel: iwlwifi 0000:00:14.3: check git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git

How!?

I don’t see anything in any of the firmware lists that I can see as corresponding to 8086:02f0

How do I translate that to a firmware name?

If I leave the USB wired network connected, those show info about that. If I disconnect that USB device:

>ip address show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
> ip route show
>

Do you mean this? What should I pay attention to in that large output?

[john@fedora ~]$ sudo modinfo iwlwifi
filename:       /lib/modules/6.0.7-301.fc37.x86_64/kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko.xz
license:        GPL
description:    Intel(R) Wireless WiFi driver for Linux
firmware:       iwlwifi-100-5.ucode
firmware:       iwlwifi-1000-5.ucode
firmware:       iwlwifi-135-6.ucode
firmware:       iwlwifi-105-6.ucode
firmware:       iwlwifi-2030-6.ucode
firmware:       iwlwifi-2000-6.ucode
firmware:       iwlwifi-5150-2.ucode
firmware:       iwlwifi-5000-5.ucode
firmware:       iwlwifi-6000g2b-6.ucode
firmware:       iwlwifi-6000g2a-6.ucode
firmware:       iwlwifi-6050-5.ucode
firmware:       iwlwifi-6000-6.ucode
firmware:       iwlwifi-7265D-29.ucode
firmware:       iwlwifi-7265-17.ucode
firmware:       iwlwifi-3168-29.ucode
firmware:       iwlwifi-3160-17.ucode
firmware:       iwlwifi-7260-17.ucode
firmware:       iwlwifi-8265-36.ucode
firmware:       iwlwifi-8000C-36.ucode
firmware:       iwlwifi-9260-th-b0-jf-b0-46.ucode
firmware:       iwlwifi-9000-pu-b0-jf-b0-46.ucode
firmware:       iwlwifi-BzBnj-a0-hr-b0-72.ucode
firmware:       iwlwifi-BzBnj-a0-gf4-a0-72.ucode
firmware:       iwlwifi-BzBnj-a0-gf-a0-72.ucode
firmware:       iwlwifi-BzBnj-a0-fm4-a0-72.ucode
firmware:       iwlwifi-BzBnj-a0-fm-a0-72.ucode
firmware:       iwlwifi-gl-a0-fm-a0-72.ucode
firmware:       iwlwifi-bz-a0-fm-a0-72.ucode
firmware:       iwlwifi-bz-a0-mr-a0-72.ucode
firmware:       iwlwifi-bz-a0-gf4-a0-72.ucode
firmware:       iwlwifi-bz-a0-gf-a0-72.ucode
firmware:       iwlwifi-bz-a0-hr-b0-72.ucode
firmware:       iwlwifi-SoSnj-a0-mr-a0-72.ucode
firmware:       iwlwifi-ma-a0-fm-a0-72.ucode
firmware:       iwlwifi-ma-a0-mr-a0-72.ucode
firmware:       iwlwifi-ma-a0-gf4-a0-72.ucode
firmware:       iwlwifi-ma-a0-gf-a0-72.ucode
firmware:       iwlwifi-ma-a0-hr-b0-72.ucode
firmware:       iwlwifi-SoSnj-a0-jf-b0-72.ucode
firmware:       iwlwifi-SoSnj-a0-hr-b0-72.ucode
firmware:       iwlwifi-SoSnj-a0-gf-a0-72.ucode
firmware:       iwlwifi-SoSnj-a0-gf4-a0-72.ucode
firmware:       iwlwifi-ty-a0-gf-a0-72.ucode
firmware:       iwlwifi-so-a0-gf-a0-72.ucode
firmware:       iwlwifi-so-a0-hr-b0-72.ucode
firmware:       iwlwifi-so-a0-jf-b0-72.ucode
firmware:       iwlwifi-cc-a0-72.ucode
firmware:       iwlwifi-QuQnj-b0-jf-b0-72.ucode
firmware:       iwlwifi-QuZ-a0-jf-b0-72.ucode
firmware:       iwlwifi-QuZ-a0-hr-b0-72.ucode
firmware:       iwlwifi-Qu-b0-jf-b0-72.ucode
firmware:       iwlwifi-Qu-c0-hr-b0-72.ucode
firmware:       iwlwifi-QuQnj-b0-hr-b0-72.ucode
firmware:       iwlwifi-Qu-b0-hr-b0-72.ucode
alias:          pci:v00008086d00007740sv*sd*bc*sc*i*
... LOTS more like that ...
alias:          pci:v00008086d00004232sv*sd00001201bc*sc*i*
depends:        cfg80211
retpoline:      Y
intree:         Y
name:           iwlwifi
vermagic:       6.0.7-301.fc37.x86_64 SMP preempt mod_unload 
sig_id:         PKCS#7
signer:         Fedora kernel signing key
sig_key:        36:D6:5C:AB:1C:52:F5:1C:CB:D6:B6:59:D6:37:B8:BA:EC:90:78:4F
sig_hashalgo:   sha256
signature:      34:90:36:3B:8C:05:F5:4A:6C:29:64:C5:85:9E:75:0C:84:9C:BC:DB:
                13:48:A0:60:E1:70:59:11:A0:67:A3:80:43:F9:F7:6B:EA:99:18:06:
                2E:23:D3:F9:BD:E7:F9:78:84:CF:83:AD:F0:30:69:3C:5B:55:CC:DD:
                9D:EE:57:4B:42:B2:65:50:DB:FD:F0:9A:3E:B4:86:36:F6:11:B3:E4:
                2E:B2:ED:9E:CB:A5:70:21:B8:5E:A0:12:C1:F0:13:98:D4:99:0F:0E:
                D6:3A:FF:32:CC:34:26:56:70:0C:CD:CB:FB:4A:28:F0:51:F0:63:06:
                26:81:F3:33:FB:4E:34:C4:95:49:B0:DA:1C:81:B4:18:C2:17:A1:A8:
                5D:97:8E:50:8E:24:02:55:45:25:A8:91:11:E3:72:C3:DE:C7:09:C6:
                58:1A:9F:EF:D5:14:55:B4:4B:C7:BF:83:19:F7:36:59:51:DD:0D:BB:
                B7:C4:49:50:2C:D5:F3:04:C1:6C:57:A6:A6:58:DD:5B:FD:39:EA:F9:
                80:F7:9E:6C:A1:FE:92:BE:FC:A9:7A:90:30:5A:38:26:EB:24:EA:80:
                85:2E:B1:88:0A:E0:D6:FD:19:FD:0E:C8:CD:C7:C6:B1:BA:50:89:9C:
                57:CB:E3:82:F9:EB:9B:75:39:81:E9:C5:83:86:05:01:BE:4E:A0:E1:
                36:FA:26:1F:C3:8E:4C:A0:B1:94:2F:A3:DF:6C:1A:48:F1:7A:F0:87:
                C6:7C:39:23:A5:4C:C9:DC:E7:3D:42:F9:82:F5:3E:3E:DC:C5:21:9F:
                B2:1A:AA:DF:FD:C2:17:E2:CA:C7:26:B0:27:D1:D2:34:F2:55:23:07:
                90:F7:E6:F9:F6:D3:20:C6:90:24:49:2B:A6:5F:72:12:11:F5:2A:AB:
                9D:1B:BF:DB:91:97:06:47:E2:20:82:30:67:84:37:CE:EA:55:50:76:
                61:F8:8C:99:F5:81:15:B3:55:A2:7B:F0:DF:DF:84:D4:00:06:10:8C:
                A5:3C:6F:ED:7F:28:35:BA:9D:3D:C1:B3:58:F0:04:F4:8E:8F:50:BA:
                31:A5:CA:9B:A0:CA:69:4A:7A:89:68:CD:94:03:B5:D9:18:9D:73:BA:
                0E:6E:83:C9:95:2C:FE:18:C2:E6:9A:B4:57:72:52:93:AD:E2:4A:6D:
                5A:5D:39:41:A9:D8:5F:CC:A6:8C:6A:0C:89:3A:E8:B2:34:D3:FE:A7:
                BF:86:77:CC:84:09:D6:3A:18:04:41:44:9E:71:51:83:75:F5:C3:81:
                58:6D:51:44:B3:C3:14:DC:13:9A:0F:16:FD:6C:35:C1:4F:66:7C:9C:
                3C:51:4E:8B:A8:17:C4:AD:E7:47:74:5D
parm:           debug:debug output mask (uint)
parm:           swcrypto:using crypto in software (default 0 [hardware]) (int)
parm:           11n_disable:disable 11n functionality, bitmap: 1: full, 2: disable agg TX, 4: disable agg RX, 8 enable agg TX (uint)
parm:           amsdu_size:amsdu size 0: 12K for multi Rx queue devices, 2K for AX210 devices, 4K for other devices 1:4K 2:8K 3:12K (16K buffers) 4: 2K (default 0) (int)
parm:           fw_restart:restart firmware in case of error (default true) (bool)
parm:           nvm_file:NVM file name (charp)
parm:           uapsd_disable:disable U-APSD functionality bitmap 1: BSS 2: P2P Client (default: 3) (uint)
parm:           enable_ini:0:disable, 1-15:FW_DBG_PRESET Values, 16:enabled without preset value defined,Debug INI TLV FW debug infrastructure (default: 16)
parm:           bt_coex_active:enable wifi/bt co-exist (default: enable) (bool)
parm:           led_mode:0=system default, 1=On(RF On)/Off(RF Off), 2=blinking, 3=Off (default: 0) (int)
parm:           power_save:enable WiFi power management (default: disable) (bool)
parm:           power_level:default power save level (range from 1 - 5, default: 1) (int)
parm:           disable_11ac:Disable VHT capabilities (default: false) (bool)
parm:           remove_when_gone:Remove dev from PCIe bus if it is deemed inaccessible (default: false) (bool)
parm:           disable_11ax:Disable HE capabilities (default: false) (bool)

iwl100-firmware.noarch                   39.31.5.1-144.fc37            @updates 
iwl1000-firmware.noarch                  1:39.31.5.1-144.fc37          @updates 
iwl105-firmware.noarch                   18.168.6.1-144.fc37           @updates 
iwl135-firmware.noarch                   18.168.6.1-144.fc37           @updates 
iwl2000-firmware.noarch                  18.168.6.1-144.fc37           @updates 
iwl2030-firmware.noarch                  18.168.6.1-144.fc37           @updates 
iwl3160-firmware.noarch                  1:25.30.13.0-144.fc37         @updates 
iwl3945-firmware.noarch                  15.32.2.9-144.fc37            @updates 
iwl4965-firmware.noarch                  228.61.2.24-144.fc37          @updates 
iwl5000-firmware.noarch                  8.83.5.1_1-144.fc37           @updates 
iwl5150-firmware.noarch                  8.24.2.2-144.fc37             @updates 
iwl6000-firmware.noarch                  9.221.4.1-144.fc37            @updates 
iwl6000g2a-firmware.noarch               18.168.6.1-144.fc37           @updates 
iwl6000g2b-firmware.noarch               18.168.6.1-144.fc37           @updates 
iwl6050-firmware.noarch                  41.28.5.1-144.fc37            @updates 
iwl7260-firmware.noarch                  1:25.30.13.0-144.fc37         @updates 
iwlax2xx-firmware.noarch                 20221109-144.fc37             @updates 

Just what I showed originally

iwlwifi               413696  0
cfg80211             1097728  1 iwlwifi

That shows what may be the fix.

As far as locating the driver with the chipset noted, use it to search on line, but you may have functional drivers. Without the proper firmware the driver issue is moot.

What version of firmware do you have installed. dnf list installed linux-firmware* should answer that. For fedora 37 the version should include the date 20221109-144

How? That gives me a giant pile of firmware files.
I still have no clue how I translate from any of the names for this device (8086:02f0, etc.) to any naming system for firmware files.

Also the driver seems to be willing to try only a specific set of firmware files, and there seems to be no room in that range for another.

The only interesting hit from that search is what I had from the start:

What might I be missing on that page? All I see is what I already knew: It uses the iwlwifi driver and for some people it works.

Does anything there tell me which firmware file I need?

Yes 20221109-144.fc37 is installed

Your report from the journal log shows this
maximum version supported: iwlwifi-QuZ-a0-hr-b0-72
which would indicate that was the latest version available at the time of the boot. It also showed as the latest for the iwlwifi driver installed from your modinfo iwlwifi output.

When I do an ls of /lib/firmware/ on my F37 system (clean install) I see this

# ls /lib/firmware/iwlwifi-QuZ-a0-hr*
/lib/firmware/iwlwifi-QuZ-a0-hr-b0-48.ucode.xz  /lib/firmware/iwlwifi-QuZ-a0-hr-b0-62.ucode.xz  /lib/firmware/iwlwifi-QuZ-a0-hr-b0-71.ucode.xz
/lib/firmware/iwlwifi-QuZ-a0-hr-b0-50.ucode.xz  /lib/firmware/iwlwifi-QuZ-a0-hr-b0-63.ucode.xz  /lib/firmware/iwlwifi-QuZ-a0-hr-b0-72.ucode.xz
/lib/firmware/iwlwifi-QuZ-a0-hr-b0-53.ucode.xz  /lib/firmware/iwlwifi-QuZ-a0-hr-b0-66.ucode.xz  /lib/firmware/iwlwifi-QuZ-a0-hr-b0-73.ucode.xz
/lib/firmware/iwlwifi-QuZ-a0-hr-b0-55.ucode.xz  /lib/firmware/iwlwifi-QuZ-a0-hr-b0-67.ucode.xz  /lib/firmware/iwlwifi-QuZ-a0-hr-b0-74.ucode.xz
/lib/firmware/iwlwifi-QuZ-a0-hr-b0-59.ucode.xz  /lib/firmware/iwlwifi-QuZ-a0-hr-b0-68.ucode.xz  /lib/firmware/iwlwifi-QuZ-a0-hr-b0-77.ucode.xz

which tells me that versions 73, 74, and 77 are currently available on my system for that card. I see the exact same list on my F36 system.

Is it possible that the system was updated to the current linux-firmware version and not rebooted? Firmware and drivers only get loaded during the boot.

Please do ls /lib/firmware/iwlwifi-QUX-a0-hr-b0* and see what versions are currently on your system. If you have versions later than the 72 that was shown in your journalctl output in the post above then the fix may be as simple as a reboot.
If that fails then once again post the output of journalctl -b 0 | grep iwlwifi and the output of the ls command just preceding so we can see the comparison of the files available and the versions tried.

I certainly wish I knew what that message means (max supported by what? The driver version? Something it thinks it knows about this device?).

But it doesn’t mean latest available at the time of the boot.

I had the extra versions you mentioned in /lib/firmware since before I ever started testing this, and I rebooted many times before I captured the output I posted.

You have to pay attention to the details of the kernel version and firmware packages provided by different linux distros.

The definition of “works” depends on the user’s requirements. For exampe, older Intel hardware hs had problems with “bluetooth coexistence”, so “works” could just mean the user didn’t need bluetooth. In general, wifi works to some degree for people whose distro provides the appropriate firmware, but old devices often have limitations that can’t be overcome with firmware. If your wifi hardware is removable, you can replace it with more recent hardware that is supported by the Fedora firmware for very little cost.

Try booting a live USB for a distro that where your wifi hardware is reported to work. This will allow you to see if wifi “works” for your needs (and verify that your hardware is working) before trying to use firmware not provided by your distro. It will also let you see details of the firmware version that is being used.

In the past Ubuntu has had excellent user support for wifi problems, so you may be able to find information on the limitations of your hardware in Ubuntu forums.

The message shows latest version supported by your kernel. I assume this applies to newer wifi devices.

kernel source for iwlwifi defines:

/* Highest firmware API version supported */
#define IWL_22000_UCODE_API_MAX	72

/* Lowest firmware API version supported */
#define IWL_22000_UCODE_API_MIN	39

The kernel tries iwlwifi-QuZ-a0-hr-b0-72. If that fails, it tries versions down to iwlwifi-QuZ-a0-hr-b0-39.

The “extra” versions may require a newer kernel. Here I have versions down to iwlwifi-QuZ-a0-hr-b0-48.

1 Like

It is working and I have no idea what I fixed.

It is hard to use grub2 effectively on this system (can’t load a readable font due to some secure boot issue that I don’t understand despite googling and finding many references) so I didn’t initially try switching back to an earlier kernel. I had rebooted MANY times between Windows in which the wifi worked and 6.0.9-300.fc37.x86_64 in which wifi didn’t work.

So I finally tried the right blind keystrokes to boot into the previous 6.0.7 kernel and found the wifi simply worked. I put in the key for my home wifi and set it to auto connect and then switched back to 6.0.9 to try to figure out what the relevant difference is. Then, and in 3 reboots of 6.0.9 since, it just works. None of the problems described above.

Between the last failure in 6.0.9 and the first success in 6.0.9 I did not dnf anything. I did not hand edit any config files. I did nothing but use the wifi in 6.0.7

Edit:
But looking back at what I logged before, while trying to diagnose, I see that I had accidentally switched between 6.0.7 and 6.0.9 in blind use of grub2 multiple times while it wasn’t working. So that also has nothing to do with it.

So it just started working with a fail-test and a worked-ever-since very close together with, so far as I understand, no change in between.

There can be different behaviour for a “warm” reboot from a different OS to Fedora and a “cold” boot from power off. Some devices preserve state across warm reboots. Many systems have a “UEFI Network Stack” that is used for PXE network booting (Intel UEFI Network Boot Guide), so there is potential for a bug in UEFI to leave wifi in a partly configured state.

I was simplifying when I described that as simply “rebooting”. I NEVER did a warm reboot into Linux on that laptop. I’m certain, because it wouldn’t ever work.

For Linux, I’m using a SATA hard drive through a USB to SATA adapter. That Adapter has a stupid firmware feature that keeps it in ejected (refuses to talk) mode after any disconnecting event, including either a software triggered reboot or (on computers that have it) the hardware reset button.

To get the drive to talk again requires removing both the USB connection and the external power, then waiting, then connecting first power, then USB. Meanwhile the BIOS won’t recognize the drive to add to the boot menu unless it was already there when the laptop powered up.

So “rebooting” into Linux always required shutting down, then reconnecting and powering up in the one sequence that worked.