Lspci: Unterschied zwischen den Versionen
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
Zeile 150: | Zeile 150: | ||
{{Special:PrefixIndex/{{BASEPAGENAME}}/}} | {{Special:PrefixIndex/{{BASEPAGENAME}}/}} | ||
---- | ---- | ||
* setpci(8) | * [[setpci]](8) | ||
* pci.ids(5) | * [[pci.ids]](5) | ||
* update-pciids(8) | * [[update-pciids]](8) | ||
* pcilib(7) | * [[pcilib]](7) | ||
=== Dokumentation === | === Dokumentation === | ||
Zeile 159: | Zeile 159: | ||
# [https://manpages.debian.org/stable/pciutils/lspci.8.en.html lspci(8)] | # [https://manpages.debian.org/stable/pciutils/lspci.8.en.html lspci(8)] | ||
=== Links === | === Links === | ||
==== Weblinks ==== | ==== Weblinks ==== | ||
Aktuelle Version vom 11. September 2025, 10:49 Uhr
lspci - PCI-Geräte auflisten
Beschreibung
lspci ist ein Dienstprogramm zur Anzeige von Informationen über PCI Busse im System und die daran angeschlossenen Geräte.
Standardmäßig zeigt es eine kurze Liste der Geräte an. Verwenden Sie die unten beschriebenen Optionen , um entweder eine ausführlichere Ausgabe oder eine Ausgabe, die für die Analyse durch andere Programme bestimmt ist, anzufordern .
Wenn Sie Fehler in PCI-Gerätetreibern oder in lspci selbst melden wollen, fügen Sie bitte die Ausgabe von "lspci -vvx" oder noch besser "lspci -vvxxx" bei (siehe jedoch unten für mögliche Vorbehalte).
Einige Teile der Ausgabe, insbesondere in den sehr ausführlichen Modi, sind wahrscheinlich nur für erfahrene PCI-Hacker verständlich. Für genaue Definitionen der Felder, konsultieren Sie bitte entweder die PCI-Spezifikationen oder die header.h und /usr/include/linux/pci.h Include-Dateien.
Der Zugriff auf einige Teile des PCI-Konfigurationsbereichs ist auf vielen Betriebssystemen auf root beschränkt, so dass die Funktionen von lspci, die für normale Benutzer zur Verfügung stehen, eingeschränkt sind. Dennoch versucht lspci sein Bestes, um so weit wie möglich anzuzeigen und alle anderen Informationen mit Text zu markieren.
Installation
Aufruf
lspci [Optionen]
Optionen
Unix | GNU | Parameter | Beschreibung |
---|---|---|---|
Grundlegende Anzeigemodi
- -m
- Dump der PCI-Gerätedaten in einer abwärtskompatiblen, maschinenlesbaren Form.
- -mm
- Dump von PCI-Gerätedaten in einer maschinenlesbaren Form für einfaches Parsen durch Skripte. Siehe unten für Details.
- -t
- Zeigen Sie ein baumartiges Diagramm mit allen Bussen, Brücken, Geräten und Verbindungen zwischen ihnen.
Anzeige
- -v
- Ausführlich sein und detaillierte Informationen über alle Geräte anzeigen.
- -vv
- Sehr ausführlich sein und mehr Details anzeigen. Diese Stufe enthält alles, was für nützlich hält.
- -vvv
- Seien Sie noch ausführlicher und zeigen Sie alles an, was wir auswerten können, auch wenn es überhaupt nicht interessant aussieht (z. B. undefinierte Speicherbereiche).
- -k
- Zeigt die Kernel-Treiber an, die jedes Gerät handhaben, und auch die Kernel-Module, die in der Lage sind, es zu handhaben. Standardmäßig eingeschaltet, wenn -v im normalen Ausgabemodus angegeben wird. (Funktioniert derzeit nur unter Linux mit Kernel 2.6 oder oder neuer).
- -x
- Zeigt einen hexadezimalen Dump des Standardteils des Konfigurationsbereichs (die ersten 64 Bytes oder 128 Bytes für CardBus-Brücken).
- -xxx
- Zeigt einen hexadezimalen Dump des gesamten PCI-Konfigurationsbereichs an. Es ist nur für Root verfügbar, da einige PCI-Geräte abstürzen, wenn man versucht, einige Teile des Konfigurationsraums zu lesen (dieses Verhalten verstößt wahrscheinlich nicht gegen den PCI-Standard, aber es ist zumindest sehr dumm). Allerdings sind solche Geräte selten, so dass Sie sich keine großen Sorgen machen müssen.
- -xxxx
- Zeigt einen hexadezimalen Dump des erweiterten (4096 Byte) PCI-Konfigurationsraums , der auf PCI-X 2.0- und PCI Express-Bussen verfügbar ist.
- -b
- Bus-zentrierte Ansicht. Zeigen Sie alle IRQ-Nummern und Adressen so an, wie sie von den Karten auf dem PCI-Bus gesehen werden, und nicht so, wie sie vom Kernel gesehen werden.
- -D
- Zeigt immer PCI-Domänennummern an. Standardmäßig unterdrückt lspci sie auf Maschinen, die nur die Domäne 0 haben.
- -P
- Identifizieren Sie PCI-Geräte nach dem Pfad durch jede Bridge, anstatt nach der Busnummer .
- -PP
- Identifizieren Sie PCI-Geräte nach dem Weg durch jede Bridge, wobei die Busnummer sowie die Gerätenummer angezeigt werden.
Auflösung von ID's in Namen
- -n
- Zeigen Sie PCI-Hersteller- und Gerätecodes als Zahlen an, anstatt sie in in der PCI-ID-Liste nachzuschlagen.
- -nn
- Zeigen Sie PCI-Anbieter- und Gerätecodes sowohl als Nummern als auch als Namen an.
- -q
- Verwenden Sie DNS, um die zentrale PCI-ID-Datenbank abzufragen, wenn ein Gerät nicht in der lokalen pci.ids-Datei gefunden wird. Wenn die DNS-Abfrage erfolgreich ist, wird das Ergebnis unter in $XDG_CACHE_HOME/pci-ids zwischengespeichert und in nachfolgenden Läufen von erkannt, auch wenn -q nicht mehr angegeben wird. Bitte verwenden Sie diesen Schalter innerhalb automatisierter Skripte nur mit Vorsicht, um eine Überlastung der Datenbankserver zu vermeiden.
- Gleich wie -q, aber der lokale Cache wird zurückgesetzt.
- -Q
- Abfrage der zentralen Datenbank auch für Einträge, die lokal erkannt werden. Verwenden Sie dies, wenn Sie vermuten, dass der angezeigte Eintrag falsch ist.
Auswahl von Geräten
- -s [[[[]:]]:][][.[]]
- Zeigt nur Geräte in der angegebenen Domäne an (für den Fall, dass Ihr Rechner mehrere Host-Bridges hat, können diese entweder einen gemeinsamen Busnummernbereich teilen oder jede von ihnen kann eine eigene PCI-Domäne adressieren; Domänen sind nummeriert von 0 bis ffff), Bus (0 bis ff), Gerät (0 bis 1f) und Funktion (0 bis 7). Jede Komponente der Geräteadresse kann weggelassen oder auf "*" gesetzt werden, beides bedeutet "beliebiger Wert". Alle Zahlen sind hexadezimal. Z.B. bedeutet "0:" alle Geräte auf Bus 0, "0" bedeutet alle Funktionen von Gerät 0 auf jedem Bus, "0.3" wählt die dritte Funktion von Gerät 0 auf allen Bussen und ".4" zeigt nur die vierte Funktion jedes Geräts.
- -d []:[][:[:]]
- Zeigt nur Geräte mit der angegebenen Hersteller-, Geräte-, Klassen-ID und Programmierschnittstelle an. Die IDs werden in hexadezimaler Form angegeben und können weggelassen oder unter als "*" angegeben werden, was beides "beliebiger Wert" bedeutet. Die Klassen-ID kann "x"-Zeichen enthalten, die für "beliebige Ziffer" stehen.
Andere Optionen
- -i <file>
- Verwenden Sie als PCI-ID-Liste anstelle von /usr/share/misc/pci.ids.
- -p <file>
- Verwenden Sie <file> als Karte der PCI-IDs, die von Kernel-Modulen behandelt werden. Standardmäßig verwendet lspci /lib/modules/kernel_version/modules.pcimap. Gilt nur für Linux-Systeme mit ausreichend aktuellen Modul-Tools.
- -M
- Bus-Mapping-Modus aufrufen, der einen gründlichen Scan aller PCI-Geräte durchführt, einschließlich derer hinter falsch konfigurierten Bridges usw. Diese Option liefert aussagekräftige Ergebnisse nur mit einem direkten Hardware-Zugriffsmodus, der normalerweise Root-Rechte erfordert. Standardmäßig scannt der Bus-Mapper die Domäne. Sie können die Option -s verwenden, um eine andere Domäne auszuwählen.
- --version
- Zeigt die lspci-Version an. Diese Option sollte eigenständig verwendet werden.
PCI-Zugangsoptionen
Die PCI-Dienstprogramme verwenden die PCI-Bibliothek, um mit PCI-Geräten zu kommunizieren (siehe pcilib(7) für Details). Sie können die folgenden Optionen verwenden, um das Verhalten der Bibliothek zu beeinflussen :
- -A <Methode>
- Die Bibliothek unterstützt eine Vielzahl von Methoden für den Zugriff auf die PCI-Hardware. Standardmäßig verwendet die erste verfügbare Zugriffsmethode, aber Sie können diese Option verwenden, um diese Entscheidung außer Kraft zu setzen. Siehe Eine Hilfe für eine Liste der verfügbaren Methoden und deren Beschreibungen.
- -O =
- Das Verhalten der Bibliothek wird durch mehrere benannte Parameter gesteuert. Mit dieser Option können Sie den Wert eines jeden dieser Parameter einstellen. Verwenden Sie -O help für eine Liste der bekannten Parameter und ihrer Standardwerte .
- -H1
- Verwenden Sie den direkten Hardware-Zugriff über den Intel-Konfigurationsmechanismus 1. (Dies ist eine Abkürzung für -A intel-conf1.)
- -H2
- Verwenden Sie den direkten Hardware-Zugriff über den Intel-Konfigurationsmechanismus 2. (Dies ist eine Abkürzung für -A intel-conf2).
- -F <file>
- Anstatt auf die reale Hardware zuzugreifen, lesen Sie die Liste der Geräte und die Werte der Konfigurationsregister von aus der angegebenen Datei, die durch einen früheren Lauf von lspci -x erzeugt wurde. Dies ist sehr nützlich für die Analyse von benutzerdefinierten Fehlerberichten , da Sie die Hardwarekonfiguration auf jede beliebige Weise anzeigen können , ohne den Benutzer mit Anfragen nach weiteren Dumps zu belästigen.
- -G
- Erhöhen Sie die Debug-Ebene der Bibliothek.
Parameter
Umgebungsvariablen
Exit-Status
Wert | Beschreibung |
---|---|
0 | Erfolg |
>0 | Fehler |
Anwendung
Problembehebung
Manchmal ist lspci nicht in der Lage, die Konfigurationsregister vollständig zu entschlüsseln. Dies geschieht in der Regel, wenn den Autoren nicht genügend Dokumentation zur Verfügung stand . In solchen Fällen gibt es zumindest die Markierung aus, um zu signalisieren, dass es möglicherweise noch etwas zu sagen gibt. Wenn Sie die Details kennen, sind Patches natürlich willkommen.
Der Zugriff auf den erweiterten Konfigurationsraum wird derzeit nur durch das linux_sysfs Backend unterstützt.
Konfiguration
Dateien
Datei | Beschreibung |
---|---|
/usr/share/misc/pci.ids | Liste aller bekannten PCI-IDs (Hersteller, Geräte, Klassen und Unterklassen). Gepflegt unter https://pci-ids.ucw.cz/, verwenden Sie das update-pciids Dienstprogramm, um die neueste Version herunterzuladen. |
/usr/share/misc/pci.ids.gz | Wenn lspci mit Unterstützung für Kompression kompiliert wurde, wird diese Datei vor pci.ids ausprobiert |
$XDG_CACHE_HOME/pci-ids | Alle im DNS-Abfragemodus gefundenen IDs werden in dieser Datei zwischengespeichert |
Anhang
Siehe auch
- setpci(8)
- pci.ids(5)
- update-pciids(8)
- pcilib(7)
Dokumentation
- Man-Page
Links
Weblinks