removal of SAS-2 controller drivers in RHEL 8

Latest response

I've recently been made aware that RHEL 8 will remove certain devices that were previously supported by the mpt2sas driver, as listed here:

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8-beta/html/8.0_beta_release_notes/removed_functionality

I can certainly understand the need to purge old drivers that are no longer relevant, especially those storage controllers from the SAS-1 or SATA-I/II era. However, among the removed drivers are the LSI SAS2008/2108/2116/etc. I point these out specifically for 2 reasons:

1) They are SAS-2/SATA-III storage controllers, which are still very much relevant if we're talking about storage servers that are still using traditional spinning HDDs. As much as SSDs and NVMe storage have grown in the storage space, I think HDDs still have very important roles to play (bulk storage, media storage, backup storage, etc.) Using faster SAS-3 controllers on HDDs would be a real waste. So, I don't fully understand the decision to remove these drivers?

2) LSI SAS2008/2108/2116 storage controllers are still widely deployed. They are also often re-used from the 2nd hand market for building storage servers for small/medium size businesses, start-up companies, as well as "home lab" hobbyists. They are also often re-branded by Dell, HP, IBM/Lenovo, etc., so are in very wide circulation. With this change, all these systems that still use these controllers would not have an easy path to upgrade to RHEL 8.

So, my questions are:

a) What was the reasoning for removing these specific drivers?
b) Will RedHat re-consider this decision, or is this etched in stone at this point?
c) If this decision cannot be modified, can RHEL provide a "legacy driver" kernel driver sub-package so that servers with these controllers can upgrade to RHEL8 in the future?

Thoughts?

Responses

You need to update the kmod package to the latest (which is now .el8_2). That should match your 8.2 kernel.

OK. I had thought that the way we had installed mpt3sas during the install would survive a kernel update. I guess I was wrong. I am assuming you mean "dd-mpt3sas-28.100.00.00-3.el8_2.elrepo.iso"? I don't know why this is so hard for me to grasp, and I apologize. Can you give me a head start on how to update from that .iso?

Not the dd image but the kmod package. I suggest you install the elrepo-release package and then run "dnf update". That will pick up kmod-mpt3sas-28.100.00.00-3.el8_2.elrepo.x86_64.rpm.

ELRepo's kmod packages do survive kernel updates. However there was a kABI breakage when going from 8.1 to 8.2.

Gotcha. Thanks so much.

My client is assisting me to use RHEL 8.1 because as @Tood Schafer describes once we will update it that RHEL. Our boot will gonna fail.

Is there any suggestion?

Come on. When I saw this notice I thought Red Hat would deprecate the SAS1 controllers, like the original MegaRAID SAS. But the removal of SAS2008 is unacceptable. The card was commercialised until 2018. Discovered this the worse way. SAS3 is still new on some customers.

I'm trying to sideload the drivers for a megaraid_sas, but it does not seem to allow me to see/load the drives. It looks like the kernel modules are loaded, but I am seeing a module verification error in the dmesgs, so I am not quite sure if it worked or not. Any ideas?

lsmod | grep mega
megaraid_sas          172032  0

dmesg | grep mega

[  201.969623] megaraid_sas: loading out-of-tree module taints kernel.
[  201.969755] megaraid_sas: module verification failed: signature and/or required key missing - tainting kernel
[  201.972259] megasas: 07.710.50.00-rc1

You can ignore that message which is related to SecureBoot and the fact the SecureBoot public key is not installed in your MOK list. But it would appear you are not using SB as you show the module is loaded.

Can you just check it is the updated elrepo module that is loaded, and not the distro kernel driver. Running 'modinfo megaraid_sas' will show you this.

Looks like it is running the elrepo module.

