• PCIe常用命令


    $ sudo apt-get install pciutils    # 安装lspci命令
    
    • 1

    example:

    $ lspci                      # 列出所有连接PCI接口的外部设备
    $ lspci -v                   # 列出所有连接PCI接口的外部设备(内容更详细)
    $ lspci --help               # 其他选项参考帮助信息
    
    • 1
    • 2
    • 3

    1. 参数

    参数说明
    -v/-vv/-vvv显示详细的pci设备信息,v越多越详细,上限3个
    -n显示设备上所以pcie设备的vendor id 和device id
    -x16进制显示所有pcie设备的配置空间的标准部分(前 64 字节或 CardBus 桥接器的 128 字节)
    -xxx显示设备上pcie设备的配置空间的所有内容
    -xxxx显示 PCI-X 2.0 和 PCI Express 总线上可用的扩展(4096 字节)PCI 配置空间内容
    -b以总线为中心的视图
    -t以树形结构显示pcie设备,能展示设备上所以pcie总线、桥、pcie设备之间的连接关系
    参数说明用例
    -s domain: bus :slot: func根据domain bus号等信息,查看指定pcie设备的信息,可搭配上表中任意参数使用lspci -vv -s 00:1f.3
    -d device:vendor查看指定device id和vendor id的pcie设备的信息,可搭配表1任意参数使用lspci -vv -d 8086:8c22

    2. 用法举例

    # 1.查询系统上电阶段扫描到的PCIe设备
    [DPTECH-Developer-Shell]lspci -v -t
    -[0000:00]-+-00.0  Device 8086:1980
               +-04.0  Device 8086:19a1
               +-05.0  Device 8086:19a2
               +-06.0-[01-02]----00.0  Device 8086:19e2
               +-09.0-[03]----00.0  Device 8086:1533      # 以此为例:bus是0x03,device是0x00,function是0x0,BDF表示为03:00.0,与之对应的上游端口是00:09.0
               +-0a.0-[04]----00.0  Device 8086:1533   
    
    # 2.列出该设备的PCIe详细配置空间信息:0x00起始地址是PCIe的Vendor ID和Device ID。
    [DPTECH-Developer-Shell]lspci -xxx -s 03:00.0
    03:00.0 Class 0200: Device 8086:1533 (rev 03)
    00: 86 80 33 15 47 05 10 00 03 00 00 02 20 00 00 00  ## Vendor_ID  Device_ID
    10: 00 00 70 85 00 00 00 00 01 70 00 00 00 00 80 85
    20: 00 00 00 00 00 00 00 00 00 00 00 00 ff ff 00 00
    # ………………省略部分输出信息………………
    
    # 3.查看设备特性
    [DPTECH-Developer-Shell]lspci -vvv -s 03:00.0
    03:00.0 Class 0200: Device 8086:1533 (rev 03)
            Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx+
            Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
            Latency: 0, Cache Line Size: 128 bytes
            Interrupt: pin A routed to IRQ 16
            Region 0: Memory at 85700000 (32-bit, non-prefetchable) [size=1M]
            Region 2: I/O ports at 7000 [size=32]
            Region 3: Memory at 85800000 (32-bit, non-prefetchable) [size=16K]
            Expansion ROM at <ignored> [disabled]
    # ………………省略部分输出信息………………
    
    # 将00:1f.3设备配置空间的0x3c地址值修改为0xc
    [DPTECH-Developer-Shell]setpci -s 00:1f.3 3c.B=c
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    路虽远行则将至、事虽难做则必成
    MrWang
  • 相关阅读:
    一个注解解决ShardingJdbc不支持复杂SQL
    HTTP 及三次握手,四次挥手
    解决使用数组产生的堆问题
    这篇文章带你了解:如何一次性将Centos中Mysql的数据快速导出!!!
    这可是网络工程师零基础学习路线最完整,最详细的版本,没有之一
    找到分析问题的起点:7 步追问法
    SNMP的监控
    第 3 章 栈和队列(单链队列)
    web前端期末大作业:婚纱网页主题网站设计——唯一旅拍婚纱公司网站HTML+CSS+JavaScript
    关于 自定义的RabbitMQ的RabbitMessageContainer注解-实现原理
  • 原文地址:https://blog.csdn.net/TurboTab/article/details/126396484