lspci(8) – Page de manuel Linux

Nom

lspci – liste tous les périphériques PCI

Synopsis

lspci

Description

lspci est un utilitaire pour afficher des informations sur les bus PCI dans le système et appareils qui y sont connectés.

Par défaut, il affiche une brève liste de périphériques. Utilisez les options décrites ci-dessous pour demander une sortie plus détaillée ou une sortie destinée à l’analyse par d’autres programmes.

Si vous allez signaler des bogues dans les pilotes de périphériques PCI ou dans lspci lui-même, veuillez inclure la sortie de « lspci-vvx » ou encore mieux « lspci-vvxxx » (cependant, voir ci-dessous pour les éventuelles mises en garde).

Certaines parties de la sortie, en particulier dans les modes très verbeux, ne sont probablement intelligibles que pour les pirates PCI expérimentés. Pour les définitions exactes des champs, veuillez consulter les spécifications PCI ou l’en-tête.h et /usr/include/linux/pci.h inclure des fichiers.

L’accès à certaines parties de l’espace de configuration PCI est limité à la racine sur de nombreux systèmes d’exploitation, de sorte que les fonctionnalités de lspci disponibles pour les utilisateurs normaux sont limitées. Cependant, lspci fait de son mieux pour afficher autant que possible et marquer toutes les autres informations avec un texte < accès refusé >.

Options

Modes d’affichage de base

-m

Videz les données du périphérique PCI sous une forme lisible par machine rétrocompatible. Voir ci-dessous pour plus de détails.

– mm

Videz les données du périphérique PCI sous une forme lisible par machine pour une analyse facile par les scripts. Voir ci-dessous pour plus de détails.

– t

Affiche un diagramme arborescent contenant tous les bus, ponts, périphériques et connexions entre eux.

Options d’affichage

-v

Soyez verbeux et affichez des informations détaillées sur tous les appareils.

– vv

Soyez très verbeux et affichez plus de détails. Ce niveau comprend tout ce qui est jugé utile.

– vvv

Soyez encore plus verbeux et affichez tout ce que nous sommes capables d’analyser, même si cela ne semble pas du tout intéressant (par exemple, des régions de mémoire non définies).

-k

Affiche les pilotes du noyau gérant chaque périphérique ainsi que les modules du noyau capables de le gérer. Activé par défaut lorsque -v est donné en mode normal de sortie. (Fonctionne actuellement uniquement sur Linux avec le noyau 2.6 ou plus récent.)

– x

Affiche le vidage hexadécimal de la partie standard de l’espace de configuration (les 64 premiers octets ou 128 octets pour les ponts CardBus).

– xxx

Affiche le vidage hexadécimal de tout l’espace de configuration PCI. Il n’est disponible que pour rooter car plusieurs périphériques PCI se bloquent lorsque vous essayez de lire certaines parties de l’espace de configuration (ce comportement ne viole probablement pas la norme PCI, mais c’est au moins très stupide). Cependant, de tels appareils sont rares, vous n’avez donc pas besoinde s’inquiéter beaucoup.

– xxxx

Affiche le vidage hexadécimal de l’espace de configuration PCI étendu (4096 octets) disponible sur les bus PCI-X 2.0 et PCI Express.

– b

Vue centrée sur le bus. Afficher tous les numéros et adresses IRQ tels que vus par les cartes sur le bus PCI au lieu de tels que vus par le noyau.

– D

Affiche toujours 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

Affichent les codes de fournisseur et de périphérique PCI sous forme de numéros au lieu de les rechercher dans la liste des identifiants PCI.

– nn

Affiche les codes de fournisseur et de périphérique PCI sous forme de numéros et de noms.

– q

Utilisez DNS pour interroger la base de données PCI ID centrale si un périphérique n’est pas trouvé dans le PCI local.fichier ids. Si la requête DNS réussit, le résultat est mis en cache dans ~/.pciids-cache et il est reconnu dans les exécutions suivantes même si -q n’est plus donné. Veuillez utiliser ce commutateur dans les scripts automatisés uniquement avec prudence pour éviter de surcharger les serveurs de base de données.

-qq

Identique à -q, mais le cache local est réinitialisé.

– Q

Interroge la base de données centrale même pour les entrées reconnues localement. Utilisez cette option si vous soupçonnez que l’entrée affichée est incorrecte.

Options de sélection des périphériques

-s:] < bus >]:]] Afficher uniquement les périphériques dans le domaine spécifié (dans le cas où votre machine a plusieurs ponts hôtes, ils peuvent partager un espace de numéro de bus commun ou chacun d’eux peut adresser un domaine PCI qui lui est propre ; les domaines sont numérotés de 0 à ffff), bus (0 à ff), slot (0 à 1f) et function (0 à 7). Chaque composant de deviceaddress peut être omis ou défini sur « * », les deux signifiant « n’importe quelle valeur ». Tous les nombres sont hexadécimaux. Par exemple, « 0: » désigne tous les périphériques du bus 0, « 0 » désigne toutes les fonctions du périphérique 0 sur n’importe quel 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 appareil. – d: Afficher uniquement les appareils avec l’ID du fournisseur et de l’appareil spécifiés. Les deux ID sont donnés en hexadécimal et peuvent être omis ou donnés en tant que « * », les deux signifiant « anyvalue ».

Autres options

– i < fichier > Utilisez < fichier > comme liste d’ID PCI au lieu de /usr/share/hwdata/pci.ID. -p < fichier > Utilisez < fichier > comme carte des ID PCI gérés par les modules du noyau. Par défaut, lspci utilise /lib/modules/kernel_version/modules.pcimap. S’applique uniquement aux systèmes Linux avec des outils de module assez récents. – M

