lspci : Afficher la configuration matériel Linux

La commande LSPCI est un utilitaire sur les systèmes Linux utilisés pour trouver des informations sur les bus PCI et les périphériques connectés au sous-système PCI.
Pour rappel, PCI (Peripheral Component Interconnect) est un format de BUS qui permet d'ajouter des cartes d'extensions à un PC comme une carte Ethernet, une carte Audio et bien d'autres, à lire : Qu'est-ce que le PCI Express (PCIE/PCI-E)
Elle est disponible sur la plupart des distributions Linux telles que Debian, Ubuntu, Fedora, Mint et bien d'autres.

La commande se décompose en deux mots LS et PCI. La première partie LS, est l'utilitaire standard utilisé sur Linux pour la liste des informations sur les fichiers du système de fichiers.
PCI est la deuxième partie de la commande afin que vous puissiez voir naturellement que la commande LSPCI répertoriera des informations sur le sous-système PCI de la même manière que LS répertoriera des informations sur le système de fichiers.

Dans ce tutoriel, je vous explique les bases de la commande LSPCI pour afficher des informations matériels et hardware de votre système.
Pour connaître la configuration complète de votre PC, utilisez plutôt la commande lshw.

lspci : Afficher la configuration matériel Linux

Comment installer lspci sur Linux

lspci n'est pas une commande de base, elle n'est donc pas disponible par défaut.
Si vous tentez de l'exécuter, vous allez contrer une erreur lspci: command not found.

[email protected]:~$ lspci
-bash: lspci: command not found

Il faut installer le paquet pciutils pour ajouter l'utilitaire lspic dans le système.

Sur Debian, Ubuntu, Mint

Sur le distributions à base de Debian, utilisez l'utilitaire APT :

Comment installer lspci sur Debian, Ubuntu ou Mint avec APT
sudo apt install pciutils

Sur Fedora, Redhat

Alors que du côté des distributions Redhat, utilisez l'utilitaire Yum ou DNF :

sudo yum install pciutils

Comment utiliser lspci pour afficher la configuration matériel Linux

Utilisation basique de lspci

La commande lspci interroge le fichier /proc/bus/pci pour afficher la liste des sous-systèmes PCI dans un format lisible.

Dans le format simple, chaque appareil est décrit sur une seule ligne, qui est formaté comme des paramètres appropriés pour passer à un script shell, c'est-à-dire des valeurs séparées par des espaces blancs, citées et échappées si nécessaire.

Comment utiliser lspci pour afficher la configuration matériel Linux

On trouve notamment les informations suivantes :

  • Slot : Afficher le domaine, bus et slot PCI
  • Class : La classe qui correspond au type de cartes PCI (Host Bride, VGA Compatible, USB controller, etc)
  • Vendor : Le nom du fabricant ou fournisseur (Intel, Realtek, etc)avec le type de périphérique
  • Devices : Le nom du sous-système PCI
  • Rev : Le numéro de révision

Afficher un slot PCI ou périphériques PCI spécifiques

La plupart des ordinateurs ont plusieurs interfaces PCI.
L'option -s permet d'afficher les informations d'un contrôleur PCI spécifique.
Le format est :

-s [[[[<domain>]:]<bus>]:][<slot>][.[<func>]]

Afficher uniquement les périphériques dans le domaine spécifié (au cas où votre machine dispose de plusieurs ponts hôtes, ils peuvent partager un espace de numéro de bus commun ou chacun d'entre eux peut adresser un domaine PCI de ses propres; les domaines sont numérotés de 0 à FFFF), bus ( 0 à FF), emplacement (0 à 1f) et fonction (0 à 7).

Dans cet exemple, nous imprimerons des informations sur le numéro d'emplacement PCI 00:1d.0 qui est le contrôleur USB.

lspci -s 00:1d.0
Afficher un slot PCI ou périphériques PCI spécifiques de lspci

Imprimer le format lisible par machine

Le format d'impression par défaut est le format lisible par l'homme (human readable).

Cela signifie que l'adresse PCI ou l'emplacement, le fournisseur et les informations sur le produit sont imprimés dans un format délimité de l'espace. Le format lisible par machine est un format séparé à double citation qui peut être analysé facilement.

lspci -m
Utiliser le format lisible par machine de lspci

Sortie en mode bavard (verbose)

Le bus PCI fournit de nombreuses informations sur la connexion PCI et les appareils. Par défaut, ces informations ne sont pas imprimées complètement.

Nous pouvons afficher d'avantage d'informations en mode bavard (verbose).
Pour afficher les informations PCI détaillées, utilisez l'option -v :

lspci -v

On peut alors trouver des informations sur les ports, des adresses mémoires ou ROM, ainsi que les modules du noyau Linux utilisés.

La sortie en mode bavard (verbose) de la commande lspci

Informations d'impression tag:value

Nous pouvons également imprimer des informations sur les slots PCI et périphériques au format tag:value.
Cela rendra les informations lisibles comme le format JSON. Nous allons utiliser des options -vmm comme ci-dessous.

 lspci -vmm
Utiliser le format d'impression tag:value de lspci

Afficher les codes des fabricants de matériel informatique

Chaque fabricant de matériel informatique a son propre fournisseur et code de périphérique ou identifiant.
Nous pouvons afficher le fournisseur de périphériques, la classe, le SVendor, l'ID SDevice avec l'option -n comme ci-dessous.

 lspci -n -vmm
Afficher les codes des fabricants de matériel informatique avec lspci

Afficher le module du noyau Linux des périphériques PCI

Pour faire fonctionner chaque périphériques PCI, le noyau Linux charge un module spécifique.
Ce dernier contient le pilote qui fait la jonction entre la partie matériel et logiciel à travers le noyau Linux.
L'option -k permet d'afficher chaque module du noyau Linux en ajoutant une ligne modules kernel :

lspci -k
Afficher le module du noyau Linux  (kernel modules) des périphériques PCI avec lspci

On trouve aussi d'autres champs tels que :

  • Device Name
  • Subsystem
  • Kernel driver
  • Kernel module

Liste des périphériques PCI en arborescence

Enfin la commande lspci permet aussi d'afficher la liste dans un format en arborescence.

Ainsi, nous pouvons également énumérer la sortie du LSPCI dans un format d'arbre de manière hiérarchique. Nous allons utiliser l'option -t comme ci-dessous.

lspci -tv
Liste des périphériques PCI en arborescence avec lspci

Tags: