• 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
  • 相关阅读:
    【StringBuilder和StringBuffer】
    Springboot整合Shiro
    Unity3d C#使用Screen.SetResolution设置无效的问题(问题在于Screen.width、Screen.height)
    【外企面试系列】必备口语短语与例句 - BC系列
    玩转Mysql系列 - 第26篇:聊聊mysql如何实现分布式锁?
    《SpringBoot篇》06.超详细热部署教学
    一起Talk Android吧(第四百零五回:画布的变换)
    【图像分类】【深度学习】【Pytorch版本】VggNet模型算法详解
    Flutter: FutureBuilder 组件的使用
    TS中null和undefined特殊性
  • 原文地址:https://blog.csdn.net/TurboTab/article/details/126396484