1. What is a kABI-tracking kmod

Linux drivers must be built against the kernel for which they are to be used. As most drivers are part of the kernel, this normally isn't a problem. However, when using 3rd party drivers, the driver must be recompiled against each new kernel. This causes inconvenience for users who must rebuild the driver against each new kernel update. A kABI-tracking kmod is a kernel module (driver) that is compatible with a given kernel Application Binary Interface (kABI). A consistent kABI is a key feature of an Enterprise Linux distribution and, so long as upstream does not break the kABI, a kABI-tracking kmod driver will work across all kernels for a given Enterprise Linux distribution (eg, RHEL-6, CentOS-6, Scientific Linux 6) without the need to recompile the driver for each kernel update.

2. What is the advantage of a kABI-tracking kmod over a DKMS enabled driver

Dynamic Kernel Module Support (DKMS) is another packaging method for delivering automatic 3rd party kernel driver updates. The main disadvantage of DKMS for Enterprise Linux is that the driver is automatically recompiled (by the DKMS utility) for each new kernel meaning that the system must contain the appropriate development packages and compiler, something that is not always desirable on a production Enterprise Linux system.

3. Do I need to install an updated driver from ELRepo

Generally, no. If your hardware works with the distro supplied driver then you don't need to install updated drivers from ELRepo.

The vast majority of kmod drivers supplied by ELRepo contain backported support for additional hardware so if the distro driver works for you then that's all you need. If the distro version fails to detect (or properly work with) your hardware, then an updated kmod driver from ELRepo may solve the issue. If not, please contact us or file a bug against the package in question.

4. How can I find the right driver for my hardware

To select the correct driver package for your hardware, please follow the example below (shown for an Ethernet controller):
[user@elrepo]$ /sbin/lspci -nn | grep -i net
04:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller [10ec:8168] (rev 01)
Searching for the Vendor:Device ID pairing of 10ec:8168 on the DeviceIDs page will show that kmod-r8168 should work with this Ethernet controller.

You can use the following one-liner to obtain the Vendor:Device ID pairings for all your wired and wireless NICs:
[user@elrepo]$ for BUSID in $(/sbin/lspci | awk '{ IGNORECASE=1 } /net/ { print $1 }'); do /sbin/lspci -s $BUSID -m; /sbin/lspci -s $BUSID -n; done
By using the Vendor & Device numbers from an ID pairing, you can check to see if your system contains an appropriate driver module for that particular device:
[user@elrepo]$ grep -i VendorID /lib/modules/*/modules.alias | grep -i DeviceID
The command would list the driver module, if it exists, in the currently installed kernels. Please note that if you have installed the driver from other sources, its details would also appear in the output.

5. Where can I find a list of driver versions in ELRepo

A list of driver versions can be found on the Driver Versions page.

6. How can I create a local mirror of the ELRepo repositories

You can use rsync to mirror the repository. Please see the Download page for examples.

7. I updated my kmod-xyzzy. Now it is not working any more.

There was a known issue about updating of ELRepo kmod packages on RHEL-5.5 / CentOS-5.5 / SL-5.5. This issue has been resolved. Please see the Update page for more details.

Page last modified on Wednesday 10 of February, 2016 09:54:01 MST