lspci(8) – Linux man page

nume

lspci – lista toate dispozitivele PCI

Sinopsis

lspci

descriere

lspci este un utilitar pentru afișarea informațiilor despre autobuze PCI în sistem și dispozitive conectate la acestea.

în mod implicit, afișează o scurtă listă de dispozitive. Utilizați opțiunile descrise mai jos pentru a solicita fie o ieșire mai detaliată, fie o ieșire destinată analizei de către alte programe.

dacă aveți de gând să raporteze bug-uri în drivere de dispozitiv PCI sau în lspci în sine, vă rugăm să includeți ieșire de „lspci-vvx” sau chiar mai bine „lspci-vvxxx”(cu toate acestea, a se vedea mai jos pentru posibile avertismente).

unele părți ale ieșirii, în special în modurile foarte detaliate, sunt probabil inteligibile doar pentru hackerii PCI experimentați. Pentru definiții exacte ale thefields, vă rugăm să consultați fie specificațiile PCI sau antetul.h și / usr / include / linux / pci.h includ fișiere.

accesul la unele părți ale spațiului de configurare PCI este limitat la root pe multe sisteme de operare, astfel încât caracteristicile lspci disponibile pentru normalusers sunt limitate. Cu toate acestea, lspci încearcă din răsputeri să afișeze cât mai mult posibil și să marcheze toate celelalte informații cu <acces refuzat>text.

Opțiuni

moduri de afișare de bază

– m

aruncați datele dispozitivului PCI într-o formă care poate fi citită de mașină compatibilă cu versiunile anterioare. A se vedea mai jos pentru detalii.

-mm

Dump date Dispozitiv PCI într-o formă care poate fi citită de mașină pentru parsarea ușor de script-uri. A se vedea mai jos pentru detalii.

-t

arată o diagramă arborescentă care conține toate autobuzele, podurile, dispozitivele și conexiunile dintre ele.

Opțiuni de afișare

– v

fii detaliat și afișează informații detaliate despre toate dispozitivele.

-vv

fii foarte detaliat și afișează mai multe detalii. Acest nivel include tot ceea ce este considerat util.

-vvv

fii și mai detaliat și afișează tot ceea ce putem analiza, chiar dacă nu pare deloc interesant (de exemplu, regiuni de memorie nedefinite).

-k

afișează driverele de kernel care manipulează fiecare dispozitiv și, de asemenea, modulele de kernel capabile să îl manipuleze. Activat în mod implicit când-v este dat în modul normal alieșire. (În prezent funcționează numai pe Linux cu kernel 2.6 sau mai nou.)

-x

arată dump hexazecimal a părții standard a spațiului de configurare (primele 64 octeți sau 128 octeți pentru poduri CardBus).

-xxx

arată dump hexazecimal al întregului spațiu de configurare PCI. Este disponibil doar pentru root, deoarece mai multe dispozitive PCI se blochează atunci când încercați să citiți câteva părțidin spațiul de configurare (acest comportament probabil nu încalcă standardul PCI, dar este cel puțin foarte prost). Cu toate acestea, astfel de dispozitive sunt rare, deci nu trebuievă faceți griji mult.

-xxxx

arată dump hexazecimală a extins (4096-octet) spațiu de configurare PCI disponibil pe PCI-X 2.0 și PCI Express autobuze.

-B

vizualizare centrată pe autobuz. Afișați toate numerele și adresele IRQ văzute de cardurile de pe magistrala PCI în loc de cele văzute de kernel.

-D

arată întotdeauna numere de domeniu PCI. În mod implicit, lspci le suprimă pe mașinile care au doar domeniul 0.

opțiuni pentru a controla rezolvarea ID-urilor la nume

– n

Afișați codurile furnizorului și dispozitivului PCI ca numere în loc să le căutați în lista ID PCI.

-nn

afișează codurile furnizorului și dispozitivului PCI atât ca numere, cât și ca nume.

-q

utilizați DNS pentru a interoga baza de date centrală PCI ID dacă un dispozitiv nu este găsit în pci local.fișă de identificare. Dacă interogarea DNS reușește, rezultatul este memorat în cache în~/.pciids-cache și este recunoscut în rulările ulterioare, chiar dacă-q nu mai este dat. Vă rugăm să folosiți acest comutator în interiorul script-uri automate onlywith precauție pentru a evita supraîncărcarea serverele bazei de date.

