https://access.redhat.com/documentation ... enablement
)
For a positive control I have a CentOS 8 system with a list of devices known to work. This is one:
Code: Select all
02:00.0 14E4:165A tg3(module) "NetXtreme BCM5722 Gigabit Ethernet PCI Express"
Code: Select all
./find_centos8_needs_elrepo.pl DeviceIDsFile
02:00.0 14E4:163B kmod-bnx2 pci Ethernet controller: Broadcom Inc. and subsidiaries NetXtreme II BCM5716 Gigabit Ethernet (rev 20)
02:00.1 14E4:163B kmod-bnx2 pci Ethernet controller: Broadcom Inc. and subsidiaries NetXtreme II BCM5716 Gigabit Ethernet (rev 20)
03:00.0 1000:0060 kmod-megaraid_sas pci RAID bus controller: Broadcom / LSI MegaRAID SAS 1078 (rev 04)
06:08.0 1000:0030 kmod-mptspi pci SCSI storage controller: Broadcom / LSI 53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (rev c1)
Code: Select all
cd /tmp
wget http://vault.centos.org/8.2.2004/BaseOS/Source/SPackages/kernel-4.18.0-193.14.2.el8_2.src.rpm
mkdir ksrc
cd ksrc
rpm2cpio ../kernel-4.18.0-193.14.2.el8_2.src.rpm | cpio -idmv
xzcat linux-4.18.0-193.14.2.el8_2.tar.xz | tar -xf -
grep -r PCI_DEVICE_ID_TIGON3_5722 linux-4.18.0-193.14.2.el8_2
linux-4.18.0-193.14.2.el8_2/drivers/net/ethernet/broadcom/tg3.c: {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5722)},
linux-4.18.0-193.14.2.el8_2/drivers/net/ethernet/broadcom/tg3.c: tp->pdev->device != PCI_DEVICE_ID_TIGON3_5722)
linux-4.18.0-193.14.2.el8_2/include/linux/pci_ids.h:#define PCI_DEVICE_ID_TIGON3_5722 0x165a
grep -r PCI_DEVICE_ID_LSI_SAS1078 linux-4.18.0-193.14.2.el8_2
linux-4.18.0-193.14.2.el8_2/drivers/scsi/megaraid/megaraid_sas.h:#define PCI_DEVICE_ID_LSI_SAS1078R 0x0060
linux-4.18.0-193.14.2.el8_2/drivers/scsi/megaraid/megaraid_sas.h:#define PCI_DEVICE_ID_LSI_SAS1078DE 0x007C
linux-4.18.0-193.14.2.el8_2/drivers/scsi/megaraid/megaraid_sas.h:#define PCI_DEVICE_ID_LSI_SAS1078GEN2 0x0078
linux-4.18.0-193.14.2.el8_2/drivers/scsi/megaraid/megaraid_sas_base.c: case PCI_DEVICE_ID_LSI_SAS1078R:
linux-4.18.0-193.14.2.el8_2/drivers/scsi/megaraid/megaraid_sas_base.c: case PCI_DEVICE_ID_LSI_SAS1078DE:
linux-4.18.0-193.14.2.el8_2/drivers/scsi/megaraid/megaraid_sas_base.c: case PCI_DEVICE_ID_LSI_SAS1078GEN2:
linux-4.18.0-193.14.2.el8_2/drivers/scsi/megaraid/megaraid_sas_base.c: PCI_DEVICE_ID_LSI_SAS1078GEN2) ||
linux-4.18.0-193.14.2.el8_2/include/linux/pci_ids.h:#define PCI_DEVICE_ID_LSI_SAS1078 0x0060
grep -i megaraid kernel-x86_64.config
# CONFIG_MEGARAID_LEGACY is not set
# CONFIG_MEGARAID_NEWGEN is not set
CONFIG_MEGARAID_SAS=m
Assuming that one must start instead with the config file we see that CONFIG_MEGARAID_SAS is the only one which should build, and those three values are found here:
Code: Select all
./linux-4.18.0-193.14.2.el8_2/drivers/scsi/Makefile
Code: Select all
obj-$(CONFIG_MEGARAID_LEGACY) += megaraid.o
obj-$(CONFIG_MEGARAID_NEWGEN) += megaraid/
obj-$(CONFIG_MEGARAID_SAS) += megaraid/
Better yet, is there any way to go from the installed kernel modules.* files to a PCI IDs list?
Thanks.