View Issue Details

IDProjectCategoryView StatusLast Update
0001093channel: elrepo/el8--elrepo--request-for-enhancement--public2021-06-23 03:21
Reporterstommy989 Assigned Topperry  
PrioritynormalSeverityfeatureReproducibilityalways
Status closedResolutionnot fixable 
Platformx86_64OSRHELOS Version8.3
Summary0001093: Request for kmod-megasr for RHEL8.3
DescriptionHello, is there any chance of getting kmod-megasr (LSI Embedded SW RAID driver) for RHEL 8.3 in ELRepo, or would I need to wait for it to be compiled by Cisco/LSI in their next driver release? The kernel broke upgrading from 8.2 4.18.0-193.el8.x86_64 to 8.3 4.18.0-240.el8. It falls into dracut because it can no longer find megasr. If not, is there a workaround?

Currently using kmod-megasr-18.01.2019.0524_el8.2-6.x86_64.rpm Vendor/PCI ID 8086:1d6b (Serial Attached SCSI controller: Intel Corporation C602 chipset 4-Port SATA Storage Control Unit). The only place I could get the driver was from Cisco's latest driver pack (for Cisco C220M3), which goes up to RHEL 8.2 currently.

If it helps, I've attached a zip of the package used provided by Cisco's driver pack
Steps To ReproduceInstall RHEL 8.2 with megasr (LSI Embedded SW RAID driver). I installed with DUD rpm.

Yum update to RHEL 8.3, install newest kernel, and reboot.

System will fall into dracut with no boot devices (presumably because the kmod-megasr is not there anymore/not compatible).
TagsNo tags attached.
Attached Files
kmod-megasr.zip (1,022,565 bytes)

Relationships

related to 0001102 resolvedpperry Please update kmod-isci for RHEL 8.4 kernels 

Activities

pperry

2021-05-10 05:32

administrator   ~0007585

Acknowledged - I'll see what I can do

pperry

2021-05-10 12:36

administrator   ~0007589

Hi,

The inbuilt kernel driver for this device [8086:1d6b] is the isci.ko driver, which Red Hat disable in RHEL8. I have attempted to build this driver as kmod-isci for you. The following package should be available in the testing repository shortly:

kmod-isci-1.2.0-1.el8_3.elrepo.x86_64.rpm

You will need to test in a RHEL 8.3 series kernel (4.18.0-240.el8.x86_64 or later). You will also need to uninstall any previous Cisco kmod-megasr drivers.

To test, please run:

yum --enablerepo=elrepo-testing install kmod-isci

Are you booting from this device? If so, this will make testing more difficult, and you will need to ensure the correct driver is loading in your initramfs before rebooting.

Please let us know if the driver works for you.

stommy989

2021-05-11 11:21

reporter   ~0007592

Hi there,

The main issue is, yes, I am booting from the device, so it's certainly trickier to test without uninstalling megasr.

Right now, I have 8.2, yum updated and installed kernel 4.18.240.el8.x86_64, and installed the kmod-isci you have provided. It fails to boot, but I can still boot to 8.2 since I haven't uninstalled megasr.

Unfortunately, my Linux knowledge ends here... I'm not exactly sure how to update initramfs properly to confirm the driver is present at boot in the new kernel. Forgive my ignorance.

This is what I tried to do:

[root@test boot]# dracut --force --add-drivers kmod-isci /boot/initramfs-4.18.0-240.el8.x86_64
dracut-install: Failed to find module 'isci'
dracut: FAILED: /usr/lib/dracut/dracut-install -D /var/tmp/dracut.NmI6ss/initramfs --kerneldir /lib/modules/4.18.0-193.el8.x86_64/ -m isci megasr kmod_isci

I do see the driver at least installed into /lib/modules/4.18.240.el8.x86_64/extra/isci/isci.ko if that helps