filename:       /lib/modules/4.18.0-193.el8.x86_64/updates/extra/megaraid_sas/megarai
d_sas.ko
description:    Broadcom MegaRAID SAS Driver
author:         megaraidlinux.pdl@broadcom.com
version:        07.710.50.00-rc1
license:        GPL
rhelversion:    8.2
srcversion:     C970AE1651434465EB4BEFE
alias:          pci:v00001000d000010E7sv*sd*bc*sc*i*
alias:          pci:v00001000d000010E4sv*sd*bc*sc*i*
alias:          pci:v00001000d000010E3sv*sd*bc*sc*i*
alias:          pci:v00001000d000010E0sv*sd*bc*sc*i*
alias:          pci:v00001000d000010E6sv*sd*bc*sc*i*
alias:          pci:v00001000d000010E5sv*sd*bc*sc*i*
alias:          pci:v00001000d000010E2sv*sd*bc*sc*i*
alias:          pci:v00001000d000010E1sv*sd*bc*sc*i*
alias:          pci:v00001000d0000001Csv*sd*bc*sc*i*
alias:          pci:v00001000d0000001Bsv*sd*bc*sc*i*
alias:          pci:v00001000d00000017sv*sd*bc*sc*i*
alias:          pci:v00001000d00000016sv*sd*bc*sc*i*
alias:          pci:v00001000d00000015sv*sd*bc*sc*i*
alias:          pci:v00001000d00000014sv*sd*bc*sc*i*
alias:          pci:v00001000d00000053sv*sd*bc*sc*i*
alias:          pci:v00001000d00000052sv*sd*bc*sc*i*
alias:          pci:v00001000d000000CFsv*sd*bc*sc*i*
alias:          pci:v00001000d000000CEsv*sd*bc*sc*i*
alias:          pci:v00001000d0000005Fsv*sd*bc*sc*i*
alias:          pci:v00001000d0000005Dsv*sd*bc*sc*i*
alias:          pci:v00001000d0000002Fsv*sd*bc*sc*i*
alias:          pci:v00001000d0000005Bsv*sd*bc*sc*i*
alias:          pci:v00001028d00000015sv*sd*bc*sc*i*
alias:          pci:v00001000d00000413sv*sd*bc*sc*i*
alias:          pci:v00001000d00000071sv*sd*bc*sc*i*
alias:          pci:v00001000d00000073sv*sd*bc*sc*i*
alias:          pci:v00001000d00000079sv*sd*bc*sc*i*
alias:          pci:v00001000d00000078sv*sd*bc*sc*i*
alias:          pci:v00001000d0000007Csv*sd*bc*sc*i*
alias:          pci:v00001000d00000060sv*sd*bc*sc*i*
alias:          pci:v00001000d00000411sv*sd*bc*sc*i*
depends:        
name:           megaraid_sas
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:      66:59:F0:6B:9A:30:A6:AB:1E:16:A6:6D:2A:49:C2:42:F7:90:C5:69:
                E3:8C:4C:6A:34:CC:9D:D5:B8:81:98:31:2F:40:69:9C:F2:83:44:C3:
                EC:4A:28:3C:51:7B:D0:DD:DF:23:90:AE:23:AC:38:1D:8C:96:4C:21:
                38:C8:91:7A:B9:36:2F:81:A1:51:C1:0B:2F:42:DC:0E:01:D9:99:86:
                5A:E9:F4:71:4C:AD:33:59:F4:49:E0:86:2C:F1:82:68:80:A4:53:3C:
                06:F1:53:ED:3A:A7:3C:64:7D:AC:CB:83:CD:91:90:50:25:44:36:28:
                D3:61:26:68:89:EE:E7:1E:45:4C:65:B9:0B:C2:41:F0:BB:98:D1:76:
                CB:C1:0D:A7:33:69:DC:0E:CB:3A:AB:E3:5A:7E:F3:1E:FB:C0:F3:E3:
                6C:C0:4B:CD:65:E4:C5:09:7D:70:5F:97:C6:80:6A:17:1C:89:BF:6C:
                73:51:B8:FE:21:F6:B7:E4:B0:F2:5B:F3:32:E6:7D:2D:F4:35:6F:E8:
                3A:0E:47:44:9A:AA:EE:99:1F:F7:85:A2:BF:BE:E6:38:96:89:35:47:
                49:DD:A5:ED:DE:57:D3:61:97:A1:61:48:A7:B3:0A:28:22:72:EC:61:
                66:FE:29:C8:AC:5E:55:C9:1C:79:19:86:05:9B:C4:64:71:5E:A9:CA:
                23:BD:63:B5:80:E0:A8:3F:2A:FB:07:6C:26:93:02:80:75:A1:73:29:
                27:C5:A9:99:60:0D:78:10:55:DC:FF:08:74:6B:EA:1E:B6:14:BA:55:
                0C:51:31:61:1B:85:35:8B:E4:11:36:4E:82:8D:CA:EC:37:36:3B:1B:
                A0:CA:CE:AF:98:EC:4D:55:3D:CE:B7:A5:2C:62:22:ED:13:4E:45:D1:
                33:C9:ED:2E:B9:85:1A:F3:45:69:31:94:9C:E9:CA:2E:EB:7F:4A:16:
                B5:6A:D8:94:1F:F6:C8:54:EC:84:D3:8D:9C:E2:FA:CA:AB:98:64:79:
                DE:54:E2:DE:8A:B5:19:C4:B1:A3:F3:DF:AD:9B:E9:51:FD:F7:D7:93:
                86:BA:DE:B5:56:CD:C1:0A:BA:77:2B:45:01:5E:11:85:38:65:74:3D:
                D4:2B:B6:21:2A:60:CF:63:A5:F0:F3:B0:70:95:6C:6A:E8:DD:BC:32:
                A9:E1:5C:FE:B1:91:10:38:A3:0F:63:D1:4E:12:3D:E3:88:AA:82:7F:
                E4:3F:D5:7D:4F:C8:4B:27:C7:47:63:37:01:39:25:AB:ED:57:1A:23:
                7C:51:F3:2A:1C:96:ED:AD:9F:D9:8D:2F:34:8E:93:56:07:D0:73:E7:
                27:BE:B8:5E:40:95:80:9C:A5:7D:DB:6B
