lspci - listează toate dispozitivele PCI
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).
- -m
- Afișează datele dispozitivelor PCI într-un format de
citire pentru mașină compatibil cu versiunile anterioare. A
se vedea mai jos pentru detalii.
- -mm
- 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.
- -t
- Afișează o diagramă arborescentă care
conține toate magistralele, punțile, dispozitivele și
conexiunile dintre acestea.
Opțiuni de afișare
- -v
- Face o descriere mai amplă și afișează
informații detaliate despre toate dispozitivele.
- -vv
- Face o descriere foarte clară și afișează mai
multe detalii. Acest nivel include tot ceea ce se consideră
util.
- -vvv
- 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).
- -k
- 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).
- -x
- 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).
- -xxx
- 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.
- -xxxx
- 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.
- -b
- 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.
- -D
- Afișează întotdeauna numerele de domeniu PCI.
În mod implicit, lspci le suprimă pe mașinile care au
doar domeniul 0.
- -P
- Identifică dispozitivele PCI în funcție de ruta prin
fiecare punte, în loc de numărul de magistrală.
- -PP
- 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
- -n
- Afișează codurile fabricantului PCI și ale
dispozitivului PCI sub formă de numere în loc să le
caute în lista de ID-uri PCI.
- -nn
- Afișează codurile fabricantului PCI și ale
dispozitivelor atât sub formă de numere, cât
și de nume.
- -q
- 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.
- -qq
- La fel precum -q, dar fișierul de stocare local este
reinițializat.
- -Q
- 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
- -s
[[[[<domeniu>]:]<magistrala>]:][<dispozitiv>][.[<funcție>]]
- 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.
- -d
[<fabricant>]:[<dispozitiv>][:<clasa>[:<interfață-prog>]]
- 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ă”.
- -i
<fișier>
- Utilizează <fișier> ca listă de ID-uri
PCI în loc de fișierul
„/usr/share/misc/pci.ids”.
- -p
<fișier>
- 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.
- -M
- 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.
- --version
- 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:
- -A
<metodă>
- 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.
- -O
<parametru>=<valoare>
- 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.
- -H1
- Utilizează accesul direct la hardware prin mecanismul de
configurare Intel 1; (aceasta este o prescurtare pentru -A
intel-conf1).
- -H2
- Utilizează accesul hardware direct prin mecanismul de configurare
Intel 2; (aceasta este o prescurtare pentru -A intel-conf2).
- -F
<fișier>
- Î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.
- -G
- 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:
- -rrev
- Numărul de revizuire.
- -pinterfață-progf
- 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:
- Slot
- Numele slotului în care se află dispozitivul
([domeniu:]magistrala:dispozitiv.funcție).
Această etichetă este întotdeauna prima dintr-o
înregistrare.
- Class
- Numele clasei.
- Vendor
- Numele fabricantului.
- Device
- Numele dispozitivului.
- SVendor
- Numele fabricantului subsistemului (opțional).
- SDevice
- Numele subsistemului (opțional).
- PhySlot
- Slotul fizic în care se află dispozitivul (opțional,
numai pentru Linux).
- Rev
- Numărul de revizie (opțional).
- ProgIf
- Interfața de programare (opțional).
- Driver
- Controlorul de nucleu care gestionează în prezent
dispozitivul (opțional, numai pentru Linux).
- Module
- Modulul nucleului care raportează că este capabil să
gestioneze dispozitivul (opțional, numai pentru Linux). Pot
apărea mai multe linii cu această etichetă.
- NUMANode
- Nodul NUMA la care este conectat acest dispozitiv (opțional, numai
pentru Linux).
- IOMMUGroup
- 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/misc/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/misc/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.
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.