logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
doc:systeme:lspci [06/11/2015 15:58]
bendia
doc:systeme:lspci [30/11/2020 19:08] (Version actuelle)
èfpé [Syntaxe] correction mineure
Ligne 1: Ligne 1:
-====== ​La commande ​lspci ======+====== lspci ======
  
-  * Objet : La commande lspci+  * Objet : la commande lspci
   * Niveau requis :​{{tag>​débutant avisé}}   * Niveau requis :​{{tag>​débutant avisé}}
-  * Commentaires : //​Pour ​connaître le matériel de votre PC utilisant le protocole ​PCI ou USB//+  * Commentaires : //​Pour ​lister l'​ensemble des périphériques connectés aux bus PCI du système//
   * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-)   * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-)
   * Suivi :    * Suivi : 
-    * Création par [[user>​mattux]] le  17/06/2007+    * Création par [[user>​mattux]] le 17/06/2007
     * Testé par [[user>​milou]] le 31/07/2015     * Testé par [[user>​milou]] le 31/07/2015
-  ​* Commentaires sur le forum : [[http://​debian-facile.org/​viewtopic.php?​pid=116475#​p116475 |C'est ici]]((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) +    * Modification par [[user>​bendia]] le 6/11/2015 
 +  ​* Commentaires sur le forum : [[https://​debian-facile.org/​viewtopic.php?​pid=116475#​p116475|C'​est ici]]((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
  
 +Voir : [[doc:​systeme:​ls|ls]] \\
 +La commande pour les périphériques USB : [[doc:​systeme:​lsusb|lsusb]]
  
 +===== Introduction =====
  
-Voir :​[[:​doc:​systeme:​ls | COMMANDE LS]]+La commande ''​lspci''​ permet de connaître la liste du matériel (cartes, //​chipsets//,​ contrôleurs,​ etc.) de votre PC utilisant l'​interface PCI.
  
-===== Utilisation ​===== +===== Syntaxe ​=====
- +
-La commande lspci permet de connaitre la liste du matériel (cartes, chipsets etc.) de votre PC utilisant le protocole PCI ou USB. +
- +
-==== Syntaxe ​====+
  
 <code user>​lspci</​code>​ <code user>​lspci</​code>​
-Donne sur mon PC +Donne par exemple ​
-<file config retour de la commande>​ +<file config retour de la commande>​00:​00.0 Host bridge: Advanced Micro Devices, Inc. [AMD] RS880 Host Bridge
-    ​00:00.0 Host bridge: Advanced Micro Devices, Inc. [AMD] RS880 Host Bridge+
 00:01.0 PCI bridge: ASUSTeK Computer Inc. AMD RS780/RS880 PCI to PCI bridge (int gfx) 00:01.0 PCI bridge: ASUSTeK Computer Inc. AMD RS780/RS880 PCI to PCI bridge (int gfx)
 00:09.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] RS780/RS880 PCI to PCI bridge (PCIE port 4) 00:09.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] RS780/RS880 PCI to PCI bridge (PCIE port 4)
Ligne 52: Ligne 51:
 04:05.1 Multimedia controller: Conexant Systems, Inc. CX23880/​1/​2/​3 PCI Video and Audio Decoder [Audio Port] (rev 05) 04:05.1 Multimedia controller: Conexant Systems, Inc. CX23880/​1/​2/​3 PCI Video and Audio Decoder [Audio Port] (rev 05)
 04:05.2 Multimedia controller: Conexant Systems, Inc. CX23880/​1/​2/​3 PCI Video and Audio Decoder [MPEG Port] (rev 05) 04:05.2 Multimedia controller: Conexant Systems, Inc. CX23880/​1/​2/​3 PCI Video and Audio Decoder [MPEG Port] (rev 05)
-04:08.0 FireWire (IEEE 1394): VIA Technologies,​ Inc. VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (rev c0) +04:08.0 FireWire (IEEE 1394): VIA Technologies,​ Inc. VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (rev c0)</​file>​
-</​file>​+
  
-Voilà le résultat ​de cette commande. Il peut se décomposer comme suit :+Le retour ​de cette commande peut se décomposer comme suit :
  
-<​code>​Numéro de bus:Numéro de périphérique:Fonction ​(Le //slot//) - Classe(type) ​du périphérique: ​Nom du constructeur, - Modèle du périphérique(Révision du périphérique)</​code>​+<​code>​<Numéro de bus>:<Numéro de périphérique>.<Fonction> <Classe du périphérique><Nom du constructeur> <Modèle du périphérique(<Révision du périphérique>)</​code>​
  
-Magique non :-) Comment le système fait-il pour obtenir automatiquement ces informations ? Et bien chaque composant du bus PCI contient ​en certain nombre d'information ​directement dans sa mémoire qui permet une auto-configuration du système.+Magique non Comment le système fait-il pour obtenir automatiquement ces informations ? Hé bien chaque composant du bus PCI contient ​un certain nombre d'informations ​directement dans sa mémoire, ce qui permet une auto-configuration du système.
  
-D'​ailleurs, on peut voir à quoi ressemble ces informations enregistrées directement dans le périphérique avec+On peut d'​ailleurs voir à quoi ressemblent les informations enregistrées directement dans le périphérique avec :
  
-<code user> lspci -n</​code>​Ce qui donne chez moi +<code user>​lspci -n</​code>​ 
-<​code>​00:​00.0 0600: 1022:9601+<​code ​config retour de la commande>00:00.0 0600: 1022:9601
 00:01.0 0604: 1043:9602 00:01.0 0604: 1043:9602
 00:09.0 0604: 1022:9608 00:09.0 0604: 1022:9608
Ligne 93: Ligne 91:
 04:05.1 0480: 14f1:8801 (rev 05) 04:05.1 0480: 14f1:8801 (rev 05)
 04:05.2 0480: 14f1:8802 (rev 05) 04:05.2 0480: 14f1:8802 (rev 05)
-04:08.0 0c00: 1106:3044 (rev c0) +04:08.0 0c00: 1106:3044 (rev c0)</​code>​
-</​code>​+
  
-Moins lisible ​hein :-/ Cependantc'est ce mode de notation ​qui permet de retrouver avec certitude le modèle ​de son périphérique. On peut également afficher à la fois le nom et le numéro ​+Moins lisible, ​n'est-ce pas ? C'est cependant ​ce mode d'​affichage ​qui permet de retrouver avec certitude le modèle ​d'​un ​périphérique. On peut également afficher à la fois le nom et les identifiants numériques ​
  
 <code user>​lspci -nn</​code>​ <code user>​lspci -nn</​code>​
-<​code>​00:​00.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] RS880 Host Bridge [1022:9601]+<​code ​config retour de la commande>00:00.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] RS880 Host Bridge [1022:9601]
 00:01.0 PCI bridge [0604]: ASUSTeK Computer Inc. AMD RS780/RS880 PCI to PCI bridge (int gfx) [1043:9602] 00:01.0 PCI bridge [0604]: ASUSTeK Computer Inc. AMD RS780/RS880 PCI to PCI bridge (int gfx) [1043:9602]
 00:09.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] RS780/RS880 PCI to PCI bridge (PCIE port 4) [1022:9608] 00:09.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] RS780/RS880 PCI to PCI bridge (PCIE port 4) [1022:9608]