parm:           lb_pending_cmds:Change raid-1 load balancing outstanding threshold. V
alid Values are 1-128. Default: 4 (int)
parm:           max_sectors:Maximum number of sectors per IO command (int)
parm:           msix_disable:Disable MSI-X interrupt handling. Default: 0 (int)
parm:           msix_vectors:MSI-X max vector count. Default: Set by FW (int)
parm:           allow_vf_ioctls:Allow ioctls in SR-IOV VF mode. Default: 0 (int)
parm:           throttlequeuedepth:Adapter queue depth when throttled due to I/O time
out. Default: 16 (int)
parm:           resetwaittime:Wait time in (1-180s) after I/O timeout before resettin
g adapter. Default: 180s (int)
parm:           smp_affinity_enable:SMP affinity feature enable/disable Default: enab
le(1) (int)
parm:           rdpq_enable:Allocate reply queue in chunks for large queue depth enab
le/disable Default: enable(1) (int)
parm:           dual_qdepth_disable:Disable dual queue depth feature. Default: 0 (int
)
parm:           scmd_timeout:scsi command timeout (10-90s), default 90s. See megasas_
reset_timer. (int)
parm:           perf_mode:Performance mode (only for Aero adapters), options:
                0 - balanced: High iops and low latency queues are allocated &
                interrupt coalescing is enabled only on high iops queues
                1 - iops: High iops queues are not allocated &
                interrupt coalescing is enabled on all queues
                2 - latency: High iops queues are not allocated &
                interrupt coalescing is disabled on all queues
                default mode is 'balanced' (int)
parm:           event_log_level:Asynchronous event logging level- range is: -2(CLASS_
DEBUG) to 4(CLASS_DEAD), Default: 2(CLASS_CRITICAL) (int)
parm:           enable_sdev_max_qd:Enable sdev max qd as can_queue. Default: 0 (int)

Figured out my issue. The driver is loaded, it is just the wrong one.

thanks

Hello. I want try to install Centos 8.1 (or 8) on:
IBM: system x 3620 m3
Machine type and model: 7376PAA

I think my device is:
1x ServeRAID M5015 SAS/SATA Controller (46M0829)
ServeRAID M Series and MR10 SAS Controller Driver

Could you help me to find driver for it please?
is it someone from here? https://elrepo.org/linux/dud/el8/x86_64/

And direct me with steps how to, please?

Can you show us the output from 'lspci -nn' ? We need to know your device ID pairing [xxxx:yyyy] to identify the driver it requires.

https://www.radikal.kz/images/2020/10/26/20201026-0001.jpg

My guess is that you need the megaraid_sas driver, since that card is in MegaRAID mode. If it were in IR or IT mode, you would use the mpt3sas instead.

So, from where shoud I start? Just need to unpack this driver's iso to secondary usb flash and start install Centos?

download the driver package and follow this video: https://youtu.be/4fOAuXiynYM

Centos server 8.1 was installed. But after yum update to 8.2 and reboot it can't start 8.2, and starts emergency mod. Or i can start it in 8.1
https://www.radikal.kz/images/2020/10/28/20201028-0005.md.jpg
Obviously it so, because need drver for 8.2.
I tryed install it in 8.1 kernel, and then do yum update again, but it didn't help.
How can I install megaraid sas driver in 8.2?

