lspci(8) Utilitățile PCI lspci(8)

lspci - listează toate dispozitivele PCI

lspci [opțiuni]

lspci este un instrument pentru afișarea informațiilor despre magistralele PCI din sistem și despre dispozitivele conectate la acestea.

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

Dacă aveți de gând să raportați erori ale controlorilor de dispozitive PCI sau ale lui lspci însuși, vă rugăm să includeți rezultatul «lspci -vvvx» sau încă și mai bine «lspci -vvvxxx» (totuși, consultați mai jos pentru posibile restricții).

Unele părți ale rezultatului, în special în modurile foarte descriptive, sunt, probabil, inteligibile doar pentru hackerii PCI experimentați. Pentru definițiile exacte ale câmpurilor, vă rugăm să consultați fie specificațiile PCI, fie fișierele de includere header.h și /usr/include/linux/pci.h.

Accesul la unele părți ale spațiului de configurare PCI este restricționat pentru root pe multe sisteme de operare, astfel încât caracteristicile lspci disponibile pentru utilizatorii normali sunt limitate. Cu toate acestea, lspci face tot posibilul să afișeze cât mai multe informații disponibile și să marcheze toate celelalte informații cu textul <acces refuzat> (access denied).

Afișează datele dispozitivelor PCI într-un format de citire pentru mașină compatibil cu versiunile anterioare. A se vedea mai jos pentru detalii.
Afișează datele dispozitivelor PCI într-un format lizibil de către mașină pentru a fi ușor de analizat de către scripturi. A se vedea mai jos pentru detalii.
Afișează o diagramă arborescentă care conține toate magistralele, punțile, dispozitivele și conexiunile dintre acestea.

Opțiuni de afișare

Face o descriere mai amplă și afișează informații detaliate despre toate dispozitivele.
Face o descriere foarte clară și afișează mai multe detalii. Acest nivel include tot ceea ce se consideră util.
Face și mai multă descriere și afișează tot ceea ce putem analiza, chiar dacă nu pare deloc interesant (de exemplu, regiuni de memorie nedefinite).
Afișează controlorii de nucleu care gestionează fiecare dispozitiv și modulele de nucleu capabile să le gestioneze. Activată în mod implicit atunci când se dă -v în modul normal de ieșire; (în prezent funcționează numai pe Linux cu nucleul 2.6 sau mai nou).
Afișează o extragere hexazecimală a părții standard a spațiului de configurare (primii 64 de octeți sau 128 de octeți pentru punțile CardBus).
Afișează o extragere hexazecimală a întregului spațiu de configurare PCI. Este disponibilă numai pentru root, deoarece mai multe dispozitive PCI clachează atunci când încercați să citiți unele părți ale spațiului de configurare (acest comportament probabil că nu încalcă standardul PCI, dar este cel puțin foarte stupid). Cu toate acestea, astfel de dispozitive sunt rare, așa că nu trebuie să vă faceți prea multe griji.
Afișează o extragere hexazecimală a spațiului de configurare PCI extins (4096 de octeți) disponibil pe magistralele PCI-X 2.0 și PCI Express.
Vizualizare centrată pe magistrală. Afișează toate numerele și adresele IRQ așa cum sunt văzute de plăcile de pe magistrala PCI în loc să fie văzute de nucleu.
Afișează întotdeauna numerele de domeniu PCI. În mod implicit, lspci le suprimă pe mașinile care au doar domeniul 0.
Identifică dispozitivele PCI în funcție de ruta prin fiecare punte, în loc de numărul de magistrală.
Identifică dispozitivele PCI în funcție de ruta prin fiecare punte, indicând numărul de magistrală, precum și numărul dispozitivului.

Opțiuni pentru a controla transformarea ID-urilor în nume

Afișează codurile fabricantului PCI și ale dispozitivului PCI sub formă de numere în loc să le caute în lista de ID-uri PCI.
Afișează codurile fabricantului PCI și ale dispozitivelor atât sub formă de numere, cât și de nume.
Utilizează DNS pentru a interoga baza de date de ID-uri PCI centrală în cazul în care un dispozitiv nu este găsit în fișierul local pci.ids. Dacă interogarea DNS reușește, rezultatul este stocat în fișierul $XDG_CACHE_HOME/pci-ids și este recunoscut în execuțiile ulterioare, chiar dacă opțiunea -q nu mai este dată. Vă rugăm să utilizați această opțiune în interiorul scripturilor automate numai cu prudență pentru a evita supraîncărcarea serverelor de baze de date.
La fel precum -q, dar fișierul de stocare local este reinițializat.
Interoghează baza de date centrală chiar și pentru intrările care sunt recunoscute la nivel local. Utilizați această opțiune dacă bănuiți că intrarea afișată este greșită.

