Lspci
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 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
Siini keskne 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.
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 versiooindega. Põhiliselt on see sama mis tavaline detailne formaat, kuid Device kirjet kasutatakse pesa ja 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.