4. 第4章

← 返回目录课程:《ConnectX-6 Lx网卡部署排错全套资料》
04

04 网卡识别:lspci与mlxconfig查看网卡型号、端口与固件状态

使用lspci和mlxconfig工具确认网卡硬件信息与固件配置
章节导航 难度:入门类型:工程实战
目标结果

掌握Lx网卡部署排错全套资料在网卡识别中的定位、故障信号与验证顺序。

关键词
模块接口配置流程状态
交付物
架构图代码片段排障表检查清单

网卡识别:从硬件发现到固件状态确认

概念块:网卡识别

网卡识别用网卡识别、mlxconfig查看网卡型号、端口连接到网卡识别的调试、验证和交付动作。

  • 网卡识别
  • mlxconfig查看网卡型号
  • 端口
  • 固件状态

在部署或排错 ConnectX-6 Lx 网卡部署排错全套资料 时,第一步永远是确认操作系统能否正确识别硬件,以及固件配置是否与预期一致。很多部署失败或性能异常,根源在于系统加载了错误的驱动、固件版本不匹配,或是端口模式(如 Eth/IB)配置错误。本节将围绕 lspci 和 mlxconfig 两个核心工具,讲解如何快速定位网卡型号、查看端口状态以及校验固件配置,并给出可复现的验证动作

实操步骤

拿到一台新服务器或遇到网卡异常时,先执行 lspci | grep Mellanox 确认硬件是否被 PCIe 总线枚举;再执行 mlxconfig -d /dev/mst/mt4123_pciconf0 query 读取固件当前配置。这两个命令的输出是后续所有排错动作的基线

硬件发现:lspci 定位网卡型号与端口拓扑

现场定位记录

  • 对象/模块:典型技术应用现场里的网卡识别
  • 问题现象:典型技术应用现场里网卡识别一开始改动很快,输入需求增加后日志记录显示状态外泄、循环依赖和接口膨胀。
  • 验证动作:先把职责边界、私有状态、依赖方向、阈值标准和验证入口画清,再执行拆分动作。
  • 工程判断:前后变化点能被隔离、被验证、被替换,才说明架构重构达到标准。

网卡识别要确认的对象和结果

lspci 是 Linux 下最直接的 PCIe 设备枚举工具。对于 Lx网卡识别,它不仅能显示网卡的 Vendor ID 和 Device ID,还能通过 -vvv 参数展示端口数量、链路速度(Width/ Speed)以及当前驱动绑定情况。在 Mellanox ConnectX-6 Lx 上,典型的输出会包含 Mellanox Technologies MT4125 或 MT4127 等设备名,对应单端口或双端口型号

执行 lspci -vvv -s <BDF>(BDF 为 Bus:Device.Function 编号),可以查看每个端口的 LnkSta 字段。如果显示 Speed 8GT/s, Width x8,说明链路工作在 PCIe 3.0 x8 模式;若显示 Speed 2.5GT/s 或 Width x1,则可能存在物理链路或 BIOS 配置问题。对于双端口网卡,每个端口会占用一个独立的 Function,在 lspci 输出中表现为相邻的 BDF 号

关键判断

如果 lspci 输出中 Mellanox 设备显示 Unknown device 或 Class 0280(Network controller),通常意味着系统缺少对应的 核心 驱动,或者固件版本过旧导致 PCIe Class Code 未被正确识别。此时应优先检查驱动安装和固件版本

固件配置:mlxconfig 定位路径与状态校验

网卡识别落地前要同时核对网卡识别的mlxconfig查看网卡型号、失败路径和端口。

网卡识别:lspci与mlxconfig查看网卡型号、端口与固件状态 · 系统架构图
flowchart TB subgraph FIELD["数据入口"] N0(("fix action验证方式")) N1["mlxconfig定位路径"] N2["Lx"] N3["lspci"] end subgraph CLOUD["处理 / 模型服务侧"] N4["某数据中心部署"] N5["Lx网卡识别"] end N0 <-->|指向| N1 N1 <-->|指向| N2 N2 <-->|指向| N3 N3 <-->|指向| N4 N4 <-->|指向| N5 classDef ns fill:#ecfeff,stroke:#0891b2,color:#164e63,stroke-width:1.6px; class N0,N1,N2,N3,N4,N5 ns;

图表解读:对应正文“固件配置:mlxconfig 定位路径与状态校验”。这张图以最终 Mermaid 图中的真实节点为准,先看“网卡识别:lspci与mlxconfig查看网卡型号、端口与固件状态”的主链。读图顺序:数据入口 → fix action验证方式 → mlxconfig定位路径 → Lx → lspci → 处理 / 模型服务侧

节点说明:【mlxconfig定位路径】表示页面入口与跳转路径的组织,帮助确认用户或操作从哪里进入并如何继续;检查重点:入口设置、承接关系和跳转异常。

网卡识别:lspci与mlxconfig查看网卡型号、端口与固件状态
测试台架端口与固件状态测试步骤工具链路验证点ConnectX-6网卡识别卡型号ConnectX-6Conne…Lx网卡部署排错全套资料L x网卡部署排错全套资…网卡识别网卡识别lspci与mlxconfig查看网lspci…fixturecapturejudge123核心对象ConnectX-6关键链路Lx网卡部署排错全套资…工程提示网卡识别

mlxconfig 是 Mellanox 官方提供的固件配置工具,用于读取和修改网卡的非易失性设置。在 mlxconfig定位路径 时,首先需要找到正确的 MST(Mellanox Software Tools)设备节点。执行 mst start 启动 MST 服务后,使用 mst status 查看所有可用的 MST 设备,通常格式为 /dev/mst/mt4123_pciconf0。这个路径就是 mlxconfig 的 -d 参数目标