Side notes:
Before all this, I did try a RHEL 8.3 iso + dd-isci DUD https://elrepo.org/linux/dud/el8/x86_64/dd-isci-1.2.0-6.el8_3.elrepo.iso, but that gave an error trying to inject. Should that have worked for the install?
I also tried RHEL 8.2 iso + dd-isci DUD https://elrepo.org/linux/dud/el8/x86_64/dd-isci-1.2.0-3.el8_2.elrepo.iso, but got the same problem.
I used a dd.iso to inject kmod-megasr (from Cisco's driver pack which is where this rpm came from) when installing 8.2, and that's what worked.

If it's possible to make DUD with a modified isci, I can give that a try! Or I can try updating initramfs, but I may need some instructions how to properly load it in and any next steps.

Thank you!

pperry

2021-05-11 14:45

administrator   ~0007593

Last edited: 2021-05-11 14:49

Well, that's embarrassing. I hadn't realised we already had a version of kmod-isci in the repository, together with the corresponding DUD.

The approach I've taken to build the package in testing is slightly different, so would appreciate you being able to test. I've uploaded a DUD image for you, attached here.

You say "but that gave an error trying to inject. Should that have worked for the install?" That depends on what the error was. If you could have a go with this current DUD image, and capture any errors, that would be great.

I am able to install the kmod package and load the driver with modprobe, but obviously don't have the hardware to test on my system, but the module loads without error (you can ignore the warnings - they are normal and to be expected due to not using SecureBoot):

[145562.799181] isci: loading out-of-tree module taints kernel.
[145562.799246] isci: module verification failed: signature and/or required key missing - tainting kernel
[145562.800219] isci: Intel(R) C600 SAS Controller Driver - version 1.2.0

Note my "newer" package is actually an older version number:

$ rpm -q kmod-isci
kmod-isci-1.2.0-1.el8_3.elrepo.x86_64

I'll fix that for a final release is we can confirm it works.

pperry

2021-05-11 14:46

administrator   ~0007594

For reference:

$ sha256sum dd-isci-1.2.0-1.el8_3.elrepo.iso
15b3cc7a7e17791eaa77332eaa5676406f8f635df6717952de8387f388b82e14 dd-isci-1.2.0-1.el8_3.elrepo.iso

pperry

2021-05-11 14:55

administrator   ~0007595

Out of interest, I just tried testing the older kmod-isci which you say gave an error when you tried to load it into the kernel:

$ rpm -q kmod-isci
kmod-isci-1.2.0-6.el8_3.elrepo.x86_64

$ sudo modprobe isci

$ dmesg
<snip>
[ 229.500414] isci: loading out-of-tree module taints kernel.
[ 229.500527] isci: module verification failed: signature and/or required key missing - tainting kernel
[ 229.502005] isci: Intel(R) C600 SAS Controller Driver - version 1.2.0

So again the module loads for me, but I don't have the hardware. It could be that neither module loads when the hardware is present - if you could capture any error, that would be great.

stommy989

2021-05-12 00:33

reporter   ~0007596

Hi again! I had some time this evening to test and screengrab various scenarios.

Here's some outputs from terminal:

[root@test ~]# rpm -q kmod-isci
kmod-isci-1.2.0-6.el8_3.elrepo.x86_64

[root@test ~]# modprobe isci
modprobe: FATAL: Module isci not found in directory /lib/modules/4.18.0-193.el8.x86_64

Some various info about the hardware (nothing for isci but plenty on megasr)
[root@test ~]# dmesg
[ 0.000000] Linux version 4.18.0-193.el8.x86_64 (mockbuild@x86-vm-08.build.eng.bos.redhat.com) (gcc version 8.3.1 20191121 (Red Hat 8.3.1-5) (GCC)) #1 SMP Fri Mar 27 14:35:58 UTC 2020
[snip]
[ 0.000000] DMI: Cisco Systems Inc UCSC-C220-M3S/UCSC-C220-M3S, BIOS C220M3.3.0.4e.0.1106191007 11/06/2019
[snip]
[ 2.851185] megasr: module verification failed: signature and/or required key missing - tainting kernel
[ 2.880796] dca service started, version 1.12.1
[ 2.884760] :LSI MegaSR RAID5 version v18.01.2019.0524, built on May 7 2020 at 05:31:46
[ 2.884948] :megasr: [RAID HBA] 0x8086:0x1d6b:0x1137:0x00b2: bus 5:slot 0:func 0
{snip]
[ 20.729078] :megasr[scu]: read_capacity_success: resetting the is_16byte_cdb_supported = 0
[ 20.766916] :megasr: raid 0 logical drive is online, is not initialized, has 1 drives, and has a size of 0x744c8000 sectors.
[ 20.766926] :megasr[cfg]: mgr, improper system shutdown detected, raid 5 LD init state changed to Not initialized
[ 20.766932] :megaswr[osl]: Enabling 2 MSIX for SCU
[ 20.767074] :megaswr[osl]: MSIX[0]: Status:0 Vector:74
[ 20.767102] :megaswr[osl]: MSIX[1]: Status:0 Vector:75
[ 20.767105] :megasr[raid_key]: [ ] RAID5 support [x] SAS drive support
[ 20.767109] scsi host2: LSI MegaSR RAID5
[ 20.768685] scsi 2:2:0:0: Direct-Access LSI MegaSR 1.0 PQ: 0 ANSI: 5
[ 20.779808] scsi 2:2:0:0: Attached scsi generic sg0 type 0
[ 20.786866] sd 2:2:0:0: [sda] 1951170560 512-byte logical blocks: (999 GB/930 GiB)

Then I tried the various DUD's. Screenshots attached. dd-isci-1201 w/8.3 (newest one), 1203 w/8.2, and 1206 w/8.3 "could not insert isci: unknown symbol in module or unknown parameter" and reboots. I also tried the original kmod-megasr with 8.2 (works and follows to the installer) and 8.3 (does not work, but for a different reason... invalid argument.). It seems to love the megasr. No love for isci.

Thank you for taking a look into this!
dd-isci-1203.JPG (83,062 bytes)   
dd-isci-1203.JPG (83,062 bytes)   
dd-isci-1206.JPG (79,202 bytes)   
dd-isci-1206.JPG (79,202 bytes)   
kmod-megasr-RHEL82.JPG (118,364 bytes)   
kmod-megasr-RHEL82.JPG (118,364 bytes)   
kmod-megasr-RHEL83.JPG (63,917 bytes)   
kmod-megasr-RHEL83.JPG (63,917 bytes)   
RHEL82LSIdisk.JPG (43,807 bytes)   
RHEL82LSIdisk.JPG (43,807 bytes)   
dd-isci-1201.JPG (78,908 bytes)   
dd-isci-1201.JPG (78,908 bytes)   

pperry

2021-05-12 03:19

administrator   ~0007597

Thank you for feeding back.

I'm not sure we can fix the unknown symbol errors in the isci driver, so I think this is off the table and we should remove kmod-isci from the repository as it's clearly broken.

This leaves you two options:

1. Wait for a Cisco kmod-megasr driver for RHEL 8.3 (keep in mind RHEL 8.4 is about to be released). Not ideal as they seem very slow to release updated drivers.
2. Try running one of our updated kernel packages which natively supports your device through the in kernel isci driver. There is a kernel-lt-5.4 release which has long term support (will stay on 5.4.x until end of life) and a kernel-ml-5.12.x mainline kernel which is a rolling release matching the latest upstream mainline kernel release. Both of these are in our kernel repository:

https://elrepo.org/linux/kernel/el8/x86_64/RPMS/

You could easily test by installing and rebooting to the new kernel with (no DUDs required):

dnf --enablerepo=elrepo-kernel install kernel-lt (or kernel-ml)

Our kernel packages are NOT compatible with any kmod packages for RHEL. These packages are offered as-is, without support, but will at least hopefully support your raid controller.

stommy989

2021-05-13 07:59

reporter   ~0007598

Hi again!

Yeah, Cisco seems to be slow with driver updates, so it wasn't an ideal solution. However, upgrading the kernel to ml (I also tried lt) and both worked (yay!)!!

I was a little nervous because it did throw a failed error not finding megasr, however, I rebooted and it worked anyways :)

