lspci
Table des matières
Retour à l'index
NOM
lspci - Lister tous les périphériques PCI
SYNOPSIS
lspci [options]
DESCRIPTION
lspci est un utilitaire pour afficher des informations sur les bus PCI
dans le système et les périphériques qui y sont connectés.
Il montre une courte liste de périphériques par défaut. Utilisez les options
décrites ci-dessous pour demander une sortie plus détaillée ou une sortie
destinée à être interprétée par d'autres programmes.
Si vous voulez rapporter des bogues de pilotes de périphériques PCI ou dans
lspci lui-même, merci d'y inclure la sortie de « lspci -vvx » ou encore
mieux « lspci -vvxx » (toutefois, voir ci-dessous pour d'éventuelles mises
en garde).
Quelques parties de la sortie, spécialement dans les modes très détaillés,
ne sont probablement intelligibles que par des informaticiens expérimentés
dans le domaine de PCI. Pour des définitions exactes des champs, merci de
consulter les spécifications PCI ou les fichiers joints header.h et
/usr/include/linux/pci.h.
L'accès à certaines parties de l'espace de configuration PCI est restreint
au superutilisateur sur de nombreux systèmes d'exploitation, ce qui limite
les caractéristiques de lspci disponibles pour les utilisateurs non
privilégiés. Cependant, lspci essaie de faire de son mieux pour afficher
le plus d'informations disponibles et marquer les autres informations avec
le texte <access denied>.
OPTIONS
Modes d'affichage basiques
- -m
-
Extraire les données du dispositif PCI dans un format rétrocompatible
lisible par une machine. Voir ci-dessous pour les détails.
- -mm
-
Extraire les données d'un périphérique PCI sous une forme lisible par les
machines pour être facilement partageable par les scripts. Voir ci-dessous
pour les détails.
- -t
-
Afficher un diagramme sous forme d'arbre contenant tous les bus, ponts,
périphériques et les connexions entre eux.
Options d'affichage
- -v
-
Être bavard et afficher des informations détaillées sur tous les
périphériques.
- -vv
-
Être très bavard et afficher encore plus de détails. Ce niveau comprend tout
ce qui est jugé utile.
- -vvv
-
Être encore plus bavard et afficher tout ce qui peut l'être, même si cela ne
semble pas du tout intéressant (par exemple, les régions de la mémoire non
définies).
- -k
-
Afficher les pilotes du noyau qui gèrent chaque périphérique ainsi que les
modules du noyau capables de le gérer. Activé par défaut lorsque v est
spécifié dans la sortie en mode normal. (Ne fonctionne actuellement que sous
Linux avec un noyau 2.6 ou plus récent.)
- -x
-
Afficher le vidage en hexadécimal de la partie standard de l'espace de
configuration (les premiers 64 octets ou 128 octets pour les ponts CardBus).
- -xxx
-
Afficher le vidage hexadécimal de tout l'espace de configuration PCI. Cela
n'est valable que pour le superutilisateur, étant donné que plusieurs
périphériques PCI plantent lorsque vous essayez de lire des parties de
l'espace de configuration (ce comportement ne viole probablement pas le
standard PCI, mais c'est très stupide). Toutefois, de tels périphériques
sont rares, donc vous n'avez pas besoin de trop vous en inquiéter.
- -xxxx
-
Afficher le vidage hexadécimal de l'espace de configuration PCI étendu
(4096-octets) disponible sur PCI-X 2.0 et les bus PCI Express.
- -b
-
Vue centrée sur le bus. Afficher tous les numéros d'IRQ (« Interrupt
ReQuest », interruption matérielle) et les adresses comme vues par les
cartes du bus PCI au lieu de les montrer vues par le noyau.
- -D
-
Toujours afficher les numéros de domaines PCI. lspci les supprime par
défaut sur les machines qui n'ont que le domaine 0.
- -P
-
Identifier les périphériques PCI par le chemin à travers chaque pont et non
par numéro de bus.
- -PP
-
Identifier les périphériques PCI par le chemin à travers chaque pont, en
affichant le numéro de bus ainsi que le numéro du périphérique.
Options pour contrôler la résolution d'ID en noms
- -n
-
Afficher les codes des appareils et fabricants PCI sous forme de nombres au
lieu de les chercher dans la liste d'identifiants PCI.
- -nn
-
Afficher les codes appareils et fabricants PCI à la fois sous forme de
nombres et de noms.
- -q
-
Utiliser le DNS pour interroger la base de données centrale des identifiants
PCI si un périphérique n'a pas été trouvé dans le fichier pci.ids
local. Si la requête DNS réussit, le résultat est mis en cache dans
$XDG_CACHE_HOME/pci-ids et sera reconnu dans les appels ultérieurs, même
si l'option -q n'est pas fournie. Merci de bien vouloir utiliser avec
parcimonie cette option dans des scripts automatisés afin d'éviter la
surcharge des serveurs de bases de données.
- -qq
-
Identique à -q, sauf que le cache local est réinitialisé.
- -Q
-
Interroger la base de données centrale même pour les entrées reconnues
localement. Utilisez cette option si vous suspectez que l'entrée affichée
est erronée.
Options de sélection des périphériques
- -s [[[[<domain>]:]<bus>]:][<device>][.[<func>]]
-
Montrer seulement les périphériques du domaine indiqué (si votre machine
possède plusieurs ponts d'hôtes, soit ils peuvent partager le même numéro de
bus, soit chacun d'eux peut s'adresser à un domaine PCI ; les domaines sont
numérotés de 0 à ffff), le bus (0 à ff), le périphérique (0 à 1f) et la
fonction (0 à 7). Chaque élément de l'adresse du périphérique peut être
omis ou défini à « * », les deux signifiant « valeur quelconque ». Tous les
numéros sont hexadécimaux. Par exemple, « 0 » : signifie tous les
périphériques sur le bus 0, « 0 » signifie toutes les fonctions du
périphérique 0 de tous les bus, « 0.3 » sélectionne la troisième fonction du
périphérique 0 sur tous les bus et « .4 » montre seulement la quatrième
fonction de chaque périphérique.
- -d [<vendor>]:[<device>][:<class>[:<prog-if>]]
-
Afficher seulement les périphériques dont les identifiants de classe,
fabricant, périphérique et interface de programmation sont spécifiés. Les
identifiants sont indiqués sous forme hexadécimale et peuvent être omis ou
définis sous la forme « * », les deux signifiant « valeur
quelconque ». L'identifiant de classe peut contenir des caractères « x » qui
signifient « tout chiffre ».
Autres options
- -i <file>
-
Utiliser <file> comme liste d'identifiants PCI au lieu de
/usr/share/misc/pci.ids.
- -p <file>
-
Utiliser <file> comme carte des identifiants PCI pris en charge
par le noyau. lspci utilise /lib/modules/version_noyau/modules.pcimap
par défaut. Cela n'est utilisé que sur les systèmes Linux avec des outils de
module assez récents.
- -M
-
Invoquer le mode de correspondance de bus qui effectue un balayage exhaustif
de tous les périphériques PCI, y compris ceux qui se trouvent derrière des
ponts mal configurés, etc. Cette option ne donne des résultats significatifs
qu'avec un accès direct au matériel, ce qui nécessite généralement les
privilèges du superutilisateur. Le mappeur de bus examine le domaine 0 par
défaut. Vous pouvez utiliser l'option -s pour choisir un domaine
différent.
- --version
-
Afficher la version de lspci. Cette option doit être utilisée seule.
Options d'accès PCI
Les utilitaires PCI utilisent la bibliothèque PCI pour dialoguer avec les
périphériques PCI (voir pcilib(7) pour plus de détails). Vous pouvez
utiliser les options suivantes pour modifier son comportement :
- -A <method>
-
Cette bibliothèque prend en charge des méthodes diverses pour accéder au
matériel PCI. Par défaut, c'est la première méthode d'accès disponible qui
est utilisée, mais vous pouvez utiliser cette option pour surcharger cette
décision. Consulter -A help pour une liste des méthodes disponibles et
leur description.
- -O <param>=<value>
-
Le comportement de la bibliothèque est contrôlé par plusieurs paramètres
nommés. Cette option permet de définir la valeur de chaque
paramètre. Utiliser -O help pour une liste des paramètres et leur valeur
par défaut.
- -H1
-
Utiliser l'accès direct au matériel à l'aide du mécanisme 1 de la
configuration d'Intel (Intel configuration mechanism 1). (Il s'agit d'un
raccourci de -A intel-conf1.)
- -H2
-
Utiliser l'accès direct au matériel à l'aide du mécanisme 2 de la
configuration Intel. (Cela est un raccourci de -A intel-conf2.)
- -F <file>
-
Plutôt que d'accéder vraiment au matériel, lire la liste des périphériques
et les valeurs de leurs registres de configurations à partir du fichier
fourni produit par une exécution précédente de lspci -x. Cela est très
pratique pour l'analyse des rapports de bogues fournis par les utilisateurs,
car vous pouvez afficher la configuration matérielle de la manière que vous
le voulez sans déranger l'utilisateur en lui réclamant plus de vidage.
- -G
-
Accroître le niveau de débogage de la bibliothèque.
SORTIE LISIBLE PAR LES MACHINES
Si vous avez l'intention de traiter automatiquement la sortie de lspci,
veuillez utiliser l'un des formats de sortie lisible par les machines
(-m, -vm, -vmm) décrits dans cette section. Tous les autres formats
sont susceptibles d'être modifiés entre deux versions de lspci.
Tous les nombres sont toujours affichés sous forme hexadécimale. Si vous
voulez traiter les identifiants numériques plutôt que les noms, veuillez
ajouter l'option -n.
Format simple (-m)
Dans le format simple, chaque périphérique est décrit sur une seule ligne,
formatée sous forme de paramètres appropriés à leur passage à un script
d'interpréteur, c'est-à-dire des valeurs séparées par des espaces, entourées
de guillemets et échappées si nécessaire. Certains arguments sont
positionnels : emplacement (slot), classe, nom du fabricant, nom du
périphérique, nom du fabricant du sous-système et nom du sous-système (les
deux derniers arguments sont vides si le périphérique n'a pas de
sous-système) ; les arguments restants sont de type option :
- -rrev
-
Numéro de révision.
- -pprogif
-
Interface de programmation.
L'ordre relatif des arguments positionnels et des options n'est pas
défini. De nouvelles options peuvent être introduites dans de futures
versions, mais elles auront toujours un seul paramètre accolé (sans espace
entre l'option et le paramètre), ainsi ils peuvent être facilement ignorés
s'ils ne sont pas reconnus.
Format détaillé (-vmm)
La sortie détaillée est une séquence d'enregistrements séparés par des
lignes vides. Chaque enregistrement décrit un seul périphérique dans une
séquence de lignes, chaque ligne contenant une seule paire « étiquette :
valeur ». L'étiquette et la valeur sont séparées par un simple
caractère de tabulation. Ni les enregistrements, ni les lignes contenant un
enregistrement ne sont dans un ordre particulier. Les étiquettes sont
sensibles à la casse.
Les étiquettes suivantes sont définies :
- Slot
-
Le nom de l'emplacement où se situe le périphérique
([domaine:]bus:périphérique.fonction). Cette étiquette est
toujours en premier dans un enregistrement.
- Class
-
Nom de la classe.
- Vendor
-
Nom du fabricant.
- Device
-
Nom du périphérique.
- SVendor
-
Nom du fabricant du sous-système (optionnel).
- SDevice
-
Nom du sous-système (optionnel).
- PhySlot
-
L'emplacement physique où se situe le périphérique (optionnel, uniquement
sous Linux).
- Rev
-
Numéro de révision (optionnel).
- ProgIf
-
Interface de programmation (optionnel).
- Driver
-
Le pilote du noyau gérant actuellement le périphérique (optionnel, seulement
sous Linux).
- Module
-
Module du noyau indiquant qu'il est capable de gérer le périphérique
(optionnel, seulement sous Linux). Il peut y avoir plusieurs lignes avec
cette étiquette.
- NUMANode
-
Nœud NUMA auquel est connecté ce périphérique (optionnel, seulement sous
Linux).
- IOMMUGroup
-
Groupe IOMMU auquel appartient ce périphérique (optionnel, Linux seulement).
De nouvelles étiquettes peuvent être ajoutées dans des versions futures,
vous devriez ignorer silencieusement toute étiquette que vous ne
reconnaissez pas.
Format bavard rétro-compatible (-vm)
Dans ce mode, lspci essaie d'être parfaitement compatible avec ses
anciennes versions. Cela est similaire au format détaillé classique, mais
l'étiquette périphérique est utilisée à la fois pour l'emplacement et le
nom de périphérique, donc cela apparaît deux fois dans un enregistrement
unique. Merci d'éviter l'utilisation de ce format dans tout nouveau code.
FICHIERS
- /usr/share/misc/pci.ids
-
Une liste de tous les identifiants PCI connus (fabricants, périphériques,
classes et sous classes). Entretenue sur https://pci-ids.ucw.cz/. Utilisez
l'outil update-pciids pour télécharger la version la plus récente.
- /usr/share/misc/pci.ids.gz
-
Si lspci est compilé avec la prise en charge de la compression, ce
fichier est essayé avant pci.ids.
- $XDG_CACHE_HOME/pci-ids
-
Tous les identifiants trouvés dans le mode requête DNS sont mis en cache
dans ce fichier.
BOGUES
Quelquefois, lspci n'est pas capable de décoder entièrement les registres
de configuration. Cela survient généralement quand il n'y avait pas assez de
documentation disponible pour les auteurs. Dans ces cas, il affiche au moins
le symbole <?> pour signaler qu'il y a potentiellement quelque
chose de plus à dire. Si vous connaissez ces détails, les correctifs sont
bien sûr bienvenus.
L'accès à l'espace de configuration étendue n'est actuellement pris en
charge que par le dorsal linux_sysfs.
VOIR AUSSI
setpci(8), pci.ids(5), update-pciids(8), pcilib(7)
AUTEUR
Les utilitaires PCI sont entretenus par Martin Mares <mj@ucw.cz>.
TRADUCTION
La traduction française de cette page de manuel a été créée par
Alain Portal <aportal@univ-montp2.fr>
et
bubu <bubub@no-log.org>
Cette traduction est une documentation libre ; veuillez vous reporter à la
GNU General Public License version 3
concernant les conditions de copie et
de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel,
veuillez envoyer un message à
Index
- NOM
-
- SYNOPSIS
-
- DESCRIPTION
-
- OPTIONS
-
- Modes d'affichage basiques
-
- Options d'affichage
-
- Options pour contrôler la résolution d'ID en noms
-
- Options de sélection des périphériques
-
- Autres options
-
- Options d'accès PCI
-
- SORTIE LISIBLE PAR LES MACHINES
-
- Format simple (-m)
-
- Format détaillé (-vmm)
-
- Format bavard rétro-compatible (-vm)
-
- FICHIERS
-
- BOGUES
-
- VOIR AUSSI
-
- AUTEUR
-
- TRADUCTION
-
This document was created by
man2html,
using the manual pages.
Time: 05:06:40 GMT, September 19, 2025