linux下看pcie的设备id,linux lspci查看pci总线设备信息

linux lspci查看pci总线设备信息

linux中lspci是一个用来显示系统中所有PCI总线设备或连接到该总线上的所有设备的工具,比如查看网卡、存储等信息。

参数

-v 使得 lspci 以冗余模式显示所有设备的详细信息。

-vv 使得 lspci 以过冗余模式显示更详细的信息 (事实上是 PCI 设备能给出的所有东西)。这些数据的确切意义没有在此手册页中解释,如果你想知道更多,请参照 /usr/include/linux/pci.h 或者 PCI 规范。

-n 以数字形式显示 PCI 生产厂商和设备号,而不是在 PCI ID 数据库中查找它们。

-x 以十六进制显示 PCI 配置空间 (configuration space) 的前64个字节映像 (标准头部信息)。此参数对调试驱动和 lspci 本身很有用。

-xxx 以十六进制显示所有 PCI 配置空间的映像。此选项只有 root 可用,并且很多 PCI 设备在你试图读取配置空间的未定义部分时会崩溃 (此操作可能不违反PCI标准,但是它至少非常愚蠢)。

-b 以总线为中心进行查看。显示所有 IRQ 号和记忆体地址,就像 PCI 总线上的卡看到的一样,而不是核心看到的内容。

-t 以树形方式显示包含所有总线、桥、设备和它们的连接的图表。

-s [[]:][][.[]] 仅显示指定总线、插槽上的设备或设备上的功能块信息。设备地址的任何部分都可以忽略,或以「*」代替 (意味著所有值)。所有数字都是十六进制。例如:「0:」指的是在0号总线上的所有设备;「0」指的是在任意总线上0号设备的所有功能块;「0.3」选择 了所有总线上0号设备的第三个功能块;「.4」则是只列出每一设备上的第四个功能块。

-d []:[] 只显示指定生产厂商和设备 ID 的设备。 这两个 ID 都以十六进制表示,可以忽略或者以「*」代替 (意味著所有值)。

-i使用作为 PCI ID 数据库而不是使用预设的 /usr/share/hwdata/pci.ids。

-m 以机器可读的方式转储 PCI 设备数据 (支持两种模式:普通和冗余),便於稿本解析。

-M 使用总线映射模式,这种模式对总线进行全面地扫描以查明总线上的所有设备,包括配置错误的桥之后的设备。请注意,此操作只应在调试时使 用,并可能造成系统崩溃 (只在设备有错误的时候,但是不幸的是它们存在),此命令只有 root 可以使用。同时,在不直接接触硬体的 PCI 访问模式中使用 -M 参数没有意义,因为显示的结果 (排除 lspci 中的 bug 的影响) 与普通的列表模式相同。

--version 显示 lspci 的版本。这个选项应当单独使用。

-P使用 linux 2.1 风格的配置,直接访问目录而非 /proc/bus/pci 目录。(只能在linux 2.1或以上版本中使用)

-H1 通过 Intel 架构 1 来实现直接硬体访问。(只能用於 i386 及其相容机)

-H2 通过Intel 架构2来实现直接硬体访问。警告:此模式只能寻址任何总线上的前16个设备,并且在很多情况下相当不可靠。(只能用於 i386 及其相容机)

-S 使用 PCI 系统调用访问。(只能用於 Alpha 和 Ultra-Sparc 上的 Linux)

-F从所给的包含 lspci -x 命令输出的档案中获取相关信息。这在分析使用者提交的错误报告时很有用,因为你可以用任何方式来显示硬体配置信息而无需为了获取更多信息打扰使用者。(可用於所有系统)

-G 增加库的调试等级。(可用於所有系统)

实例

lspci -t [BDF]:显示指定BDF号的设备信息。

lspci -m/-mm:以一种机器可读的格式来显示pci设备信息。

# lspci -s ff:13.1

ff:13.1 System peripheral: Intel Corporation Broadwell Memory Controller 0 - Target Address/Thermal/RAS (rev 03)

# lspci -mm -s ff:13.1

ff:13.1 "System peripheral" "Intel Corporation" "Broadwell Memory Controller 0 - Target Address/Thermal/RAS" -r03 "Intel Corporation" "Broadwell Memory Controller 0 - Target Address/Thermal/RAS"

lspci -t:以树的形式显示pci设备信息。

lspci -v/-vv/-vvv:显示详细的pci设备信息,v越多,越详细,当然,上限3个。

lspci -x/-xxx/-xxxx:-x以16进制信息显示pci配置空间;-xxx显示部分读配置空间会crash的设备;-xxxx显示PCI-x2.0或者PCI-e总线扩展的配置空间。

