Lspci

From EIK wiki

Andrus Dei 20.12.2011

Lspci

Lspci on utiliit, mis näitab infot PCI siinide ja nendesse ühendatud seadmete kohta. Enamasti kuvab see käsk lühikest ülevaadet PCI seadmete kohta. Kuid allpool toodud lisavõtmetega on võimalik saada täpsemat infot või saada teistele protsessidele kohandatud kuju. Osa PCI siinide konfiguratsioonist on lubatud ainult root kasutajale, seega on lspci käsk mõnel juhul piiratud tavakasutajatele. Siisk üritab lspci kuvada niipalju informatsiooni, kui võimalik, asendades piiratud info “acces denied” tekstiga.


Võtmed

Tava väljundid

  • -m

Väljastab PCI seadmete info tagantjärgi ühilduva masinloetavale kujule.

  • -mm

Väljastab PCI seadmete info masinloetavale kujule lihtsamaks protsessimiseks skriptide jaoks.

  • -t

Näitab puukujulist diagrammi milles sisalduvad kõik siinid, seadmed ja nendevahelised ühendused.


Kuvamis valikud

  • -v

Näitab detailset informatsiooni kõikide seadmete kohta.

  • -vv

Näitab veel detailsemat infot. See väljund sisaldab kõike, mida peetakse kasulikuks.

  • -vvv

Näitab veelgi detailsemat infot – üldjuhul keeruline ja ebahuvitav info. Nt defineerimata mälupiirkonnad jne.

  • -k

Näitab kerneli drivereid mis juhivad igat seadet ja samuti kerneli mooduleid, mis võimaldavad neid juhtida. Vaikimisi sisselülitatud kui kasutatakse –v võtit

  • -x

Näitab hex kujul konfiguratsiooni standartset osa (esimesed 64 baiti või 128 baiti CardBus sildade jaoks).

  • -xxx

Näitab kogu väljundit PCI konfiguratsiooni alast hex kujul. See on saadaval ainult root kasutajale.

  • -xxxx

Näitab hex kujul väljundit laiendatud (4096 baiti) PCI konfiguratsiooni alast PCI-X 2.0 ja PCI Express siinidest.

  • -b

Siinikeskne vaade. Näitab kõiki IRQ numbreid ja aadresse nagu nad on näha PCI siini kaartidel.

  • -D

Näitab alati PCI domeeni numbreid. Vaikimisi vaikitakse numbrid maha kui domeen on 0.


Valikud kontrollimaks ID-de lahendumist nimedeks

  • -n

Näitab PCI tootja ja seadme koodi numbritena

  • -nn

Näitab PCI tootja ja seadme koodi numbritena ja nimedena.

  • -q

Kasutab DNS teenust, et teha päring PCI ID baasist kui seade pole leitud kohalikus pci.ids failis. Kui DNS päring õnnestub, talletatakse info ~/.pciids-cache asukohta.

  • -qq

Sama mis -q, aga kohalik cache nullitakse.

  • -Q

Teeb päringu keskbaasi isegi siis, kui seadmed on tuvastatud lokaalselt. Kasutatakse siis, kui on kahtlust, et seadme info on vale.


Seadmete valimine

  • -s [[[[<domain>]:]<bus>]:][<slot>][.[<func>]]

Näitab ainult määratud domeenis, siinil, pesas olevaid seadmeid. Iga seadme aadressi komponendi saab määrata “*” väärtuseks, mis tähendab “suvalist väärtust” Kõik numbrid on hex kujul.

  • -d [<vendor>]:[<device>]

Näitab ainult seadmeid mis on määratud tootja või seadme ID-ga. Samuti kõik numbrid hex kujul ja võib asendada “ * “ sümboliga.


Teised valikud

  • -i <file>

Kasutab <file> PCI ID nimekirjana “/usr/share/hwdata/pci.ids” asemel

  • -p <file>

Kasutab <file> PCI ID kaardina mida haldavad kerneli moodulid. Vaikimisi kasutab lspci /lib/modules/kernel_versioon/modules.pcimap

  • -M

