[Kernel] Warning: Unmaintained driver is detected

I installed Alma 10.1 on my Thinkpad L14 G4, and after starting the system, I get the following messages.

Warning: Unmaintained driver is detected: bnx2i_mod_init
Warning: Unmaintained driver is detected: bnx2i
Warning: Unmaintained driver is detected: cnic_init
Warning: Unmaintained driver is detected: cnic

modinfo return this:

user@alma:~$ modinfo cnic
filename:       /lib/modules/6.12.0-124.20.1.el10_1.x86_64/kernel/drivers/net/ethernet/broadcom/cnic.ko.xz
version:        2.5.22
license:        GPL
description:    QLogic cnic Driver
author:         Michael Chan <mchan@broadcom.com> and John(Zongxi) Chen (zongxi@broadcom.com
rhelversion:    10.1
srcversion:     3F3EADD5BE10FB09E2E9B3E
depends:        uio
intree:         Y
name:           cnic
retpoline:      Y
vermagic:       6.12.0-124.20.1.el10_1.x86_64 SMP preempt mod_unload modversions 
sig_id:         PKCS#7
signer:         AlmaLinux kernel signing key
-->8------>8---more here....


user@alma:~$ modinfo bnx2i
filename:       /lib/modules/6.12.0-124.20.1.el10_1.x86_64/kernel/drivers/scsi/bnx2i/bnx2i.ko.xz
version:        2.7.10.1
license:        GPL
description:    QLogic NetXtreme II BCM5706/5708/5709/57710/57711/57712/57800/57810/57840 iSCSI Driver
author:         Anil Veerabhadrappa <anilgv@broadcom.com> and Eddie Wai <eddie.wai@broadcom.com>
rhelversion:    10.1
srcversion:     74A7A8181F7E161F9F5820C
depends:        libiscsi,scsi_transport_iscsi,cnic
intree:         Y
name:           bnx2i
retpoline:      Y
vermagic:       6.12.0-124.20.1.el10_1.x86_64 SMP preempt mod_unload modversions 
sig_id:         PKCS#7
signer:         AlmaLinux kernel signing key
sig_key:        50:CD:11:3B:46:A5:37:82:B5:C5:B0:FF:90:F4:E9:3B:66:FD:1A:AF
sig_hashalgo:   sha256

-->8------>8---more here....


What I see is that are iSCSI Driver modules, and are planned to become unmaintained, and eventually disabled, in a future major release.

user@alma:~$ lspci -nn 
00:00.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne Root Complex [1022:1630]
00:00.2 IOMMU [0806]: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne IOMMU [1022:1631]
00:01.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host Bridge [1022:1632]
00:02.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host Bridge [1022:1632]
00:02.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne PCIe GPP Bridge [1022:1634]
00:02.3 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne PCIe GPP Bridge [1022:1634]
00:02.4 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne PCIe GPP Bridge [1022:1634]
00:02.6 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne PCIe GPP Bridge [1022:1634]
00:08.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host Bridge [1022:1632]
00:08.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Renoir Internal PCIe GPP Bridge to Bus [1022:1635]
00:14.0 SMBus [0c05]: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller [1022:790b] (rev 51)
00:14.3 ISA bridge [0601]: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge [1022:790e] (rev 51)
00:18.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Cezanne Data Fabric; Function 0 [1022:166a]
00:18.1 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Cezanne Data Fabric; Function 1 [1022:166b]
00:18.2 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Cezanne Data Fabric; Function 2 [1022:166c]
00:18.3 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Cezanne Data Fabric; Function 3 [1022:166d]
00:18.4 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Cezanne Data Fabric; Function 4 [1022:166e]
00:18.5 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Cezanne Data Fabric; Function 5 [1022:166f]
00:18.6 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Cezanne Data Fabric; Function 6 [1022:1670]
00:18.7 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Cezanne Data Fabric; Function 7 [1022:1671]
01:00.0 Non-Volatile memory controller [0108]: Sandisk Corp WD PC SN740 NVMe SSD 512GB (DRAM-less) [15b7:5016] (rev 01)
03:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 0e)
04:00.0 SD Host controller [0805]: O2 Micro, Inc. SD/MMC Card Reader Controller [1217:8621] (rev 01)
06:00.0 Network controller [0280]: MEDIATEK Corp. MT7922 802.11ax PCI Express Wireless Network Adapter [14c3:0616]
07:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Barcelo [1002:15e7] (rev d6)
07:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Renoir/Cezanne HDMI/DP Audio Controller [1002:1637]
07:00.2 Encryption controller [1080]: Advanced Micro Devices, Inc. [AMD] Raven/Raven2/FireFlight/Renoir/Cezanne Platform Security Processor [1022:15df]
07:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne USB 3.1 [1022:1639]
07:00.4 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne USB 3.1 [1022:1639]
07:00.5 Multimedia controller [0480]: Advanced Micro Devices, Inc. [AMD] Audio Coprocessor [1022:15e2] (rev 01)
07:00.6 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Family 17h/19h/1ah HD Audio Controller [1022:15e3]