Ligne 128: Ligne 125:
 04:05.1 Multimedia controller [0480]: Conexant Systems, Inc. CX23880/​1/​2/​3 PCI Video and Audio Decoder [Audio Port] [14f1:8801] (rev 05) 04:05.1 Multimedia controller [0480]: Conexant Systems, Inc. CX23880/​1/​2/​3 PCI Video and Audio Decoder [Audio Port] [14f1:8801] (rev 05)
 04:05.2 Multimedia controller [0480]: Conexant Systems, Inc. CX23880/​1/​2/​3 PCI Video and Audio Decoder [MPEG Port] [14f1:8802] (rev 05) 04:05.2 Multimedia controller [0480]: Conexant Systems, Inc. CX23880/​1/​2/​3 PCI Video and Audio Decoder [MPEG Port] [14f1:8802] (rev 05)
-04:08.0 FireWire (IEEE 1394) [0c00]: VIA Technologies,​ Inc. VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller [1106:3044] (rev c0) +04:08.0 FireWire (IEEE 1394) [0c00]: VIA Technologies,​ Inc. VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller [1106:3044] (rev c0)</​code>​
-</​code>​+
  
-==== Options de tri ====+===== Options de tri =====
  
-Bien, c'est bien joli tout ça, mais on se rend compte que c'est un peu long comme retour. ''​lspci'' ​renvoi ​en effet une ligne par périphérique ... lorsqu'​on l'​utilise avec son mode le moins bavard. Voyons voir s'il est possible de filtrer ce résultat.+Bon, c'est bien joli tout ça, mais on se rend compte que c'est un peu longcomme retour. ''​lspci'' ​renvoie ​en effet une ligne par périphérique... lorsqu'​on l'​utilise avec son mode le moins bavard. Voyons voir s'il est possible de filtrer ce résultat.
  
-=== Filtrer par Slot ===+==== Filtrer par slot (dit "​emplacement"​) ====
  
-On peu filtrer le résultat ​avec le //slot//, c'est à dire le code donné dans le premier champ grâce à l'​option ''​-s''​. Exemple+On peut filtrer le résultat ​par //slot//, c'est-à-dire le code donné dans le premier champ grâce à l'​option ''​-s''​. Exemple ​:
  
 <code user>​lspci -s 04:​08.0</​code>​ <code user>​lspci -s 04:​08.0</​code>​
