À propos de la commande LSPCI sur Linux

À propos de la commande LSPCI sur Linux
lspci La commande est un utilitaire sur les systèmes Linux utilisés pour trouver des informations sur les bus et appareils PCI connectés au sous-système PCI. Vous pouvez comprendre la signification de la commande en considérant le mot lspci en deux parties. La première partie LS, est l'utilité standard utilisée sur Linux pour répertorier des informations sur les fichiers du système de fichiers. PCI est la deuxième partie de la commande, vous pouvez donc voir naturellement la commande lspci énumérera les informations sur le sous-système PCI de la même manière que LS indiquera des informations sur le système de fichiers.

Dans cet article, nous expliquerons les bases de PCI, PCIe et la commande LSPCI pour afficher des informations sur votre système.

Qu'est-ce que PCI?

L'interconnexion PCI, ou composant périphérique, est une interface pour ajouter des composants matériels supplémentaires à un système informatique. PCIe ou PCI Express est la norme mise à jour qui est utilisée aujourd'hui. Par exemple, disons que vous souhaitez ajouter une carte Ethernet à votre ordinateur afin qu'il puisse accéder à Internet et échanger des données. Eh bien, la carte a besoin d'un protocole pour communiquer avec le reste du système interne, PCI peut être l'interface standard utilisée pour ajouter cette carte à votre système. Vous avez toujours besoin d'un pilote pour cette carte pour que le noyau puisse l'utiliser, mais PCI est la machine à sous, le bus et l'interface qui seront utilisés pour ajouter le matériel dans le système avec une interface standard. La création d'un pilote PCI Linux suivra certaines interfaces standard que vous pouvez voir la documentation pour créer un pilote PCI Linux ici. Vous pouvez voir sur la structure ci-dessous les méthodes standard qui doivent être implémentées. Des méthodes telles que sonde, retirer, suspendre, CV, etc.

struct pci_driver
nœud struct list_head;
const char * nom;
const struct pci_device_id * id_table;
int (* sonde) (struct pci_dev * dev, const struct pci_device_id * id);
void (* supprimer) (struct pci_dev * dev);
int (* suspendre) (struct pci_dev * dev, pM_Message_t State);
int (* repseme) (struct pci_dev * dev);
void (* shutdown) (struct pci_dev * dev);
int (* sriov_configure) (struct pci_dev * dev, int num_vfs);
const struct pci_error_handlers * err_handler;
CONS STRUCT ATTRIBE_GROUP ** GROUPES;
Struct Device_Driver Driver;
struct pci_dynids dynids;
;

PCI vites les vitesses et les utilisations

PCI 3.0 peut exécuter des données jusqu'à 1 Go / sec par voie. Différents appareils peuvent avoir plus d'une voie, il est donc possible que les appareils individuels puissent avoir des multi-gigaoctets de taux de transfert de données. Ces chiffres s'améliorent toujours à mesure que les nouvelles versions de la spécification sortent et que le nouveau matériel sort, alors vérifiez toujours le dernier et le plus rapide que vous pouvez trouver. Les types de composants et de gadgets que vous pouvez acheter qui branchent une interface PCI comprennent: les adaptateurs WiFi, les cartes de stockage Bluetooth, NVME, les cartes graphiques et plus encore.

Exploration de la commande LSPCI

J'ai créé un Ubuntu 19.04 instance sur Google Cloud et exécutera désormais le lspci commander et voir ce qui se passe.

Ce que vous voyez est une ligne par appareil avec un code numérique et une description verbale de l'appareil. Il y a en fait 5 champs affichés dans cette sortie par ligne: fente, classe, fournisseur, appareil et révision.

Alors décomposant la première ligne ce que nous avons:

FENTE: 00:00.0
Classe: Pont hôte
Fournisseur: Société intel
Appareil: 440fx - 82441fx pmc
Révision: 02

Et regarder la fente 00:04.0 C'est notre contrôleur Ethernet, qui semble être un appareil virtuel dans le cadre de la magie virtuelle du déploiement cloud de Google.

Pour obtenir des informations plus détaillées et verbeuses sur chaque emplacement PCI, exécutez la commande suivante:

# lspci -vmm

Cette commande décomposera chaque ligne dans ses champs de composants et vous permettra d'analyser chaque appareil avec des étiquettes plus descriptives.

Vous pouvez également essayer l'option -v pour plus de sortie verbeux

# lspci -v

Et utilisez Double V ou Tripple V pour la sortie verbale Verby:

# lspci -vvv

Ou essayez l'option -mm pour le format de sortie lisible le script.

# lspci -mm

Afin de voir quel pilote de noyau est utilisé pour chaque dispositif Run -K Option.

Beaucoup de mes appareils utilisent le pilote Virtio-PCI.

Enfin, vous pouvez même voir un vidage hexadécimal de «la partie standard de l'espace de configuration» pour chaque périphérique PCI. Vous devriez être un vrai pirate de noyau pour comprendre comment utiliser ces informations. -x L'option est ce qui vous donne la sortie de vidage.

# lspci -x

Conclusion

La commande LSPCI est une commande Linux standard qui peut être utilisée pour répertorier des informations sur les périphériques connectés PCI sur votre système. Cela peut être utile pour savoir quels périphériques matériels vous avez. C'est également super utile pour les développeurs, les créateurs de pilotes d'appareils, les gens du système de bas niveau pour interroger des informations sur les appareils, les pilotes et le système. Profitez d'utiliser LSPCI.