If not done, you need to install the elrepo repository. Then 'yum update' should find the latest kmod-megaraid_sas package (currently kmod-megaraid_sas-07.710.50.00-1.el8_2.elrepo.x86_64.rpm). After installing it, try booting into the 8.2 kernel.

If you have any problem, please post back with the details.

in 8.1 I tryed "yum install kmod-megaraid_sas-07.710.50.00-1.el8_2.elrepo.x86_64.rpm" from usb.
It was installed, but after reboot, 8.2 kernel still doesn't working.
Is it possible to install it during booting like password reset method?

Dmitry,

Please go ahead and file a report at http://elrepo.org/bugs to get better support. Be sure to include all details as to what you have tried and the error message you have seen

The elrepo site has the driver for megaraid-sas and mpt3sas for rhel/centOS 8.3 version. It doesn't have the iso file for mptsas. can we get the driver image for mptsas.

Just released. Currently syncing to the mirrors.

dd-mptsas-3.04.20-4.el8_3.elrepo.iso

As many of you may know by now, CentOS Linux will be faded out in favor of CentOS Stream (1). CentOS Stream is a "rolling preview" of what’s next in RHEL. The current kernel in CStream-8 is a preview of the kernel in RHEL 8.4.

Good news for the people in this discussion thread is that many, if not all, of the device drivers (IDs) removed from the 8.x kernels will be added back in the 8.4 kernel.

(1) https://www.redhat.com/en/blog/faq-centos-stream-updates

Hi Akemi,

Deprecated drivers added back ? That would be great news ! Did you get this information from a Red Hatter ? :)

Regards,
Christian

Hi Christian,

Yes, I heard this from someone who apparently works for Red Hat. But not an official statement, so we have to see.

Hi Akemi,

That sounds promising ... then it's indeed more than a rumor - let's hope it's true. Thank you ! :)

Regards,
Christian

I have been watching the CentOS Stream kernel, and see that the current kernel 4.18.0-294.el8 has the following line in the changelog:

[scsi] megaraid_sas: re-add certain pci-ids as unsupported (Tomas Henzl) [1761485]

I checked the source code for megaraid_sas_base.c. Looks like this kernel now has 3 device IDs for magaraid_sas added:

[1000:0071]   MR SAS HBA 2004
[1000:0073]   MegaRAID SAS 2008 [Falcon]
[1000:0079]   MegaRAID SAS 2108 [Liberator]

Not a whole bunch but still, this would make some users happy. :)

I had a visit to our data centre today for some essential work (pandemic and all limits access) and have just tried an install of the RHEL 8.4 beta on a Dell PowerEdge R710 with a Perc H700 which was previously unsupported.

The system installed just fine, no issues whatsoever. However there are some warnings when you look in dmesg about it being supported. It shows up in lspci as RAID bus controller: Broadcom / LSI MegaRAID SAS 2108 [Liberator] (rev 05) [1000:0079]

[Tue Apr 13 07:23:08 2021] megasas: 07.714.04.00-rh1
[Tue Apr 13 07:23:08 2021] Warning: megaraid_sas 0000:03:00.0 [1000:0079] - this hardware has not undergone testing by Red Hat and
might not be certified. Please consult https://catalog.redhat.com for certified hardware.

There are also warnings about the Broadcom NetXtreme II BCM5709 NIC not being supported in the next release, but I can't imagine wanting to use these servers on RHEL9 and besides we use them with an Intel X520 10GbE card for networking.

I tried with an ancient Sun X4250 that is sitting in a rack waiting to be disposed of and the Adaptec card in that is still a no go.

The other option on a PowerEdge R710 is to replace the Perc H700 with a H710, which is what I was planing on doing. Basically the internal H700 is PCI card without the bracket. The SAS connectors are in a different place but the leads stretch and the battery is on the card rather than separate but it works. The downside is that the Dell utility to upgrade the firmware won't run on an R710. However you can flash the latest firmware by using the revert to stock firmware from https://fohdeesha.com/docs/perc/ which flashes the latest firmware which is unlikely to be updated again. Last update was September 2017

I have IBM x3650 server with SATA card. The device id of this card is

lspci | grep SATA

00:1f.2 IDE interface: Intel Corporation 631xESB/632xESB/3100 Chipset SATA IDE Controller (rev 09)

lspci -n | grep 00:1f.2

00:1f.2 0101: 8086:2680 (rev 09) This device id is not listed. I see many other SATA devices listed. Any idea on whether any of the existing SATA device drivers will work for this device.

