GNU/Linux >> LINUX-Kenntnisse >  >> Linux

7 Linux-lspci-Befehlsbeispiele zum Abrufen von PCI-Bus-Hardware-Geräteinformationen

lspci steht für Listen-PCI. Stellen Sie sich diesen Befehl als „ls“ + „pci“ vor.

Dadurch werden Informationen über alle PCI-Busse in Ihrem Server angezeigt.

Neben der Anzeige von Informationen über den Bus werden auch Informationen über alle Hardwaregeräte angezeigt, die an Ihren PCI- und PCIe-Bus angeschlossen sind.

Beispielsweise werden Informationen zu Ethernet-Karten, RAID-Controllern, Grafikkarten usw. angezeigt.

Das lspci-Dienstprogramm ist Teil des pciutils-Pakets.

Wenn Sie pciutilis nicht haben, installieren Sie es wie unten gezeigt auf Ihrem System.

# yum install pciutils

1. Standardnutzung

Standardmäßig werden alle Geräteinformationen wie unten gezeigt angezeigt. Das erste Feld ist die Slot-Information in diesem Format:[domain:]bus:device.function

Da in diesem Beispiel alle Domänen 0 sind, zeigt lspci die Domäne nicht an.

# lspci
00:00.0 Host bridge: Intel Corporation 5500 I/O Hub to ESI Port (rev 13)
00:01.0 PCI bridge: Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port 1 (rev 13)
00:09.0 PCI bridge: Intel Corporation 7500/5520/5500/X58 I/O Hub PCI Express Root Port 9 (rev 13)
00:14.0 PIC: Intel Corporation 7500/5520/5500/X58 I/O Hub System Management Registers (rev 13)
00:14.1 PIC: Intel Corporation 7500/5520/5500/X58 I/O Hub GPIO and Scratch Pad Registers (rev 13)
00:14.2 PIC: Intel Corporation 7500/5520/5500/X58 I/O Hub Control Status and RAS Registers (rev 13)
00:1a.0 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1 (rev 02)
00:1d.0 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 92)
00:1f.0 ISA bridge: Intel Corporation 82801IB (ICH9) LPC Interface Controller (rev 02)
00:1f.2 IDE interface: Intel Corporation 82801IB (ICH9) 2 port SATA Controller [IDE mode] (rev 02)
01:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20)
01:00.1 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20)
03:00.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID SAS 2108 [Liberator] (rev 05)
06:03.0 VGA compatible controller: Matrox Electronics Systems Ltd. MGA G200eW WPCM450 (rev 0a)

Hinweis:In allen folgenden Beispielen zeigen wir nur eine teilweise Ausgabe, indem wir einige Geräte aus der obigen Liste auswählen.

2. PCI-Info in anderem Format ausgeben

Wenn Sie die Ausgabe des lspci-Befehls an ein Shell-Skript weitergeben möchten, können Sie die Option -m (oder die Option -mm) wie unten gezeigt verwenden.

Diese Option ist auch hilfreich, wenn Sie die Subsysteminformationen anzeigen möchten. Zum Beispiel sagt die Standardausgabe für den RAID-Controller nur, dass der LSI Logic RAID-Controller verwendet wird. Die folgende Ausgabe zeigt jedoch das Subsystem an, das das integrierte RAID-Controllersystem DELL PERC H700 ist.

# lspci -m
00:00.0 "Host bridge" "Intel Corporation" "5500 I/O Hub to ESI Port" -r13 "Dell" "PowerEdge R610 I/O Hub to ESI Port"
00:09.0 "PCI bridge" "Intel Corporation" "7500/5520/5500/X58 I/O Hub PCI Express Root Port 9" -r13 "" ""
00:14.0 "PIC" "Intel Corporation" "7500/5520/5500/X58 I/O Hub System Management Registers" -r13 "" ""
00:1a.0 "USB controller" "Intel Corporation" "82801I (ICH9 Family) USB UHCI Controller #4" -r02 "Dell" "PowerEdge R610 USB UHCI Controller"
00:1f.0 "ISA bridge" "Intel Corporation" "82801IB (ICH9) LPC Interface Controller" -r02 "Dell" "PowerEdge R610 82801IB (ICH9) LPC Interface Controller"
00:1f.2 "IDE interface" "Intel Corporation" "82801IB (ICH9) 2 port SATA Controller [IDE mode]" -r02 -p8f "Dell" "PowerEdge R610 SATA IDE Controller"
01:00.0 "Ethernet controller" "Broadcom Corporation" "NetXtreme II BCM5709 Gigabit Ethernet" -r20 "Dell" "PowerEdge R610 BCM5709 Gigabit Ethernet"
03:00.0 "RAID bus controller" "LSI Logic / Symbios Logic" "MegaRAID SAS 2108 [Liberator]" -r05 "Dell" "PERC H700 Integrated"
06:03.0 "VGA compatible controller" "Matrox Electronics Systems Ltd." "MGA G200eW WPCM450" -r0a "Dell" "PowerEdge R610 MGA G200eW WPCM450"

3. Ausgabe im Baumformat

Die Option -t zeigt die Ausgabe im Baumformat mit Informationen über den Bus und wie Geräte mit diesen Bussen verbunden sind, wie unten gezeigt. Die Ausgabe erfolgt nur über die numerischen IDs.

# lspci -t
-[0000:00]-+-00.0
           +-01.0-[01]--+-00.0
           |            \-00.1
           +-03.0-[02]--+-00.0
           |            \-00.1
           +-07.0-[04]--
           +-09.0-[05]--
           +-14.0
           +-14.1
           +-1c.0-[03]----00.0
           +-1d.0
           +-1e.0-[06]----03.0
           +-1f.0

