Score:1

RHEL8 based system has multiple kernels but module will only load in one of them

kr flag

As the title says I have multiple kernels on my system

4.18.0-193.19.1.el8_2.x86_64
4.18.0-240.el8.x86_64
4.18.0-372.26.1.el8_6.x86_64

Issue is I am using mpt3sas on my system and when i installed it on 4.18.0-193.19.1 it was perfect. Now on a later kernel I am seeing that kernel does't detect that module. I can't modinfo it or modprobe it. But when I attempt to install it it does detect that it's already installed. It is in the /lib/modules/4.18.0-193.19.1.el8_2.x86_64/weak-updates & /lib/modules/4.18.0-193.19.1.el8_2.x86_64/extra directories if that makes a difference.

Any ideas on what I can do? Should I uninstall it and reinstall it on the newer kernel? I attempted to copy the directories & .ko files but that didn't make a different it seems.

EDIT: I attempted to remove the old version in there and install it via dnf and now it seems I have two version installed on the system. Here is the output of modinfo mpt3sas:

 modinfo mpt3sas                                                                                                                                              PLEX
filename:       /lib/modules/4.18.0-372.26.1.el8_6.x86_64/extra/mpt3sas/mpt3sas.ko
alias:          mpt2sas
version:        32.100.00.00
license:        GPL
description:    LSI MPT Fusion SAS 3.0 Device Driver
author:         Avago Technologies <[email protected]>
rhelversion:    8.2
srcversion:     7C68C3E1EC928FA96966F19
alias:          pci:v00001000d000000E6sv*sd*bc*sc*i*
alias:          pci:v00001000d000000E5sv*sd*bc*sc*i*
alias:          pci:v00001000d000000B2sv*sd*bc*sc*i*
alias:          pci:v00001000d000000E2sv*sd*bc*sc*i*
alias:          pci:v00001000d000000E1sv*sd*bc*sc*i*
alias:          pci:v00001000d000000D1sv*sd*bc*sc*i*
alias:          pci:v00001000d000000ACsv*sd*bc*sc*i*
alias:          pci:v00001000d000000ABsv*sd*bc*sc*i*
alias:          pci:v00001000d000000AAsv*sd*bc*sc*i*
alias:          pci:v00001000d000000AFsv*sd*bc*sc*i*
alias:          pci:v00001000d000000AEsv*sd*bc*sc*i*
alias:          pci:v00001000d000000ADsv*sd*bc*sc*i*
alias:          pci:v00001000d000000C3sv*sd*bc*sc*i*
alias:          pci:v00001000d000000C2sv*sd*bc*sc*i*
alias:          pci:v00001000d000000C1sv*sd*bc*sc*i*
alias:          pci:v00001000d000000C0sv*sd*bc*sc*i*
alias:          pci:v00001000d000000C8sv*sd*bc*sc*i*
alias:          pci:v00001000d000000C7sv*sd*bc*sc*i*
alias:          pci:v00001000d000000C6sv*sd*bc*sc*i*
alias:          pci:v00001000d000000C5sv*sd*bc*sc*i*
alias:          pci:v00001000d000000C4sv*sd*bc*sc*i*
alias:          pci:v00001000d000000C9sv*sd*bc*sc*i*
alias:          pci:v00001000d00000095sv*sd*bc*sc*i*
alias:          pci:v00001000d00000094sv*sd*bc*sc*i*
alias:          pci:v00001000d00000091sv*sd*bc*sc*i*
alias:          pci:v00001000d00000090sv*sd*bc*sc*i*
alias:          pci:v00001000d00000097sv*sd*bc*sc*i*
alias:          pci:v00001000d00000096sv*sd*bc*sc*i*
alias:          pci:v00001000d0000007Esv*sd*bc*sc*i*
alias:          pci:v00001000d000002B1sv*sd*bc*sc*i*
alias:          pci:v00001000d000002B0sv*sd*bc*sc*i*
alias:          pci:v00001000d0000006Esv*sd*bc*sc*i*
alias:          pci:v00001000d00000087sv*sd*bc*sc*i*
alias:          pci:v00001000d00000086sv*sd*bc*sc*i*
alias:          pci:v00001000d00000085sv*sd*bc*sc*i*
alias:          pci:v00001000d00000084sv*sd*bc*sc*i*
alias:          pci:v00001000d00000083sv*sd*bc*sc*i*
alias:          pci:v00001000d00000082sv*sd*bc*sc*i*
alias:          pci:v00001000d00000081sv*sd*bc*sc*i*
alias:          pci:v00001000d00000080sv*sd*bc*sc*i*
alias:          pci:v00001000d00000065sv*sd*bc*sc*i*
alias:          pci:v00001000d00000064sv*sd*bc*sc*i*
alias:          pci:v00001000d00000077sv*sd*bc*sc*i*
alias:          pci:v00001000d00000076sv*sd*bc*sc*i*
alias:          pci:v00001000d00000074sv*sd*bc*sc*i*
alias:          pci:v00001000d00000072sv*sd*bc*sc*i*
alias:          pci:v00001000d00000070sv*sd*bc*sc*i*
depends:        scsi_transport_sas,raid_class
name:           mpt3sas
vermagic:       4.18.0-193.el8.x86_64 SMP mod_unload modversions
sig_id:         PKCS#7
signer:         ELRepo.org Secure Boot Key
sig_key:        E9:D4:71:CF:B4:FE:13:6C
sig_hashalgo:   sha256
signature:      94:52:91:50:DC:0D:4E:BF:96:69:4C:35:7C:37:99:60:49:7A:6E:E1:
                E6:6B:0F:C5:3B:C1:60:FF:81:B8:0B:60:72:26:0E:26:11:C4:8A:21:
                96:E9:2A:BF:A0:EA:60:40:2E:B4:1E:99:AB:B5:B7:A9:35:95:CC:31:
                1B:BF:72:2E:07:2C:D3:D9:F9:85:C4:94:01:C9:F4:73:A9:E9:A5:12:
                F5:65:79:B0:F5:54:E0:C5:CB:BC:1E:F5:28:5B:E1:A5:96:3B:12:7A:
                9D:E8:51:B5:D7:56:B2:7C:06:88:D2:6D:CD:69:DE:36:2D:D7:09:8F:
                79:B5:41:E6:5C:00:FD:89:E1:F6:6F:25:CC:2A:B6:AC:41:12:F7:80:
                CB:71:EE:22:4F:BF:E1:44:3A:29:5C:29:EF:76:99:63:34:47:EE:9F:
                35:63:5E:2A:EF:FD:30:5B:69:F7:F6:AD:E6:AF:0D:BD:69:D9:19:80:
                55:25:64:83:C4:41:AD:41:86:4B:CE:E5:73:61:83:F9:9E:86:7B:82:
                33:38:94:1A:D7:D3:A7:4A:A1:96:67:02:3E:7F:D5:02:2C:B3:27:10:
                AB:0F:B0:AA:A7:FD:18:5A:BC:04:8A:38:09:9A:FC:B9:35:54:5E:89:
                9E:AC:42:A7:90:DA:74:7E:05:D0:B3:79:37:7F:3E:16:82:4A:F8:DF:
                BD:CA:58:6D:80:15:1C:14:B0:38:7B:4D:48:6D:D9:EE:3C:AD:CF:DA:
                79:71:ED:2B:3A:5F:0F:7A:D8:BB:68:3B:27:6F:58:AA:A9:B1:E3:A8:
                C7:65:2A:56:1F:C4:16:3F:EE:B8:FE:27:85:5F:45:3B:53:73:1F:BC:
                9F:F5:88:78:50:87:30:33:25:30:D4:2D:62:45:CC:55:FF:15:C9:52:
                CF:1E:2F:30:6B:9D:39:20:6F:51:5C:F1:F4:33:16:03:ED:AB:7E:DF:
                EA:5B:E1:AB:A2:4E:CF:68:DF:94:F7:E3:E8:63:7F:AE:63:47:11:61:
                2C:9F:7F:95:06:D1:22:6C:BA:64:28:BF:D2:9A:66:E1:F7:59:68:33:
                A5:BE:14:DE:E8:DD:60:E5:D4:3F:34:15:F8:94:6B:4E:2D:1F:27:9E:
                5E:CF:5A:FD:45:70:77:CE:8E:D1:C9:7E:57:08:3F:73:F7:6A:18:86:
                2F:6E:8F:08:D1:FF:77:CC:50:FF:23:D6:D9:79:84:96:EE:68:D3:7F:
                BF:2D:D4:91:FE:5B:2E:2A:BA:E6:AC:10:E6:28:9A:AC:90:9F:87:43:
                BA:72:20:BF:8B:67:D9:84:1C:E6:A1:48:A4:1B:F1:85:46:7C:B4:44:
                43:71:1B:AB:5F:0B:65:02:FA:FC:4C:90
