LSPCI(8)

NOM
lspci - Lister tous les périphériques

SYNOPSIS
lspci [options]

DESCRIPTION
lspci est un utilitaire permettant d'afficher des informations sur les bus PCI du système ainsi que sur les périphériques qui y sont connectés. Par défaut, une briève liste des périphériques est affichée. Utilisez les options décrites plus loin pour obtenir soit une sortie plus volubile, soit une sortie conçue pour être analyser par d'autres programmes. Si vous avez l'intention de signaler des bogues dans les pilotes de périphériques PCI ou sur lspci lui-même, merci de bien vouloir inclure la sortie de la commande lspci -vvx ou même mieux lspci -vvxxx (toutefois, voir les remarques plus loin). Certaines parties de la sortie, particulièrement dans les modes hautement volubiles, ne sont probalement intelligibles que pour des hackers PCI expérimentés. Pour la définition exacte des champs, veuillez consulter soit les spécifications PCI, soit les fichiers d'inclusion header.h et /usr/include/linux/pci.h. L'accès à certaines parties de la configuration PCI est réservé au superutilisateur sur la plupart des systèmes. Aussi, les fonctionnalités de lspci disponibles aux utilisateurs normaux sont limitées. Toutefois, lspci fait de son mieux pour afficher le maximum d'informations disponibles marquant les autres avec le texte <access denied> (accès refusé).

OPTIONS

  Modes d'affichage de base

-m  Vider les données du périphérique PCI au format rétro-compatible lisible par un mécanisme. Voir les détails plus loin.

-mm Vider les données du périphérique PCI au format lisible par un mécanisme pour une analyse facile dans des scripts. Voir les détails plus loin.

-t  Afficher un diagramme sous forme d'arbre contenant tous les bus, ponts, périphériques et connexions entre eux.

  Options d'affichage

-v  Mode volubile. Afficher des informations détaillées sur tous les périphériques.

-vv Mode très volubile. Afficher plus de détails. Ce niveau inclut tout ce qui est considéré comme utile.

-vvv
    Mode encore plus volubile. Afficher tout ce que l'on puisse analyser, même si cela ne semble pas intéressant pour tout le monde (par exemple, les régions de mémoire non définies).

-k  Afficher les pilotes du noyau gérant chaque périphérique et également les modules du noyau capables de le gérer. Activée par défaut lorsque l'option -v est fournie dans le mode normal de sortie. (Actuellement, ne fonctionne que sur les noyaux Linux 2.6 et suivants.)

-x  Afficher un vidage hexadécimal de la partie standard de l'espace de configuration (les 64 ou 128 premiers octets des ponts CardBus).

-xxx
    Afficher un vidage hexadécimal de l'espace complet de configuration PCI. Cette option n'est disponible qu'au superutilisateur car plusieurs périphériques plantent lorsqu'on essaye de lire certaines parties de leur espace de configuration (ce comportement ne viole probablement pas la norme PCI, mais c'est pour le moins très stupide). Toutefois, de tels périphériques sont rares, ne vous en inquiétez donc pas plus que ça.

-xxxx
    Afficher un vidage hexadécimal de l'espace étendu (4096 octets) de configuration PCI disponible sur les bus PCI-X 2.0 et PCI Express.

-b  Vue focalisée sur les bus. Afficher tous les numéros d'interruption (IRQ) et les adresses telles qu'elles sont vues par les cartes du bus PCI plutôt que comme le noyau les voit.

-D  Toujours afficher les numéros de domaine PCI. Par défaut, lspci les supprime sur les machines qui n'ont que le domaine 0.

  Options pour contrôler la résolution des identifiants en noms

-n  Afficher les codes périphériques et vendeurs PCI sous forme de nombre plutôt que d'aller les chercher dans la liste des identifiants PCI.

-nn Afficher les codes périphériques et vendeurs PCI sous forme de nombre 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 ~/.pciids-cache et sera reconnu dans les appels ultérieurs, même si l'option -q n'est pas fournie. Merci de bien vouloir utiliser cette option dans des scripts automatisés avec parcimonie afin d'éviter la surchage des serveurs de base 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 fausse.

  Options de sélection des périphériques

-s [[[[<domain>]:]<bus>]:][<slot>][.[<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), du bus indiqué (0 à ff), de l'emplacement indiqué (0 à 1f) et de la fonction indiquée (0 à 7). Chaque élément de l'adresse du périphérique peut être omis ou défini à « * », les deux signifiant « toute valeur ». Par exemple, « 0: » signifie tous les périphériques du 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>]
    Sélectionner les périphériques dont les identifiants de vendeur et de périphérique sont fournis. Les deux identifiants doivent être indiqués sous forme hexadécimale et peuvent être omis ou définis à « * », les deux signifiant « toute valeur ».

  Autres options

-i <file>
    Utiliser le fichier <file> comme liste des identifiants PCI plutôt que le fichier /usr/share/hwdata/pci.ids. (Ndt : l'emplacement peut varier suivant les distributions).

-p <file>
    Utiliser le fichier <file> pour la correspondance des identifiants PCI gérés par les modules du noyau. Par défaut, lspci utilise /lib/modules/kernel_version/modules.pcimap. Cela ne s'applique qu'aux systèmes Linux ayant de récents outils de modules.

-M  Invoquer le mode de correspondance de bus qui effectue un balayage exhaustif de tous les périphériques PCI, y compris ceux se trouvent derrière des ponts mal configurés, etc. Cette option n'est disponible qu'au superutilisateur et ne donnent des résultats significatifs que si elle est utilisée avec le mode d'accès matériel direct (autrement, les résultats sont identiques aux modes normaux d'affichage, modulo les bogues de lspci). Veuillez noter que le mappeur de bus ne prend pas en charge les domaines PCI et balaie seulement le domaine 0.

--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 influer sur son comportement :

-A <method>
    La bibliothèque prend en charge plusieurs méthodes d'accès au matériel PCI. Par défaut, elle utilise la première méthode d'accès disponible, mais vous pouvez utilisez cette option pour outrepasser cette décision. Voir -A help pour une liste des méthodes disponibles et leurs descriptions.

-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 n'importe lequel des paramètres. Utilisez -O help pour une liste des paramètres connus et leurs valeurs par défaut.

-H1 Utiliser l'accès matériel direct via le mécanisme 1 de configuration Intel (c'est un raccourci pour -A intel-conf1).

