lspci(8) – strona podręcznika systemu Linux

Nazwa

lspci – lista wszystkich urządzeń PCI

Streszczenie

lspci

opis

lspci jest narzędziem do wyświetlania informacji o PCI magistrali w systemie i podłączonych do nich urządzeń.

domyślnie wyświetla krótką listę urządzeń. Użyj opcji opisanych poniżej, aby zażądać bardziej obszernego wyjścia lub wyjścia przeznaczonego do parsowania przez inne programy.

jeśli masz zamiar zgłaszać błędy w sterownikach urządzeń PCI lub w samym lspci, Dołącz wyjście „lspci-vvx” lub jeszcze lepiej „lspci-vvxxx”(jednak poniżej znajdują się ewentualne zastrzeżenia).

niektóre części wyjścia, zwłaszcza w bardzo gadatliwych trybach, są prawdopodobnie zrozumiałe tylko dla doświadczonych hakerów PCI. Dokładne definicje pól można znaleźć w specyfikacji PCI lub w nagłówku.h I / usr / include/linux / PCI.H Dołącz pliki.

dostęp do niektórych części przestrzeni konfiguracyjnej PCI jest ograniczony do roota na wielu systemach operacyjnych, więc funkcje lspci dostępne dla zwykłych Użytkowników są ograniczone. Jednak lspci stara się jak najlepiej wyświetlić tyle, ile jest dostępnych i oznaczyć wszystkie inne informacje tekstem <Odmowa dostępu>.

opcje

podstawowe tryby wyświetlania

-m

zrzut danych urządzenia PCI w kompatybilnej, czytelnej dla maszyn formie. Szczegóły poniżej.

-mm

zrzuć dane urządzenia PCI w formie czytelnej dla maszyn, aby ułatwić parsowanie za pomocą skryptów. Szczegóły poniżej.

-T

pokazuje drzewny diagram zawierający wszystkie magistrale, mosty, urządzenia i połączenia między nimi.

opcje wyświetlania

– v

są szczegółowe i wyświetlają szczegółowe informacje o wszystkich urządzeniach.

-vv

bądź bardzo gadatliwy i wyświetl więcej szczegółów. Poziom ten obejmuje wszystko, co uważa się za użyteczne.

– VVV

bądź jeszcze bardziej gadatliwy i wyświetlaj wszystko, co jesteśmy w stanie przetworzyć, nawet jeśli nie wygląda to interesująco (np. niezdefiniowane obszary pamięci).

-K

pokazuje sterowniki jądra obsługujące każde urządzenie, a także moduły jądra zdolne do jego obsługi. Domyślnie włączone, gdy podano-v w normalnym trybie output. (Obecnie działa tylko na Linuksie z jądrem 2.6 lub nowszym.)

-x

pokazuje zrzut szesnastkowy standardowej części przestrzeni konfiguracyjnej (pierwsze 64 bajty lub 128 bajtów dla mostków CardBus).

-xxx

pokazuje zrzut szesnastkowy całej przestrzeni konfiguracyjnej PCI. Jest on dostępny tylko dla roota, ponieważ kilka urządzeń PCI ulega awarii podczas próby odczytania niektórych części przestrzeni konfiguracyjnej (to zachowanie prawdopodobnie nie narusza standardu PCI, ale jest co najmniej bardzo głupie). Jednak takie urządzenia są rzadkie, więc nie musisz zbytnio się martwić.

-xxxx

pokazuje szesnastkowy zrzut rozszerzonej (4096-bajtowej) przestrzeni konfiguracyjnej PCI dostępnej w magistralach PCI-X 2.0 i PCI Express.

-B

Widok zorientowany na autobus. Pokazuje wszystkie numery IRQ i adresy widoczne przez karty na magistrali PCI, a nie przez jądro.

-D

Zawsze pokazuj numery domen PCI. Domyślnie, lspci tłumi je na maszynach, które mają tylko domenę 0.

opcje kontrolowania rozdzielania identyfikatorów na nazwy

-n

pokazują kody dostawcy i urządzenia PCI jako numery, zamiast szukać ich na liście identyfikatorów PCI.

-NN

pokazuje kody dostawcy i urządzenia PCI jako numery i nazwy.

-q

użyj DNS do odpytywania centralnej bazy identyfikatorów PCI, jeśli urządzenie nie zostanie znalezione w lokalnym pci.plik ids. Jeśli zapytanie DNS powiedzie się, wynik jest buforowany w~/.pciids-cache i jest rozpoznawany w kolejnych uruchomieniach, nawet jeśli-q nie jest już podany. Proszę używać tego przełącznika tylko wewnątrz automatycznych skryptów z ostrożnością, aby uniknąć przeciążenia serwerów baz danych.

