naam
lspci – lijst alle PCI apparaten
Synopsis
lspci
beschrijving
lspci is een hulpprogramma voor het weergeven van informatie over PCI bussen in het systeem en apparaten aangesloten op hen.
standaard toont het een korte lijst van apparaten. Gebruik de hieronder beschreven opties om een meer uitgebreide uitvoer aan te vragen of uitvoer die bedoeld is voor het ontleden door andere programma ‘ s.
als u fouten gaat rapporteren in PCI-apparaatstuurprogramma ‘ s of in lspci zelf, voeg dan de uitvoer van “lspci-vvx” of nog beter “lspci-vvxxx”toe(zie hieronder echter voor mogelijke voorbehouden).
sommige delen van de output, vooral in de zeer uitgebreide modi, zijn waarschijnlijk alleen verstaanbaar voor ervaren PCI hackers. Raadpleeg voor de exacte definities van de velden de PCI-specificaties of de header.h en / usr / include / linux / pci.h inclusief bestanden.
toegang tot sommige delen van de PCI configuratie ruimte is beperkt tot root op veel besturingssystemen, dus de functies van lspci beschikbaar voor normalusers zijn beperkt. Lspci doet echter zijn best om zoveel mogelijk informatie weer te geven en alle andere informatie te markeren met <toegang geweigerd>tekst.
opties
Basisweergavemodi
– m
PCI-apparaatgegevens dumpen in een achterwaarts compatibele machine-leesbare vorm. Zie hieronder voor meer informatie.
-mm
Dump PCI-apparaatgegevens in een machineleesbare vorm voor eenvoudige parsing door scripts. Zie hieronder voor meer informatie.
– t
Toon een boomachtig diagram met alle bussen, bruggen, apparaten en verbindingen daartussen.
weergaveopties
– v
worden uitgebreid en gedetailleerde informatie over alle apparaten weergeven.
– vv
zeer uitgebreid zijn en meer details weergeven. Dit niveau bevat alles wat nuttig geacht wordt.
– vvv
wees nog uitgebreider en Toon alles wat we kunnen ontleden, zelfs als het er helemaal niet interessant uitziet (bijvoorbeeld ongedefinieerde geheugengebieden).
– k
toon kerneldrivers die elk apparaat behandelen en ook kernelmodules die het kunnen verwerken. Standaard ingeschakeld wanneer-v wordt gegeven in de normale modus van uitvoer. (Werkt momenteel alleen op Linux met kernel 2.6 of nieuwer.)
– x
hexadecimale dump tonen van het standaard gedeelte van de configuratieruimte (de eerste 64 bytes of 128 bytes voor CardBus-bruggen).
– xxx
hexadecimale dump van de gehele PCI-configuratieruimte tonen. Het is alleen beschikbaar voor root als verschillende PCI apparaten crashen wanneer je probeert om een aantal delen van de config ruimte te lezen (dit gedrag is waarschijnlijk niet in strijd met de PCI standaard, maar het is op zijn minst erg dom). Dergelijke apparaten zijn echter zeldzaam, dus u hoeft zich niet veel zorgen te maken.
– xxxx
hexadecimale dump tonen van de extended (4096-byte) PCI configuratieruimte beschikbaar op PCI-X 2.0 en PCI Express bussen.
– b
Buscentrisch beeld. Toon alle IRQ nummers en adressen zoals gezien door de kaarten op de PCI bus in plaats van Zoals Gezien door de kernel.
– D
toon altijd PCI-domeinnummers. Standaard onderdrukt lspci ze op machines die alleen domein 0 hebben.
opties om ID ‘ s te beheren naar namen
-n
Toon PCI leverancier en apparaat codes als nummers in plaats van ze op te zoeken in de PCI ID lijst.
– nn
Toon PCI leverancier en apparaat codes als zowel nummers en namen.
– q
gebruik DNS om de centrale PCI-ID-database te bevragen als een apparaat niet in de lokale pci wordt gevonden.ID-bestand. Als de DNS query slaagt, wordt het resultaat gecached in~/.pciids-cache en het wordt herkend in volgende runs, zelfs als-q niet meer wordt gegeven. Gebruik deze schakelaar alleen in geautomatiseerde scripts om overbelasting van de databaseservers te voorkomen.
hetzelfde als-q, maar de lokale cache wordt gereset.
– Q
bevraag de centrale database zelfs voor items die lokaal worden herkend. Gebruik dit als u vermoedt dat het weergegeven item verkeerd is.
opties voor selectie van apparaten
– s:] <bus>]:]] Toon alleen apparaten in het opgegeven domein (in het geval dat uw machine meerdere hostbruggen heeft, kunnen ze ofwel een gemeenschappelijke busnummerruimte delen of elk van hen kan een eigen PCI-domein benaderen; domeinen zijn genummerd van 0 tot ffff), bus (0 tot ff), slot (0 tot 1f) en functie (0 tot 7). Elk onderdeel van het deviceadress kan worden weggelaten of worden ingesteld op “*”, wat beide “elke waarde”betekent. Alle getallen zijn hexadecimaal. “0” betekent bijvoorbeeld alle apparaten op bus 0, ” 0 “betekent alle functies van apparaat 0 op elke bus,” 0.3 ” selecteert de derde functie van apparaat 0 op alle bussen en “.4 ” toont alleen de vierde functie van elk apparaat. – d: Toon alleen apparaten met opgegeven leverancier en apparaat-ID. Beide ID ‘ s worden gegeven in hexadecimaal en kunnen worden weggelaten of gegeven als “*”, beide betekenis “anyvalue”.
andere opties
– i <bestand> gebruik <bestand> als de PCI ID-lijst in plaats van/usr/share/hwdata / pci.ID. – p <bestand> gebruik <bestand> als de toewijzing van PCI-ID ‘ s die door kernelmodules worden verwerkt. Standaard gebruikt lspci / lib / modules/kernel_version / modules.pcimap. Alleen van toepassing op Linux systemen met recente genoeg module tools. – M
Activeer de bus mapping mode die een grondige scan uitvoert van alle PCI apparaten, inclusief die achter verkeerd geconfigureerde bruggen, enz. Deze optie geeft meanfulresults alleen met een directe hardware access mode, die meestal root privileges vereist. Houd er rekening mee dat de bus mapper alleen PCI domein 0 scant.
–version toont lspci-versie. Deze optie moet stand-alone worden gebruikt.
PCI-toegangsopties
de PCI-hulpprogramma ‘ s gebruiken de PCI-bibliotheek om met PCI-apparaten te praten (zie pcilib(7) voor details). U kunt de volgende opties gebruiken om zijn gedrag te beà nvloeden:- A <method> de bibliotheek ondersteunt verschillende methoden om toegang te krijgen tot de PCI hardware. Standaard gebruikt het de eerste beschikbare toegangsmethode, maar u kunt deze optie ook gebruiken om deze beslissing te omzeilen. Zie-een help voor een lijst met beschikbare methoden en hun beschrijvingen. – O <param> = <waarde> het gedrag van de bibliotheek wordt bepaald door verschillende benoemde parameters. Deze optie maakt het mogelijk om de waarde van een van de parameters in te stellen. Gebruik-O help voor een lijst met bekende parameters en hun standaardwaarden. – H1
gebruik directe hardware toegang via Intel configuratie mechanisme 1. (Dit is een afkorting voor-A intel-conf1.)
– H2
gebruik directe hardware toegang via Intel configuratie mechanisme 2. (Dit is een afkorting voor-A intel-conf2.)
– F <bestand> in plaats van toegang te krijgen tot echte hardware, lees je de lijst met apparaten en waarden van hun configuratieregisters uit het gegeven bestand dat geproduceerd is door een eerdere run van lspci-x. Dit is erg handig voor de analyse van door de gebruiker aangeleverde foutrapporten, omdat je de hardwareconfiguratie kunt weergeven op elke manier die je wilt zonder de gebruiker te hinderen met verzoeken om meer dumps. – G
Debugniveau van de bibliotheek verhogen.
machineleesbare uitvoer
als u van plan bent de uitvoer van lspci automatisch te verwerken, gebruik dan een van de machineleesbare uitvoerformaten (- m,- vm,- vmm)die in deze sectie worden beschreven. Alle andere formaten zullen waarschijnlijk veranderen tussen versies van lspci.
alle getallen worden altijd in hexadecimaal gedrukt. Als u numerieke ID ‘ s wilt verwerken in plaats van namen, voeg dan de-n schakelaar toe.
eenvoudig formaat (- m)
in het eenvoudige formaat wordt elk apparaat beschreven op een enkele regel, die is geformatteerd als parameters die geschikt zijn voor het doorgeven aan een shell-script, d.w.z., waarden gescheiden door witruimtes, Geciteerd en ontsnapt indien nodig. Sommige argumenten zijn positioneel: slot, klasse, naam van de leverancier, apparaatnaam, naam van de leverancier van het subsysteem en naam van het subsysteem (de laatste twee zijn leeg als het apparaat geen subsysteem heeft); de overige argumenten zijn optioneel-zoals: -rrev
revisienummer.
– Pprogif-programmeerinterface. De relatieve volgorde van positionele argumenten en opties is niet gedefinieerd. Nieuwe opties kunnen worden toegevoegd in toekomstige versies, maar ze zullen altijd een enkelargument hebben dat niet gescheiden is van de optie door spaties, zodat ze gemakkelijk genegeerd kunnen worden als ze niet herkend worden.
uitgebreid formaat (- vmm)
de uitgebreide uitvoer is een reeks records gescheiden door lege regels. Elke record beschrijft een enkel apparaat door een reeks regels, waarbij elke regel een enkel “tag: value” – paar bevat. De tag en de waarde worden gescheiden door een enkel tabteken. Noch de records noch de regels binnen arecord zijn in een bepaalde volgorde. Tags zijn hoofdlettergevoelig.
de volgende tags zijn gedefinieerd:
Slot
de naam van het slot waar het apparaat zich bevindt (bus: apparaat.functie). Deze tag is altijd de eerste in een record.
Klasse
naam van de klasse.
verkoper
naam van de verkoper.
apparaat
naam van het apparaat.
SVendor naam van de leverancier van het subsysteem (facultatief). SDevice-naam van het subsysteem (facultatief). PhySlot het fysieke slot waar het apparaat zich bevindt (optioneel, alleen Linux). Rev
revisienummer (facultatief).
programma
programmeerinterface (facultatief).
Driver
Kerneldriver werkt momenteel met het apparaat (optioneel, alleen Linux).
Module
kernelmodule meldt dat het in staat is om het apparaat te verwerken (optioneel, alleen Linux).
nieuwe tags kunnen in toekomstige versies worden toegevoegd, dus u moet alle tags die u niet herkent stilletjes negeren.
achterwaarts compatibel uitgebreid formaat (- vm)
in deze modus probeert lspci perfect compatibel te zijn met zijn oude versies. Het is bijna hetzelfde als de reguliere uitgebreide formaat, maar het apparaat tag wordt gebruikt voor zowel de sleuf en de naam van het apparaat, dus het gebeurt twee keer in een record. Vermijd het gebruik van dit formaat in een nieuwe code.
bestanden
/ usr / share/hwdata / pci.ids
een lijst van alle bekende PCI-ID ‘ s (leveranciers, apparaten, klassen en subklassen). Onderhouden op http://pciids.sourceforge.net/, gebruik de update-pciids utilityom de meest recente versie te downloaden. /usr/share/hwdata / pci.ID.GZ als lspci is gecompileerd met ondersteuning voor compressie, wordt dit bestand geprobeerd voor pci.ID. ~/.pciids-cache alle ID ‘ s gevonden in de DNS query mode worden in dit bestand gecached.
Bugs
soms is lspci niet in staat om de configuratie registers volledig te decoderen. Dit gebeurt meestal wanneer er niet genoeg documentatie beschikbaar was voor de auteurs. In dergelijke gevallen wordt ten minste <afgedrukt?> markeer om aan te geven dat er mogelijk meer te zeggen valt. Als u de details kent,zijn patches natuurlijk welkom.
toegang tot de uitgebreide configuratieruimte wordt momenteel alleen ondersteund door de back-end van linux_sysfs.
zie ook
setpci(8), update-pciids(8), pclib(7)
auteur
de PCI-hulpprogramma ‘ s worden onderhouden door Martin Mares <[email protected]>.