Sunnib siinide kaardistamide režiimimis teostab põhjaliku skanneerimise kõikidest PCI seadmetest, kaasaarvatud need seadmed mis on konfigureerimata sildade taga vms. See valik annab mõistlikke tulemusi ainult riistvaralise otse pöördumise puhul, mis tavaliselt nõuab root kasutaja õigusi.

  • --version

Näitab lspci versiooni.


PCI seadme poole pöördumise valikud

PCI utiliidid kasutavad PCI infokogu, et suhelda PCI seadmetega. On võimalik kasutada järgnevaid võtmeid, et mõjutada väljundi tüüpi.

  • -A <method>

Infokogu sisaldab mitmeid meetodeid, et suhelda PCI riistvara. Vaikimisi kasutatakse esimest meetodit. –A võti kirjutab selle reegli üle

  • -O <param>=<value>

Infokogu käitumist kontrollivad mitmed määratud parameetrid. See võti lubab muuta parameetreid

  • -H1

Kasutab riistvara otsest konfigureerimist “Intel configuration mechanism 1” kaudu.See on lühend -A intel-conf1 -st

  • -H2

Kasutab riistvara otsest konfigureerimist “Intel configuration mechanism 2” kaudu.See on lühend -A intel-conf2 -st

  • -F <file>

Loeb info riistvara kohta registritest, “päris” seadmeid kasutamata

  • -G

Suurendab infokogu debugimis taset.


Masinloetav väljund

Kui soovitakse kasutada või saata lspci väljundit automaatselt teistesse protsessidesse, tuleks kasutada ühte masinloetavat väljunditest (-m, -vm, -vmm) Teiste võtmete puhul võib loetavus muutuda lspci erinevate versioonide tõttu.

Lihtne formaat (-m)

Kõik seadmed on kirjeldatud eraldi ridadel, mis on vormindatud parameetritena - sobilikud shell skriptile. Nt väärtused eraldatud tühikutega, jutumärkidega eraldatud jne. Osad argumendid on positsioonilised: pesa, klass, tootja nimi, seadme nimi, allsüsteemi tootja nimi.

Detailsem formaat (-vmm)

On märkmete jada eraldatud tühjade ridadega. Iga märge kirjeldab ühte seadet ridade jadaga, iga rida sisaldades “nimetus: väärtus” paari.

Saadaval on järgmised nimetused:

  • Slot

Pesa nimi kus seade asub ([domain:]bus:device.function). See nimetus on alati esimene.

  • Class

Klassi nimi.

  • Vendor

Tootja nimi.

  • Device

Seadme nimi.

  • SVendor

Allsüsteemi tootja nimi (valikuline).

  • SDevice

Allsüsteemi nimi (valikuline).

  • PhySlot

Füüsiline pesa kus seade asub

  • Rev

Revisjoni number (valikuline).

  • ProgIf

Programmeerimisliides (valikuline).

  • Driver

Kerneli driver mis parasjagu haldab seadet.

  • Module

Kerneli moodul, mis raporteerib seadme haldamise võimalust

Tagantjärgi ühilduv detailne formaat (-vm)

Selles režiimis, üritab lspci olla võimalikult ühilduv oma vanemate versioonidega. Põhiliselt on see sama, mis tavaline detailne formaat, kuid Device kirjet kasutatakse nii pesa kui ka seadme nime puhul.


Failid

  • /usr/share/hwdata/pci.ids

Nimekiri kõigist tuntud PCI ID-dest. Hallatakse http://pciids.sourceforge.net/ projektis. Kasutada update-pciids utiliiti, et uuendada kõige uuemaks versiooniks.

  • /usr/share/hwdata/pci.ids.gz

Kui lspci on kompileeritud pakkimise toega, kasutatakse seda faili enne pci.ids-i

  • ~/.pciids-cache

Kõik ID-d talletatakse siia DNS päringute poolt.


Bugid ja vead

Vahel ei suuda lspci lahti kodeerida konfiguratsiooni registreid päris täiuslikult. Tavaliselt juhtub see siis, kui arendajatel pole olnud piisavalt dokumentatsiooni. Sellistel juhtudel väljastab lspci <?> märke vihjamaks, et potentsiaalselt võib olla seadme kohta rohkem infot saadaval.