-qq

to samo co-q, ale lokalny bufor jest resetowany.

-Q

odpytuje centralną bazę danych nawet o wpisy, które są rozpoznawane lokalnie. Użyj tego, jeśli podejrzewasz, że wyświetlany wpis jest nieprawidłowy.

opcje wyboru urządzeń

– s:] <bus>]:]] Pokazuje tylko urządzenia w podanej domenie (w przypadku, gdy twoja maszyna ma kilka mostów hosta, mogą one współdzielić wspólną przestrzeń numerów magistrali lub każde z nich może adresować własną domenę PCI; domeny są ponumerowane od 0 do ffff), magistralę (0 do ff), Gniazdo (0 do 1f) i funkcję (0 do 7). Każdy składnik urządzeniaaddress może być pominięty lub ustawiony na”*”, co oznacza „dowolną wartość”. Wszystkie liczby są szesnastkowe. Np. „0:” oznacza wszystkie urządzenia na magistrali 0, „0”oznacza wszystkie funkcje urządzenia 0 Na dowolnej magistrali,” 0.3 „wybiera trzecią funkcję urządzenia 0 na wszystkich magistralach i”.4 ” pokazuje tylko czwartą funkcję każdego urządzenia. – D: Pokaż tylko Urządzenia z określonym dostawcą i identyfikatorem urządzenia. Oba identyfikatory są podane w systemie szesnastkowym i mogą być pominięte lub podane jako”*”, co oznacza „anyvalue”.

inne opcje

– i < plik>użyj < plik> jako listy identyfikatorów PCI zamiast /usr/share/hwdata/pci.dokumenty. – P< plik > użyj < plik> jako mapy identyfikatorów PCI obsługiwanych przez moduły jądra. Domyślnie lspci używa /lib / modules/kernel_version / modules.pcimap. Dotyczy tylko Systemów Linux z najnowszymi narzędziami modułowymi. – M

wywołuje tryb mapowania magistrali, który wykonuje dokładne skanowanie wszystkich urządzeń PCI, w tym tych za źle skonfigurowanymi mostkami itp. Ta opcja daje znaczeniewyniki tylko w trybie bezpośredniego dostępu sprzętowego, który zwykle wymaga uprawnień roota. Należy pamiętać, że maper magistrali skanuje tylko domenę PCI 0.

— version pokazuje wersję lspci. Opcja ta powinna być używana samodzielnie.

opcje dostępu do PCI

narzędzia PCI używają biblioteki PCI do rozmów z urządzeniami PCI (szczegóły w pcilib(7)). Możesz użyć następujących opcji, aby wpłynąć na jego zachowanie:- A< metoda > biblioteka obsługuje różne metody dostępu do sprzętu PCI. Domyślnie korzysta z pierwszej dostępnej metody dostępu, ale możesz użyć tej opcji, aby podjąć tę decyzję. Zobacz-Pomoc dla listy dostępnych metod i ich opisów. – O <param>=<value> zachowanie biblioteki jest kontrolowane przez kilka nazwanych parametrów. Opcja ta umożliwia ustawienie wartości dowolnego z parametrów. Użyj-o help dla listy znanych parametrów i ich domyślnych wartości. – H1

użyj bezpośredniego dostępu sprzętowego za pośrednictwem mechanizmu konfiguracji Intela 1. (Jest to skrót od-intel-conf1.)

-H2

użyj bezpośredniego dostępu sprzętowego za pośrednictwem mechanizmu konfiguracji Intela 2. (Jest to skrót od-intel-conf2.)

-f <plik> zamiast uzyskiwać dostęp do prawdziwego sprzętu, przeczytaj listę urządzeń i wartości ich rejestrów konfiguracyjnych z podanego pliku wytworzonego przez wcześniejsze uruchomienie oflspci-x. jest to bardzo przydatne do analizy raportów o błędach dostarczonych przez użytkownika, ponieważ możesz wyświetlić konfigurację sprzętu w dowolny sposób, bez blokowania użytkownika żądaniami o więcej zrzutów. – G

zwiększa poziom debugowania biblioteki.

Dane wyjściowe do odczytu maszynowego

