lspci(8) – Linux man page

namn

lspci-lista alla PCI-enheter

Synopsis

lspci

beskrivning

lspci är ett verktyg för att visa information om PCI-bussar i nätverket system och enheter anslutna till dem.

som standard visar den en kort lista över enheter. Använd alternativen som beskrivs nedan för att begära antingen en mer utförlig utgång eller utgång avsedd för tolkning av andra program.

om du ska rapportera fel i PCI-drivrutiner eller i lspci själv, vänligen inkludera utdata från ”lspci-vvx” eller ännu bättre ”lspci-vvxxx”(se dock nedan för möjliga varningar).

vissa delar av produktionen, särskilt i de mycket detaljerade lägena, är förmodligen begripliga endast för erfarna PCI-hackare. För exakta definitioner av fälten, se antingen PCI-specifikationerna eller rubriken.h och/usr/inkludera/linux / pci.h inkluderar filer.

åtkomst till vissa delar av PCI-konfigurationsutrymmet är begränsat till root på många operativsystem, så funktionerna i lspci tillgängliga för normalanvändare är begränsade. Lspci försöker dock sitt bästa för att visa så mycket som tillgängligt och markera all annan information med <Åtkomst nekad>text.

alternativ

grundläggande visningslägen

-m

dumpa PCI-enhetsdata i en bakåtkompatibel maskinläsbar form. Se nedan för mer information.

-mm

dumpa PCI-enhetsdata i en maskinläsbar form för enkel tolkning av skript. Se nedan för mer information.

-t

visa ett trädliknande diagram som innehåller alla bussar, broar, enheter och anslutningar mellan dem.

visningsalternativ

-v

var detaljerad och visa detaljerad information om alla enheter.

-vv

var mycket detaljerad och visa mer information. Denna nivå innehåller allt som anses användbart.

-vvv

var ännu mer detaljerad och visa allt vi kan analysera, även om det inte ser intressant ut alls (t.ex. odefinierade minnesregioner).

-k

Visa kärndrivrutiner som hanterar varje enhet och även kärnmoduler som kan hantera den. Aktiverad som standard när-v ges i normalt läge förutgång. (För närvarande fungerar bara på Linux med kernel 2.6 eller senare.)

-x

Visa hexadecimal dumpning av standarddelen av konfigurationsutrymmet (de första 64 byte eller 128 byte för CardBus-broar).

-xxx

Visa hexadecimal dumpning av hela PCI-konfigurationsutrymmet. Det är bara tillgängligt för root eftersom flera PCI-enheter kraschar när du försöker läsa några delar av konfigurationsutrymmet (detta beteende bryter förmodligen inte mot PCI-standarden, men det är åtminstone väldigt dumt). Sådana enheter är dock sällsynta, så du behöveroroa dig mycket.

-xxxx

Visa hexadecimal dumpning av den utökade (4096-byte) PCI konfigurationsutrymme på PCI-X 2.0 och PCI Express-bussar.

-b

Buss-centrerad vy. Visa alla IRQ-nummer och adresser som ses av korten på PCI-bussen istället för som ses av kärnan.

-D

Visa alltid PCI-domännummer. Som standard undertrycker lspci dem på maskiner som bara har domän 0.

alternativ för att styra lösa ID till namn

-n

Visa PCI leverantör och enhetskoder som siffror i stället för att leta upp dem i PCI ID-listan.

-nn

Visa PCI leverantör och enhetskoder som både nummer och namn.

-q

använd DNS för att fråga den centrala PCI ID-databasen om en enhet inte finns i den lokala pci.ID-fil. Om DNS-frågan lyckas cachas resultatet i~/.pciids-cache och det känns igen i efterföljande körningar även om-q inte ges längre. Använd denna omkopplare i automatiserade skript onlywith försiktighet för att undvika överbelastning av databasservrar.

-qq

samma som-q, men den lokala cachen återställs.

-Q

fråga den centrala databasen även för poster som känns igen lokalt. Använd detta om du misstänker att den visade posten är fel.

alternativ för val av enheter

– s:] <buss>]:]] Visa endast enheter i den angivna domänen (om din maskin har flera värdbroar kan de antingen dela ett gemensamt bussnummerutrymme eller var och en av demkan adressera en egen PCI-domän; domäner är numrerade från 0 till ffff), buss (0 till ff), slits (0 till 1F) och funktion (0 till 7). Varje komponent i enhetenadressen kan utelämnas eller ställas in på ”*”, båda betyder ”vilket värde som helst”. Alla siffror är hexadecimala. T. ex.,” 0: ”betyder alla enheter på buss 0,” 0 ”betyder alla funktioner för enhet 0 på vilken buss som helst,” 0.3 ”väljer tredje funktion för enhet 0 på alla bussar och”.4 ” visar endast den fjärde funktionen för varje enhet. – D: Visa endast enheter med angivet leverantörs-och enhets-ID. Båda ID: n ges i hexadecimala och kan utelämnas eller ges som ”*”, båda betyder ”anyvalue”.

andra alternativ

-i <fil> använd <fil> som PCI ID-lista istället för /usr/share/hwdata/pci.ID. – p < fil>använd < fil> som Karta över PCI ID hanteras av kärnmoduler. Som standard använder lspci/lib/modules/kernel_version / modules.pcimap. Appliesonly till Linux-system med nyligen tillräckligt modulverktyg. – M

anropa bussmappningsläge som utför en grundlig genomsökning av alla PCI-enheter, inklusive de bakom felkonfigurerade broar, etc. Det här alternativet ger meningsfulltresultat endast med ett direkt maskinvaruåtkomstläge, vilket vanligtvis kräver root-privilegier. Observera att bus mapper endast skannar PCI-domänen 0.

