GNU/Linux >> Tutoriels Linux >  >> Linux

7 exemples de commande Linux lspci pour obtenir des informations sur le périphérique matériel du bus PCI

lspci signifie liste pci. Considérez cette commande comme "ls" + "pci".

Cela affichera des informations sur tous les bus PCI de votre serveur.

En plus d'afficher des informations sur le bus, il affichera également des informations sur tous les périphériques matériels connectés à votre bus PCI et PCIe.

Par exemple, il affichera des informations sur les cartes Ethernet, les contrôleurs RAID, les cartes vidéo, etc.

L'utilitaire lspci fait partie du package pciutils.

Si vous n'avez pas pciutilis, installez-le sur votre système comme indiqué ci-dessous.

# yum install pciutils

1. Utilisation par défaut

Par défaut, il affichera toutes les informations sur l'appareil comme indiqué ci-dessous. Le premier champ est l'information de slot dans ce format :[domaine :]bus :appareil.fonction

Dans cet exemple, puisque tous les domaines sont 0, lspci n'affichera pas le domaine.

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

Remarque :Dans tous les exemples ci-dessous, nous n'afficherons qu'une sortie partielle en sélectionnant quelques appareils dans la liste ci-dessus.

2. Vider les informations PCI dans un format différent

Si vous souhaitez transmettre la sortie de la commande lspci à un script shell, vous pouvez utiliser l'option -m (ou l'option -mm) comme indiqué ci-dessous.

Cette option est également utile lorsque vous souhaitez afficher les informations du sous-système. Par exemple, pour le contrôleur RAID, la sortie par défaut indique simplement qu'il utilise le contrôleur RAID LSI Logic. Mais, la sortie suivante affiche le sous-système, qui est le système de contrôleur RAID intégré 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. Sortie au format arborescent

L'option -t affichera la sortie sous forme d'arborescence avec des informations sur le bus et la manière dont les périphériques sont connectés à ces bus, comme indiqué ci-dessous. La sortie n'utilisera que les identifiants numériques.

# 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. Informations détaillées sur l'appareil

Si vous souhaitez examiner les détails d'un périphérique particulier, utilisez -v pour obtenir plus d'informations. Cela affichera des informations sur tous les appareils. La sortie de cette commande sera très longue et vous devrez faire défiler vers le bas et afficher la section appropriée.

Pour un niveau supplémentaire de verbosité, vous pouvez utiliser -vv ou -vvv.

Dans l'exemple suivant, j'ai donné uniquement la sortie du périphérique de contrôleur 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. Afficher les codes de périphérique dans la sortie

Si vous souhaitez afficher le code du fournisseur PCI et le code du périphérique uniquement sous forme de chiffres, utilisez l'option -n. Cela ne recherchera pas le fichier PCI pour obtenir les valeurs correspondantes pour les nombres.

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

Si vous souhaitez afficher à la fois la description et le numéro, utilisez l'option -nn comme indiqué ci-dessous.

# 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. Rechercher un appareil spécifique

Lorsque vous connaissez le numéro d'emplacement au format domaine:bus:emplacement.func, vous pouvez interroger un périphérique particulier, comme indiqué ci-dessous. Dans l'exemple suivant, nous n'avons pas spécifié le numéro de domaine, car il s'agit de 0, qui peut être omis.

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

Lorsque vous connaissez le numéro d'appareil au format fournisseur :appareil, vous pouvez rechercher un appareil particulier, comme indiqué ci-dessous.

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

Si vous ne connaissez que l'ID du fournisseur ou l'ID de l'appareil, vous pouvez omettre l'autre ID. Par exemple, les deux commandes suivantes renverront le même résultat que ci-dessus.

lspci -d :0079
lspci -d 1000:

7. Afficher les pilotes du noyau

Ceci est très utile lorsque vous souhaitez connaître le nom du module du noyau qui gérera les opérations d'un périphérique particulier. Veuillez noter que cette option ne fonctionnera que sur la version Kernel 2.6 et supérieure.

# 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 Exemples de commandes Linux df

  2. 8 Exemples de commandes Linux TR

  3. Exemples de commandes lvmdump sous Linux

  4. Exemples de commande rm sous Linux

  5. Exemples de commandes ps sous Linux

16 exemples de commandes Echo sous Linux

9 exemples de commandes tee sous Linux

Commande Linux lshw - Obtenir des informations sur le matériel Linux

Exemples de commandes d'écran :prendre le contrôle du terminal Linux/Unix

Exemples de commandes id sous Linux

Exemples de commandes lspci sous Linux