Running transaction
  Preparing : 1/1
  Installing : kernel-ml-core-5.12.3-1.el8.elrepo.x86_64 1/3
  Running scriptlet: kernel-ml-core-5.12.3-1.el8.elrepo.x86_64 1/3
  Installing : kernel-ml-modules-5.12.3-1.el8.elrepo.x86_64 2/3
  Running scriptlet: kernel-ml-modules-5.12.3-1.el8.elrepo.x86_64 2/3
  Installing : kernel-ml-5.12.3-1.el8.elrepo.x86_64 3/3
  Running scriptlet: kernel-ml-core-5.12.3-1.el8.elrepo.x86_64 3/3
dracut-install: Failed to find module 'megasr'
dracut: FAILED: /usr/lib/dracut/dracut-install -D /var/tmp/dracut.fQ7whH/initra mfs --kerneldir /lib/modules/5.12.3-1.el8.elrepo.x86_64/ -m megasr

  Running scriptlet: kernel-ml-5.12.3-1.el8.elrepo.x86_64 3/3
  Verifying : kernel-ml-5.12.3-1.el8.elrepo.x86_64 1/3
  Verifying : kernel-ml-core-5.12.3-1.el8.elrepo.x86_64 2/3
  Verifying : kernel-ml-modules-5.12.3-1.el8.elrepo.x86_64 3/3
Installed products updated.

Installed:
  kernel-ml-5.12.3-1.el8.elrepo.x86_64
  kernel-ml-core-5.12.3-1.el8.elrepo.x86_64
  kernel-ml-modules-5.12.3-1.el8.elrepo.x86_64

Complete!

[root@test ~]# uname -a
Linux test 5.12.3-1.el8.elrepo.x86_64 #1 SMP Tue May 11 18:31:16 EDT 2021 x86_64 x86_64 x86_64 GNU/Linux

From dmesg (no megasr references now... just scsi):

 4.023966] scsi 1:0:0:0: Direct-Access ATA ST91000640NS CC03 PQ : 0 ANSI: 5