-qq

la fel ca-q, dar memoria cache locală este resetată.

-Q

interogați baza de date centrală chiar și pentru intrările recunoscute local. Utilizați acest lucru dacă bănuiți că intrarea afișată este greșită.

opțiuni pentru selectarea dispozitivelor

– s:] < autobuz >]:]] Afișați numai dispozitivele din domeniul specificat (în cazul în care aparatul dvs. are mai multe poduri gazdă, acestea pot partaja fie un spațiu comun al numărului de autobuz, fie Fiecare dintre elepoate Adresa un domeniu PCI propriu; domeniile sunt numerotate de la 0 la ffff), autobuz (0 la ff), slot (0 la 1F) și funcție (0 la 7). Fiecare componentă a dispozitivuluiadresa poate fi omisă sau setată la „*”, ambele însemnând „orice valoare”. Toate numerele sunt hexazecimale. De exemplu, ” 0: „înseamnă toate dispozitivele de pe magistrala 0,” 0 „înseamnă toate funcțiile dispozitivului 0 pe orice magistrală,” 0.3 „Selectează a treia funcție a dispozitivului 0 pe toate magistralele și”.4 ” afișează doar a patra funcție a fiecărui dispozitiv. – d : afișați numai dispozitivele cu furnizorul specificat și ID-ul dispozitivului. Ambele ID-uri sunt date în hexazecimal și pot fi omise sau date ca „*”, ambele însemnând „anyvalue”.

alte opțiuni

– i < fișier > utilizați< fișier > ca listă de ID PCI în loc de /usr/share/hwdata/pci.ID-uri. – p < fișier > utilizați < fișier > ca hartă a ID-ului PCI manipulate de module de kernel. În mod implicit, lspci utilizează /lib/modules/kernel_version/modules.pcimap. Se aplicănumai la sistemele Linux cu instrumente de module suficient de recente. – M

invoca modul de cartografiere autobuz care efectuează o Scanare aprofundată a tuturor dispozitivelor PCI, inclusiv cele din spatele poduri configurate greșit, etc. Această opțiune oferă semnificațierezultate numai cu un mod de acces hardware direct, care necesită de obicei privilegii root. Vă rugăm să rețineți că mapper autobuz scanează numai domeniul PCI 0.

— versiunea arată versiunea lspci. Această opțiune ar trebui utilizată de sine stătătoare.

Opțiuni de acces PCI

utilitățile PCI utilizează biblioteca PCI pentru a vorbi cu dispozitivele PCI (consultați pcilib(7) pentru detalii). Puteți utiliza următoarele opțiuni pentru a-i influențacomportament:- O metodă <> biblioteca acceptă o varietate de metode pentru a accesa hardware-ul PCI. În mod implicit, utilizează prima metodă de acces disponibilă, dar puteți utiliza această opțiuneeride această decizie. A se vedea-un ajutor pentru o listă de metode disponibile și descrierile acestora. – O <param>=<valoare> comportamentul bibliotecii este controlat de mai mulți parametri numiți. Această opțiune permite setarea valorii oricăruia dintre parametri. Utilizați-o ajutor pentruo listă de parametri cunoscuți și valorile implicite ale acestora. – H1

utilizați acces hardware direct prin Mecanismul de configurare Intel 1. (Aceasta este o prescurtare pentru-un intel-conf1.)

-H2

utilizați acces hardware direct prin Mecanismul de configurare Intel 2. (Aceasta este o prescurtare pentru-un intel-conf2.)

– F < file> în loc să accesați hardware-ul real, citiți lista dispozitivelor și valorilor registrelor lor de configurare din fișierul dat produs de o rulare anterioară oflspci-x. Acest lucru este foarte util pentru analiza rapoartelor de erori furnizate de utilizator, deoarece puteți afișa configurația hardware în orice mod doriți, fără a deranja utilizatorul cu cereri de mai multe halde. – G

creșterea nivelului de depanare a Bibliotecii.

ieșire care poate fi citită de mașină

