revivir una antigua tarjeta QLogic IBA7322 Infiniband en CentOS8.2

revivir una antigua tarjeta QLogic IBA7322 Infiniband en CentOS8.2

Tengo algunos HP Blades Gen7 equipados con tarjetas QLogic Infiniband IBA7322 que me gustaría usar con CentOS 8. El problema que tengo es que no puedo encontrar los controladores adecuados para ellos. Toda la información que encuentro es antigua o los enlaces no funcionan (por ejemplo, los enlaces de descarga de Marvell).

Puedo ver la tarjeta con lspci pero aparte de eso no tuve suerte al encenderla (por así decirlo).

¿Alguien puede indicarme algún tipo de dirección con este problema?

Salud.

Editar:

resultados de lspci -vv:

01:00.0 InfiniBand: QLogic Corp. IBA7322 QDR InfiniBand HCA (rev 02)
        Subsystem: Hewlett-Packard Company Device 178a
        Physical Slot: 0
        Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Interrupt: pin A routed to IRQ 10
        Region 0: Memory at fd400000 (64-bit, non-prefetchable) [size=4M]
        Capabilities: [40] Power Management version 3
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [70] Express (v2) Endpoint, MSI 00
                DevCap: MaxPayload 512 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us
                        ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset- SlotPowerLimit 0.000W
                DevCtl: Report errors: Correctable+ Non-Fatal+ Fatal+ Unsupported+
                        RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop-
                        MaxPayload 128 bytes, MaxReadReq 4096 bytes
                DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
                LnkCap: Port #0, Speed 5GT/s, Width x8, ASPM L0s, Exit Latency L0s <4us
                        ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp-
                LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+
                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 5GT/s, Width x8, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
                DevCap2: Completion Timeout: Not Supported, TimeoutDis+, LTR-, OBFF Not Supported
                         AtomicOpsCap: 32bit- 64bit- 128bitCAS-
                DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
                         AtomicOpsCtl: ReqEn-
                LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
                         Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
                         Compliance De-emphasis: -6dB
                LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
                         EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
        Capabilities: [b0] MSI-X: Enable- Count=32 Masked-
                Vector table: BAR=0 offset=00008000
                PBA: BAR=0 offset=00009000
        Capabilities: [100 v1] Advanced Error Reporting
                UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq+ ACSViol-
                UESvrt: DLP- SDES+ TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
                CEMsk:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
                AERCap: First Error Pointer: 00, ECRCGenCap+ ECRCGenEn- ECRCChkCap+ ECRCChkEn-
                        MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
                HeaderLog: 00000000 00000000 00000000 00000000

Respuesta1

Lo primero que debe hacer es obtener el proveedor de PCI y los ID del dispositivo para el hardware en cuestión. Su tarjeta parece ser 1077:7322. Avistazo rápidoen la base de datos de controladores de Linux me dice que esta tarjeta usa el controlador ib_qib.

Eché un vistazo a la documentación de RHEL decontroladores eliminados en RHEL 8, pero no vi a este conductor. Sin embargo, encendí una VM RHEL 8 y el controlador ya no está presente y no está habilitado en la configuración del kernel correspondiente. Sin embargo, está presente en RHEL 7.

Lo que la gente suele hacer en tales circunstancias, para poder utilizar el hardware antiguo, es utilizar elelreporepositorio, que para RHEL 8 contiene el controlador ib_qib que falta (y varios otros controladores que Red Hat eliminó). Por ejemplo:

dnf install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm
dnf install kmod-ib_qib

Respuesta2

Después de muchas pruebas, mi amigo lanzó un saludo y volvió a compilar el kernel 4.19 en Rocky 8.5 y habilitó el qibcontrolador. Estuvo allí todo el tiempo, pero no se compiló en el kernel predeterminado.

Ahora tenemos la antigua tarjeta QLogic funcionando nuevamente. Está conectado a un (¡jadeo!) Mellanox Infiniband Switch que ejecuta el Administrador de subred.

Los nodos pueden comunicarse a 40 Gbps entre ellos y también pueden comunicarse con las tarjetas Mellanox ConnectX5 de 100 Gbps, mucho más nuevas.

¡Todo está bien en Infiniband-land ahora!

Espero que esto ayude a alguien y si hay alguna pregunta haré todo lo posible para responderla. Solo tenga en cuenta que de ninguna manera soy un experto en estas cosas. ¡Solo un tipo que tenía que descubrir algo y hacer que un equipo viejo volviera a ser relevante!

información relacionada