parm:           logging_level: bits for enabling additional logging info (default=0)
parm:           max_sectors:max sectors, range 64 to 32767  default=32767 (ushort)
parm:           missing_delay: device missing delay , io missing delay (array of int)
parm:           max_lun: max lun, default=16895  (ullong)
parm:           hbas_to_enumerate: 0 - enumerates both SAS 2.0 & SAS 3.0 generation HBAs
                  1 - enumerates only SAS 2.0 generation HBAs
                  2 - enumerates only SAS 3.0 generation HBAs (default=0) (ushort)
parm:           diag_buffer_enable: post diag buffers (TRACE=1/SNAPSHOT=2/EXTENDED=4/default=0) (int)
parm:           disable_discovery: disable discovery  (int)
parm:           prot_mask: host protection capabilities mask, def=7  (int)
parm:           enable_sdev_max_qd:Enable sdev max qd as can_queue, def=disabled(0) (bool)
parm:           max_queue_depth: max controller queue depth  (int)
parm:           max_sgl_entries: max sg entries  (int)
parm:           msix_disable: disable msix routed interrupts (default=0) (int)
parm:           smp_affinity_enable:SMP affinity feature enable/disable Default: enable(1) (int)
parm:           max_msix_vectors: max msix vectors (int)
parm:           irqpoll_weight:irq poll weight (default= one fourth of HBA queue depth) (int)
parm:           mpt3sas_fwfault_debug: enable detection of firmware fault and halt firmware - (default=0)
parm:           perf_mode:Performance mode (only for Aero/Sea Generation), options:
                0 - balanced: high iops mode is enabled &
                interrupt coalescing is enabled only on high iops queues,
                1 - iops: high iops mode is disabled &
                interrupt coalescing is enabled on all queues,
                2 - latency: high iops mode is disabled &
                interrupt coalescing is enabled on all queues with timeout value 0xA,
                default - default perf_mode is 'balanced' (int)
 root ~    $ modprobe mpt3sas                                                                                                                                             PLEX
