Drivers for LPE12002 FC HBA on Slackware based Unraid

Hi

I got an older Fujitsu RX300 S6 running Unraid, but i want to expand the storrage.
I got an old LSI 1932 Storage Array really cheap, and i already had a LPE12002 FC HBA laying around unused. (https://www.broadcom.com/products/storage/fibre-channel-host-bus-adapters/lpe12002)

Now on Broadcom's website, there only seem to be drivers for Redhat, Suse and CentOS.
But since Unraid is based on Slackware (as far as i know), im not sure if its possible to get the HBA working?

Would it be possible to use the drivers from broadcom somehow?

All those use RPM packages.

So my guess is that if you get the one closest to your distro, just do a manual install of the RPM. Personally, not familiar with slackware or its ability, or lack thereof, to install RPM's.

1 Like

You could always just extract the rpm with an archive manager. Also alien exists (and works occasionally): https://sourceforge.net/projects/alien-pkg-convert/

Okay, so i found that slackware has a package called rpm2targz, that should convert rpm's to a format the slackware pkg manager can use.
I downloaded the Redhat 7 drivers (elx-lpfc-dd-rhel7-11.2.156.18-1) (not sure if some of the other would be a better choice).

I looked at the files and the install script, and i has a lot of rpm's, where the script chooses one based on some enviroment variables i guess?

subpattern=${RPM_BASE_NAME}${KERN_VAR}*-11*${RPM_DISTRO}*.${RPM_ARCH_STR}
pattern=${DIR}/${subpattern}.rpm

And then installs that package with rpm.

The following packages are available:

kmod-elx-lpfc-11.2.156.18-1.rhel7u1.ppc64.rpm
kmod-elx-lpfc-11.2.156.18-1.rhel7u2.ppc64.rpm
kmod-elx-lpfc-11.2.156.18-1.rhel7u3.ppc64.rpm
kmod-elx-lpfc-11.2.156.18-1.rhel7u1.ppc64le.rpm
kmod-elx-lpfc-11.2.156.18-1.rhel7u2.ppc64le.rpm
kmod-elx-lpfc-11.2.156.18-1.rhel7u3.ppc64le.rpm
kmod-elx-lpfc-11.2.156.18-1.rhel7u1.x86_64.rpm 
kmod-elx-lpfc-11.2.156.18-1.rhel7u2.x86_64.rpm
kmod-elx-lpfc-11.2.156.18-1.rhel7u3.x86_64.rpm

I'm guessing just one of the .x86_64 ones would do?
I'm not the biggest linux guru, so i'm mostly guessing.

Any advice?

I did some more digging, and i might be off on a totally wrong track, but.
I see that the rpm's at least for x86_64 just contains a .ko and a .conf file.

But i'm guessing that the -ko needs to be build for the kernel that unraid is running?
Which is 4.9.30, and RH7 apearently is running 2.X, so that might not be the best match?

I see drivers for Suse 12 SP2, that is running 4.4.21 ? So i'm thinking that might work better, or does it need to match exactly the same kernel version?

It seems like the source is also available for the Suse 12 sp2 driver: https://docs.broadcom.com/docs/12378702

Not sure if it would then be possible to build one for my kernel, from that?

Right now i got more questions than answers i guess.

If you're compiling the package from source yourself you don't need to worry about the kernel version. If you are using pre-compiled binaries (which those RPM packages are), then you need the correct kernel version.

Since what you're running is newer that the latest available RPM's, you should not install them.

LSI controllers should have native support in most linux distros, if they (manufactures) didn't ship drivers in source code and only offer packages that are incompatible with your distro, then you're a bit out of luck.

Have your tried getting them to work? Was it complaining about drivers?