Need help compiling old qlcnic drivers

Apologies if this is rule breaking!

I have 6 HP NC523SFP cards I need to install into 6 nodes in our new data center. We’re 98% Rocky Linux now.

I’m trying to compile the qlcnic drivers following this guide: https://github.com/liamalxd/kmod-qlcnic

But with those modifications and a few more commented out sections. The end result doesn’t get assigned MAC Addresses.

[root@blade04 qlcnic]# dmesg | grep qlcnic
[    8.443635] qlcnic: loading out-of-tree module taints kernel.
[    8.443779] qlcnic: module verification failed: signature and/or required key missing - tainting kernel
[    8.447603] qlcnic 0000:08:00.0: 2048KB memory map
[    8.986993] qlcnic 0000:08:00.0: Default minidump capture mask 0x1f
[    8.986994] qlcnic 0000:08:00.0: FW dump enabled
[    8.986995] qlcnic 0000:08:00.0: Supports FW dump capability
[    8.986995] qlcnic 0000:08:00.0: Driver v5.3.66, firmware v4.14.28
[    9.003484] qlcnic 0000:08:00.0: Bad MAC address 00:00:00:00:00:00.
[    9.097493] qlcnic: 00:00:00:00:00:00: NC523SFP 10Gb 2-port Server Adapter Board Chip rev 0x54
[    9.098175] qlcnic 0000:08:00.0: using msi-x interrupts
[    9.111960] qlcnic 0000:08:00.0: eth0: XGbE port initialized
[    9.142916] qlcnic 0000:08:00.1: 2048KB memory map
[    9.190867] qlcnic 0000:08:00.1: Default minidump capture mask 0x1f
[    9.190867] qlcnic 0000:08:00.1: FW dump enabled
[    9.190868] qlcnic 0000:08:00.1: Supports FW dump capability
[    9.190868] qlcnic 0000:08:00.1: Driver v5.3.66, firmware v4.14.28
[    9.207220] qlcnic 0000:08:00.1: Bad MAC address 00:00:00:00:00:00.
[    9.299879] qlcnic 0000:08:00.1: using msi-x interrupts
[    9.312054] qlcnic 0000:08:00.1: eth1: XGbE port initialized
[    9.583367] qlcnic 0000:08:00.0 ens3f0: renamed from eth0
[   10.181920] qlcnic 0000:08:00.1 ens3f1: renamed from eth1

Might anyone know a way to get these drivers to compile? I don’t have the resources to buy more NICs at this current time…

I looked around to see if elrepo had the driver. It looks like at one point it was there, but I don’t see it for 8. It might be something they could provide again. @toracat perhaps could shed some light on it.

@ptunstall

You may want to file a request (RFE) with ELRepo at elrepo.org/bugs and see if the kmod package for el8 can be provided.

Probably would be easier to do this and enable elrepo and install kernel-ml (5.16):

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
dnf install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm
dnf config-manager --set-enabled elrepo-kernel
dnf install kernel-ml
reboot
modprobe qlcnic

[root@rocky ~]# lsmod | grep qlc
qlcnic                372736  0

[root@rocky ~]# uname -r
5.16.7-1.el8.elrepo.x86_64

since it’s in the Linux kernel tree as per the link you provided, means it’s available for later kernels. Just did this on my install, and qlcnic loaded. I don’t have one of these cards though, but I would expect that to work.

Wow! Thank you all for your replies.

@iwalker that worked like a charm, these nodes are “dummy” render/simulation nodes so having a different kernel shouldn’t be an issue!!

[root@blade04 ~]# dmesg | grep qlcnic
[    3.137132] qlcnic 0000:08:00.0: 2048KB memory map
[    3.696507] qlcnic 0000:08:00.0: Default minidump capture mask 0x1f
[    3.719509] qlcnic 0000:08:00.0: FW dump enabled
[    3.734256] qlcnic 0000:08:00.0: Supports FW dump capability
[    3.748951] qlcnic 0000:08:00.0: Driver v5.3.66, firmware v4.14.28
[    3.804174] qlcnic: 28:80:23:41:6f:48: NC523SFP 10Gb 2-port Server Adapter Board Chip rev 0x54
[    4.240760] qlcnic 0000:08:00.0: using msi-x interrupts
[    4.367450] qlcnic 0000:08:00.0: eth2: XGbE port initialized
[    4.381911] qlcnic 0000:08:00.1: 2048KB memory map
[    4.444668] qlcnic 0000:08:00.1: Default minidump capture mask 0x1f
[    4.457861] qlcnic 0000:08:00.1: FW dump enabled
[    4.470435] qlcnic 0000:08:00.1: Supports FW dump capability
[    4.496167] qlcnic 0000:08:00.1: Driver v5.3.66, firmware v4.14.28
[    6.209970] qlcnic 0000:08:00.1: using msi-x interrupts
[    6.224538] qlcnic 0000:08:00.1: eth3: XGbE port initialized
[    6.239599] qlcnic 0000:08:00.1 ens3f1: renamed from eth3
[    6.258091] qlcnic 0000:08:00.0 ens3f0: renamed from eth2
[   17.927017] qlcnic 0000:08:00.0 ens3f0: Rx Context[0] Created, state 0x2
[   18.178270] qlcnic 0000:08:00.0 ens3f0: Tx Context[0x8000] Created, state 0x2
[   18.194293] qlcnic 0000:08:00.0 ens3f0: Tx Context[0x8016] Created, state 0x2
[   18.209309] qlcnic 0000:08:00.0 ens3f0: Tx Context[0x8018] Created, state 0x2
[   18.225327] qlcnic 0000:08:00.0 ens3f0: Tx Context[0x801a] Created, state 0x2
[   18.834774] qlcnic 0000:08:00.1 ens3f1: Rx Context[1] Created, state 0x2
[   19.233174] qlcnic 0000:08:00.1 ens3f1: Tx Context[0x8001] Created, state 0x2
[   19.248217] qlcnic 0000:08:00.1 ens3f1: Tx Context[0x8017] Created, state 0x2
[   19.263248] qlcnic 0000:08:00.1 ens3f1: Tx Context[0x8019] Created, state 0x2
[   19.279267] qlcnic 0000:08:00.1 ens3f1: Tx Context[0x801b] Created, state 0x2
[   19.837380] qlcnic 0000:08:00.0 ens3f0: NIC Link is up

Interestingly enough the mezzanine rj45 10GbE NIC doesn’t load anymore:

"Broadcom and subsidiaries NetXtreme II BCM57810"

Not that it matters, the SFP card now loads and shows proper network transfer speeds!!

Thank you!!

If you want, there is also the kernel-lt package which will install a 5.4.x kernel. That’s if you want to attempt getting the broadcom one working as well. If it’s not a problem for you, then carry on with the mainline kernel 5.16.x.

I can’t remember which packages installed, but there is also a kernel-ml-modules-extra so if that isn’t installed, you can try that first, and see if it brings the broadcom one back online. Or attempt the LTS kernel kernel-lt.

The broadcom NICs were rj45 based and I only have 2 8x 10GBE switches to serve rj45. We are using all SFP cisco fabric interconnects now which makes things a lot easier in both hardware and software camps. this mainline kernel solution is perfect for our needs. Thanks so much again!!