Über LSPCI -Befehl unter Linux

Über LSPCI -Befehl unter Linux
lspci Der Befehl ist ein Dienstprogramm für Linux -Systeme, mit denen Informationen über die PCI -Busse und -geräte ermittelt werden, die mit dem PCI -Subsystem verbunden sind. Sie können die Bedeutung des Befehls verstehen, indem Sie das Wort betrachten lspci In zwei Teilen. Der erste Teil LS ist das Standarddienstprogramm, das auf Linux verwendet wird, um Informationen über die Dateien im Dateisystem aufzulisten. PCI ist der zweite Teil des Befehls, sodass Sie den Befehl natürlich sehen können lspci wird Informationen über das PCI -Subsystem auf die gleiche Weise auflisten wie ls Listet Informationen zum Dateisystem auf.

In diesem Artikel erläutern wir die Grundlagen von PCI, PCIE und dem Befehl LSPCI, um Informationen zu Ihrem System anzuzeigen.

Was ist PCI?

PCI- oder Peripheriekomponentenverbindung ist eine Schnittstelle, mit der zusätzliche Hardwarekomponenten zu einem Computersystem hinzugefügt werden können. PCIE oder PCI Express ist der aktualisierte Standard, der heute verwendet wird. Nehmen wir beispielsweise an, Sie möchten Ihrem Computer eine Ethernet -Karte hinzufügen, damit sie auf das Internet zugreifen und Daten austauschen können. Nun, die Karte benötigt ein Protokoll, um mit dem Rest des internen Systems zu kommunizieren. PCI kann die Standardschnittstelle sein, mit der diese Karte zu Ihrem System hinzugefügt wird. Sie benötigen noch einen Treiber für diese Karte, damit der Kernel ihn verwenden kann. Die Erstellung eines PCI -Linux -Treibers folgt einigen Standardschnittstellen. Hier können Sie eine Dokumentation zum Erstellen eines PCI -Linux -Treibers sehen. Sie können aus den Strukturen unterhalb der Standardmethoden sehen, die implementiert werden müssen. Methoden wie Sonde, entfernen, aussetzen, fortsetzen, usw.

struct pci_driver
struct list_head node;
const char *name;
const struct pci_device_id *id_table;
int ( *Sonde) (struct pci_dev *dev, const struct pci_device_id *id);
void ( *entfernen) (struct pci_dev *dev);
int ( *suspend) (struct pci_dev *dev, pm_message_t Status);
int ( *Lebenslauf) (struct pci_dev *dev);
void ( *stilldown) (struct pci_dev *dev);
int ( *sriov_configure) (struct pci_dev *dev, int num_vfs);
const struct pci_error_handlers *err_handler;
const struct attribute_group ** Gruppen;
Struct Device_Driver Treiber;
struct pci_dynids dynids;
;

PCI -Geschwindigkeiten und verwendet

PCI 3.0 kann Daten bis zu 1 GB/s pro Spur ausführen. Verschiedene Geräte können mehr als eine Spur haben, sodass es möglich ist, dass einzelne Geräte mehrere Gigabyte an Datenübertragungsrate haben können. Diese Zahlen verbessern sich ständig, da neue Versionen der Spezifikation herauskommen und neue Hardware herauskommt. Überprüfen Sie also immer die neuesten und schnellsten, die Sie finden können. Die Arten von Komponenten und Geräten, die Sie diesen Stecker an eine PCI -Schnittstelle kaufen können.

Erkundung des Befehls LSPCI

Ich habe einen Ubuntu 19 geschaffen.04 Instanz auf Google Cloud und wird nun die ausführen lspci Befehl und sehen, was passiert.

Was Sie sehen, ist eine Zeile pro Gerät mit einem numerischen Code und einer verbalen Beschreibung des Geräts. In dieser Ausgabe pro Zeile sind tatsächlich 5 Felder angezeigt: Slot, Klasse, Verkäufer, Gerät und Revision.

Also brechen Sie die erste Zeile auf, was wir haben:

SLOT: 00:00.0
Klasse: Wirtbrücke
Verkäufer: Intel Corporation
Gerät: 440fx - 82441fx PMC
Revision: 02

Und schauen Sie sich den Steckplatz 00:04 an.0 Das ist unser Ethernet -Controller, der als Teil der virtuellen Magie der Cloud -Bereitstellung von Google ein virtuelles Gerät zu sein scheint.

Um detaillierter zu werden, führen Sie ausführlicher Informationen zu jedem PCI -Slot aus: Führen Sie den folgenden Befehl aus:

# lspci -vmm

Dieser Befehl unterteilt jede Zeile in seine Komponentenfelder und ermöglicht es Ihnen, jedes Gerät mit beschreibenderen Beschriftungen zu analysieren.

Sie können auch die Option -V für mehr ausführlichere Ausgabe ausprobieren

# lspci -v

Und verwenden Sie Double V oder Tripple V für die verby ausführliche Ausgabe:

# lspci -vvv

Oder probieren Sie die Option -mm -Option für Skript -lesbares Ausgabeformat aus.

# lspci -mm

Um zu sehen, welcher Kernel -Treiber für jede Geräteauslaufoption verwendet wird.

Viele meiner Geräte verwenden den Virtio-PCI-Treiber.

Zuletzt können Sie für jedes PCI. Sie sollten ein echter Kernel -Hacker sein, um herauszufinden, wie diese Informationen verwendet werden können. -x Option gibt Ihnen die Dump -Ausgabe.

# lspci -x

Abschluss

Der Befehl LSPCI ist ein Standard -Linux. Dies kann nützlich sein, um zu wissen, welche Hardware -Peripheriegerungen Sie haben. Es ist auch super nützlich für Entwickler, Gerätefahrer und Low -Level -System -Leute, um Informationen über die Geräte, die Treiber und das System abzufragen. Genießen Sie es, LSPCI zu verwenden.