Utilisez lspci sur Linux pour voir votre matériel

  • FrançaisFrançais



  • Lorsque vous exécutez Linux sur un ordinateur de bureau ou un serveur, vous devez parfois identifier le matériel de ce système. Une commande utilisée pour cela est lspci. Il fonctionne en affichant tous les périphériques connectés au bus PCI. Il est fourni par le pciutils package et est disponible pour une large gamme de systèmes d’exploitation basés sur Linux et BSD.

    Utilisation de base

    Les informations affichées lorsqu’un utilisateur régulier exécute lspci peut être limité en raison des autorisations d’accès. Exécuter la commande avec sudo fournit une image complète.

    Fonctionnement lspci par lui-même répertorie les bus PCI et leurs périphériques connectés. Voici un exemple de mon PC Media Center. Il s’agit d’un système basé sur un processeur AMD Phenom, il dispose donc d’un chipset AMD. Il dispose également d’une manette sans fil Atheros et d’une carte graphique Nvidia. Tous les périphériques matériels sont répertoriés avec des détails tels que le fournisseur, le nom et le numéro de modèle :

    $ sudo lspci
    00:00.0 Host bridge: Advanced Micro Devices, Inc. [AMD] RS880 Host Bridge
    00:02.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] RS780 PCI to PCI bridge (ext gfx port 0)
    00:04.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] RS780/RS880 PCI to PCI bridge (PCIE port 0)
    00:05.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] RS780/RS880 PCI to PCI bridge (PCIE port 1)
    00:11.0 SATA controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode]
    00:12.0 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
    00:12.1 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0 USB OHCI1 Controller
    00:12.2 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB EHCI Controller
    00:13.0 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
    00:13.1 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0 USB OHCI1 Controller
    00:13.2 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB EHCI Controller
    00:14.0 SMBus: Advanced Micro Devices, Inc. [AMD/ATI] SBx00 SMBus Controller (rev 3c)
    00:14.1 IDE interface: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 IDE Controller
    00:14.3 ISA bridge: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 LPC host controller
    00:14.4 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] SBx00 PCI to PCI Bridge
    00:14.5 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI2 Controller
    00:18.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor HyperTransport Configuration
    00:18.1 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor Address Map
    00:18.2 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor DRAM Controller
    00:18.3 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor Miscellaneous Control
    00:18.4 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor Link Control
    01:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GTX 650] (rev a1)
    01:00.1 Audio device: NVIDIA Corporation GK107 HDMI Audio Controller (rev a1)
    02:00.0 Network controller: Qualcomm Atheros AR9287 Wireless Network Adapter (PCI-Express) (rev 01)

    Sortie verbeuse

    Ajout d’un -v L’option augmente la verbosité ou le niveau de détail pour chaque appareil. Vous pouvez utiliser -vv ou -vvv pour des quantités encore plus élevées de détails sur l’appareil. A ce niveau, lspci affiche divers sous-systèmes et adresses mémoire, les numéros de demande d’interruption (IRQ) et d’autres capacités pour tous les périphériques. La sortie est extrêmement longue. Essayez-le sur votre système.

    Recherche avec grep

    Parfois, vous souhaitez affiner votre recherche. Par exemple, le site Web RPM Fusion contient des instructions pour installer les pilotes graphiques Nvidia. Ils commencent par identifier votre carte graphique à l’aide du grep commander. Voici ce que j’obtiens sur mon portable :

    $ sudo lspci | grep -e VGA
    00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 620 (rev 07)
    $ sudo lspci | grep -e 3D
    01:00.0 3D controller: NVIDIA Corporation GM108M [GeForce MX130] (rev a2)

    Les grep Les commandes ci-dessus affichent un périphérique VGA sur mon PC Media Center mais aucun périphérique 3D.

    $ sudo lspci | grep -e VGA
    01:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GTX 650] (rev a1)
    $ sudo lspci | grep -e 3D
    $

    Recherche par ID de fournisseur

    Il y a un autre moyen qui ne nécessite pas grep. Supposons que je veuille déterminer si d’autres périphériques Nvidia sont présents. Il faut en savoir un peu plus. Je utilise le -nn option pour afficher les numéros d’identification du fournisseur et de l’appareil. Sur mon PC Media Center, cette option affiche ma carte VGA, l’ID du fournisseur et l’ID de l’appareil :

    $ sudo lspci -nn | grep -e VGA
    01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK107 [GeForce GTX 650] [10de:0fc6] (rev a1)

    L’ensemble de parenthèses avec les chiffres séparés par des deux-points après le nom de l’appareil indique le fournisseur et l’ID de l’appareil. La sortie indique que l’ID du fournisseur d’un appareil fabriqué par Nvidia Corporation est 10de.

    Les -d L’option affiche tous les appareils d’un fournisseur, d’un appareil ou d’un ID de classe spécifié. Voici tous les appareils Nvidia de mon système (en gardant le -nn pour inclure les identifiants des fournisseurs) :

    $ sudo lspci -nn -d 10de:
    01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK107 [GeForce GTX 650] [10de:0fc6] (rev a1)
    01:00.1 Audio device [0403]: NVIDIA Corporation GK107 HDMI Audio Controller [10de:0e1b] (rev a1)

    D’après la sortie, vous pouvez voir qu’en plus d’une carte graphique, j’ai un périphérique audio Nvidia. Ils font tous les deux en fait partie de la même Nvidia GeForce GTX650 carte, mais c’est quand même un bon exemple.

    Modules du noyau

    Avec les périphériques matériels PCI, lspci peut montrer quels modules de pilote de noyau sont chargés avec le -k option. J’ajoute cette option à mon lspci commandes pour afficher plusieurs informations sur mes appareils Nvidia.

    $ sudo lspci -nn -k -d 10de:
    01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK107 [GeForce GTX 650] [10de:0fc6] (rev a1)
     Subsystem: eVga.com. Corp. GK107 [GeForce GTX 650] [3842:2650]
     Kernel driver in use: nvidia
     Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia
    01:00.1 Audio device [0403]: NVIDIA Corporation GK107 HDMI Audio Controller [10de:0e1b] (rev a1)
     Subsystem: eVga.com. Corp. GK107 HDMI Audio Controller [3842:2650]
     Kernel driver in use: snd_hda_intel
     Kernel modules: snd_hda_intel

    Deux lignes supplémentaires s’affichent : Pilote de noyau en cours d’utilisation et Modules du noyau. La seconde liste les modules disponibles pour prendre en charge l’appareil.

    Se tenir au courant

    De nouveaux appareils et fournisseurs font constamment leur entrée sur le marché. Si vous voyez un appareil répertorié comme inconnu, votre base de données d’ID de périphérique PCI est peut-être obsolète. Il y a deux façons de vérifier. Les -Q L’option utilise DNS pour interroger la base de données centrale. Ceci, bien sûr, nécessite une connectivité réseau.

    $ sudo lspci -Q

    Vous pouvez également mettre à jour votre base de données d’ID PCI locale en exécutant la commande update-pciids.

    $ sudo update-pciids
    Downloaded daily snapshot dated 2021-08-22 03:15:01

    En savoir plus sur votre matériel

    Bien sûr, lspci n’est qu’une des nombreuses commandes disponibles pour Linux qui sont utiles pour interroger le matériel et les logiciels de votre système. En savoir plus sur le matériel sous Linux dans mon article sur les périphériques USB : Reconnaître plus de périphériques sous Linux avec ce référentiel d’ID USB.

    Source

    N'oubliez pas de voter pour cet article !
    1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
    Loading...

    Laisser un commentaire

    Votre adresse e-mail ne sera pas publiée.