[ 4.024016] sas: DONE DISCOVERY on port 0, pid:474, result:0
[ 4.032642] scsi 1:0:0:0: Attached scsi generic sg0 type 0
[ 4.032685] scsi 0:0:0:0: Attached scsi generic sg1 type 5
[ 4.032722] scsi 0:0:0:1: Attached scsi generic sg2 type 0
[ 4.032757] scsi 0:0:0:2: Attached scsi generic sg3 type 0
[ 4.032793] scsi 0:0:0:3: Attached scsi generic sg4 type 5
[ 4.032830] scsi 0:0:0:4: Attached scsi generic sg5 type 0
[ 4.038814] sd 1:0:0:0: [sda] 1953525168 512-byte logical blocks: (1.00 TB/93 2 GiB)
[ 4.038827] sd 1:0:0:0: [sda] Write Protect is off
[ 4.038829] sd 1:0:0:0: [sda] Mode Sense: 00 3a 00 00

Going forward, I know now to use Cisco's megasr to at least inject the driver for initial install and I can upgrade with these kernels, or hopefully RHEL builds like 8.4 re-allows the drivers again, hopefully. Thanks so much for the assistance!

Sam

pperry

2021-05-13 08:34

administrator   ~0007599

Hi Sam,

Yes, as you say, going forward keep a copy of the 8.2 installation media and use that with the current (working) Cisco driver to make installs.

kmod packages are not compatible / will not work with the elrepo kernel-ml (and -lt) packages, hence the error message you saw. Once you have installed kernel-ml (or -lt) packages, you can in theory remove any kmod drivers you have installed, although it doesn't hurt to keep them and the corresponding distro kernel installed as a fallback in case you ever have an issue with our kernel packages. The kernel-ml packages should now continuously update from the elrepo-kernel repository as long as you have that enabled.

Glad you have a workable solution going forward. Can we close this bug now? Please feel free to open further bugs if you have any issues.

stommy989

2021-05-13 08:51

reporter   ~0007600

Yes, please, close this :)

I forgot to mention that I uninstalled the kmod-megasr package afterwards to make it cleaner and all is still well.

Thank you!

Sam

pperry

2021-06-23 03:21

administrator   ~0007693

Update - working kmod-isci packages are now available in the main elrepo repository for el8.4.

kmod-isci-1.2.0-8.el8_4.elrepo.x86_64

Issue History

Date Modified Username Field Change
2021-05-09 23:04 stommy989 New Issue
2021-05-09 23:04 stommy989 Status new => assigned
2021-05-09 23:04 stommy989 Assigned To => toracat
2021-05-09 23:04 stommy989 File Added: kmod-megasr.zip
2021-05-10 03:39 toracat Assigned To toracat => pperry
2021-05-10 03:39 toracat Description Updated
2021-05-10 03:39 toracat Steps to Reproduce Updated
2021-05-10 05:32 pperry Status assigned => acknowledged
2021-05-10 05:32 pperry Note Added: 0007585
2021-05-10 12:36 pperry Note Added: 0007589
2021-05-10 12:36 pperry Status acknowledged => feedback
2021-05-11 11:21 stommy989 Note Added: 0007592
2021-05-11 11:21 stommy989 Status feedback => assigned
2021-05-11 14:45 pperry Note Added: 0007593
2021-05-11 14:45 pperry File Added: dd-isci-1.2.0-1.el8_3.elrepo.iso
2021-05-11 14:46 pperry Note Added: 0007594
2021-05-11 14:47 pperry Note Edited: 0007593
2021-05-11 14:49 pperry Note Edited: 0007593
2021-05-11 14:55 pperry Note Added: 0007595
2021-05-12 00:33 stommy989 Note Added: 0007596
2021-05-12 00:33 stommy989 File Added: dd-isci-1203.JPG
2021-05-12 00:33 stommy989 File Added: dd-isci-1206.JPG
2021-05-12 00:33 stommy989 File Added: kmod-megasr-RHEL82.JPG
2021-05-12 00:33 stommy989 File Added: kmod-megasr-RHEL83.JPG
2021-05-12 00:33 stommy989 File Added: RHEL82LSIdisk.JPG
2021-05-12 00:33 stommy989 File Added: dd-isci-1201.JPG
2021-05-12 03:19 pperry Note Added: 0007597
2021-05-13 07:59 stommy989 Note Added: 0007598
2021-05-13 08:34 pperry Note Added: 0007599
2021-05-13 08:51 stommy989 Note Added: 0007600
2021-05-13 14:18 pperry Status assigned => closed
2021-05-13 14:18 pperry Resolution open => not fixable
2021-06-02 18:37 toracat Relationship added related to 0001102
2021-06-23 03:21 pperry Note Added: 0007693