modprobe: ERROR: could not insert 'mpt3sas': Unknown symbol in module, or unknown parameter (see dmesg)
Derek Edwards avatar
kr flag
I was able to fix this by following these instructions: https://www.networkshinobi.com/centos-8-with-lsi-sas2008/
Score:0
la flag

Kernel modules are specific to kernel versions and a new kernel requires that the module gets updated/recompiled as well.

When the original provider hasn't built the required new binary RPM package yet, install the source package and build your own binary RPM package that matches your new kernel i.e.

See for example https://www.ibm.com/docs/pt/ess-p8/5.1.0?topic=guide-instructions-updating-mpt3sas-driver

Download the SRPM

Rebuild the RPMs for the running kernel.

rpmbuild --rebuild SRC_RPM_LOCATION/mpt3sas-13.100.00.00-1.el7_2.src.rpm

This command creates two RPMs.

Unload the current mpt3sas driver.

rmmod mpt3sas

Install the RPMs.

rpm -Uvh /root/rpmbuild/RPMS/ppc64le/kmod-mpt3sas*rpm
rpm -Uvh /root/rpmbuild/RPMS/ppc64le/mpt3sas*rpm

Load the updated modules.

modprobe mpt3sas

Verify that the module is loaded.

modinfo mpt3sas
Derek Edwards avatar
kr flag
Attempted to rebuild with this command but I only have the kmod driver, not the mpt3sas driver `rpmbuild --rebuild kmod-mpt3sas-28.100.00.00-3.el8_2.elrepo.x86_64.rpm` `Installing kmod-mpt3sas-28.100.00.00-3.el8_2.elrepo.x86_64.rpm` `warning: kmod-mpt3sas-28.100.00.00-3.el8_2.elrepo.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID baadae52: NOKEY` `error: source package expected, binary found` `error: kmod-mpt3sas-28.100.00.00-3.el8_2.elrepo.x86_64.rpm cannot be installed`
I sit in a Tesla and translated this thread with Ai:

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.