我有一些配備 QLogic Infiniband 卡 IBA7322 的 HP Blades Gen7,我想將它們與 CentOS 8 一起使用。我找到的所有資訊要么是舊的,要么是連結不起作用(例如 marvell 下載連結)。
我可以用 lspci 看到該卡,但除此之外我沒有任何運氣打開它(可以這麼說)。
有人能指出我解決這個問題的方向嗎?
乾杯。
編輯:
由於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
答案1
首先要做的是取得相關硬體的 PCI 供應商和設備 ID。您的卡似乎是 1077:7322。 A快速查看Linux 驅動程式資料庫告訴我這張卡使用 ib_qib 驅動程式。
我瀏覽了 RHEL 文檔刪除 RHEL 8 中的驅動程式,但沒有看到這個司機。但是,我啟動了 RHEL 8 VM,驅動程式不再存在,並且在對應的核心配置中未啟用。但它存在於 RHEL 7 中。
在這種情況下,為了使用舊硬件,人們通常會使用埃爾雷波儲存庫,其中 RHEL 8 包含缺少的 ib_qib 驅動程式(以及 Red Hat 刪除的其他幾個驅動程式)。例如:
dnf install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm
dnf install kmod-ib_qib
答案2
經過多次嘗試後,我的朋友向 Mary 致敬,並在 Rocky 8.5 上重新編譯了 4.19 核心並啟用了qib
驅動程式。它一直都在那裡,只是沒有在預設內核中編譯。
現在我們讓舊的 QLogic 卡再次工作了。它連接到(驚呼!)運行子網路管理員的 Mellanox Infiniband 交換器。
這些節點之間能夠以 40 Gbps 的速度進行通信,並且還能夠與更新的 100 Gbps Mellanox ConnectX5 卡進行通信。
現在 infiniband 領域一切都很好!
希望這對某人有幫助,如果有任何問題,我會盡力回答。請記住,我絕對不是這些事情的專家。只是一個必須想出辦法並使舊設備再次發揮作用的人!