Wifi adapter not found after upgrade from 38 to 39

Hi all, after upgrade from Fedora 39 to Fedora 39 my Wifi adapter ins’t recognized, how can I fix this?
The laptop is a Lenovo T14.

Booting from a Fedora 38 pen, the adapter is recognized, and this is the info from it:

root@localhost-live ~]# lspci | grep Net
00:14.3 Network controller: Intel Corporation Comet Lake PCH-LP CNVi WiFi

lspci -v
00:14.3 Network controller: Intel Corporation Comet Lake PCH-LP CNVi WiFi
	Subsystem: Intel Corporation Wi-Fi 6 AX201 160MHz
	Flags: bus master, fast devsel, latency 0, IRQ 16, IOMMU group 6
	Memory at ef738000 (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 driver in use: iwlwifi
	Kernel modules: iwlwifi

Thanks

Information from a different OS and environment is mostly useless since it does not have the same software for troubleshooting.

Please boot to the F39 environment then post the output of lspci -nnk -s 00:14.0 and inxi -Fzxx. Inxi may not be possible unless you already have it installed.

The output can be written to a file on a usb device then sent to us while booted on another machine (or the live media device)

Booting the different OS shows the hardware is working, I have the output you request.
Thanks for your help.

root@localhost:~# lspci -nnk -s 00:14.0
00:14.0 USB controller [0c03]: Intel Corporation Comet Lake PCH-LP USB 3.1 xHCI Host Controller [8086:02ed]
	Subsystem: Lenovo Device [17aa:22b1]
	Kernel driver in use: xhci_hcd

root@localhost:~# inxi -Fzxx
System:
  Kernel: 6.6.3-200.fc39.x86_64 arch: x86_64 bits: 64 compiler: gcc
    v: 2.40-13.fc39 Console: pty pts/1 wm: gnome-shell DM: GDM Distro: Fedora
    release 39 (Thirty Nine)
Machine:
  Type: Laptop System: LENOVO product: 20S1SFJH1J v: ThinkPad T14 Gen 1
    serial: <filter> Chassis: type: 10 serial: <filter>
  Mobo: LENOVO model: 20S1SFJH1J v: SDK0J40697 WIN serial: <filter>
    UEFI: LENOVO v: N2XET29W (1.19 ) date: 03/23/2021
Battery:
  ID-1: BAT0 charge: 42.8 Wh (100.0%) condition: 42.8/51.0 Wh (84.0%)
    volts: 12.9 min: 11.5 model: Celxpert 5B10W13954 serial: <filter>
    status: full
  Device-1: hidpp_battery_0 model: Logitech Wireless Mouse serial: <filter>
    charge: 55% (should be ignored) status: discharging
CPU:
  Info: quad core model: Intel Core i5-10210U bits: 64 type: MT MCP
    arch: Comet/Whiskey Lake note: check rev: C cache: L1: 256 KiB L2: 1024 KiB
    L3: 6 MiB
  Speed (MHz): avg: 3299 high: 3301 min/max: 400/4200 cores: 1: 3298 2: 3300
    3: 3299 4: 3301 5: 3299 6: 3300 7: 3301 8: 3298 bogomips: 33599
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Graphics:
  Device-1: Intel CometLake-U GT2 [UHD Graphics] vendor: Lenovo driver: i915
    v: kernel arch: Gen-9.5 ports: active: eDP-1 empty: DP-1, DP-2, HDMI-A-1,
    HDMI-A-2 bus-ID: 00:02.0 chip-ID: 8086:9b41
  Device-2: IMC Networks [] driver: uvcvideo type: USB rev: 2.0
    speed: 480 Mb/s lanes: 1 bus-ID: 1-8:4 chip-ID: 13d3:5406
  Display: server: X.Org v: 23.2.2 with: Xwayland v: 23.2.2
    compositor: gnome-shell driver: dri: iris gpu: i915 display-ID: :0
    screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 96
  Monitor-1: eDP-1 model: ChiMei InnoLux 0x14f5 res: 1920x1080 dpi: 157
    diag: 354mm (13.9")
  API: OpenGL v: 4.6 vendor: intel mesa v: 23.2.1 glx-v: 1.4 es-v: 3.2
    direct-render: yes renderer: Mesa Intel UHD Graphics (CML GT2)
    device-ID: 8086:9b41
  API: EGL Message: EGL data requires eglinfo. Check --recommends.
Audio:
  Device-1: Intel Comet Lake PCH-LP cAVS vendor: Lenovo
    driver: sof-audio-pci-intel-cnl bus-ID: 00:1f.3 chip-ID: 8086:02c8
  API: ALSA v: k6.6.3-200.fc39.x86_64 status: kernel-api
  Server-1: PipeWire v: 1.0.0 status: n/a (root, process) with:
    1: pipewire-pulse status: active 2: wireplumber status: active
    3: pipewire-alsa type: plugin 4: pw-jack type: plugin
Network:
  Device-1: Intel Comet Lake PCH-LP CNVi WiFi driver: iwlwifi v: kernel
    bus-ID: 00:14.3 chip-ID: 8086:02f0
  IF: wlp0s20f3 state: down mac: <filter>
  Device-2: Intel Ethernet I219-V vendor: Lenovo driver: e1000e v: kernel
    port: N/A bus-ID: 00:1f.6 chip-ID: 8086:0d4f
  IF: enp0s31f6 state: up speed: 100 Mbps duplex: full mac: <filter>
  IF-ID-1: virbr0 state: down mac: <filter>
Drives:
  Local Storage: total: 715.41 GiB used: 416.81 GiB (58.3%)
  ID-1: /dev/nvme0n1 vendor: Western Digital model: PC SN730
    SDBQNTY-256G-1001 size: 238.47 GiB speed: 31.6 Gb/s lanes: 4
    serial: <filter> temp: 28.9 C
  ID-2: /dev/sda vendor: S3Plus model: S3SSDC512 size: 476.94 GiB type: USB
    rev: 2.1 spd: 480 Mb/s lanes: 1 serial: <filter>
Partition:
  ID-1: / size: 168.03 GiB used: 147.29 GiB (87.7%) fs: btrfs dev: /dev/sda3
  ID-2: /boot size: 973.4 MiB used: 284.4 MiB (29.2%) fs: ext4
    dev: /dev/sda2
  ID-3: /boot/efi size: 598.8 MiB used: 17.4 MiB (2.9%) fs: vfat
    dev: /dev/sda1
  ID-4: /home size: 168.03 GiB used: 147.29 GiB (87.7%) fs: btrfs
    dev: /dev/sda3
Swap:
  ID-1: swap-1 type: zram size: 8 GiB used: 0 KiB (0.0%) priority: 100
    dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 33.0 C mobo: N/A
  Fan Speeds (rpm): N/A
Info:
  Processes: 353 Uptime: 2h 34m Memory: total: 16 GiB available: 15.29 GiB
  used: 4.72 GiB (30.9%) igpu: 64 MiB Init: systemd v: 254
  target: graphical (5) default: graphical Compilers: N/A Packages: pm: rpm
  pkgs: N/A note: see --rpm pm: flatpak pkgs: 9 Shell: Bash v: 5.2.21
  running-in: gnome-terminal inxi: 3.3.31

OOPs
I meant to use lspci -nnk -s 00:14.3. A typo there.

It looks from inxi that the device is seen, but not configured. You do have the ethernet connected though.

The firmware on that laptop is almost 3 years old and it might be a good thing to upgrade that.

What happens if you use the gnome settings screen and attempt to connect the wifi (forget the old connection and add a new one)? The adapter appears to be seen, but not as yet connected.

root@localhost:~# lspci -nnk -s 00:14.3
00:14.3 Network controller [0280]: Intel Corporation Comet Lake PCH-LP CNVi WiFi [8086:02f0]
	Subsystem: Intel Corporation Wi-Fi 6 AX201 160MHz [8086:0074]
	Kernel driver in use: iwlwifi
	Kernel modules: iwlwifi

When searching for available wifi networks the “wheel” icon (near “Visible Networks”) stays rotating, and no network is found

firmware updated to a recent version, no difference, Wifi networks aren’t detected, any other suggestions?

root@localhost:~# inxi -Fzxx
System:
  Kernel: 6.6.4-200.fc39.x86_64 arch: x86_64 bits: 64 compiler: gcc
    v: 2.40-13.fc39 Console: pty pts/1 wm: gnome-shell DM: GDM Distro: Fedora
    release 39 (Thirty Nine)
Machine:
  Type: Laptop System: LENOVO product: 20S1SFJH1J v: ThinkPad T14 Gen 1
    serial: <filter> Chassis: type: 10 serial: <filter>
  Mobo: LENOVO model: 20S1SFJH1J v: SDK0J40697 WIN serial: <filter>
    UEFI: LENOVO v: N2XET40W (1.30 ) date: 10/31/2023

journalctl -b -g wifi may explain why wifi fails. Have you installed current Lenovo firmware updates?

yes, I’m using the latest firmware for this laptop, downloaded from Lenovo site. The log shows this:

Dec 08 15:20:47 localhost.localdomain kernel: Intel(R) Wireless WiFi driver for Linux
Dec 08 15:20:47 localhost.localdomain kernel: iwlwifi 0000:00:14.3: enabling device (0000 -> 0002)
Dec 08 15:20:47 localhost.localdomain kernel: iwlwifi 0000:00:14.3: Detected crf-id 0x3617, cnv-id 0x20000302 wfpm id 0x80000000
Dec 08 15:20:47 localhost.localdomain kernel: iwlwifi 0000:00:14.3: PCI dev 02f0/0074, rev=0x351, rfid=0x10a100
Dec 08 15:20:47 localhost.localdomain kernel: iwlwifi 0000:00:14.3: api flags index 2 larger than supported by driver
Dec 08 15:20:47 localhost.localdomain kernel: iwlwifi 0000:00:14.3: TLV_FW_FSEQ_VERSION: FSEQ Version: 89.3.35.37
Dec 08 15:20:47 localhost.localdomain kernel: iwlwifi 0000:00:14.3: loaded firmware version 77.bd067429.0 QuZ-a0-hr-b0-77.ucode op_mode iwlmvm
Dec 08 15:20:47 localhost.localdomain kernel: iwlwifi 0000:00:14.3: Detected Intel(R) Wi-Fi 6 AX201 160MHz, REV=0x351
Dec 08 15:20:47 localhost.localdomain kernel: iwlwifi 0000:00:14.3: Detected RF HR B3, rfid=0x10a100
Dec 08 15:20:47 localhost.localdomain kernel: iwlwifi 0000:00:14.3: base HW address: d0:3c:1f:4e:8d:2e
Dec 08 15:20:47 localhost.localdomain kernel: iwlwifi 0000:00:14.3 wlp0s20f3: renamed from wlan0
Dec 08 15:20:55 localhost.localdomain NetworkManager[1160]: <info>  [1702048855.2115] rfkill2: found Wi-Fi radio killswitch (at /sys/devices/pci0000:00/0000:00:14.3/ieee80211/phy0/rfkill2) >
Dec 08 15:20:55 localhost.localdomain NetworkManager[1160]: <info>  [1702048855.2953] Loaded device plugin: NMWifiFactory (/usr/lib64/NetworkManager/1.44.2-1.fc39/libnm-device-plugin-wifi.s>
Dec 08 15:20:55 localhost.localdomain kernel: iwlwifi 0000:00:14.3: Registered PHC clock: iwlwifi-PTP, with index: 1

All of that shows the device is seen and configured as wlp0s20f3.

What is shown with rfkill

root@localhost:~# rfkill
ID TYPE      DEVICE                   SOFT      HARD
 0 bluetooth tpacpi_bluetooth_sw   blocked unblocked
 2 wlan      phy0                unblocked unblocked

Strange.
I see devices 0 (bluetooth) and 2 (wlan) but device 1 is skipped. It would seem something may have caused an interruption in the config so it created an extra device instead of configuring device with ID 1. That may be the issue and you may need to dig a little deeper into why that is happening.

More perusal of the output of dmesg might provide a clue.

dmesg produces large info, any filter, flag to use?

reboot then you may post the entire dmesg output. It should be small enough to post here.

When I said to peruse it I really meant for you to look at it and find the parts that are related to the wifi device yourself, then post those parts for us to look at.

journalctl has dmesg output (for multiple boots) but also multiple ways to filter the selection: journalctl -b [N] --dmesg. Read man journalctl for ways to filter messages. The grep strings and priority very useful, as is the ability to compare with an earlier boot where wifi worked.

I did a test: create a boot pen with Fedora 39 ,boot laptop from that pen and … wifi works! When booting from the laptop hdd, where I migrated from F38 to F39, wifi doesn’t work.
Output from dmesg with working wifi and dmesg with not working wifi look very similar, I’m trying to find where it differs. Grep iwl on dmesg output the difference I see is firmware version.

Not working wifi:

root@localhost:/tmp# grep iwl dmesg.001.txt
[   10.736081] iwlwifi 0000:00:14.3: enabling device (0000 -> 0002)
[   10.738834] iwlwifi 0000:00:14.3: Detected crf-id 0x3617, cnv-id 0x20000302 wfpm id 0x80000000
[   10.738868] iwlwifi 0000:00:14.3: PCI dev 02f0/0074, rev=0x351, rfid=0x10a100
[   10.855983] iwlwifi 0000:00:14.3: api flags index 2 larger than supported by driver
[   10.856010] iwlwifi 0000:00:14.3: TLV_FW_FSEQ_VERSION: FSEQ Version: 89.3.35.37
[   10.856826] iwlwifi 0000:00:14.3: loaded firmware version 77.bd067429.0 QuZ-a0-hr-b0-77.ucode op_mode iwlmvm
[   11.142763] iwlwifi 0000:00:14.3: Detected Intel(R) Wi-Fi 6 AX201 160MHz, REV=0x351
[   11.263869] iwlwifi 0000:00:14.3: Detected RF HR B3, rfid=0x10a100
[   11.329752] iwlwifi 0000:00:14.3: base HW address: d0:3c:1f:4e:8d:2e
[   11.348893] iwlwifi 0000:00:14.3 wlp0s20f3: renamed from wlan0
[   20.712684] iwlwifi 0000:00:14.3: Registered PHC clock: iwlwifi-PTP, with index: 1

Woking wifi:

root@localhost:/tmp# grep iwl working_wifi.txt 
[   17.216783] iwlwifi 0000:00:14.3: enabling device (0000 -> 0002)
[   17.218587] iwlwifi 0000:00:14.3: Detected crf-id 0x3617, cnv-id 0x20000302 wfpm id 0x80000000
[   17.218609] iwlwifi 0000:00:14.3: PCI dev 02f0/0074, rev=0x351, rfid=0x10a100
[   17.408009] iwlwifi 0000:00:14.3: api flags index 2 larger than supported by driver
[   17.408038] iwlwifi 0000:00:14.3: TLV_FW_FSEQ_VERSION: FSEQ Version: 89.3.35.37
[   17.409660] iwlwifi 0000:00:14.3: loaded firmware version 77.2df8986f.0 QuZ-a0-hr-b0-77.ucode op_mode iwlmvm
[   18.040566] iwlwifi 0000:00:14.3: Detected Intel(R) Wi-Fi 6 AX201 160MHz, REV=0x351
[   18.161028] iwlwifi 0000:00:14.3: Detected RF HR B3, rfid=0x10a100
[   18.226954] iwlwifi 0000:00:14.3: base HW address: d0:3c:1f:4e:8d:2e
[   18.276510] iwlwifi 0000:00:14.3 wlp0s20f3: renamed from wlan0
[   23.805832] iwlwifi 0000:00:14.3: Registered PHC clock: iwlwifi-PTP, with index: 1

Hello @jmppr ,
Have tried fwupdmgr to update your firmware?

Identifying a firmware version difference is great work. The firmware files are in /usr/lib/firmware. I have:

% ls -l /usr/lib/firmware/*QuZ-a0-hr-b0-50*
-rw-r--r--. 1 root root 393072 Nov 13 20:00 /usr/lib/firmware/iwlwifi-QuZ-a0-hr-b0-50.ucode.xz

I have the following.

$ ls -l /usr/lib/firmware/*QuZ-a0-hr-b0-*
-rw-r--r--. 1 root root 393072 Nov 13 18:00 /usr/lib/firmware/iwlwifi-QuZ-a0-hr-b0-50.ucode.xz
-rw-r--r--. 1 root root 446316 Nov 13 18:00 /usr/lib/firmware/iwlwifi-QuZ-a0-hr-b0-59.ucode.xz
-rw-r--r--. 1 root root 458672 Nov 13 18:00 /usr/lib/firmware/iwlwifi-QuZ-a0-hr-b0-66.ucode.xz
-rw-r--r--. 1 root root 467784 Nov 13 18:00 /usr/lib/firmware/iwlwifi-QuZ-a0-hr-b0-72.ucode.xz
-rw-r--r--. 1 root root 470184 Nov 13 18:00 /usr/lib/firmware/iwlwifi-QuZ-a0-hr-b0-73.ucode.xz
-rw-r--r--. 1 root root 474604 Nov 13 18:00 /usr/lib/firmware/iwlwifi-QuZ-a0-hr-b0-74.ucode.xz
-rw-r--r--. 1 root root 482588 Nov 13 18:00 /usr/lib/firmware/iwlwifi-QuZ-a0-hr-b0-77.ucode.xz

and it would appear that for @jmppr his system is loading QuZ-a0-hr-b0-77.ucode in both boot tests.
In the one that does not work I see firmware version 77.2df8986f.0 and in the one that does work I see firmware version 77.bd067429.0
Clearly there is a difference in the code contained even though the ucode name is the same.

this is what I have:

root@localhost:~#  ls -l /usr/lib/firmware/*QuZ-a0-hr-b0-*
-rw-r--r--. 1 root root 393072 Nov 14 00:00 /usr/lib/firmware/iwlwifi-QuZ-a0-hr-b0-50.ucode.xz
-rw-r--r--. 1 root root 446316 Nov 14 00:00 /usr/lib/firmware/iwlwifi-QuZ-a0-hr-b0-59.ucode.xz
-rw-r--r--. 1 root root 458672 Nov 14 00:00 /usr/lib/firmware/iwlwifi-QuZ-a0-hr-b0-66.ucode.xz
-rw-r--r--. 1 root root 467784 Nov 14 00:00 /usr/lib/firmware/iwlwifi-QuZ-a0-hr-b0-72.ucode.xz
-rw-r--r--. 1 root root 470184 Nov 14 00:00 /usr/lib/firmware/iwlwifi-QuZ-a0-hr-b0-73.ucode.xz
-rw-r--r--. 1 root root 474604 Nov 14 00:00 /usr/lib/firmware/iwlwifi-QuZ-a0-hr-b0-74.ucode.xz
-rw-r--r--. 1 root root 482588 Nov 14 00:00 /usr/lib/firmware/iwlwifi-QuZ-a0-hr-b0-77.ucode.xz
root@localhost:~# md5sum  /usr/lib/firmware/iwlwifi-QuZ-a0-hr-b0-77.ucode.xz
5d275484dd1fc84f4881f585d166d671  /usr/lib/firmware/iwlwifi-QuZ-a0-hr-b0-77.ucode.xz

and this is very interesting!

md5sum differs ans also file size

no wifi

root@localhost:~# md5sum  /usr/lib/firmware/iwlwifi-QuZ-a0-hr-b0-77.ucode.xz
5d275484dd1fc84f4881f585d166d671  /usr/lib/firmware/iwlwifi-QuZ-a0-hr-b0-77.ucode.xz

wifi ok (booting from F39 usb pen)

-rw-r--r--. 1 root root 482620 Sep 18 20:00 ./usr/lib/firmware/iwlwifi-QuZ-a0-hr-b0-77.ucode.xz
liveuser@localhost-live:/$ md5sum ./usr/lib/firmware/iwlwifi-QuZ-a0-hr-b0-77.ucode.xz
e1b8ee646b9c905b1cb0d5c416d1baa3  ./usr/lib/firmware/iwlwifi-QuZ-a0-hr-b0-77.ucode.xz