名称
lspci 列出所有 pci 设备
staging 模块
lspci[选项]
描述
lspci 工具显示有关系统中的 pci 总线和设备连接的.
缺省情况下,它会在设备列表中.
如果您正在 windows 中的 pci 设备报告错误或 lspci 本身,请包括输出"lspci vvx"甚至更好的"lspci vvxxx"(但是,查看下面可能的信 ?).
输出的某些部分.特别是在高度 verbose 模式,也许只对经验丰富的 pci 黑客 intelligibleexact 字段时,请查阅有关 pci 规范或 /usr/include/linux/pci.h 包含文件的定义.
pci 配置空间的某些部分的访问被限制到许多操作系统上的根,因此, lspci 可用的功能与普通用户是有限的.但是, lspci 次其最佳,以尽可能多地显示可用,并将所有其他信息文本.
选项
基本的显示模式
-
m
dump 的 pci 设备的向后兼容的机器可读取表单中的数据.查看下面的细节.
毫米
dump 的 pci 设备轻松分析脚本在一个机器可读取表单中的数据.查看下面的细节.
t
显示包含所有总线,它们之间的桥梁,设备和连接的树,如图.
显示选项
-
v
verbose 显示详细信息和所有的设备.
vv
非常的繁琐和显示有关细节.此级别包括适当的一切内容很有用.
vvv
甚至显示一切我们和更详细的分析.即使它看起来不感兴趣的(例如,内存的区域).
k
显示内核驱动处理每个设备和内核模块能够处理它.打开v在正常模式下时,默认的输出.(目前仅在 linux 上带有 2.6 内核或更新 .)
x
显示十六进制转储标准部件的配置空间(64个字节或 128 字节 cardbus 桥).
xxx
显示十六进制 dump 整个 pci 配置空间.它仅作为几根 pci 设备当您尝试读取配置空间的某些部分崩溃(该行为可能不违反 pci 标准,但它至少非常stupid).但是,这样的设备都极少,所以您应该深奥的担心.
xxxx
显示十六进制转储扩展(4096字节)pci配置空间 pci x 2.0 和 pci express 总线.
b
总线以人为本的视图.显示卡的所有看到的 irq 号码和地址在 pci 总线上的内核代码.
D
总显示 pci 域的数字.缺省情况下, lspci 消除机器上,只有域0.
选项来控制解决 id 的名称
-
n
代码为数字而非寻找的 pci id 列表中显示 pci 供应商和设备.
nn
显示 pci 供应商和设备代码充当编号和名称.
q
如果 dns 查询成功,结果被缓存到~/ .pciidscache 和它在后续运行,即使是可识别的q没有给出任何有关.只与小心,以避免重载数据库服务器内的自动化脚本,请使用此开关.
同问,但本地缓存被复位.
Q
查询本地的条目被识别的中央数据库中.如果您怀疑所显示的条目是不对的.
选择设备选项之一:
-
s[[[[<域>]:]<总线>]:][<插槽>][.[]]
- 仅显示设备在指定的域(如果您的机器具有若干主机桥梁.他们可以共享一个公共总线编号或空间它们都使用 pci 地址域的自己的;域的编号从0到 ffff), 总线(0到 ff), 槽(0到1f)和函数(0到7).每个组件的设备地址可以省略或为"*",这意味着"任何值".所有数字都是十六进制的例如,"0 :0"表示在总线上的所有设备."0"表示任何总线上所有设备的函数0 ,"-"在所有总线和设备的选择第三函数0".4"第四条函数中的每个设备. d[<供应商>]:[<设备>]
- 仅显示与指定的设备供应商和设备 id .既是十六进制,并给出可能省略或给定 id 的"*",这意味着"任何值".
其他选项
-
i<文件>
- 使用<文件>作为 list instead of /usr/share/hwdata/pci.ids. pci id . p<文件>
- 使用<文件>作为 map 的 pci id 由内核模块处理.缺省情况下,使用 lspci /lib/modules/kernel_version/modules.pcimap. 仅以使用最新的 linux 系统有足够的模块工具. M
- lspci :应使用此选项单独使用.
所有 pci 设备的总线映射模式后者将执行彻底的扫描,然后调用包括配置桥后面的那些 ,etc .此选项会产生有意义的结果只有一个直接的硬件的访问模式,这通常需要 root 特权.请注意,仅扫描 pci 总线 mapper 的0. 版本
pci 访问选项
-
pci 公用事业的 pci / pci 设备(看到pcilib(7)有关细节).可以使用以下选项来配置其行为:
A<方法>
- 这个库支持各种方法来访问 pci 硬件.缺省情况下,它的使用方法.但可以使用此选项将替代此决策.有关可用方法的列表及其说明. O=<值>
- 库的行为是由若干命名的参数.此选项允许将任意长度的值.使用o帮助的列表参数及其默认值的列表. h1
- 访问真实的硬件.读取列表中的设备和它们的配置寄存器的值从给定的文件先前产生的运行 lspci 的x为用户提供的 bug 报告的分析,这是非常有用的因为可以显示的硬件配置中的任何方式而 disturbing 用户请求有关储. G
使用直接通过 intel 硬件访问配置机制2.(这是一个简写为 intel conf1 .)
h3
使用直接通过 intel 硬件访问配置机制2.(这是一个简写为 intel conf2 .) F<文件>
增大调试级别的库.
机器读取输出
(m , vm ,vmm)本节中所述的lspci的所有其它格式在版本之间可能更改.
所有数字都始终显示十六进制.如果您想要处理的名称,请添加n开关的数值 id .
简单格式(m)
-
在简单格式.每个设备在单独一行.它适合于传递给 shell 脚本的参数格式.即 ,whitespaces 分隔的值.如果有必要,引号和转义.其中一些参数传递:插槽,类,供应商名称、设备名称、子系统供应商名称和子系统名称(为空,如果设备没有最后两个子系统);其余参数是选项如下:
rrev
- 编程接口. 的相对顺序传递参数和选项的.在以后的版本,则可添加新选项但它们将始终具有单个参数未由任何空格隔开的选项,如果无法识别,这样他们可以很容易地忽略.
修订版号. pprogif
详细的格式(vmm)
-
verbose 输出空白行分隔的记录序列."对的值.在标记和值之间通过单个 tab 字符.存的记录行中的一个记录是按任何特定的顺序.标记的大小写敏感.
- 该子系统供应商名称(optional). sdevice
- 子系统的名称(optional). physlot
- 在设备所在的物理插槽(optional, linux 只). 修订版
定义了下列标记: 插槽
在设备所在的插槽([domain:]bus:device.function)此标记将始终首先在一个记录.
类
类的名称.
供应商
供应商的名称.
设备
设备的名称. svendor
修订版号(optional).
progif
编程接口(optional).
driver
内核当前处理设备驱动程序(optional, linux 只).
模块
kernel module 报告它能够处理设备(optional, linux 只). 新的标记分组,也可以将在未来版本,因此您应该忽略任何标记您无法识别.
向后兼容模式(vm)
-
在此模式下, lspci 可以尝试完美兼容旧版本.它几乎相同的常规模式.但是设备标记是用于在插槽和设备名,因此,它在单个记录中发生两次请避免使用此格式的任何新代码.
文件
/usr/share/hwdata/pci.ids
- 所有的 pci id 的列表.(供应商、设备、类和子类的).维护一个 http://pciids.sourceforge.net/ ,使用 pciids 工具来下载最新版本的更新. /usr/share/hwdata/pci.ids.gz
- 如果使用压缩的支持,这个文件编译的 lspci pci.ids. 之前 ~/ .pciidscache
- 所有 id 在缓存 dns 查询模式在此文件中找到.
bugs
有时, lspci 无法对配置寄存器完全解码.此错误发生时没有足够的文档的作者可用的.在这种情况下,它至少打印 标记对信号有潜在的有关的东西说.如果您知道细节,补丁当然欢迎.
仅由 linux_sysfs 后端访问当前支持的扩展空间,
参见
setpci(8),更新 pciids(8), pcilib(7)
作者
The PCI Utilities are maintained by Martin Mares < mj@ucw.cz > .