GNU/Linux >> Linux Esercitazione >  >> Linux

7 Esempi di comandi lspci Linux per ottenere informazioni sul dispositivo hardware del bus PCI

lspci sta per list pci. Pensa a questo comando come "ls" + "pci".

Questo visualizzerà le informazioni su tutto il bus PCI nel tuo server.

Oltre a visualizzare informazioni sul bus, visualizzerà anche informazioni su tutti i dispositivi hardware collegati al bus PCI e PCIe.

Ad esempio, visualizzerà informazioni su schede Ethernet, controller RAID, schede video e così via.

l'utilità lspci fa parte del pacchetto pciutils.

Se non hai pciutilis, installalo sul tuo sistema come mostrato di seguito.

# yum install pciutils

1. Utilizzo predefinito

Per impostazione predefinita verranno visualizzate tutte le informazioni sul dispositivo come mostrato di seguito. Il primo campo contiene le informazioni sullo slot in questo formato:[domain:]bus:device.function

In questo esempio, poiché tutti i domini sono 0, lspci non visualizzerà il dominio.

# 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)

Nota:in tutti gli esempi seguenti, mostreremo solo un output parziale selezionando un paio di dispositivi dall'elenco sopra.

2. Scarica le informazioni PCI in un formato diverso

Se vuoi passare l'output del comando lspci a uno script di shell, puoi usare l'opzione -m (o l'opzione -mm) come mostrato di seguito.

Questa opzione è utile anche quando si desidera visualizzare le informazioni sul sottosistema. Ad esempio, per il controller RAID, l'output predefinito dice semplicemente che sta usando il controller RAID LSI Logic. Tuttavia, l'output seguente mostra il sottosistema, che è il sistema di controller RAID integrato DELL PERC H700.

# 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. Output in formato albero

L'opzione -t visualizzerà l'output in formato albero con informazioni sul bus e su come i dispositivi sono collegati a quei bus come mostrato di seguito. L'output utilizzerà solo gli ID numerici.

# 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. Informazioni dettagliate sul dispositivo

Se vuoi esaminare i dettagli di un particolare dispositivo, usa -v per ottenere maggiori informazioni. Questo visualizzerà le informazioni su tutti i dispositivi. L'output di questo comando sarà molto lungo e dovrai scorrere verso il basso e visualizzare la sezione appropriata.

Per un livello aggiuntivo di verbosità, puoi usare -vv o -vvv.

Nell'esempio seguente, ho fornito l'output del solo dispositivo controller RAID.

# 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. Visualizza i codici dispositivo nell'output

Se si desidera visualizzare il codice fornitore PCI e il codice dispositivo solo come numeri, utilizzare l'opzione -n. Questo non cercherà il file PCI per ottenere i valori corrispondenti per i numeri.

# 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)

Se vuoi visualizzare sia la descrizione che il numero, usa l'opzione -nn come mostrato di seguito.

# 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. Cerca un dispositivo specifico

Quando conosci il numero di slot nel formato domain:bus:slot.func, puoi eseguire una query per un dispositivo particolare come mostrato di seguito. Nell'esempio seguente non abbiamo specificato il numero di dominio, poiché è 0, che può essere omesso.

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

Quando conosci il numero del dispositivo nel formato fornitore:dispositivo, puoi eseguire una query per un dispositivo particolare come mostrato di seguito.

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

Se conosci solo l'ID fornitore o l'ID dispositivo, puoi omettere l'altro ID. Ad esempio, entrambi i seguenti comandi restituiranno lo stesso output del precedente.

lspci -d :0079
lspci -d 1000:

7. Visualizza i driver del kernel

Questo è molto utile quando ti piace conoscere il nome del modulo del kernel che gestirà le operazioni di un particolare dispositivo. Tieni presente che questa opzione funzionerà solo su Kernel 2.6 e versioni successive.

# 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 Esempi di comandi Linux df

  2. Esempi di comandi lvmdump in Linux

  3. Esempi di comandi rm in Linux

  4. ps Esempi di comandi in Linux

  5. Trovare informazioni sull'hardware su Linux senza lspci

16 Esempi di comandi Echo in Linux

9 Esempi di comandi tee in Linux

Comando Linux lshw:ottieni informazioni sull'hardware di Linux

Esempi di comandi dello schermo:ottieni il controllo del terminale Linux / Unix

Esempi di comandi id in Linux

Esempi di comandi lspci in Linux