– versionen visar lspci-versionen. Detta alternativ ska användas fristående.

PCI-åtkomstalternativ

PCI-verktygen använder PCI-biblioteket för att prata med PCI-enheter (se pcilib(7) för detaljer). Du kan använda följande alternativ för att påverka dessbeteende:- A< metod > biblioteket stöder en mängd olika metoder för att komma åt PCI-hårdvaran. Som standard använder den den första tillgängliga åtkomstmetoden, men du kan använda det här alternativet tooverride detta beslut. Se-en hjälp för en lista över tillgängliga metoder och deras beskrivningar. – O <param>=<värde> bibliotekets beteende styrs av flera namngivna parametrar. Med det här alternativet kan du ställa in värdet på någon av parametrarna. Använd-o hjälp fören lista över kända parametrar och deras standardvärden. – H1

Använd direkt hårdvaruåtkomst via Intel konfigurationsmekanism 1. (Detta är en stenografi för-en intel-conf1.)

-H2

Använd direkt hårdvaruåtkomst via Intel-konfigurationsmekanism 2. (Detta är en stenografi för-en intel-conf2.)

-f <fil> istället för att komma åt riktig hårdvara, läs listan över enheter och värden för deras konfigurationsregister från den givna filen som producerats av en tidigare körning oflspci-x. Detta är mycket användbart för analys av användarlevererade felrapporter, eftersom du kan visa hårdvarukonfigurationen på vilket sätt du vill utanstör användaren med förfrågningar om fler dumpningar. – G

öka felsökningsnivån i biblioteket.

maskinläsbar utgång

om du tänker bearbeta utdata från lspci automatiskt, använd ett av de maskinläsbara utdataformat (- m,- vm,- vmm)som beskrivs i detta avsnitt. Alla andra format kommer sannolikt att ändras mellan versioner av lspci.

alla siffror skrivs alltid ut i hexadecimala. Om du vill bearbeta numeriska ID istället för namn, Lägg till-n-omkopplaren.

enkelt format (-m)

i det enkla formatet beskrivs varje enhet på en enda rad, som är formaterad som parametrar som är lämpliga för överföring till ett skalskript, dvs., värderingarseparerade med blanksteg, citerade och flydde vid behov. Några av argumenten är positions: spår, klass, leverantörsnamn, enhetsnamn, delsystem leverantör nameand delsystem namn (de två sista är tomma om enheten har inget delsystem); de återstående argumenten är option-liknande: -rrev

revisions nummer.

– Pprogif programmeringsgränssnitt. Den relativa ordningen för positionsargument och alternativ är odefinierad. Nya alternativ kan läggas till i framtida versioner, men de kommer alltid att ha ett enda argument som inte är separerat från alternativet med några mellanslag, så att de lätt kan ignoreras om de inte känns igen.

Verbose format (- vmm)

den verbose output är en sekvens av poster åtskilda av tomma rader. Varje post beskriver en enda enhet genom en sekvens av linjer, varje rad innehåller asingle’ tag: value ’ par. Taggen och värdet separeras med ett enda fliktecken. Varken posterna eller raderna i arecord är i någon särskild ordning. Taggar är skiftlägeskänsliga.

följande taggar definieras:

Slot

namnet på spåret där enheten finns (buss:enhet.funktion). Den här taggen är alltid den första i en post.

klass

klassens namn.

leverantör

leverantörens namn.

enhet

enhetens namn.

SVendor namn på delsystemsleverantören (valfritt). SDevice namn på delsystemet (valfritt). PhySlot den fysiska platsen där enheten finns (valfritt, endast Linux). Rev

revisionsnummer (valfritt).

ProgIf

programmeringsgränssnitt (valfritt).

drivrutin

Kärndrivrutinen hanterar för närvarande enheten (tillval, endast Linux).

modul

kärnmodul rapporterar att den kan hantera enheten (valfritt, endast Linux).

nya taggar kan läggas till i framtida versioner, så du bör tyst ignorera alla taggar du inte känner igen.

bakåtkompatibelt verbose format (- vm)

i det här läget försöker lspci vara helt kompatibel med sina gamla versioner. Det är nästan detsamma som det vanliga verbose-formatet, men Enhetstaggen äranvänds för både slitsen och enhetsnamnet, så det förekommer två gånger i en enda post. Undvik att använda detta format i någon ny kod.

filer

/usr/dela/hwdata / pci.ids

en lista över alla kända PCI ID (leverantörer, enheter, klasser och underklasser). Underhålls vid http://pciids.sourceforge.net/, använd update-pciids utilityatt ladda ner den senaste versionen. /usr/dela med sig/hwdata / pci.ID.gz om lspci kompileras med stöd för komprimering, är den här filen försökt före pci.ID. ~/.pciids-cache ALLA ID som finns i DNS-frågeläget cachas i den här filen.

buggar

ibland kan lspci inte avkoda konfigurationsregistren helt. Detta händer vanligtvis när inte tillräckligt med dokumentation var tillgänglig förförfattare. I sådana fall skriver den åtminstone <?> markera för att signalera att det finns potentiellt något mer att säga. Om du känner till detaljerna är patchar naturligtvis välkomna.

åtkomst till det utökade konfigurationsutrymmet stöds för närvarande endast av linux_sysfs back-end.

Se även

setpci (8), uppdatering-pciids (8), pcilib(7)

författare

PCI-verktygen underhålls av Martin Mares <[email protected]>.



+