张腾岳 2025-08-05 01:45 采纳率: 98.2%
浏览 8
已采纳

如何在Linux系统下查看PCIe设备的VID和DID?

**问题描述:** 在Linux系统中,如何查看PCIe设备的厂商ID(VID)和设备ID(DID)?这些信息通常用于识别硬件设备型号、驱动兼容性判断或调试硬件识别问题。常见的方法包括使用命令行工具或直接查看系统文件。请简述至少两种查看PCIe设备VID和DID的方法,并说明其适用场景和操作步骤。
  • 写回答

1条回答 默认 最新

  • 远方之巅 2025-08-05 01:45
    关注

    在Linux系统中查看PCIe设备厂商ID(VID)和设备ID(DID)的方法

    在Linux系统中,查看PCIe设备的厂商ID(VID)和设备ID(DID)是识别硬件设备型号、判断驱动兼容性或调试硬件识别问题的关键步骤。本文将从基础到进阶,介绍两种常见方法,并分析其适用场景与操作步骤。

    1. 使用命令行工具:lspci

    lspci 是 Linux 系统中最常用的 PCI 设备查看工具,能够快速列出所有 PCI/PCIe 设备的详细信息,包括 VID 和 DID。

    操作步骤:

    1. 打开终端。
    2. 输入以下命令:
      lspci -n
    3. 输出示例:
      01:00.0 0200: 8086:150c (rev 01)
      其中 8086 是厂商ID(VID),150c 是设备ID(DID)。

    适用场景:

    • 快速识别设备型号。
    • 调试驱动加载问题。
    • 在无图形界面的服务器环境中使用。

    2. 查看系统文件:/sys/bus/pci/devices/

    Linux 内核通过 /sys 文件系统提供了对硬件设备的访问接口。PCIe 设备的 VID 和 DID 信息也可以通过读取 /sys/bus/pci/devices/<device>/ 目录下的文件获取。

    操作步骤:

    1. 列出所有PCIe设备目录:
      ls /sys/bus/pci/devices/
    2. 进入某一设备目录,例如:
      cd /sys/bus/pci/devices/0000:01:00.0
    3. 读取厂商ID和设备ID:
      cat vendor
      cat device

    适用场景:

    • 脚本自动化处理设备信息。
    • 调试设备驱动与内核模块的绑定关系。
    • 需要精确控制设备路径的场景。

    3. 方法对比表格

    方法优点缺点适用场景
    lspci命令简单,信息直观需安装pciutils(部分系统默认不装)快速查看设备信息
    /sys 文件系统无需额外工具,适合脚本处理路径复杂,需手动解析自动化脚本或内核调试

    4. 拓展:通过PCI ID数据库识别设备

    获取到 VID 和 DID 后,可以使用 PCI ID 数据库 查询对应的厂商和设备名称,进一步确认设备型号。

    例如,VID=8086,DID=150c,查询结果为 Intel Corporation Device 150c,即 Intel I210 Gigabit Network Connection。

    5. 流程图:查看PCIe设备VID和DID的流程

                graph TD
                    A[开始] --> B{是否安装lspci?}
                    B -- 是 --> C[使用lspci -n命令]
                    B -- 否 --> D[访问/sys/bus/pci/devices/目录]
                    C --> E[提取VID和DID]
                    D --> F[读取vendor和device文件]
                    E --> G[完成]
                    F --> G
            
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 10月23日
  • 创建了问题 8月5日