I managed to detect the HDD with the following HW and driver: Dell R620 + RAID PREC H310 Driver dd-megaraid_sas-07.714.04.00-1.el8_3.elrepo.iso OS : RHEL 8.3

I am working to get RHEL8 installed on an LSI 8208ELP raid card (with 6 SAS drives) . The system currently has RHEL 5 installed on it. The goal is to boot from the RAID. I don't know if this is the correct thread on which to post as I have not seen mention of this board in this thread, but I thought I would give it a shot.

I added inst.dd to the command line for the installer and loaded dd-megaraid_sas-07.714.04.00-1.el8_3.elrepo.iso, dd-mptsas-3.04.20-4.el8_3.elrepo.iso, and dd-mptspi-3.04.20-4.el8_3.elrepo.iso (each burned to thumb drives) when asked. The installer continues until the graphic screen comes up and gives the option to select country and keyboard thye. At that point I get a popup stating that the install failed with a number of lines of python shown. I did manage to copy the /var/tmp logs off the machine if they would be of any use, though I won't post them now.

My questions are many, but first, Does anyone know if the drivers I am loading are the right set for the board I am working with? If not, any suggestions?

From syslog.log ....Anaconda.Modules.Storage: File "/usr/lib/python3.6/site-packages/blivet/populator/populator.py", line 265, in handle_device ....Anaconda.Modules.Storage: device = helper_class(self, info).run() ....Anaconda.Modules.Storage: File "/usr/lib/python3.6/site-packages/blivet/populator/helpers/disk.py", line 71, in run ....Anaconda.Modules.Storage: device = self._device_class(name, **kwargs) ....Anaconda.Modules.Storage:TypeError: SynchronizedABCMeta object argument after ** must be a mapping, not NoneType ....Anaconda.Modules.Storage:INFO:anaconda.modules.storage.bootloader.factory:Created the boot loader GRUB2.

To answer your question, we need to know the device ID pairing [vendor ID: device ID]. You can find the IDs by running lspci -nn on your RHEL 5 system.

xxxxroot>lspci -n

03:08.0 0100: 1000:0030 (rev c1)

05:00.0 0100: 1000:0059 (rev 08)

07:00.0 0100: 1000:0058 (rev 08)

According to the deviceIDs you have provided, the following drivers are relevant:

[1000:0030] -> mptspi
[1000:0059] -> mptsas
[1000:0058] -> mptsas

You have used both dd-mptspi and dd-mptsas, so they should take care of the devices in your system. Would you confirm that your installation media contained the kernel from RHEL 8.3?

Yes, I burned the rhel-8.3-x86_64-boot.iso file to a CD. As I said previously, the install media worked to install onto a SATA drive, so the install media itself works.

Is there any further information I could post that might be of use for this issue? As the installer crashes when the drivers are included, I am at a loss. Not a python dev I am afraid.

I have been asked to find out if there is a way to troubleshoot my issue with the drives not being recognized by the installer / the installer crashing with these device drivers loaded. Is this a known issue that has a known work-around that I have missed? If there is someone that specializes in this type of debugging we would like to contact them. Thanks in advance.

Akemi Yagi,

Thanks for your quite valuable inputs through this discussion

Regards,
RJ

My pleasure. :-)

Hello, is there any chance of getting kmod-megasr (LSI Embedded SW RAID) for RHEL 8.3 in elrepo, or do I have to wait for it to be compiled by Cisco/LSI in their next driver release? The kernel broke of course upgrading from 8.2 to 8.3. Currently using kmod-megasr-18.01.2019.0524_el8.2-6.x86_64 Vendor/PCI ID 8086:1d6b (Intel C602 chipset) 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. Any chance this driver gets included into newer RHEL builds? :) Thank you!

It will be best if you can get an updated kmod package from Cisco. Failing that, you may want to file a request at ELRepo's bug tracker ( https://elrepo.org/bugs ).

Another thing you can try is to install ELRepo's kernel-ml ( https://elrepo.org/linux/kernel/el8/x86_64/RPMS/ ). While the RHEL kernel does not have the driver (isci) enabled, it is enabled in kernel-ml.

Hi Akemi, thank you for the suggestion! I tried installing kernel-ml, but I ran into the same issues with dracut not finding megasr and failing to boot. I guess I will wait for an updated driver from Cisco, or I will file an ELrepo request. Thank you!

Pages