Mode de mappage de bus d’appel qui effectue une analyse approfondie de tous les périphériques PCI, y compris ceux derrière des ponts mal configurés, etc. Cette option donne des résultats significatifs uniquement avec un mode d’accès direct au matériel, qui nécessite généralement des privilèges root. Veuillez noter que le mappeur de bus analyse uniquement le domaine PCI 0.

versionla version Affiche la version lspci. Cette option doit être utilisée de manière autonome.

Options d’accès PCI

Les utilitaires PCI utilisent la bibliothèque PCI pour communiquer avec les périphériques PCI (voir pcilib(7) pour plus de détails). Vous pouvez utiliser les options suivantes pour influencer son comportement:- Une méthode < > La bibliothèque prend en charge une variété de méthodes pour accéder au matériel PCI. Par défaut, il utilise la première méthode d’accès disponible, mais vous pouvez utiliser cette option pour contourner cette décision. Voir – Une aide 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 l’un des paramètres. Utilisez -O forum d’aideune liste des paramètres connus et leurs valeurs par défaut. – H1

Utilisez un accès matériel direct via le mécanisme de configuration Intel 1. (Ceci est un raccourci pour – Un intel-conf1.)

– H2

Utilisez un accès matériel direct via le mécanisme de configuration Intel 2. (Ceci est un raccourci pour – Un intel-conf2.)

– F < file > Au lieu d’accéder au matériel réel, lisez la liste des périphériques et les valeurs de leurs registres de configuration à partir du fichier donné produit par une exécution antérieure de lspci-x. Ceci est très utile pour l’analyse des rapports de bogues fournis par l’utilisateur, car vous pouvez afficher la configuration matérielle de la manière que vous voulez sans déranger l’utilisateur avec des demandes de plus de vidages. – G

Augmente le niveau de débogage de la bibliothèque.

Sortie lisible par machine

Si vous avez l’intention de traiter automatiquement la sortie de lspci, veuillez utiliser l’un des formats de sortie lisibles par machine (-m, -vm, -vmm) décrits dans cette section. Tous les autres formats sont susceptibles de changer entre les versions de lspci.

Tous les nombres sont toujours imprimés en hexadécimal. Si vous souhaitez traiter des identifiants numériques au lieu de noms, ajoutez le commutateur -n.

Format simple (-m)

Dans le format simple, chaque périphérique est décrit sur une seule ligne, qui est formatée comme des paramètres appropriés pour passer à un script shell, c’est-à-dire, valeurs séparées par des espaces, cotées et échappées si nécessaire. Certains des arguments sont positionnels : emplacement, classe, nom du fournisseur, nom du périphérique, nom du fournisseur du sous-système et nom du sous-système (les deux derniers 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.

– interface de programmation pprogif. L’ordre relatif des arguments positionnels et des options n’est pas défini. De nouvelles options peuvent être ajoutées dans les futures versions, mais elles auront toujours un seul argument non séparé de l’option par des espaces, de sorte qu’elles peuvent être facilement ignorées si elles ne sont pas reconnues.

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 par une séquence de lignes, chaque ligne contenant une paire unique ‘tag:value’. La balise et la valeur sont séparées par un seul caractère de tabulation. Ni les enregistrements ni les lignes dans arecord ne sont dans un ordre particulier. Les balises sont sensibles à la casse.

Les balises suivantes sont définies :

Emplacement

Le nom de l’emplacement où réside le périphérique (bus: périphérique.fonction). Cette balise est toujours la première d’un enregistrement.

Classe

Nom de la classe.

Fournisseur

Nom du fournisseur.

Périphérique

Nom du périphérique.

Nom SVendor du fournisseur du sous-système (facultatif). SDevice Nom du sous-système (facultatif). PhySlot L’emplacement physique où réside le périphérique (facultatif, Linux uniquement). Rev

Numéro de révision (facultatif).

Interface de programmation ProgIf

(en option).

Pilote

Pilote du noyau gérant actuellement le périphérique (facultatif, Linux uniquement).

Module

Module noyau signalant qu’il est capable de gérer le périphérique (facultatif, Linux uniquement).

De nouvelles balises peuvent être ajoutées dans les futures versions, vous devez donc ignorer silencieusement toutes les balises que vous ne reconnaissez pas.

Format verbeux rétrocompatible (-vm)

Dans ce mode, lspci essaie d’être parfaitement compatible avec ses anciennes versions. C’est presque la même chose que le format verbeux régulier, mais la balise de périphérique estutilisée à la fois pour l’emplacement et le nom de l’appareil, elle se produit donc deux fois dans un seul enregistrement. Veuillez éviter d’utiliser ce format dans tout nouveau code.

Fichiers

/usr/partager/hwdata/pci.ids

Une liste de tous les ID PCI connus (fournisseurs, périphériques, classes et sous-classes). Maintenu à http://pciids.sourceforge.net/, utilisez l’utilitaire update-pciidpour télécharger la version la plus récente. /usr/partager / hwdata/pci.ID.gz Si lspci est compilé avec le support de la compression, ce fichier est essayé avant pci.ID. ~/.pciids-cache Tous les identifiants trouvés dans le mode de requête DNS sont mis en cache dans ce fichier.

Bugs

Parfois, lspci n’est pas capable de décoder complètement les registres de configuration. Cela se produit généralement lorsque les auteurs ne disposent pas d’une documentation suffisante. Dans de tels cas, il imprime au moins le <?> marque pour signaler qu’il y a potentiellement quelque chose de plus à dire. Si vous connaissez les détails, les correctifs seront bien sûr les bienvenus.

L’accès à l’espace de configuration étendu est actuellement pris en charge uniquement par le back-end linux_sysfs.

Voir aussi

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

Auteur

Les utilitaires PCI sont maintenus par Martin Mares <[email protected] >.



+