常见的固件配置项包括 LINK_TYPE_P1(端口1链路类型,可选 ETH/IB/VPI)、NUM_OF_VFS(虚拟功能数量)以及 BOOT_OPTION(PXE 启动使能)。执行 mlxconfig -d /dev/mst/mt4123_pciconf0 query 会输出当前所有可配置参数及其值。如果发现 LINK_TYPE_P1 为 IB 而实际组网是 RoCE v2,则必须修改为 ETH 并重启系统才能生效

动作 验证方式

修改固件配置后,不能仅凭 mlxconfig 的 query 输出确认生效。正确的 动作验证方式 是:先执行 mlxconfig -d /dev/mst/mt4123_pciconf0 set LINK_TYPE_P1=ETH,然后执行 reboot 或 mlxfwreset -d /dev/mst/mt4123_pciconf0 reset 热重启固件。重启后,再次执行 mlxconfig query 确认参数已持久化,同时用 ibdev2netdev 或 ip link show 验证端口模式是否切换为 Ethernet

检查清单
检查清单:网卡识别与固件状态确认
检查项标准是否通过
PCIe 设备枚举lspci | grep Mellanox 输出包含…未检查 lspci -vvv 中的 LnkSta 链路…
MST 设备节点mst status 显示 /dev/mst/mt41…未执行 mst start 或系统缺少 mstflin…
固件配置查询mlxconfig -d /dev/mst/mt412…仅查询未修改,或修改后未执行固件复位
端口状态验证ip link show 或 ibstat 显示端口…未区分物理端口与虚拟端口(VF)

真实项目场景

某数据中心部署 ConnectX-6 Lx 双端口网卡,lspci 正确识别两个 Function,但 ip link show 只看到一个端口。排查发现 mlxconfig query 中 NUM_OF_VFS 被误设为 64,占用了第二个端口的 PCIe 资源。执行 mlxconfig set NUM_OF_VFS=0 并复位固件后,两个端口均正常显示

问题对照与修正

  1. 常见偏差:把网卡识别直接写进主流程,只验证能跑通,留下网卡识别边界、状态和验证口径不清。
  2. 修正做法:把网卡识别收敛成稳定接口,明确伪代码和失败返回。
  3. 复核方式:构造一个异常输入或超时场景,用日志、断言和稳定性与可观测性证明修复有效。

风险判断

在 查看网卡型号网卡部署排错全套资料 过程中,有两个常见风险点:一是 mlxconfig 修改参数后未执行固件复位,导致配置看似写入但实际未生效;二是 lspci 输出中的 Subsystem 字段可能被误认为网卡型号,实际应参考 Device 字段(如 4125 或 4127)

判断标准方面:如果 lspci 显示 Mellanox ConnectX-6 Lx 但 mlxconfig 无法识别设备,通常说明 MST 驱动版本与固件不匹配,应升级 mstflint 或 mlxup 工具。如果 mlxconfig 能查询但修改后端口模式未切换,需要检查是否同时修改了 LINK_TYPE_P1 和 LINK_TYPE_P2(双端口网卡需分别设置)

常见误区

不要仅凭 lspci 输出中的 Mellanox Technologies 就认为驱动已加载。必须检查 lsmod | grep 核心 确认内核模块已绑定。另外,mlxconfig 的 query 输出中 FW_VERSION 字段应记录在案,作为后续固件升级的基线

最后,将 lspci 和 mlxconfig 的输出保存为日志文件,是 网卡部署排错全套资料 中不可或缺的资产。建议执行 lspci -vvv | grep -A 20 Mellanox > pci_info.log 和 mlxconfig -d /dev/mst/mt4123_pciconf0 query > 配置.log,这些日志在后续驱动升级、性能调优或向 Mellanox 支持团队提交工单时,都是关键的上下文证据

细节补充:

网卡识别先对齐现场任务、输入材料和输出结果,再回到Lx网卡部署排错全套资料的细节逐项核对。

网卡识别的主要风险来自网卡识别边界、状态和验证口径不清;落地前必须核对伪代码,并确认例外场景和结果记录。

本节资料使用说明

Q1

网卡识别里最先使用的工具、样例或资料是哪一个?

使用口径:
使用顺序:先用定义目标和边界的材料,再进入具体样例或工具。
替换位置:把Lx网卡部署排错全套资料中可替换字段和保留结构分开标注。
输出物:最终要看到Lx网卡部署或Lx网卡部署排错全套资料,不是只完成操作。
Q2

替换Lx网卡部署排错全套资料时,哪些位置可以改,哪些位置要保留?

使用口径:
替换位置:把Lx网卡部署排错全套资料中可替换字段和保留结构分开标注。
输出物:最终要看到Lx网卡部署或Lx网卡部署排错全套资料,不是只完成操作。
常见误操作:提醒默认值、旧素材或错误字段残留。
Q3

输出物检查时,最不能漏掉哪一项?

使用口径:
输出物:最终要看到Lx网卡部署或Lx网卡部署排错全套资料,不是只完成操作。
常见误操作:提醒默认值、旧素材或错误字段残留。
使用顺序:先用定义目标和边界的材料,再进入具体样例或工具。
Q4

如果换一套素材,使用顺序要不要调整?

使用口径:
常见误操作:提醒默认值、旧素材或错误字段残留。
使用顺序:先用定义目标和边界的材料,再进入具体样例或工具。
替换位置:把Lx网卡部署排错全套资料中可替换字段和保留结构分开标注。