Opțiuni pentru selectarea dispozitivelor

Afișează numai dispozitivele din domeniul specificat (în cazul în care mașina dvs. are mai multe punți gazdă, acestea pot împărți un spațiu comun de numere de magistrală sau fiecare dintre ele poate adresa un domeniu PCI propriu; domeniile sunt numerotate de la 0 la ffff), magistrala (de la 0 la ff), dispozitivul (de la 0 la 1f) și funcția (de la 0 la 7). Fiecare componentă a adresei dispozitivului poate fi omisă sau stabilită la „*”, ambele însemnând „orice valoare”. Toate numerele sunt în hexazecimal. 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, iar „.4” afișează doar a patra funcție a fiecărui dispozitiv.
Afișează numai dispozitivele cu fabricantul, dispozitivul, ID-ul clasei și interfața de programare specificate. ID-urile sunt date în hexazecimal și pot fi omise sau date ca „*”, ambele însemnând „orice valoare”. ID-ul de clasă poate conține caractere „x”, care înseamnă „orice cifră”.

Utilizează <fișier> ca listă de ID-uri PCI în loc de fișierul „/usr/share/hwdata/pci.ids”.
Utilizează <fișier> ca hartă a ID-urilor PCI gestionate de modulele nucleului. În mod implicit, «lspci» utilizează fișierul „/lib/modules/versiune_nucleu/modules.pcimap”. Se aplică numai la sistemele Linux cu instrumente de module suficient de recente.
Invocă modul de cartografiere a magistralei, care efectuează o scanare amănunțită a tuturor dispozitivelor PCI, inclusiv a celor care se află în spatele unor punți neconfigurate, etc. Această opțiune oferă rezultate semnificative numai cu un mod de acces direct la hardware, care necesită, de obicei, privilegii de root. În mod implicit, cartograful de magistrală scanează domeniul. Puteți utiliza opțiunea -s pentru a selecta un alt domeniu.
Afișează versiunea lspci. Această opțiune ar trebui să fie utilizată de sine stătător (ca opțiune unică a «lspci»).

Opțiuni de acces PCI

Utilitățile PCI utilizează biblioteca PCI pentru a comunica cu dispozitivele PCI (a se vedea pcilib(7) pentru detalii). Puteți utiliza următoarele opțiuni pentru a influența comportamentul acesteia:

Biblioteca acceptă o varietate de metode de accesare a hardware-ului PCI. În mod implicit, aceasta utilizează prima metodă de acces disponibilă, dar puteți utiliza această opțiune pentru a anula această decizie. Consultați -A help pentru o listă a metodelor disponibile și descrierile acestora.
Comportamentul bibliotecii este controlat de mai mulți parametri numiți. Această opțiune permite stabilirea valorii oricăruia dintre acești parametri. Utilizați -O help pentru o listă a parametrilor cunoscuți și a valorilor lor implicite.
Utilizează accesul direct la hardware prin mecanismul de configurare Intel 1; (aceasta este o prescurtare pentru -A intel-conf1).
Utilizează accesul hardware direct prin mecanismul de configurare Intel 2; (aceasta este o prescurtare pentru -A intel-conf2).
În loc să acceseze hardware real, citește lista de dispozitive și valorile registrelor de configurare ale acestora din fișierul dat, produs de o execuție anterioară a comenzii «lspci -x». Acest lucru este foarte util pentru analiza rapoartelor de eroare 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 extrageri.
Crește nivelul de depanare al bibliotecii.

Dacă intenționați să procesați automat ieșirea lui «lspci», vă rugăm să utilizați unul dintre formatele de ieșire lizibile de către mașină (-m, -vm, -vmm) descrise în această secțiune. Toate celelalte formate sunt susceptibile de a se modifica între versiunile «lspci».

