0

I stumbled upon this Intel webpage that supposedly provides the proprietary WiFi drivers. I am currently using Ubuntu 20.04.

enter image description here

Not keeping the question specific to these device drivers (hoping that it still keeps the question answerable) my question is -

Can device drivers be installed on any Linux Distro (like Ubuntu and CentOS) if they are based on the same Kernel (say 5.2)?

Of course, I assume that the Kernel version satisfies the version requirement given on the page.

The reason why I am uncertain of the answer is that I know that many Softwares are developed for the specific Linux distro and even released separately which can be installed through their package managers. Isn't the system similar in the case of device drivers?

P.S. : The link to the page.

1 Answer 1

3

Those are not drivers.

They are firmware packages for the WiFi chips themselves. The WiFi chips don't generally have persistent flash memory for the firmware, so the driver (in this case, the open-source iwlwifi driver for essentially all modern Intel WiFi chips) needs the correct chip-model-specific firmware file for loading into the chip as part of initializing the chip for use.

Typically the kernel does not need to understand the contents of a firmware file at all; it just needs to stuff the contents of the file into the hardware in question in an appropriate way.

These firmware files can be installed on any Linux distribution: they typically go into /lib/firmware/. But the actual driver needs to be of a new enough version to know how to actually communicate with the chip to make use of them: the webpage documents the kernel version at which point the support for a particular WiFi chip was added into the driver in the "mainline" Linux kernel.

So any Linux distribution whose kernel version is at or above the level specified for a particular WiFi chip is essentially guaranteed to support that chip.

However, sometimes some distributions (especially the "enterprise" or Long Term Support distributions) use an older kernel, but backport newer versions of drivers into it. In such cases, you might find that the distribution supports some piece of hardware, even though its kernel version doesn't seem quite new enough for it according to this list.

Sometimes, other people produce PPAs of newer drivers for older kernels, or otherwise produce more or less easily installable additional or upgraded drivers, if the hardware in question is popular/important enough.

Compatibility of third-party drivers to kernel versions can be more complicated: a driver can be too old for a particular kernel version (e.g. it attempts to do something that needs to be done a bit differently with newer kernels), or too new (e.g. it relies on a kernel feature that was implemented in a particular kernel version, and just can't work with kernels older than that).

For example, trying to use a driver module that was compiled before the implementation of the major Spectre/Meltdown workarounds with a kernel compiled after it, or vice versa, may easily cause the system to hang or crash.

Drivers that are available in source code format and must be compiled for your specific kernel version can be somewhat more flexible than drivers provided in pre-compiled form, but both can have version compatibility limits in both directions.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.