dacă intenționați să procesați automat ieșirea lspci, utilizați unul dintre formatele de ieșire care poate fi citită de mașină (- m,- vm,- vmm)descrise în această secțiune. Este posibil ca toate celelalte formate să se schimbe între versiunile lspci.

toate numerele sunt întotdeauna tipărite în hexazecimal. Dacă doriți să procesați ID-ul numeric în loc de nume, vă rugăm să adăugați comutatorul-N.

format simplu (-m)

în formatul simplu, fiecare dispozitiv este descris pe o singură linie, care este formatată ca parametri potriviți pentru trecerea la un script shell, adică., valoareseparat de spații albe, citat și scăpat dacă este necesar. Unele dintre argumente sunt poziționale: slot, clasă, nume furnizor, Nume dispozitiv, nume furnizor subsistemși nume subsistem (ultimele două sunt goale dacă dispozitivul nu are subsistem); argumentele rămase sunt de tip opțiune:-rrev

număr de revizuire.

-interfață de programare pprogif. Ordinea relativă a argumentelor și opțiunilor poziționale este nedefinită. Noi opțiuni pot fi adăugate în versiunile viitoare, dar vor avea întotdeauna un singurargument care nu este separat de opțiune prin spații, astfel încât acestea pot fi ușor ignorate dacă nu sunt recunoscute.

format detaliat (-vmm)

ieșirea detaliată este o secvență de înregistrări separate prin linii goale. Fiecare înregistrare descrie un singur dispozitiv printr-o secvență de linii, fiecare linie conținând o singură pereche ‘tag: value’. Eticheta și valoarea sunt separate printr-un singur caracter tab. Nici înregistrările, nici liniile din arecord nu sunt într-o anumită ordine. Etichetele sunt sensibile la majuscule.

sunt definite următoarele etichete:

Slot

numele slotului în care se află dispozitivul (bus:dispozitiv.funcție). Această etichetă este întotdeauna prima dintr-o înregistrare.

clasa

numele clasei.

furnizor

numele furnizorului.

dispozitiv

numele dispozitivului.

numele svendor al furnizorului subsistemului (opțional). Numele SDevice al subsistemului (opțional). PhySlot slotul fizic în care se află dispozitivul (opțional, numai Linux). Rev

număr de revizie (opțional).

ProgIf

interfață de programare (opțional).

Driver

driver de Kernel care gestionează în prezent dispozitivul (opțional, numai Linux).

modulul

modulul Kernel raportează că este capabil să manipuleze dispozitivul (opțional, numai Linux).

etichetele noi pot fi adăugate în versiunile viitoare, deci ar trebui să ignorați în tăcere orice etichete pe care nu le recunoașteți.

format verbose compatibil înapoi (- vm)

în acest mod, lspci încearcă să fie perfect compatibil cu versiunile sale vechi. Este aproape la fel ca formatul detaliat obișnuit, dar eticheta dispozitivului esteutilizat atât pentru slot, cât și pentru numele dispozitivului, deci apare de două ori într-o singură înregistrare. Vă rugăm să evitați utilizarea acestui format în orice cod nou.

fișiere

/usr/acțiune/hwdata/pci.ids

o listă a tuturor ID-urilor PCI cunoscute (furnizori, dispozitive, clase și subclase). Menținut la http://pciids.sourceforge.net/, utilizați utilitarul update-pciidspentru a descărca cea mai recentă versiune. / usr/acțiune/hwdata / pci.ID-uri.gz dacă lspci este compilat cu suport pentru compresie, acest fișier este încercat înainte de pci.ID-uri. ~/.pciids-cache toate ID-urile găsite în modul de interogare DNS sunt memorate în cache în acest fișier.

bug-uri

uneori, lspci nu este capabil să decodeze complet registrele de configurare. Acest lucru se întâmplă de obicei atunci când nu a fost disponibilă suficientă documentațieautori. În astfel de cazuri, cel puțin imprimă <?> marcați pentru a semnala că există potențial ceva mai mult de spus. Dacă știți detaliile, patch-urile vor fi, desigur, binevenite.

accesul la spațiul de configurare extins este acceptat în prezent numai de back-end-ul linux_sysfs.

a se vedea, de asemenea,

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

autor

utilitățile PCI sunt întreținute de Martin Mares <[email protected] >.



+