-<​code>​04:​08.0 FireWire (IEEE 1394): VIA Technologies,​ Inc. VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (rev c0)</​code>​+<​code ​config retour de la commande>4:08.0 FireWire (IEEE 1394): VIA Technologies,​ Inc. VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (rev c0)</​code>​
  
-=== Filtrer par nom de périphérique ===+==== Filtrer par nom de périphérique ​====
  
-Il est également possible de filtrer grâce au nom du périphérique avec l'​option ''​-d''​. Pas directement son nom en réalité, mais grâce au code ''​IdVendeur:IdPériphérique''​+Il est également possible de filtrer grâce au nom du périphérique avec l'​option ''​-d''​. Pas directement son nom en réalité, mais grâce au code ''​IdentifiantVendeur:IdentifiantPériphérique''​. Exemple :
 <code user>​lspci -d 1106:​3044</​code>​ <code user>​lspci -d 1106:​3044</​code>​
-<​code>​04:​08.0 FireWire (IEEE 1394): VIA Technologies,​ Inc. VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (rev c0)</​code>​+<​code ​config retour de la commande>04:08.0 FireWire (IEEE 1394): VIA Technologies,​ Inc. VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (rev c0)</​code>​
  
-<note tip>Il n'​existe pas d'​option pour filtrer par classe de périphérique,​ ce qui peut être cependant intéressant. Un petit script permet néanmoins de réaliser ce filtre grâce au code de la classe +==== Filtrer par classe de périphériques ==== 
-<file bash>​class=0480 #On récupère la classe d'un périphérique PCI là http://pci-ids.ucw.cz/read/PD/ + 
-for i in $(lspci -n grep $class | cut -d " " -f3); do lspci -d $i; done</file+Il est également possible de filtrer par classe de périphériques((À partir ​de la version 3.3.0 des //[[https://mj.ucw.cz/sw/pciutils/|PCI Utilities]]//,​ soit en pratique à partir de Debian 9 Stretch.)), toujours avec l'​option ''​-d''​. Exemple : 
-<​code>​04:​05.1 Multimedia controller: Conexant Systems, Inc. CX23880/​1/​2/​3 PCI Video and Audio Decoder [Audio Port] (rev 05) +<code user>lspci -d ::0480</code
-04:05.2 Multimedia controller: Conexant Systems, Inc. CX23880/​1/​2/​3 PCI Video and Audio Decoder [MPEG Port] (rev 05) +<​code ​config retour de la commande>04:05.1 Multimedia controller: Conexant Systems, Inc. CX23880/​1/​2/​3 PCI Video and Audio Decoder [Audio Port] (rev 05) 
-</code></​note>+04:05.2 Multimedia controller: Conexant Systems, Inc. CX23880/​1/​2/​3 PCI Video and Audio Decoder [MPEG Port] (rev 05)</​code>​
  
-Mais pourquoi filtrer ? Parce que la commande peut être nettement plus //bavarde// et renvoyer plusieurs ​ligne par périphérique,​ au point qu'il est difficile de s'y retrouver.+Mais pourquoi filtrer ? Parce que la commande peut être nettement plus **bavarde** et renvoyer plusieurs ​lignes ​par périphérique,​ au point qu'il est difficile de s'y retrouver.
  
-==== Option ​d'​affichage ====+===== Options ​d'​affichage ​=====
  
-Les options ''​-v'',​ ''​-vv''​ et ''​-vvv''​ permettent d'​augmenter la quantité d'​informations ​affichée+Les options ''​-v'',​ ''​-vv''​ et ''​-vvv''​ permettent d'​augmenter la quantité d'​informations ​affichées. Exemple :
  
-<​code ​user>lspci -vd 1106:​3044</​code>​ +<​code ​root>lspci -vd 1106:​3044</​code>​ 
-<​code>​4:​08.0 FireWire (IEEE 1394): VIA Technologies,​ Inc. VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (rev c0) (prog-if 10 [OHCI])+<​code ​config retour de la commande>04:08.0 FireWire (IEEE 1394): VIA Technologies,​ Inc. VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (rev c0) (prog-if 10 [OHCI])
  Subsystem: ASUSTeK Computer Inc. Motherboard  Subsystem: ASUSTeK Computer Inc. Motherboard
  Flags: bus master, medium devsel, latency 64, IRQ 23  Flags: bus master, medium devsel, latency 64, IRQ 23
Ligne 168: Ligne 164:
  I/O ports at ec00 [size=128]  I/O ports at ec00 [size=128]
  Capabilities:​ [50] Power Management version 2  Capabilities:​ [50] Power Management version 2
- Kernel driver in use: firewire_ohci + Kernel driver in use: firewire_ohci</​code>​
-</​code>​+
  
-On voit apparaître ici une information fort intéressante,​ à savoir le driver utilisé ''​Kernel driver in use''​. Il est possible de n'​ajouter que cette information (ou presque) à la sortie habituelle avec l'​option ''​-k''​+On voit apparaître ici une information fort intéressante,​ à savoir le pilote (ze //driver//, en anglois m() utilisé ​''​Kernel driver in use''​. Il est possible de n'​ajouter que cette information (ou presque) à la sortie habituelle avec l'​option ''​-k''​. Exemple :
 <code user>​lspci -kd 1106:​3044</​code>​ <code user>​lspci -kd 1106:​3044</​code>​
-<​code>​04:​08.0 FireWire (IEEE 1394): VIA Technologies,​ Inc. VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (rev c0)+<​code ​config retour de la commande>04:08.0 FireWire (IEEE 1394): VIA Technologies,​ Inc. VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (rev c0)
  Subsystem: ASUSTeK Computer Inc. Motherboard  Subsystem: ASUSTeK Computer Inc. Motherboard
- Kernel driver in use: firewire_ohci + Kernel driver in use: firewire_ohci</​code>​
-</​code>​+
  
 +===== Périphérique "​inconnu"​ =====
  
-===== Mon périphérique ​est inconnu =====+Vous venez d'​acheter la dernière carte graphique méga géniale qui affiche 30 millions de //shadow// et en plus elle fait le café, mais voilà, ''​lspci''​ vous retourne un déprimant ''​Device''​... Votre carte est inconnue au bataillon.
  
-Vous venez d'​acheter la dernière carte graphique méga géniale qui affiche 30 millions de //shadow// et en plus elle fait le café, mais voilà, ''​lspci''​ vous retourne un déprimant ''​Unknown''​ ... Votre carte est inconnue au bataillon. +Souvenez-vous, nous avons dit tout au début que les informations ​permettant d'​identifier le matériel se trouvent ​directement dans la carte sous forme de code cabalistique (hexadécimal, ​en réalité ;-)). Pour afficher des informations lisibles par le débianeux ​moyen, ''​lspci''​ fait correspondre les codes hexadécimaux ​aux données ​présentes ​dans le fichier ''/​usr/​share/​misc/​pci.ids''​. ​On peut mettre à jour ce fichier avec la commande ​:
- +
-Souvenez vous, nous avons dit tout au début que les information ​permettant d'​identifier le matériel se trouve ​directement dans la carte sous forme de code cabalistique (hexadécimale ​en réalité ;) ). Pour afficher des informations lisibles par le membre DF moyen, ''​lspci''​ fait correspondre les codes hexadécimaux ​au données ​présents ​dans le fichier ''/​usr/​share/​hwdata/​pci.ids''​. ​Or, on peut mettre à jour ce fichier avec la commande+
 <code root>​update-pciids</​code>​ <code root>​update-pciids</​code>​
-<​code>​Downloaded daily snapshot dated 2015-11-05 03:​15:​01</​code>​+<​code ​config retour de la commande>​Downloaded daily snapshot dated 2018-12-18 03:15:01</​code>​ 
 + 
 +Et puisque le débianeux moyen est vachement curieux (ou curieuse, il paraît que le neutre se conjugue au masculin ^_^) : 
 + 
 +<code user>ls -lh /​usr/​share/​misc/​pci.ids*</​code>​ 
 +<code config retour de la commande>​-rw-r--r-- 1 root root 1,1M déc.  18 03:15 /​usr/​share/​misc/​pci.ids 
 +-rw-r--r-- 1 root root 1,1M nov.  30  2016 /​usr/​share/​misc/​pci.ids.old</​code>​
  
 ===== Pense-bête ===== ===== Pense-bête =====
Ligne 194: Ligne 193:
 ===== Liens utiles ===== ===== Liens utiles =====
  
-  * La liste des codes PCI : http://​pci-ids.ucw.cz/​ +  * Manuel de l'​administrateur Linux (2008) : https://​delafond.org/​traducmanfr/​man/​man8/​lspci.8.html 
-  * //Decoding PCI data and lspci output on Linux hosts// ​(en anglais, vous l'​aurez deviné ;-) ) http://www.prefetch.net/​articles/​linuxpci.html +  * (en) //The PCI ID Repository//​ (dépôt de référence pour les identifiants PCI) https://​pci-ids.ucw.cz/​ 
-    +  * (en) //Decoding PCI data and lspci output on Linux hosts// : https://​prefetch.net/​articles/​linuxpci.html
- +
- +
- +
- +
  
doc/systeme/lspci.1446821933.txt.gz · Dernière modification: 06/11/2015 15:58 (modification externe)

Pied de page des forums

Propulsé par FluxBB