GNU/Linux >> Tutoriels Linux >  >> Linux

Utilisez lspci sous Linux pour voir votre matériel

Lorsque vous exécutez Linux sur un ordinateur de bureau ou un serveur, vous devez parfois identifier le matériel de ce système. Une commande utilisée pour cela est lspci . Cela fonctionne en montrant tous les périphériques connectés au bus PCI. Il est fourni par le package pciutils et est disponible pour une large gamme de systèmes d'exploitation basés sur Linux et BSD.

Plus de ressources Linux

  • Aide-mémoire des commandes Linux
  • Aide-mémoire des commandes Linux avancées
  • Cours en ligne gratuit :Présentation technique de RHEL
  • Aide-mémoire sur le réseau Linux
  • Aide-mémoire SELinux
  • Aide-mémoire sur les commandes courantes de Linux
  • Que sont les conteneurs Linux ?
  • Nos derniers articles Linux

Utilisation de base

Les informations affichées lorsqu'un utilisateur régulier exécute lspci peut être limité en raison des autorisations d'accès. Exécuter la commande avec sudo fournit une image complète.

Exécution de lspci répertorie à lui seul les bus PCI et leurs périphériques connectés. Voici un exemple de mon PC Media Center. Il s'agit d'un système basé sur un processeur AMD Phenom, il dispose donc d'un chipset AMD. Il dispose également d'une manette sans fil Atheros et d'une carte graphique Nvidia. Tous les périphériques matériels sont répertoriés avec des détails tels que le fournisseur, le nom et le numéro de modèle :

$ sudo lspci
00:00.0 Host bridge: Advanced Micro Devices, Inc. [AMD] RS880 Host Bridge
00:02.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] RS780 PCI to PCI bridge (ext gfx port 0)
00:04.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] RS780/RS880 PCI to PCI bridge (PCIE port 0)
00:05.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] RS780/RS880 PCI to PCI bridge (PCIE port 1)
00:11.0 SATA controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode]
00:12.0 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:12.1 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0 USB OHCI1 Controller
00:12.2 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB EHCI Controller
00:13.0 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:13.1 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0 USB OHCI1 Controller
00:13.2 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB EHCI Controller
00:14.0 SMBus: Advanced Micro Devices, Inc. [AMD/ATI] SBx00 SMBus Controller (rev 3c)
00:14.1 IDE interface: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 IDE Controller
00:14.3 ISA bridge: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 LPC host controller
00:14.4 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] SBx00 PCI to PCI Bridge
00:14.5 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI2 Controller
00:18.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor HyperTransport Configuration
00:18.1 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor Address Map
00:18.2 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor Miscellaneous Control
00:18.4 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor Link Control
01:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GTX 650] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GK107 HDMI Audio Controller (rev a1)
02:00.0 Network controller: Qualcomm Atheros AR9287 Wireless Network Adapter (PCI-Express) (rev 01)

Sortie détaillée

Ajouter un -v L'option augmente la verbosité ou le niveau de détail pour chaque périphérique. Vous pouvez utiliser -vv ou -vvv pour des quantités encore plus élevées de détails sur l'appareil. A ce niveau, lspci affiche divers sous-systèmes et adresses mémoire, numéros de demande d'interruption (IRQ) et autres fonctionnalités pour tous les périphériques. La sortie est extrêmement longue. Essayez-le sur votre système.

Recherche avec grep

Parfois, vous souhaitez affiner votre recherche. Par exemple, le site Web RPM Fusion contient des instructions pour l'installation des pilotes graphiques Nvidia. Ils commencent par identifier votre carte graphique en utilisant le grep commande. Voici ce que j'obtiens sur mon ordinateur portable :

$ sudo lspci | grep -e VGA
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 620 (rev 07)
$ sudo lspci | grep -e 3D
01:00.0 3D controller: NVIDIA Corporation GM108M [GeForce MX130] (rev a2)

Le grep Les commandes ci-dessus affichent un périphérique VGA sur mon PC Media Center, mais aucun périphérique 3D.

$ sudo lspci | grep -e VGA
01:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GTX 650] (rev a1)
$ sudo lspci | grep -e 3D
$

Recherche par ID de fournisseur