jeśli zamierzasz przetwarzać dane wyjściowe lspci automatycznie, użyj jednego z formatów wyjściowych do odczytu maszynowego (- m,- vm,- vmm)opisanych w tej sekcji. Wszystkie inne formaty mogą się zmieniać między wersjami lspci.

wszystkie liczby są zawsze drukowane w systemie szesnastkowym. Jeśli chcesz przetwarzać numeryczne ID zamiast nazw, dodaj przełącznik – n.

prosty format (- m)

w prostym formacie każde urządzenie jest opisane w jednej linii, która jest sformatowana jako parametry odpowiednie do przekazania do skryptu powłoki, tj., valuesseparated by whitespaces, quoted and escape if necessary. Niektóre argumenty są pozycyjne: slot, class, vendor name, device name, subsystem vendor name I subsystem name (dwa ostatnie są puste, jeśli urządzenie nie ma podsystemu); pozostałe argumenty są typu option:-rrev

Numer wersji.

-interfejs programowania pprogif. Względna kolejność argumentów pozycyjnych i opcji jest nieokreślona. Nowe opcje mogą być dodawane w przyszłych wersjach, ale zawsze będą miały pojedynczy dokument nie oddzielony od opcji żadnymi spacjami, więc mogą być łatwo ignorowane, jeśli nie zostaną rozpoznane.

Verbose format (- vmm)

verbose output to sekwencja rekordów oddzielonych pustymi liniami. Każdy rekord opisuje pojedyncze urządzenie za pomocą sekwencji linii, każda linia zawiera pojedynczą parę „tag: wartość”. Znacznik i wartość są oddzielone pojedynczym znakiem tabulacji. Ani rekordy, ani wiersze w arecord nie są w żadnej konkretnej kolejności. Znaczniki uwzględniają wielkość liter.

zdefiniowane są następujące znaczniki:

Slot

nazwa gniazda, w którym znajduje się urządzenie (bus: device.funkcja). Ten znacznik jest zawsze pierwszy w rekordzie.

Klasa

Nazwa klasy.

sprzedawca

nazwa sprzedawcy.

urządzenie

Nazwa urządzenia.

SVendor Nazwa dostawcy podsystemu (opcjonalnie). SDevice Nazwa podsystemu (opcjonalnie). PhySlot fizyczne gniazdo, w którym znajduje się urządzenie (opcjonalnie, tylko Linux). Rev

Numer wersji (opcjonalnie).

ProgIf

interfejs programowania (opcjonalnie).

sterownik

sterownik jądra aktualnie obsługujący urządzenie (opcjonalnie, tylko Linux).

moduł

moduł jądra informujący, że jest w stanie obsługiwać urządzenie (opcjonalnie, tylko Linux).

Nowe Tagi mogą być dodawane w przyszłych wersjach, więc powinieneś po cichu ignorować wszystkie tagi, których nie rozpoznajesz.

wstecznie kompatybilny verbose format (- vm)

w tym trybie lspci stara się być idealnie kompatybilny ze starymi wersjami. Jest prawie taki sam jak zwykły format gadatliwy, ale znacznik urządzenia jest używany zarówno dla gniazda, jak i nazwy urządzenia, więc występuje dwa razy w jednym rekordzie. Unikaj używania tego formatu w nowym kodzie.

pliki

/usr/share/hwdata / pci.ids

lista wszystkich znanych identyfikatorów PCI (dostawców, urządzeń, klas i podklas). Utrzymany w http://pciids.sourceforge.net/, użyj update-pciids Utility, aby pobrać najnowszą wersję. / usr / share / hwdata / pci.dokumenty.gz jeśli lspci jest skompilowany z obsługą kompresji, ten plik jest próbowany przed pci.dokumenty. ~/.pciids-cache wszystkie ID Znalezione w trybie zapytania DNS są buforowane w tym pliku.

błędy

czasami lspci nie jest w stanie całkowicie odszyfrować rejestrów konfiguracyjnych. Zwykle dzieje się tak, gdy twórcy nie mieli wystarczającej ilości dokumentacji. W takich przypadkach, to przynajmniej drukuje <?> Zaznacz, aby zasygnalizować, że potencjalnie jest coś więcej do powiedzenia . Jeśli znasz szczegóły, łatki będą oczywiście mile widziane.

dostęp do rozszerzonej przestrzeni konfiguracyjnej jest obecnie obsługiwany tylko przez zaplecze linux_sysfs.

Zobacz także

setpci(8), update-pciids(8), pcilib(7)

Autor

narzędzia PCI są utrzymywane przez Martina Maresa <[email protected]>.



+