当前位置: 首页 > news >正文

lspci查看PCI设备详细信息

目录

      • **`lspci` 命令详解**
    • **1. 基本用法**
      • **(1) 列出所有PCI设备**
      • **(2) 显示详细信息(`-v` / `-vv` / `-vvv`)**
      • **(3) 按设备类/厂商过滤**
      • **(4) 以树形结构显示(`-t`)**
      • **(5) 显示设备内核驱动(`-k`)**
    • **2. 高级用法**
      • **(1) 显示PCI设备的I/O和内存映射(`-xxxx`)**
      • **(2) 导出为机器可读格式(`-mm` / `-n`)**
      • **(3) 结合`grep`过滤特定设备**
    • **3. 常见问题排查**
      • **(1) 设备未识别?**
      • **(2) 设备显示但无驱动?**
      • **(3) PCI设备冲突?**
    • **4. 总结**

lspci 命令详解

lspci 是 Linux 系统中用于列出所有 PCI/PCIe 设备 的工具,能够显示设备类型、厂商、驱动、内存映射等关键信息,是硬件排查和系统管理的必备命令。


1. 基本用法

(1) 列出所有PCI设备

lspci

输出示例

00:00.0 Host bridge: Intel Corporation Xeon E7 v3/Xeon E5 v3/Core i7 DMI2 (rev 02)
00:01.0 PCI bridge: Intel Corporation Xeon E7 v3/Xeon E5 v3/Core i7 PCI Express Root Port 1 (rev 02)
02:00.0 Fibre Channel: QLogic Corp. QLE2692 FlexLOM 16G FC HBA (rev 02)
03:00.0 Ethernet controller: Intel Corporation Ethernet 10G 2P X520 Adapter (rev 01)
  • 格式
    [PCI总线号:设备号.功能号] [设备类别]: [厂商] [设备型号] (rev [版本号])
    • 02:00.0:PCI 设备地址(总线:设备.功能)。
    • Fibre Channel:设备类型(这里是光纤通道HBA卡)。
    • QLogic Corp. QLE2692:厂商和型号。