Il existe un autre moyen qui ne nécessite pas grep . Supposons que je veuille déterminer si d'autres périphériques Nvidia sont présents. Il faut en savoir un peu plus. J'utilise le -nn possibilité d'afficher les numéros d'identification du fournisseur et de l'appareil. Sur mon PC Media Center, cette option affiche ma carte VGA, l'identifiant du fournisseur et l'identifiant de l'appareil :

$ sudo lspci -nn | grep -e VGA
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK107 [GeForce GTX 650] [10de:0fc6] (rev a1)

L'ensemble de crochets avec les nombres séparés par deux-points après le nom de l'appareil indique le fournisseur et l'ID de l'appareil. La sortie indique que l'ID de fournisseur d'un appareil fabriqué par Nvidia Corporation est 10de .

Le -d L'option affiche tous les appareils d'un fournisseur, d'un appareil ou d'un ID de classe spécifié. Voici tous les périphériques Nvidia de mon système (en gardant le -nn pour inclure les identifiants des fournisseurs) :

$ sudo lspci -nn -d 10de:
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK107 [GeForce GTX 650] [10de:0fc6] (rev a1)
01:00.1 Audio device [0403]: NVIDIA Corporation GK107 HDMI Audio Controller [10de:0e1b] (rev a1)

À partir de la sortie, vous pouvez voir qu'en plus d'une carte graphique, j'ai un périphérique audio Nvidia. Ils font tous les deux partie de la même Nvidia GeForce GTX 650 carte, mais c'est quand même un bon exemple.

Modules du noyau

Avec les périphériques matériels PCI, lspci peut montrer quels modules de pilote du noyau sont chargés avec le -k option. J'ajoute cette option à mon lspci commandes pour afficher plusieurs informations sur mes appareils Nvidia.

$ sudo lspci -nn -k -d 10de:
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK107 [GeForce GTX 650] [10de:0fc6] (rev a1)
 Subsystem: eVga.com. Corp. GK107 [GeForce GTX 650] [3842:2650]
 Kernel driver in use: nvidia
 Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia
01:00.1 Audio device [0403]: NVIDIA Corporation GK107 HDMI Audio Controller [10de:0e1b] (rev a1)
 Subsystem: eVga.com. Corp. GK107 HDMI Audio Controller [3842:2650]
 Kernel driver in use: snd_hda_intel
 Kernel modules: snd_hda_intel

Deux lignes supplémentaires s'affichent :Pilote du noyau en cours d'utilisation et Modules du noyau . Le second répertorie les modules disponibles pour prendre en charge l'appareil.

Se tenir au courant

De nouveaux appareils et fournisseurs arrivent constamment sur le marché. Si vous voyez un appareil répertorié comme inconnu , votre base de données d'ID de périphérique PCI est peut-être obsolète. Il y a deux façons de vérifier. Le -Q L'option utilise le DNS pour interroger la base de données centrale. Cela nécessite bien sûr une connectivité réseau.

$ sudo lspci -Q

Vous pouvez également mettre à jour votre base de données d'ID PCI locale en exécutant la commande update-pciids .

$ sudo update-pciids
Downloaded daily snapshot dated 2021-08-22 03:15:01

En savoir plus sur votre matériel

Bien sûr, lspci n'est qu'une des nombreuses commandes disponibles pour Linux qui sont utiles pour interroger le matériel et les logiciels de votre système. Apprenez-en plus sur le matériel sous Linux dans mon article sur les périphériques USB :Reconnaître plus de périphériques sous Linux avec ce référentiel d'ID USB.


Linux
  1. Utilisez le terminal Linux pour naviguer dans votre ordinateur

  2. Utilisez le terminal Linux pour voir quels fichiers se trouvent sur votre ordinateur

  3. Comment utiliser dd sous Linux sans détruire votre disque

  4. Quel est le processus de mise hors service du matériel de votre serveur Linux ?

  5. Recherche d'informations sur le matériel sous Linux sans lspci

Utilisez un terminal Linux sur votre téléphone Android

Utilisez le bureau Fluxbox Linux comme gestionnaire de fenêtres

Comment utiliser concrètement votre terminal Linux (quatre exemples)

Comment utiliser concrètement votre terminal Linux (partie 2)

Comment utiliser Red Hat Insights pour maintenir vos systèmes Linux

Comment installer et utiliser Docker dans votre système Linux