嵌入式 Linux中lspci详解

原创 2013年12月02日 14:45:04

lspci

NAME

lspci - 列出所有PCI设备 [[ ]]

总览SYNOPSIS

lspci [ options ][[ ]]

描述DESCRIPTION

lspci 是一个用来显示系统中所有PCI总线设备或连接到该总线上的所有设备的工具。

为了能使用这个命令所有功能,你需要有 linux 2.1.82 或以上版本,支持 /proc/bus/pci 接口的内核。在旧版本内核中,PCI工具必须使用只有root才能执行的直接硬件访问,而且总是出现竞争状况以及其他问题。

如果你要报告 PCI 设备驱动中,或者是 lspci 自身的bugs,请在报告中包含 "lspci-vvx" 的输出。

[[ ]]

选项OPTIONS

-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
-p
使用 
 作为包含 PCI总线信息的目录而不是使用默认的目录 /proc/bus/pci
-m
以机器可读的方式转储 PCI 设备数据 (支持两种模式:普通和冗余),便于脚本解析。
-M
使用总线映射模式,这种模式对总线进行全面地扫描以查明总线上的所有设备,包括配置错误的桥之后的设备。请注意,此操作只应在调试时使用,并可能造成系统崩溃 (只在设备有错误的时候,但是不幸的是它们存在),此命令只有 root 可以使用。同时,在不直接接触硬件的PCI 访问模式中使用-M 参数没有意义,因为显示的结果 (排除lspci 中的 bug 的影响) 与普通的列表模式相同。
--version
显示 lspci 的版本。这个选项应当单独使用。

[[ ]]

PCILIB 选项 PCILIB OPTIONS

PCI 工具使用 PCILIB (一种可移植的库,提供平台独立的函数来访问 PCI 配置空间)来和PCI卡交互。下面的选项用来控制库参数,特别是所用访问模式的指定。默认情况下,PCILIB使用第一种可用的访问模式,不会显示任何调试信息。每一个开关选项都列出了一组它所支持的硬件/软件列表。


-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
增加库的调试等级。(可用于所有系统)

[[ ]]

文件 FILES

/usr/share/hwdata/pci.ids
所有已知PCI ID 的清单 (厂商,设备名,类,子类)
/proc/bus/pci
linux 2.1.82 之后版本内核提供的 PCI总线配置空间的接口。包含每个总线 (per-bus) 的子目录以及每个设备卡 (per-card)的配置空间文件,还有一个 devices 文件,包含所有PCI设备的列表。

[[ ]]

参见 SEEALSO

相关文章推荐

嵌入式 linux系统如何查看内存使用情况详解

Linux下查看内存使用情况的free命令:   [root@scs-2 tmp]# free   total used free shared buffers cached   Mem: 3266...
  • skdkjxy
  • skdkjxy
  • 2013年12月06日 21:47
  • 1069

linux嵌入式下的QT图形界面开发(入门篇详解)

Qt 嵌入式图形开发(入门篇)一、Qt/Embedded 开发环境的安装一般来说,居于Qt/Embedded开发的应用程序最终会发布到安装有嵌入式Linux操作系统的小型设备上,所以使用装有Linux...

嵌入式 对于Linux下驱动module_param&&MODULE_PARM_DESC模块参数详解

模块参数 引导模块时,可以向它传递参数。要使用模块参数加载模块,这样写: insmod module.ko [param1=value param2=value ...] 为了使用这些参数的值...
  • skdkjxy
  • skdkjxy
  • 2013年12月03日 16:28
  • 979

嵌入式 linux下date命令详解以及如何在Makefile中定义宏并在c中进行使用来定义软件版本号

定义版本号:Makefile 示例: EXEC = systools #OBJS = *.c cgihtml/*.c channel/*.c md5/*.c OBJS = *.c cgihtml/*...
  • skdkjxy
  • skdkjxy
  • 2014年01月10日 14:32
  • 1595

lspci(8)linux man page

名称 lspci 列出所有 pci 设备 staging 模块 lspci[选项] 描述 lspci 工具显示有关系统中的 pci 总线和设备连接的. 缺省...

Linux系统之lspci命令介绍

lspci,顾名思义,就是显示所有的pci设备信息。pci是一种总线,而通过pci总线连接的设备就是pci设备了。如今,我们常用的设备很多都是采用pci总线了,如:网卡、存储等。下面就简单介绍下该命令...
  • styshoo
  • styshoo
  • 2016年04月29日 14:10
  • 5813

lspci命令详解

说明: lspci 是一个用来显示系统中所有PCI总线设备或连接到该总线上的所有设备的工具。 参数: -v 使得 lspci 以冗余模式显示所有设备的详细信息。 -vv 使得 lspci...

使用 Yocto Project 构建自定义嵌入式 Linux 发行版

Yocto Project™ 是一个开源项目,设立该项目是为了使嵌入式 Linux® 开发更简单,更易于在不同架构间进行移植。本文将介绍该项目并提供如何开始使用该项目的分步指导。 概述 ...
  • arnoldlu
  • arnoldlu
  • 2014年03月03日 11:17
  • 19653
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:嵌入式 Linux中lspci详解
举报原因:
原因补充:

(最多只允许输入30个字)