(2) 显示详细信息(-v / -vv / -vvv

lspci -v      # 基本详细信息
lspci -vv     # 更详细(包括PCI配置空间)
lspci -vvv    # 最详细(调试用)

关键字段

  • Kernel driver in use:当前使用的内核驱动(如 qla2xxxlpfc)。
  • Memory at:设备的内存映射地址(用于调试DMA问题)。
  • Capabilities:设备支持的PCI功能(如MSI-X中断、电源管理)。

示例输出

02:00.0 Fibre Channel: QLogic Corp. QLE2692 FlexLOM 16G FC HBA (rev 02)Subsystem: QLogic Corp. Device 0123Flags: bus master, fast devsel, latency 0, IRQ 100Memory at fbe80000 (64-bit, non-prefetchable) [size=256K]Capabilities: [80] Power Management version 3Kernel driver in use: qla2xxxKernel modules: qla2xxx

(3) 按设备类/厂商过滤

lspci -d [厂商ID:设备ID]   # 按PCI ID过滤
lspci -s [总线:设备.功能]  # 按PCI地址过滤

示例

lspci -d 1077:   # 查看QLogic(厂商ID 1077)的所有设备
lspci -s 02:00.0 # 查看总线02、设备00、功能0的设备

(4) 以树形结构显示(-t

lspci -t

输出示例

-+-[0000:00]-+-00.0|           +-01.0-[02]----00.0  # PCIe设备层级关系|           \-02.0-[03]----00.0
  • 可以直观看出 PCIe拓扑结构(如哪个设备挂在哪个总线下)。

(5) 显示设备内核驱动(-k

lspci -k

输出示例

02:00.0 Fibre Channel: QLogic Corp. QLE2692 FlexLOM 16G FC HBA (rev 02)Subsystem: QLogic Corp. Device 0123Kernel driver in use: qla2xxxKernel modules: qla2xxx
  • Kernel driver in use:当前加载的驱动。
  • Kernel modules:设备可用的驱动模块。

2. 高级用法

(1) 显示PCI设备的I/O和内存映射(-xxxx

lspci -xxxx -s 02:00.0  # 查看设备的完整配置空间(十六进制)
  • 适用于 驱动开发硬件调试(如检查PCI寄存器)。

(2) 导出为机器可读格式(-mm / -n

lspci -mm    # 输出为键值对(适合脚本解析)
lspci -n     # 显示PCI ID(数字形式,而非名称)

示例

lspci -n -d 1077:  # 查看QLogic设备的PCI ID

输出:

02:00.0 0c04: 1077:2261 (rev 02)
  • 0c04:设备类(Fibre Channel)。
  • 1077:2261:厂商ID:设备ID。

(3) 结合grep过滤特定设备

lspci | grep -i "fibre\|hba"  # 查找HBA卡
lspci | grep -i "nvidia"      # 查找NVIDIA显卡
lspci | grep -i "ethernet"    # 查找网卡

3. 常见问题排查

(1) 设备未识别?

  • 检查驱动是否加载:
    lsmod | grep qla2xxx  # 如果是QLogic FC HBA
    
  • 检查内核是否支持该设备:
    lspci -nn -d [厂商ID:设备ID]  # 确认PCI ID是否匹配驱动
    

(2) 设备显示但无驱动?

  • 手动加载驱动:
    modprobe qla2xxx  # 加载QLogic驱动
    

(3) PCI设备冲突?

  • 查看IRQ和内存分配:
    lspci -vv -s 02:00.0 | grep -i "irq\|memory"
    

4. 总结

选项用途示例
lspci列出所有PCI设备lspci | grep -i "hba"
lspci -v显示详细信息(驱动、内存、IRQ)lspci -v -s 02:00.0
lspci -k显示内核驱动信息lspci -k | grep -i "driver"
lspci -t树形显示PCI拓扑lspci -t
lspci -d按厂商ID过滤设备lspci -d 1077:(QLogic设备)
lspci -xxxx查看PCI配置空间(调试用)lspci -xxxx -s 02:00.0

典型应用场景

  • 排查HBA卡是否被识别lspci | grep -i "fibre\|hba"
  • 查看设备驱动lspci -k -s 02:00.0
  • 调试PCI设备冲突lspci -vv -s 02:00.0
http://www.lryc.cn/news/579492.html

相关文章:

  • OpenCV篇——项目(二)OCR文档扫描
  • Rust方法语法:赋予结构体行为的力量
  • ConcurrentHashMap 原理
  • Linux多线程(十二)之【生产者消费者模型】
  • 汽车ECU产线烧录和检测软件怎么做?
  • Flutter 3.29+使用isar构建失败
  • HarmonyOS ArkTS卡片堆叠滑动组件实战与原理详解(含源码)
  • Java网络编程:TCP/UDP套接字通信详解
  • I/O 进程 7.2
  • 在Ubuntu 24.04主机上创建Ubuntu 14.04编译环境的完整指南
  • (一)复习(模块注入/minimal api/EF和Dapper实现CQRS)
  • Ubuntu Gnome 安装和卸载 WhiteSur-gtk-theme 类 Mac 主题的正确方法
  • Frida:配置自动补全 in VSCode
  • TCP 三次握手与四次挥手详解
  • MyBatis 之基础概念与框架原理详解
  • RabbitMQ 通过HTTP API删除队列命令
  • 【如何判断Linux系统是Ubuntu还是CentOS】
  • Centrifugo 深度解析:构建高性能实时应用的开源引擎
  • 记忆翻牌记忆力小游戏流量主微信小程序开源
  • 网创vip课程视频教程、付费网络课程以及网赚培训,学习引流、建站、赚钱。8个T的全套课程
  • 【2.3 漫画SpringSecurity - 守护应用安全的钢铁卫士】
  • ATE FT ChangeKit学习总结-20250630
  • Easy-excel监听器中对批量上传的工单做错误收集
  • Redisson使用示例
  • 请求未达服务端?iOS端HTTPS链路异常的多工具抓包排查记录
  • 【Bug Recod】更新中...
  • Day50
  • 一文详解Character AI:实用指南+ ChatGPT、Gemini对比分析
  • contenteditable网页富文本编辑无法选中图片
  • Swift 的基础设计哲学是 “通过模块化组合实现安全与效率的平衡“,就像用标准化工业零件建造摩天大楼