Toate numerele sunt întotdeauna afișate în hexazecimal. Dacă doriți să procesați ID-uri numerice în loc de nume, vă rugăm să adăugați opțiunea -n.

În formatul simplu, fiecare dispozitiv este descris pe o singură linie, care este formatată ca parametru adecvat pentru a fi transmis unui script shell, adică valori separate prin spații albe, încadrate de ghilimele și eludate dacă este necesar. Unele dintre argumente sunt poziționale: slot, clasă, numele fabricantului, numele dispozitivului, numele fabricantului subsistemului și numele subsistemului (ultimele două sunt goale dacă dispozitivul nu are un subsistem); restul argumentelor sunt de tip opțiune:

Numărul de revizuire.
Interfața de programare.

Ordinea relativă a argumentelor poziționale și a opțiunilor este nedefinită. În versiunile viitoare pot fi adăugate noi opțiuni, dar acestea vor avea întotdeauna un singur argument care nu va fi separat de opțiune prin spații, astfel încât să poată fi ușor ignorate dacă nu sunt recunoscute.

Ieșirea descriptivă este o secvență de înregistrări separate de linii goale. Fiecare înregistrare descrie un singur dispozitiv printr-o secvență de linii, fiecare linie conținând o singură pereche „etichetă: valoare”. eticheta și valoarea sunt separate de un singur caracter de tabulare. Nici înregistrările, nici liniile din cadrul unei înregistrări nu se află într-o anumită ordine. Etichetele sunt sensibile la majuscule și minuscule.

Sunt definite următoarele etichete:

Numele slotului în care se află dispozitivul ([domeniu:]magistrala:dispozitiv.funcție). Această etichetă este întotdeauna prima dintr-o înregistrare.
Numele clasei.
Numele fabricantului.
Numele dispozitivului.
Numele fabricantului subsistemului (opțional).
Numele subsistemului (opțional).
Slotul fizic în care se află dispozitivul (opțional, numai pentru Linux).
Numărul de revizie (opțional).
Interfața de programare (opțional).
Controlorul de nucleu care gestionează în prezent dispozitivul (opțional, numai pentru Linux).
Modulul nucleului care raportează că este capabil să gestioneze dispozitivul (opțional, numai pentru Linux). Pot apărea mai multe linii cu această etichetă.
Nodul NUMA la care este conectat acest dispozitiv (opțional, numai pentru Linux).
Grupul IOMMU din care face parte acest dispozitiv (opțional, numai pentru Linux).

În versiunile viitoare pot fi adăugate noi etichete, așa că ar trebui să ignorați liniștit orice etichete pe care nu le recunoașteți.

În acest mod, «lspci» încearcă să fie perfect compatibil cu vechile sale versiuni. Este aproape la fel ca formatul descriptiv obișnuit, dar eticheta Device este utilizată atât pentru slot, cât și pentru numele dispozitivului, astfel încât apare de două ori într-o singură înregistrare. Vă rugăm să evitați utilizarea acestui format în orice cod nou.

/usr/share/hwdata/pci.ids
O listă a tuturor ID-urilor PCI cunoscute (fabricanți, dispozitive, clase și subclase). Menținută la https://pci-ids.ucw.cz/, utilizați instrumentul update-pciids pentru a descărca cea mai recentă versiune.
/usr/share/hwdata/pci.ids.gz
Dacă «lspci» este compilat cu suport pentru comprimare, acest fișier este încercat înainte de fișierul „pci.ids”.
$XDG_CACHE_HOME/pci-ids
Toate ID-urile găsite în modul de interogare DNS sunt stocate în acest fișier.

Uneori, «lspci» nu este capabil să decodifice complet registrele de configurare. Acest lucru se întâmplă de obicei atunci când autorii nu au avut la dispoziție suficientă documentație. În astfel de cazuri, acesta imprimă cel puțin marcajul <?> pentru a semnala că este posibil să mai fie ceva de spus. Dacă cunoașteți detaliile, corecțiile vor fi bineînțeles binevenite.

Accesul la spațiul de configurare extins este în prezent oferit doar de către modulul linux_sysfs.

setpci(8), pci.ids(5), update-pciids(8), pcilib(7)

Utilitățile PCI sunt întreținute de Martin Mares <mj@ucw.cz>.

Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.

5 aprilie 2024 pciutils-3.12.0