reviver uma antiga placa QLogic IBA7322 Infiniband no CentOS8.2

reviver uma antiga placa QLogic IBA7322 Infiniband no CentOS8.2

Tenho alguns HP Blades Gen7 equipados com placas QLogic Infiniband IBA7322 que gostaria de usar com o CentOS 8. O problema que tenho é que não consigo encontrar os drivers corretos para eles. Todas as informações que encontro são antigas ou os links não funcionam (por exemplo, os links de download da Marvell).

Posso ver o cartão com lspci, mas fora isso não tive sorte em ativá-lo (por assim dizer).

Alguém pode me indicar algum tipo de direção com esse problema?

Saúde.

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

Responder1

A primeira coisa a fazer é obter o fornecedor do PCI e os IDs dos dispositivos do hardware em questão. Seu cartão parece ser 1077:7322. Auma olhadelano banco de dados de drivers Linux me diz que esta placa usa o driver ib_qib.

Dei uma olhada na documentação do RHEL dedrivers removidos no RHEL 8, mas não vi esse driver. No entanto, iniciei uma VM RHEL 8 e o driver não está mais presente e não está habilitado na configuração do kernel correspondente. Porém, está presente no RHEL 7.

O que as pessoas costumam fazer nessas circunstâncias, para usar o hardware antigo, é usar oElreporepositório, que para RHEL 8 contém o driver ib_qib ausente (e vários outros drivers que a Red Hat descartou). Por exemplo:

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

Responder2

depois de muitas tentativas, meu amigo lançou um granizo e recompilou o kernel 4.19 no Rocky 8.5 e habilitou o qibdriver. Ele estava lá o tempo todo, mas não foi compilado no kernel padrão.

Agora colocamos a antiga placa QLogic funcionando novamente. Ele está conectado a um (suspiro!) Switch Mellanox Infiniband que está executando o Subnet Manager.

Os nós são capazes de se comunicar a 40 Gbps entre eles e também são capazes de se comunicar com as placas Mellanox ConnectX5 de 100 Gbps muito mais recentes.

Tudo está bem na terra do infiniband agora!

Espero que isso ajude alguém e se houver alguma dúvida farei o possível para respondê-la. Lembre-se de que não sou de forma alguma um especialista nessas coisas. Apenas um cara que precisava descobrir algo e tornar um equipamento antigo relevante novamente!

informação relacionada