4. Detaillierte Geräteinformationen

Wenn Sie sich Details zu einem bestimmten Gerät ansehen möchten, verwenden Sie -v, um weitere Informationen zu erhalten. Dadurch werden Informationen zu allen Geräten angezeigt. Die Ausgabe dieses Befehls wird sehr lang sein, und Sie müssen nach unten scrollen und den entsprechenden Abschnitt anzeigen.

Für zusätzliche Ausführlichkeit können Sie -vv oder -vvv verwenden.

Im folgenden Beispiel habe ich nur die Ausgabe des RAID-Controller-Geräts gegeben.

# lspci -v
 03:00.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID SAS 2108 [Liberator] (rev 05)
        Subsystem: Dell PERC H700 Integrated
        Flags: bus master, fast devsel, latency 0, IRQ 16
        I/O ports at fc00 [size=256]
        Memory at df1bc000 (64-bit, non-prefetchable) [size=16K]
        Memory at df1c0000 (64-bit, non-prefetchable) [size=256K]
        Expansion ROM at df100000 [disabled] [size=256K]
        Capabilities: [50] Power Management version 3
        Capabilities: [68] Express Endpoint, MSI 00
        Capabilities: [d0] Vital Product Data
        Capabilities: [a8] MSI: Enable- Count=1/1 Maskable- 64bit+
        Capabilities: [c0] MSI-X: Enable+ Count=15 Masked-
        Capabilities: [100] Advanced Error Reporting
        Capabilities: [138] Power Budgeting <?>
        Kernel driver in use: megaraid_sas
        Kernel modules: megaraid_sas

5. Gerätecodes in der Ausgabe anzeigen

Wenn Sie den PCI-Herstellercode und den Gerätecode nur als Zahlen anzeigen möchten, verwenden Sie die Option -n. Dadurch wird die PCI-Datei nicht nachgeschlagen, um die entsprechenden Werte für die Nummern zu erhalten.

# lspci -n
01:00.1 0200: 14e4:1639 (rev 20)
02:00.0 0200: 14e4:1639 (rev 20)
02:00.1 0200: 14e4:1639 (rev 20)
03:00.0 0104: 1000:0079 (rev 05)
06:03.0 0300: 102b:0532 (rev 0a)

Wenn Sie sowohl die Beschreibung als auch die Nummer anzeigen möchten, verwenden Sie die Option -nn wie unten gezeigt.

# lspci -nn
01:00.0 Ethernet controller [0200]: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet [14e4:1639] (rev 20)
03:00.0 RAID bus controller [0104]: LSI Logic / Symbios Logic MegaRAID SAS 2108 [Liberator] [1000:0079] (rev 05)
06:03.0 VGA compatible controller [0300]: Matrox Electronics Systems Ltd. MGA G200eW WPCM450 [102b:0532] (rev 0a)
..

6. Nach einem bestimmten Gerät suchen

Wenn Sie die Steckplatznummer im Format domain:bus:slot.func kennen, können Sie wie unten gezeigt nach einem bestimmten Gerät fragen. Im folgenden Beispiel haben wir die Domainnummer nicht angegeben, da sie 0 ist, die weggelassen werden kann.

# lspci -s 03:00.0
03:00.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID SAS 2108 [Liberator] (rev 05)

Wenn Sie die Gerätenummer im Format Hersteller:Gerät kennen, können Sie wie unten gezeigt nach einem bestimmten Gerät suchen.

# lspci -d 1000:0079
03:00.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID SAS 2108 [Liberator] (rev 05)

Wenn Sie nur entweder die Anbieter-ID oder die Geräte-ID kennen, können Sie die andere ID weglassen. Beispielsweise geben die beiden folgenden Befehle die gleiche Ausgabe wie die obigen zurück.

lspci -d :0079
lspci -d 1000:

7. Kernel-Treiber anzeigen

Dies ist sehr hilfreich, wenn Sie den Namen des Kernelmoduls wissen möchten, das die Operationen eines bestimmten Geräts handhabt. Bitte beachten Sie, dass diese Option nur mit der Kernel-Version 2.6 und höher funktioniert.

# lspci -k
00:1f.2 IDE interface: Intel Corporation 82801IB (ICH9) 2 port SATA Controller [IDE mode] (rev 02)
        Subsystem: Dell PowerEdge R610 SATA IDE Controller
        Kernel driver in use: ata_piix
        Kernel modules: ata_generic, pata_acpi, ata_piix
02:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20)
        Subsystem: Dell PowerEdge R610 BCM5709 Gigabit Ethernet
        Kernel driver in use: bnx2
        Kernel modules: bnx2
03:00.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID SAS 2108 [Liberator] (rev 05)
        Subsystem: Dell PERC H700 Integrated
        Kernel driver in use: megaraid_sas
        Kernel modules: megaraid_sas

Linux
  1. 7 Beispiele für Linux-df-Befehle

  2. 8 Linux TR-Befehlsbeispiele

  3. lvmdump-Befehlsbeispiele unter Linux

  4. rm-Befehlsbeispiele unter Linux

  5. ps-Befehlsbeispiele in Linux

16 Beispiele für Echo-Befehle unter Linux

9 Beispiele für tee-Befehle unter Linux

Linux-lshw-Befehl – ​​Holen Sie sich Linux-Hardware-Informationen

Beispiele für Bildschirmbefehle:Holen Sie sich die Kontrolle über das Linux / Unix-Terminal

id-Befehlsbeispiele in Linux

lspci-Befehlsbeispiele in Linux