-H2 Utiliser l'accès matériel direct via le mécanisme 2 de configuration Intel (c'est un raccourci pour -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 quelle façon que vous le voulez sans embêter l'utilisateur en lui réclamant plus de vidage.

-G  Accroître le niveau de débogage de la bibliothèque.

SORTIE LISIBLE PAR DES MÉCANISMES
Si vous avez l'intention de traiter automatiquement la sortie de lspci, veuillez utiliser l'un des formats de sortie lisible par un mécanisme (-m, -vm, -vmm) décrits dans cette section. Tous les autres formats sont succeptibles 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 à leurs passages à un script shell, c'est-à-dire des valeurs séparées par espaces, entourées de guillemets et protégées si nécessaire. Certains arguments sont positionnels : emplacement (slot), classe, nom du vendeur, nom du périphérique, nom du vendeur du sous-système et nom du sous-sytè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 accollé (sans espace entre l'option et le paramètre), aussi, elles pourront être facilement ignorées si elles ne sont pas reconnues.

  Format volubile (-vmm)
La sortie volubile est une séquence d'enregistrements séparés par des lignes blanches. 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 unique caractère de tabulation. Ni les enregistrements, ni les lignes dans un enregistrement ne sont dans un ordre particulier. Les étiquettes sont sensibles à la casse.

Sont définies les étiquettes suivantes :

Slot
    Le nom de l'emplacement où se trouve le périphérique ([domain:]bus:device.function). Cette étiquette est toujours la première dans un enregistrement.

Class
    Nom de la classe.

Vendor
    Nom du vendeur.

Device
    Nom du périphérique.

SVendor
    Nom du vendeur du sous-système (optionnel).

SDevice
    Nom du sous-système (optionnel).

Rev Numéro de révision (optionnel).

ProgIf
    Interface de programmation (optionnel).

Driver
    Pilote du noyau gérant actuellement le périphérique (optionnel, Linux seulement).

Module
    Module du noyau signalant qu'il est capable de gérer le périphérique (optionnel, Linux seulement).

De nouvelles étiquettes pourront être introduites dans de futures versions. Aussi, vous devriez ignorer silencieusement les étiquettes non reconnues.

  Format volubile rétro-compatible (-vm)
Dans ce mode, lspci tente d'être parfaitement compatible avec ses anciennes versions. Il est presque identique au format volubile normal, mais l'étiquette Device est utilisée à la fois pour l'emplacement et pour le nom du périphérique, aussi, elle apparaît deux fois dans un même enregistrement. Veuillez éviter ce format dans tout nouveau code.

FICHIERS

/usr/share/hwdata/pci.ids
    Une liste de tous les identifiants PCI connus (vendeurs, périphériques, classes et sous-classes). Maintenu à http://pciids.sourceforge.net/, utilisez l'utilitaire update-pciids(1) pour télécharger la version la plus récente. (Ndt : l'emplacement peut varier suivant les distributions).

/usr/share/hwdata/pci.ids.gz
    Si lspci a été compilé avec la prise en charge de la compression, on essayera d'utiliser d'abord ce fichier avant pci.ids. (Ndt : l'emplacement peut varier suivant les distributions).

~/.pciids-cache
    Tous les identifiants trouvés avec le mode de requête DNS sont mis en chache dans ce fichier.

BOGUES
Quelques fois, lspci n'est pas capable de décoder complètement les registres de configuration. Cela arrive généralement lorsque l'on n'a pas pu obtenir suffisamment d'informations de la part des auteurs. Dans de tels cas, il affiche au moins le symbole <?> pour indiquer qu'il y aurait moyen de dire plus à cet endroit. Si vous connaissez ces détails, les correctifs sont évidemment les bienvenus. L'accès à l'espace de configuration étendu n'est actuellement pris en charge que par le dorsal linux_sysfs.

VOIR AUSSI
setpci(8), update-pciids(8), pcilib(7)

AUTEUR
Les utilitaires PCI sont maintenus par Martin Mares <mj@ucw.cz>.

TRADUCTION

Ce document est une traduction réalisée par Alain Portal <aportal AT univ-montp2 DOT fr> le 6 juin 2008.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 8 lspci ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.