lspci -b:以总线的角度来显示所有的IRQ和地址。根据我的观察,大部分信息和不带参数时显示一致,除了SR-IOV设备分配出的Virtual Function设备。如下示例:物理网卡PF(physical function )显示一直 ,但VF(virtual function )显示却不同。

# lspci -b -s 0a:00.1; lspci -b -s 0a:10.0

0a:00.1 Ethernet controller: Intel Corporation Ethernet Controller 10-Gigabit X540-AT2 (rev 01)

0a:10.0 Ethernet controller: Illegal Vendor ID Device ffff (rev 01)

# lspci -s 0a:00.1; lspci -s 0a:10.0

0a:00.1 Ethernet controller: Intel Corporation Ethernet Controller 10-Gigabit X540-AT2 (rev 01)

0a:10.0 Ethernet controller: Intel Corporation X540 Ethernet Controller Virtual Function (rev 01)

lspci -D:显示PCI domain号,默认的不加参数命令并不显示该值。

lspci -n/-nn:显示设备的vendor厂商号和device设备号;显示厂商等信息和名称。

# lspci -nn | grep ff:1f.2

ff:1f.2 System peripheral [0880]: Intel Corporation Broadwell Power Control Unit [8086:6f8a] (rev 03)

# lspci -n | grep ff:1f.2

ff:1f.2 0880: 8086:6f8a (rev 03)

lspci -D:显示设备的厂商号、设备号、Class号。

# lspci -Q -s 0c:00.1

0c:00.1 Class 0200: Device 8086:1528 (rev 01)

版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在Linux查看PCIe设备,可以使用lspci命令。lspci命令用于显示PCI(peripheral component interconnect)总线及其连接到计算机上的设备信息。 要在终端中使用lspci命令,请按以下步骤操作: 1. 打开终端窗口。 2. 在终端中键入lspci命令。 3. 按回车键执行命令。 4. 系统将显示PCI总线上所有连接的设备信息,包括设备的制造商、型号、ID等。 如果您想查看特定设备信息,可以将lspci命令与选项结合使用。例如,要查看PCI总线上连接的所有网络适配器的信息,请在终端中键入lspci | grep -i network。 ### 回答2: Linux系统中可以通过lspci命令来查看PCI设备信息,包括PCIe设备。 使用lspci命令时,可以附加不同的选项来过滤和显示特定类型的设备。 常用的选项包括: -l:以详细格式输出结果; -v:显示设备的详细信息,包括供应商ID设备ID以及驱动程序信息等; -t:以树状图的形式显示设备关系; -b:显示设备所属的总线信息。 例如,使用命令“lspci -v | grep -i ethernet”可以过滤显示所有的以太网设备,包括PCIe设备。 另外,在Linux系统中也可以使用/sys/class/pci目录来查看PCI设备信息。在该目录下,每个PCI设备都有一个对应的目录,可以通过查看相关文件来获取设备信息。 例如,使用命令“cat /sys/class/pci/device/0000:02:00.0/vendor”可以查看PCIe设备的供应商ID。 总之,通过lspci命令和/sys/class/pci目录,可以方便地查看和管理PCIe设备,并进行相应的配置和驱动程序的加载。 ### 回答3: PCIe(Peripheral Component Interconnect Express)是一种高速串行以太网总线接口技术,其主要用于连接计算机内部的各种外部设备,比如显卡、网卡、声卡等。Linux作为开源操作系统在处理PCIe设备方面非常强大,下面将介绍几种常见的查看PCIe设备的方法。 1. lspci命令 lspci命令是Linux下用于列出计算机PCI总线设备的命令,它可以列出系统中各种PCI设备的详细信息,包括设备的类型、制造商、型号、驱动程序等等。使用该命令查看PCIe设备,只需要在终端输入“lspci”即可,程序会自动列出所有PCI设备。 2. lspci -v命令 lspci -v命令可以显示PCI设备的详细信息,包括设备的IRQ、I/O地址、内存地址等等。如果需要查看某个具体的PCI设备信息,可以在lspci命令后添加设备的地址,例如: lspci -v -s 00:1c.0 其中00:1c.0是一个PCIe设备的地址。 3. lspci -vvv命令 lspci -vvv命令可以显示PCI设备的更加详细的信息,包括PCIE连接速度、连接状态等等。 4. lspci -t命令 如果需要以树形结构显示计算机中的所有PCI设备信息,可以使用lspci -t命令。该命令会将设备以树形结构列出,方便用户查看设备之间的关系。 总之,Linux提供了多种查看PCIe设备的方式,用户可以根据自己的需要选择合适的命令进行查询。以上几种方式都是非常方便、实用的方法,可以帮助用户快速了解PCIe设备的详细信息,以便在需要的时候进行修复或者升级。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值