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. | ||
-P |
Identify PCI devices by path through each bridge, instead of by bus number. | ||
-PP |
Identify PCI devices by path through each bridge, showing the bus number as well as the device number. |
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. | ||
|
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
[[[[<domain>]:]<bus>]:][<device>][.[<func>]]
Show only devices in the specified domain (in case your machine has several host bridges, they can either share a common bus number space or each of them can address a PCI domain of its own; domains are numbered from 0 to ffff), bus (0 to ff), device (0 to 1f) and function (0 to 7). Each component of the device address can be omitted or set to "*", both meaning "any value". All numbers are hexadecimal. E.g., "0:" means all devices on bus 0, "0" means all functions of device 0 on any bus, "0.3" selects third function of device 0 on all buses and ".4" shows only the fourth function of each device.
-d [<vendor>]:[<device>][:<class>]
Show only devices with specified vendor, device and class ID. The ID’s are given in hexadecimal and may be omitted or given as "*", both meaning "any value".
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ść>
The behavior of the library is controlled by several named parameters. This option allows one to set the value of any of the parameters. Use -O help for a list of known parameters and their default values.
-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.
Format
prosty (-m)
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 (-vmm)
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 |
Kernel module reporting that it is capable of handling the device (optional, Linux only). Multiple lines with this tag can occur. |
NUMANode
NUMA node this device is connected to (optional, Linux only).
IOMMUGroup
IOMMU group that this device is part of (optional, Linux only).
W kolejnych wersjach mogą zostać dodane nowe znaczniki, dlatego należy po cichu ignorować te, które nie zostaną rozpoznane.
Wstecznie
kompatybilny format szczegółowy (-vm)
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
A list of all known PCI ID’s (vendors, devices, classes and subclasses). Maintained at https://pci-ids.ucw.cz/, use the update-pciids utility to download the most recent version.
/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), pci.ids(5), update-pciids(8), pcilib(7)
AUTOR
Narzędziami PCI opiekuje się Martin Mares <mj [AT] ucw.cz>.
TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Przemek Borys <pborys [AT] dione.pl> i Michał Kułach <michal.kulach [AT] gmail.com>
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres <manpages-pl-list [AT] lists.net>.