How long will they be present, and is there a solution if they are completely eliminated?

Thanks!

edit: modinfo output to bnx2i

Hello

Recent kernels have been removing older drivers, haven’t they?

Now, I think we need to confirm whether the following warnings are from drivers temporarily loaded in initramfs or permanently loaded.
What would the lsmod output show?

Warning: Unmaintained driver is detected: bnx2i_mod_init
Warning: Unmaintained driver is detected: bnx2i
Warning: Unmaintained driver is detected: cnic_init
Warning: Unmaintained driver is detected: cnic

※If these appear in lsmod output, it means the modules are loaded.
I believe disabling module loading should eliminate these warnings.

Thanks

user@alma:~$ lsmod | grep bnx2i
bnx2i                  94208  0
cnic                   90112  1 bnx2i
libiscsi               94208  6 be2iscsi,libiscsi_tcp,bnx2i,libcxgbi,iscsi_tcp,cxgb4i
scsi_transport_iscsi   196608  6 be2iscsi,libiscsi_tcp,bnx2i,libcxgbi,iscsi_tcp,libiscsi

Thank you.

I’m thinking of disabling the modules like this to prevent the warning

echo 'install bnx2i /bin/true' >> /etc/modprobe.d/disable-bnx2i.conf
echo 'install cnic  /bin/true' >> /etc/modprobe.d/disable-bnx2i.conf

My understanding is that if the modules are never loaded, the “Unmaintained driver is detected” warning should not appear.
Does this look correct?

Thanks.

Thanks!

You know if I must be rebuild initramfs ?

user@alma:~$ sudo lsinitrd /boot/initramfs-$(uname -r).img|grep bnx2i.ko
-rw-r--r--   1 root     root        43624 Aug 18 02:00 usr/lib/modules/6.12.0-124.20.1.el10_1.x86_64/kernel/drivers/scsi/bnx2i/bnx2i.ko.xz
  

edit: Ok I follow the steps from rhel custumer portal and i rebuild initramfs after disabling the modules in /etc/modprobe.d/…conf and now my sistem starts without this warnings . I only need to make this persistent across future kernel upgrades and initramfs rebuilds, add the driver to omit to dracut’s permanent .

If these are getting loaded from initramfs, you can exclude them via dracut config.

Create a file like:

/etc/dracut.conf.d/kernel-module.conf
omit_drivers+=" bnx2i cnic "

Then rebuild initramfs:

dracut -f

In theory this should persist across kernel updates because the dracut config stays under /etc.

See man dracut for details.

Yes, but I would not do that. While nothing seems to use bnx2i just now, something must have made the system load it. Most likely the system has device that needs (that) driver. Naturally, if it is certain that the device will not be used, then it would be ok disable it.

The warning is just an informational note. In itself it does not require any action.


Yes, Red Hat has removed support for older hardware. However, if el10 does have a driver, then it would be less likely to be removed during life cycle of el10. To not be included in el11 would be the more expected progression.

The “unmaintained” means that the driver is there as is and if any bugs are found from it, then nothing will be done about them.


AlmaLinux does include some drivers that RHEL does not. Therefore, they do already offer a bit more support than Red Hat.


ELRepo builds several kernel modules for RHEL that RHEL does not have. They have been the repo for those drivers that RHEL/AlmaLinux lacks.

1 Like

Ah, that’s right.
The fact that it’s listed in the lsmod output means that
the relevant driver is being used.

Yes, your understanding looks reasonable.

In your output, bnx2i is loaded, but its use count is 0. cnic is only kept loaded because bnx2i depends on it. Also, if lspci does not show any Broadcom NetXtreme II device and bnx2x is not loaded, then it is unlikely that this driver is actually needed on that Lenovo Yoga system.

So, if you are not using iSCSI boot, iSCSI offload, or any Broadcom NetXtreme II hardware, blacklisting bnx2i/cnic should be safe enough.

I would not blacklist the generic iSCSI modules such as libiscsi or scsi_transport_iscsi unless you are certain that you do not use iSCSI at all.

On my AlmaLinux 9 system:

# lspci -k | sed -n "s/.*Kernel driver in use: //p" | while read D ; do lsmod | grep "^$D " ; done
intel_pch_thermal      20480  0
mei_me                 61440  2
ahci                   57344  0
snd_hda_intel          69632  4
e1000e                389120  0
nvidia              104214528  142 nvidia_uvm,nvidia_modeset
snd_hda_intel          69632  4
nvme                   77824  12

Note how intel_pch_thermal, ahci, and e1000e do show “0”, even though they are names listed by lspci as “driver in use”. (The e1000e guides my Ethernet NIC; it is definitely “in use”.)

That is, the lsmod shows what is loaded, but does not completely reveal whether it is actually used by something.