Wifi not working on LTS but does on Linux

All of a sudden my wifi stopped working on the LTS kernel but still does on the Linux Kernel

After some research I think the below is relevant?

But why has this happened?

And how could I fix it (other than just not using LTS)?

I have linux-firmware, do I need another for LTS? But then how was it working before without it?

Or has the driver been ‘dropped out’ of the LTS kernel and I need to install it separately?
(in that case, is the driver still in the Linux kernel?

I am not sure of any of the above!

Could anyone point me in the right direction please?

LTS

uname -a
Linux T16-AL 5.15.94-1-lts #1 SMP Wed, 15 Feb 2023 07:09:02 +0000 x86_64 GNU/Linux
lspci -k

00:14.3 Network controller: Intel Corporation Alder Lake-P PCH CNVi WiFi (rev 01)
	Subsystem: Intel Corporation Device 0090
	Kernel modules: iwlwifi
sudo lshw -C network 
  *-network:0 UNCLAIMED     
       description: Network controller
       product: Alder Lake-P PCH CNVi WiFi
       vendor: Intel Corporation
       physical id: 14.3
       bus info: pci@0000:00:14.3
       version: 01
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress msix cap_list
       configuration: latency=0
       resources: iomemory:600-5ff memory:603d1cc000-603d1cffff

Linux

uname -a
Linux T16-AL 6.1.12-arch1-1 #1 SMP PREEMPT_DYNAMIC Tue, 14 Feb 2023 22:08:08 +0000 x86_64 GNU/Linux
lspci -k

00:14.3 Network controller: Intel Corporation Alder Lake-P PCH CNVi WiFi (rev 01)
	Subsystem: Intel Corporation Device 0090
	Kernel driver in use: iwlwifi
	Kernel modules: iwlwifi
9 core/linux-firmware-whence 20230210.bf4115c-1 (29.6 KiB 198.1 KiB) (Installed)
    Firmware files for Linux - contains the WHENCE license file which documents the vendor license details

4 core/linux-firmware-marvell 20230210.bf4115c-1 (60.6 MiB 62.0 MiB) (Installed)
    Firmware files for Linux - marvell / Firmware for Marvell devices

1 core/linux-firmware 20230210.bf4115c-1 (137.1 MiB 152.3 MiB) (Installed)
    Firmware files for Linux
sudo lshw -C network  
  *-network:0               
       description: Wireless interface
       product: Alder Lake-P PCH CNVi WiFi
       vendor: Intel Corporation
       physical id: 14.3
       bus info: pci@0000:00:14.3
       logical name: wlan0
       version: 01
       serial: a0:29:42:e1:72:1f
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress msix bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=iwlwifi driverversion=6.1.12-arch1-1 firmware=72.daa05125.0 so-a0-gf-a0-72.uc ip=192.168.1.116 latency=0 link=yes multicast=yes wireless=IEEE 802.11
       resources: iomemory:600-5ff irq:16 memory:603d1cc000-603d1cffff

Boot the LTS kernel and then check dmesg

sudo dmesg | grep iwlwifi

see if you get an error message.

And check if the module loaded:

lsmod | grep iwlwifi

If the module didn’t load, you may be able to load it with modprobe

3 Likes

Thanks @PackRat

Am I right in thinking that the below means that the module is loaded but that linux-firmware doesnt have a new enough version of iwlwifi for my hardware?

And then because it work with the Linux kernel but not the LTS one then the driver must be integrated into the Linux kernel but not the LTS one (but it was before, since it did work?)

trying to get my head around how all this fits together.

leigh@T16-AL ~ % sudo dmesg | grep iwlwifi
[    7.083768] iwlwifi 0000:00:14.3: enabling device (0000 -> 0002)
[    7.101874] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-so-a0-gf-a0-66.ucode failed with error -2
[    7.101894] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-so-a0-gf-a0-65.ucode failed with error -2
[    7.101909] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-so-a0-gf-a0-64.ucode failed with error -2
[    7.101922] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-so-a0-gf-a0-63.ucode failed with error -2
[    7.101936] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-so-a0-gf-a0-62.ucode failed with error -2
[    7.101948] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-so-a0-gf-a0-61.ucode failed with error -2
[    7.101961] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-so-a0-gf-a0-60.ucode failed with error -2
[    7.101974] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-so-a0-gf-a0-59.ucode failed with error -2
[    7.101986] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-so-a0-gf-a0-58.ucode failed with error -2
[    7.101998] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-so-a0-gf-a0-57.ucode failed with error -2
[    7.102010] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-so-a0-gf-a0-56.ucode failed with error -2
[    7.102022] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-so-a0-gf-a0-55.ucode failed with error -2
[    7.102034] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-so-a0-gf-a0-54.ucode failed with error -2
[    7.102047] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-so-a0-gf-a0-53.ucode failed with error -2
[    7.102059] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-so-a0-gf-a0-52.ucode failed with error -2
[    7.102072] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-so-a0-gf-a0-51.ucode failed with error -2
[    7.102084] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-so-a0-gf-a0-50.ucode failed with error -2
[    7.102096] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-so-a0-gf-a0-49.ucode failed with error -2
[    7.102108] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-so-a0-gf-a0-48.ucode failed with error -2
[    7.102121] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-so-a0-gf-a0-47.ucode failed with error -2
[    7.102132] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-so-a0-gf-a0-46.ucode failed with error -2
[    7.102144] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-so-a0-gf-a0-45.ucode failed with error -2
[    7.102156] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-so-a0-gf-a0-44.ucode failed with error -2
[    7.102169] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-so-a0-gf-a0-43.ucode failed with error -2
[    7.102182] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-so-a0-gf-a0-42.ucode failed with error -2
[    7.102194] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-so-a0-gf-a0-41.ucode failed with error -2
[    7.102206] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-so-a0-gf-a0-40.ucode failed with error -2
[    7.102219] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-so-a0-gf-a0-39.ucode failed with error -2
[    7.102220] iwlwifi 0000:00:14.3: no suitable firmware found!
[    7.103278] iwlwifi 0000:00:14.3: minimum version required: iwlwifi-so-a0-gf-a0-39
[    7.104330] iwlwifi 0000:00:14.3: maximum version supported: iwlwifi-so-a0-gf-a0-66
[    7.105384] iwlwifi 0000:00:14.3: check git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
leigh@T16-AL ~ % lsmod | grep iwlwifi     
iwlwifi               454656  0
cfg80211             1056768  1 iwlwifi

I have also found a similar problem, and am trying to fathom out what they are talking about

https://forums.lenovo.com/t5/ThinkPad-T400-T500-and-newer-T-series-Laptops/No-WiFi-on-T16-Intel-12th-AX-211-with-Linux/m-p/5184716

@leigh The Alder Lake chips are quite new.

While you may have had previous support for it in the LTS kernel, it may have been dropped in updates.

On the desktop, it’s mostly to your benefit to use the recent kernel as those newer kernels will include recent hardware optimizations for your chip, as well as other hardware in your device.

On a server, you can use LTS. On a newer desktop, current is your friend for the above reasons. The kernel continues to evolve quickly around your hardware.

At least you’re not that guy that bought a new, top-of-the-line AMD RTX 6000 at $1200 over the holidays & are getting a performance ream job by Lisa Su as they hold back updates for months on end.

1 Like

Thanks
That makes sense
So I will use the recent kernel
And presumably, with time, the LTS kernel will work again?

Why @leigh, why? :grin:

Yes, it should when linux becomes linux-lts. That said, the LTS kernel … in the name of stability … won’t change much or incorporate as many optimizations. It very well could still be a bottleneck.

Using a LTS kernel in a rolling release distro like Arch is somewhat of an oxymoron. That’s why alot of folks who value stability will just run a point release distro & a backported, newer kernel.

A Tesla power plant in a '50’s Chris Craft probably … sinks the ship.

3 Likes

Sorry, because I have an obsessive need to understand things :rofl:

My mum said I was a PITA from the moment I could talk, endless why’s
It didnt stop unfortunately

1 Like

Run linux @leigh. The KISS approach.
:wink:

It did:

Linux T16-AL 6.1.12-1-lts #1 SMP PREEMPT_DYNAMIC Fri, 17 Feb 2023 13:53:11 +0000 x86_64 GNU/Linux

And now wifi works again

But, I am going to continue to use Linux, with LTS as a back-up

Check the changelog @leigh.

You were on the most recent LTS kernel, which is freshly designated this month. You’re close to that with current ATM. Although LTS kernels are supported longer, that obviously doesn’t imply that they are fully stable as your bug experience has shown. Bleeding edge & rolling.

On an Arch server, I’d deploy it with a LTS with at least a year or two of prior support.

1 Like