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.2.1 oryginału.