NAZWA¶
lspci - wypisuje wszystkie urządzenia PCI
SKŁADNIA¶
lspci [
opcje]
OPIS¶
lspci jest narzędziem do wyświetlania informacji o wszystkich
szynach PCI systemu i podłączonych do nich urządzeniach.
Domyślnie, pokazuje zwięzłą listę urządzeń.
Używając opcji opisanych poniżej, można uzyskać
bardziej szczegółowy wynik lub wyjście odpowiednie do
przetworzenia przez inne programy.
Aby zgłaszać błędy w sterownikach PCI lub w samym
lspci, proszę dołączyć wynik wywołania
"lspci -vvx", a jeszcze lepiej "lspci -vvxxx"
(uwzględniając poniższe, ewentualne zastrzeżenia).
Niektóre części wyniku, szczególnie w bardzo
szczegółowych trybach, są zrozumiałe prawdopodobnie
jedynie dla doświadczonych hakerów PCI. Aby poznać
dokładne definicje pól, proszę zapoznać się ze
specyfikacjami PCI lub plikami
header.h i
/usr/include/linux/pci.h.
Dostęp do niektórych części przestrzeni konfiguracyjnej PCI,
w wielu systemach operacyjnych jest ograniczony do roota, zatem funkcje
lspci dostępne zwykłym użytkownikom są ograniczone.
Program stara się jednak wyświetlić tak dużo informacji,
jak tylko jest to możliwe oraz oznaczyć pozostałe informacje
tekstem
<access denied> (dostęp zastrzeżony).
OPCJE¶
Podstawowe tryby wyświetlania¶
- -m
- Zrzuca dane urządzenia PCI w kompatybilnej wstecznie
postaci czytelnej maszynowo. Patrz niżej.
- -mm
- Zrzuca dane urządzenia PCI w postaci czytelnej
maszynowo, do łatwego przetwarzania przez skrypty. Patrz
niżej.
- -t
- Pokazuje drzewiasty diagram zawierający wszystkie
szyny, mosty, urządzenia i połączenia między nimi.
Opcje wyświetlania¶
- -v
- Wyświetla szczegółowe informacje o
wszystkich urządzeniach.
- -vv
- Wyświetla jeszcze więcej
szczegółów. Ten poziom obejmuje wszystko co może
okazać się przydatne.
- -vvv
- Poziom najbardziej szczegółowy - wyświetlane
jest wszystko co program jest w stanie przetworzyć, nawet jeśli
wygląda na to całkowicie nieprzydatne (np. niezdefiniowane
obszary pamięci).
- -k
- Pokazuje sterowniki jądra obsługujące
każde z urządzeń oraz moduły jądra zdolne je
obsłużyć. Włączone domyślnie, gdy podana
jest opcja -v w normalnym trybie wyniku (obecnie działa
wyłącznie z jądrem Linux 2.6 i nowszym).
- -x
- Pokazuje szesnastkowy zrzut standardowej części
standardowej przestrzeni konfiguracyjnej (pierwsze 64 bajty lub 128
bajtów w przypadku mostków CardBus).
- -xxx
- Pokazuje szesnastkowy zrzut całej przestrzeni
konfiguracyjnej PCI. Dostępne tylko dla roota, gdyż
część urządzeń PCI załamuje się
gdy próbuje się odczytać niezdefiniowane obszary
przestrzeni konfiguracyjnej (zachowanie to prawdopodobnie nie narusza
standardu PCI, lecz jest co najmniej bardzo głupie). Ponieważ
jednak takie urządzenia są rzadkością, nie należy
się tym zbytnio przejmować.
- -xxxx
- Pokazuje szesnastkowy zrzut rozszerzonej (4096-bajtowej)
przestrzeni konfiguracyjnej PCI dostępnej w szynach PCI-X 2.0 i PCI
Express.
- -b
- Widok szynocentryczny. Pokazuje wszystkie numery IRQ i
adresy widziane przez karty na szynie PCI, zamiast punktu widzenia
jądra.
- -D
- Zawsze wyświetla liczby domen PCI. Domyślnie,
lspci nie czyni tego w przypadku komputerów posiadających
wyłącznie domenę 0.
Opcje do kontroli przetwarzania identyfikatorów na
nazwy¶
- -n
- Pokazuje dystrybutora PCI oraz kody urządzenia jako
numery, bez rozwijania ich w bazie danych ID PCI.
- -nn
- Pokazuje dystrybutora PCI oraz kody urządzenia jako
numery oraz nazwy.
- -q
- Używa DNS do odpytania głównej bazy
identyfikatorów PCI, jeśli urządzenie nie zostanie
znalezione w lokalnym pliku pci.ids. Jeśli się to
powiedzie, wynik jest buforowany w ~/.pciids-cache i jest
rozpoznawany w kolejnych uruchomieniach programu nawet, jeśli nie
poda się opcji -q ponownie. Proszę rozważnie
używać tego przełącznika w automatycznych skryptach,
aby zapobiec przeciążeniu serwerów z bazą danych.
- -qq
- To samo co -q, ale lokalny bufor podręczny jest
resetowany.
- -Q
- Odpytuje centralną bazę danych nawet, jeśli
wpisy są rozpoznawane lokalnie. Proszę użyć tej opcji,
w przypadku podejrzenia, że wyświetlany wpis jest
nieprawidłowy.
Opcje do wybierania urządzeń¶
- -s
[[[[<domena>]:]<szyna>]
:][<slot>][ .[<funkcja>]]
- Pokazuje urządzenia tylko w określonej domenie (w
przypadku jeśli ten komputer posiada kilka mostków
głównych, mogą one albo współdzielić
wspólną przestrzeń numerów szyn, albo każdy z
nich może adresować swoją domenę PCI; domeny są
numerowane od 0 do ffff), szynie (0 do ff), slocie (0 do 1f) i funkcji (0
do 7). Każdy komponent adresu urządzenia można
pominąć lub oznaczyć gwiazdką, co oznacza dowolną
wartość. Wszystkie numery są szesnastkowe. Np.
"0:" oznacza wszystkie urządzenia na szynie 0,
"0" oznacza wszystkie funkcje urządzenia 0 na dowolnej
szynie, "0.3" wybiera trzecią funkcję urządzenia
0 na wszystkich szynach, a ".4" pokazuje czwartą
funkcję każdego urządzenia.
- -d
[<dostawca>]:[<urządzenie>]
- Pokazuje tylko urządzenia o określonym ID
urządzenia i dystrybutora. Obydwa ID są podawane szesnastkowo i
mogą być pominięte lub określone jako "*" (w
obu przypadkach oznacza to "dowolne").
Inne opcje¶
- -i <plik>
- Używa <pliku> jako listy
identyfikatorów PCI, zamiast pliku /usr/share/misc/pci.ids.
- -p <plik>
- Używa <pliku> jako mapy
identyfikatorów PCI obsługiwanych przez moduły jądra.
Domyślnie, lspci używa /lib/modules/
wersja_jądra/modules.pcimap. Dotyczy tylko systemów Linux
z odpowiednio nowymi narzędziami modułów.
- -M
- Przywołuje tryb mapowania szyny, który
przeprowadza dokładne skanowanie wszystkich urządzeń PCI, w
tym źle skonfigurowanych mostków itp. Ta opcja daje przydatne
rezultaty wyłącznie w trybie bezpośredniego dostępu do
sprzętu, który zazwyczaj wymaga uprawnień roota.
Proszę zauważyć, że skanowana jest tylko domena 0
PCI.
- --version
- Wyświetla wersję lspci. Opcja ta powinna
być używana samodzielnie.
Opcje dostępu do PCI¶
Narzędzia PCI używają biblioteki PCI do porozumiewania się z
urządzeniami PCI (patrz
pcilib(7), aby dowiedzieć się
więcej). Aby wpłynąć na jej zachowanie można
użyć następujących opcji:
- -A <metoda>
- Biblioteka obsługuje wiele metod dostępu do
sprzętu PCI. Domyślnie używa pierwszej dostępnej
metody, ale można użyć tej opcji, aby przesłonić
tę decyzję. Dostępne metody wraz z ich opisami można
uzyskać za pomocą opcji -A help.
- -O
<parametr>=<wartość>
- Zachowanie biblioteki jest kontrolowane przez kilka
nazwanych parametrów. Opcja pozwala ustawić wartość
dowolnych z nich. Aby poznać rozpoznawane parametry i ich
domyślne wartości proszę użyć opcji -O
help.
- -H1
- Używa bezpośredniego dostępu do sprzętu
poprzez mechanizm 1 konfiguracji Intela (jest to skrócona postać
-A intel-conf1).
- -H2
- Używa bezpośredniego dostępu do sprzętu
poprzez mechanizm 2 konfiguracji Intela (jest to skrócona postać
-A intel-conf2).
- -F <plik>
- Zamiast uzyskiwać dostęp do rzeczywistego
sprzętu, odczytuje listę urządzeń i wartości ich
rejestrów konfiguracyjnych z podanego pliku, uzyskanego
wcześniej poleceniem lspci -x. Jest to przydatne do analizowania
przekazanych przez użytkowników raportów o
błędach, gdyż można wyświetlić
konfigurację sprzętową w dowolnym stylu bez męczenia
użytkownika o nowe zrzuty.
- -G
- Zwiększa poziom debugowania w bibliotece.
WYNIK ODCZYTYWALNY MASZYNOWO¶
Jeśli zamiarem użytkownika jest automatyczne przetworzenie
wyjścia lspci, należy użyć jednego z formatów wyniku
odczytywalnego maszynowo (
-m,
-vm,
-vmm) opisanego w tym
rozdziale. Wszystkie inne formaty mogą się zmienić
pomiędzy wersjami lspci.
Wszystkie liczby są wyświetlane zawsze w postaci szesnastkowej. Aby
przetworzyć identyfikatory numeryczne zamiast nazw, proszę
dodać przełącznik
-n.
W formacie prostym, każde urządzenie jest opisane w pojedynczym
wierszu, który jest sformatowany jako parametry odpowiednie do podania do
skryptu powłoki tzn. wartości są oddzielone białymi
znakami, jeśli to konieczne zastosowane jest cytowanie.
Część argumentów jest pozycyjna: slot, klasa, nazwa
dostawcy, nazwa urządzenia, nazwa dostawcy podsystemu i nazwa podsystemu
(dwie ostatnie są puste, jeśli urządzenie nie ma podsystemu);
pozostałe argumenty wyglądają jak opcje:
- -rrew
- Numer rewizji.
- -pintprog
- Interfejs programistyczny.
Względna kolejność argumentów pozycyjnych i opcji jest
niezdefiniowana. W przyszłych wersjach mogą zostać dodane nowe
opcje, ale będą one zawsze posiadały pojedynczy argument,
nieoddzielony od opcji spacjami - dzięki czemu mogą być
łatwo zignorowane, jeśli nie zostaną rozpoznane.
Format szczegółowy jest sekwencją rekordów oddzielonych
pustymi wierszami. Każdy rekord opisuje pojedyncze urządzenie za
pomocą sekwencji wierszy, a każdy wiersz zawiera pojedynczą
parę "
znacznik:
wartość".
Znacznik i
wartość są oddzielone pojedynczym
znakiem tabulacji. Rekordy ani wiersze wewnątrz rekordów nie
posiadają określonej kolejności. W znacznikach istotna jest
wielkość liter.
Zdefiniowano następujące znaczniki:
- Slot
- Nazwa slotu, w którym istnieje urządzenie ([
domena:] szyna:urządzenie.funkcja). Ten
znacznik jest zawsze pierwszy w rekordzie.
- Class
- Nazwa klasy.
- Vendor
- Nazwa dostawcy.
- Device
- Nazwa urządzenia.
- SVendor
- Nazwa dostawcy podsystemu (opcjonalna).
- SDevice
- Nazwa podsystemu (opcjonalna).
- PhySlot
- Fizyczne gniazdo, w którym znajduje się
urządzenie (opcjonalne, tylko Linux).
- Rev
- Numer rewizji (opcjonalny).
- ProgIf
- Interfejs programistyczny (opcjonalny).
- Driver
- Sterownik jądra, który aktualnie obsługuje
urządzenie (opcjonalny, tylko Linux).
- Module
- Moduł jądra, który wskazuje że jest
zdolny obsłużyć to urządzenie (opcjonalny, tylko
Linux).
W kolejnych wersjach mogą zostać dodane nowe znaczniki, dlatego
należy po cichu ignorować te, które nie zostaną
rozpoznane.
W tym trybie, lspci stara się być dokładnie kompatybilnym ze
starszymi wersjami programu. Jest to prawie ten sam format co zwykły
format szczegółowy, jednak znacznik
Device jest używany
zarówno jako nazwa slotu, jak i nazwa urządzenia, tak więc
pojawia się dwukrotnie w pojedynczym rekordzie. Proszę nie
używać tego formatu w nowo tworzonym kodzie.
PLIKI¶
- /usr/share/misc/pci.ids
- Lista wszystkich znanych identyfikatorów
PCI (dostawcy, urządzenia, klasy i podklasy). Zarządzana na
stronie http://pciids.sourceforge.net/, proszę użyć
narzędzia update-pciids aby pobrać najnowszą
wersję.
- /usr/share/misc/pci.ids.gz
- Jeśli lspci jest skompilowane z obsługą
kompresji, to ten plik jest wypróbowywany przed pci.ids.
- ~/.pciids-cache
- Wszystkie identyfikatory znalezione w trybie odpytywania
DNS są przechowywane w tym pliku.
BŁĘDY¶
Czasami lspci nie jest w stanie całkowicie zdekodować rejestrów
konfiguracyjnych. Zdarza się to zwykle gdy autorzy nie posiadali
wystarczającej dokumentacji. W takich przypadkach wyświetlane jest
przynajmniej
<?>, aby zasygnalizować, że być
może da się wydobyć więcej informacji. Autorzy
chętnie przyjmą łatki, jeśli ktoś zechce
uzupełnić te braki.
Dostęp do rozszerzonej przestrzeni konfiguracyjnej jest obecnie
obsługiwany wyłącznie przez backend
linux-sysfs.
ZOBACZ TAKŻE¶
setpci(8),
update-pciids(8),
pcilib(7)
AUTOR¶
Narzędziami PCI opiekuje się Martin Mares <mj@ucw.cz>.
TŁUMACZENIE¶
Autorami polskiego tłumaczenia niniejszej strony podręcznika man
są: Przemek Borys (PTM) <pborys@dione.ids.pl> i Michał
Kułach <michal.kulach@gmail.com>.
Polskie tłumaczenie jest częścią projektu manpages-pl;
uwagi, pomoc, zgłaszanie błędów na stronie
http://sourceforge.net/projects/manpages-pl/. Jest zgodne z wersją
3.1.9 oryginału.