linux下看pcie的设备id,linux lspci查看pci总线设备信息
linux lspci查看pci總線設備信息
linux中lspci是一個用來顯示系統中所有PCI總線設備或連接到該總線上的所有設備的工具,比如查看網卡、存儲等信息。
參數
-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。
-m 以機器可讀的方式轉儲 PCI 設備數據 (支持兩種模式:普通和冗余),便於稿本解析。
-M 使用總線映射模式,這種模式對總線進行全面地掃描以查明總線上的所有設備,包括配置錯誤的橋之后的設備。請注意,此操作只應在調試時使 用,并可能造成系統崩潰 (只在設備有錯誤的時候,但是不幸的是它們存在),此命令只有 root 可以使用。同時,在不直接接觸硬體的 PCI 訪問模式中使用 -M 參數沒有意義,因為顯示的結果 (排除 lspci 中的 bug 的影響) 與普通的列表模式相同。
--version 顯示 lspci 的版本。這個選項應當單獨使用。
-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 增加庫的調試等級。(可用於所有系統)
實例
lspci -t [BDF]:顯示指定BDF號的設備信息。
lspci -m/-mm:以一種機器可讀的格式來顯示pci設備信息。
# lspci -s ff:13.1
ff:13.1 System peripheral: Intel Corporation Broadwell Memory Controller 0 - Target Address/Thermal/RAS (rev 03)
# lspci -mm -s ff:13.1
ff:13.1 "System peripheral" "Intel Corporation" "Broadwell Memory Controller 0 - Target Address/Thermal/RAS" -r03 "Intel Corporation" "Broadwell Memory Controller 0 - Target Address/Thermal/RAS"
lspci -t:以樹的形式顯示pci設備信息。
lspci -v/-vv/-vvv:顯示詳細的pci設備信息,v越多,越詳細,當然,上限3個。
lspci -x/-xxx/-xxxx:-x以16進制信息顯示pci配置空間;-xxx顯示部分讀配置空間會crash的設備;-xxxx顯示PCI-x2.0或者PCI-e總線擴展的配置空間。
lspci -b:以總線的角度來顯示所有的IRQ和地址。根據我的觀察,大部分信息和不帶參數時顯示一致,除了SR-IOV設備分配出的Virtual Function設備。如下示例:物理網卡PF(physical function )顯示一直 ,但VF(virtual function )顯示卻不同。
# lspci -b -s 0a:00.1; lspci -b -s 0a:10.0
0a:00.1 Ethernet controller: Intel Corporation Ethernet Controller 10-Gigabit X540-AT2 (rev 01)
0a:10.0 Ethernet controller: Illegal Vendor ID Device ffff (rev 01)
# lspci -s 0a:00.1; lspci -s 0a:10.0
0a:00.1 Ethernet controller: Intel Corporation Ethernet Controller 10-Gigabit X540-AT2 (rev 01)
0a:10.0 Ethernet controller: Intel Corporation X540 Ethernet Controller Virtual Function (rev 01)
lspci -D:顯示PCI domain號,默認的不加參數命令并不顯示該值。
lspci -n/-nn:顯示設備的vendor廠商號和device設備號;顯示廠商等信息和名稱。
# lspci -nn | grep ff:1f.2
ff:1f.2 System peripheral [0880]: Intel Corporation Broadwell Power Control Unit [8086:6f8a] (rev 03)
# lspci -n | grep ff:1f.2
ff:1f.2 0880: 8086:6f8a (rev 03)
lspci -D:顯示設備的廠商號、設備號、Class號。
# lspci -Q -s 0c:00.1
0c:00.1 Class 0200: Device 8086:1528 (rev 01)
版權聲明:本文為JAVASCHOOL原創文章,未經本站允許不得轉載。
總結
以上是生活随笔為你收集整理的linux下看pcie的设备id,linux lspci查看pci总线设备信息的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python从放弃到入门,公众号历史文章
- 下一篇: 鸿蒙系统适配的电视,搭载鸿蒙系统的荣耀智