3,058 瀏覽數

lspci 詳細資訊

指令 lspci 可以看到很多關於 PCI-E 裝置的訊息,但這些訊息個代表什麼意思!!

測試環境為 CentOS7 x86_64

我的系統裡面有一張 Intel Corporation 82545EM Gigabit 網卡.

[root@localhost ~]$ lspci
01:00.0 Ethernet controller: Intel Corporation 82575EB Gigabit Network Connection (rev 02)                    

PCI 的裝置使用三個編號用來當作識別值,個別為 1.匯流排(bus number), 2. 裝置(device number) 以及 3. 功能(function number).

透過 #lspci 查詢 PCI-E Bus 匯流排速度,請參考 http://benjr.tw/10842
關於 lspci 參數使用,請參考 http://benjr.tw/10851

透過參數 -s(specified 只看特定裝置) -vvv(Verbose 可以顯示更多訊息,還有 -v , -vv),可以看到整個 PCI-E 裝置的詳細設定與狀態,下面來看各所代表的意思.

[root@localhost ~]$ lspci -s 01:00.0  -vvv
  • 卡的基本訊息
    其中的 + – 代表有沒有被啟動或是發生.

    01:00.0 Ethernet controller: Intel Corporation 82575EB Gigabit Network Connection (rev 02)                    
    
    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: 64 bytes
    Interrupt: pin A routed to IRQ 16
    Region 0: Memory at fbba0000 (32-bit, non-prefetchable) [size=128K]
    Region 1: Memory at fbb80000 (32-bit, non-prefetchable) [size=128K]
    Region 2: I/O ports at e020 [size=32]
    Region 3: Memory at fbbc4000 (32-bit, non-prefetchable) [size=16K]
    Expansion ROM at fbb60000 [disabled] [size=128K]
    
  • Power Management
    與 PCI-E 裝置相關的電源管理.

    Capabilities: [40] Power Management version 2
            Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
            Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=1 PME-
    

    主要可以看一下 PME(D0+,D1-,D2-,D3hot+,D3cold+) power management event 的狀態,+ 代表有被啟動, – 代表沒有被啟動.
    D0 有 Uninitialized 與 Active 兩種狀態.
    D1 為 Light Sleep 狀態.
    D2 為 Deep Sleep 狀態.
    D3 為 Full Off 狀態, 還可以分成為 D3cold 與 D3hot 兩種狀態.

  • Message Signaled Interrupts
    有分兩種 MSI 與 MSI-X .

    Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
            Address: 0000000000000000  Data: 0000
    Capabilities: [60] MSI-X: Enable+ Count=10 Masked-
            Vector table: BAR=3 offset=00000000
            PBA: BAR=3 offset=00002000
    

    MSI 是 PCI Express 中斷產生的方式,採用 in-band (控制訊號與資料同線路) 的方式,取代舊有的 out-of-band 的方式.
    MSI (PCI 2.2 開始採用) 支援 1, 2, 4, 8, 16 或 32 中斷上限.
    MSI-X (PCI 3.0 開始採用) 支援 2048 中斷上限.

  • Express Endpoint
    Capabilities: [a0] Express (v2) Endpoint, MSI 00
            DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <512ns, L1 <64us
                    ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset- SlotPowerLimit 0.000W
            DevCtl: Report errors: Correctable+ Non-Fatal+ Fatal+ Unsupported+
                    RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
                    MaxPayload 256 bytes, MaxReadReq 128 bytes
            DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq+ AuxPwr+ TransPend-
            LnkCap: Port #0, Speed 2.5GT/s, Width x4, ASPM L0s L1, Exit Latency L0s <4us, L1 <64us
                    ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp-
            LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+
                    ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
            LnkSta: Speed 2.5GT/s, Width x4, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
            DevCap2: Completion Timeout: Range ABCD, TimeoutDis+, LTR-, OBFF Not Supported
            DevCtl2: Completion Timeout: 16ms to 55ms, TimeoutDis-, LTR-, OBFF Disabled
            LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-
                     Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
                     Compliance De-emphasis: -6dB
            LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
                     EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
    

    DevCap: Device Capabilities
    其中的 MaxPayload 代表 PCIe 封包最大有效負載量,類似網路設定的 MTU.
    DevCtl: Device Control
    Report errors 表示哪一些錯誤需要被報告 + 代表有需要, – 代表沒有需要.詳細還需要看下面的 Advanced Error Reporting.
    其中的 MaxReadReq (PCIe Max Read Request) 代表 PCIe 讀取請求允許的上限值.
    DevSta: Device State
    目前裝置狀態,有沒有錯誤發生.

    LnkCap: Link capability
    系統能提供的最高頻寬 PCI-Express 1.0 ( 2.5G ) Width x4=10G .
    LnkCtl: Link Control
    裡面的 ASPM 為 PCI Express Active State Power Management ,disabled 代表沒有使用 power savings.
    LnkSta: Link State
    目前該PCI-E 裝置跑的速度 PCI-Express 1.0 ( 2.5G ) Width x1=2.5G,

    DevCap2: 其他與 Device Capabilities 相關的訊息.
    DevCtl2: 其他與 Device Control 相關的訊息.
    LnkCtl2: 其他與 Link Control 相關的訊息.
    LnkSta2: 其他與 Link State 相關的訊息.

  • Advanced Error Reporting
    PCI Express 錯誤信號可能發生在 PCI Express 鏈路本身或在鏈路上啟動時.
    PCI Express 定義兩個錯誤報告: 1. 基本(baseline) 和高級(Advanced) 錯誤報告 (Error Reporting) 功能.

    Capabilities: [100 v1] Advanced Error Reporting
            UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
            UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
            UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
            CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
            CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
            AERCap: First Error Pointer: 00, GenCap- CGenEn- ChkCap- ChkEn-
    

    UESta: UN-correctable Error State
    UEMsk: UN-correctable Error Mask
    UESvrt: UN-correctable Error ?
    CESta: Correctable Error State
    CEMsk: Correctable Error Mask
    AERCap: AER Capabilities

  • 其他訊息
    Capabilities: [140 v1] Device Serial Number 90-fb-a6-ff-ff-76-38-00
    Kernel driver in use: igb
    Kernel modules: igb
    

發表迴響