lspci(8) Narzedzia PCI lspci(8) NAZWA lspci - wypisuje wszystkie urzadzenia PCI SKLADNIA lspci [opcje] OPIS lspci jest narzedziem do wyswietlania informacji o wszystkich szynach PCI systemu i podlaczonych do nich urzadzeniach. Domyslnie, pokazuje zwiezla liste urzadzen. Uzywajac opcji opisanych ponizej, mozna uzyskac bardziej szczegolowy wynik lub wyjscie odpowiednie do przetworzenia przez inne programy. Aby zglaszac bledy w sterownikach PCI lub w samym lspci, prosze dolaczyc wynik wywolania "lspci -vvx", a jeszcze lepiej "lspci -vvxxx" (uwzgledniajac ponizsze, ewentualne zastrzezenia). Niektore czesci wyniku, szczegolnie w bardzo szczegolowych trybach, sa zrozumiale prawdopodobnie jedynie dla doswiadczonych hakerow PCI. Aby poznac dokladne definicje pol, prosze zapoznac sie ze specyfikacjami PCI lub plikami header.h i /usr/include/linux/pci.h. Dostep do niektorych czesci przestrzeni konfiguracyjnej PCI, w wielu systemach operacyjnych jest ograniczony do roota, zatem funkcje lspci dostepne zwyklym uzytkownikom sa ograniczone. Program stara sie jednak wyswietlic tak duzo informacji, jak tylko jest to mozliwe oraz oznaczyc pozostale informacje tekstem (dostep zastrzezony). OPCJE Podstawowe tryby wyswietlania -m Zrzuca dane urzadzenia PCI w kompatybilnej wstecznie postaci czytelnej maszynowo. Patrz nizej. -mm Zrzuca dane urzadzenia PCI w postaci czytelnej maszynowo, do latwego przetwarzania przez skrypty. Patrz nizej. -t Pokazuje drzewiasty diagram zawierajacy wszystkie szyny, mosty, urzadzenia i polaczenia miedzy nimi. Opcje wyswietlania -v Wyswietla szczegolowe informacje o wszystkich urzadzeniach. -vv Wyswietla jeszcze wiecej szczegolow. Ten poziom obejmuje wszystko co moze okazac sie przydatne. -vvv Poziom najbardziej szczegolowy - wyswietlane jest wszystko co program jest w stanie przetworzyc, nawet jesli wyglada na to calkowicie nieprzydatne (np. niezdefiniowane obszary pamieci). -k Pokazuje sterowniki jadra obslugujace kazde z urzadzen oraz moduly jadra zdolne je obsluzyc. Wlaczone domyslnie, gdy podana jest opcja -v w normalnym trybie wyniku (obecnie dziala wylacznie z jadrem Linux 2.6 i nowszym). -x Pokazuje szesnastkowy zrzut standardowej czesci standardowej przestrzeni konfiguracyjnej (pierwsze 64 bajty lub 128 bajtow w przypadku mostkow CardBus). -xxx Pokazuje szesnastkowy zrzut calej przestrzeni konfiguracyjnej PCI. Dostepne tylko dla roota, gdyz czesc urzadzen PCI zalamuje sie gdy probuje sie odczytac niezdefiniowane obszary przestrzeni konfiguracyjnej (zachowanie to prawdopodobnie nie narusza standardu PCI, lecz jest co najmniej bardzo glupie). Poniewaz jednak takie urzadzenia sa rzadkoscia, nie nalezy sie tym zbytnio przejmowac. -xxxx Pokazuje szesnastkowy zrzut rozszerzonej (4096-bajtowej) przestrzeni konfiguracyjnej PCI dostepnej 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 jadra. -D Zawsze wyswietla liczby domen PCI. Domyslnie, lspci nie czyni tego w przypadku komputerow posiadajacych wylacznie domene 0. -P Identyfikuje urzadzenia PCI przez sciezke kazdego mostu, zamiast za pomoca numeru szyny. -PP Identyfikuje urzadzenia PCI przez sciezke kazdego mostu, pokazujac zarowno numer szyny jak i numer urzadzenia. Opcje do kontroli przetwarzania identyfikatorow na nazwy -n Pokazuje dystrybutora PCI oraz kody urzadzenia jako numery, bez rozwijania ich w bazie danych ID PCI. -nn Pokazuje dystrybutora PCI oraz kody urzadzenia jako numery oraz nazwy. -q Uzywa DNS do odpytania glownej bazy identyfikatorow PCI, jesli urzadzenie nie zostanie znalezione w lokalnym pliku pci.ids. Jesli sie to powiedzie, wynik jest buforowany w $XDG_CACHE_HOME/pci-ids i jest rozpoznawany w kolejnych uruchomieniach programu nawet, jesli nie poda sie opcji -q ponownie. Prosze rozwaznie uzywac tego przelacznika w automatycznych skryptach, aby zapobiec przeciazeniu serwerow z baza danych. -qq To samo co -q, ale lokalny bufor podreczny jest resetowany. -Q Odpytuje centralna baze danych nawet, jesli wpisy sa rozpoznawane lokalnie. Prosze uzyc tej opcji, w przypadku podejrzenia, ze wyswietlany wpis jest nieprawidlowy. Opcje do wybierania urzadzen -s [[[[]:]]:][][.[]] Pokazuje urzadzenia tylko w okreslonej: domenie (w przypadku jesli ten komputer posiada kilka mostkow glownych, moga one albo wspoldzielic wspolna przestrzen numerow szyn, albo kazdy z nich moze adresowac swoja domene PCI; domeny sa numerowane od 0 do ffff), szynie (0 do ff), urzadzeniu (0 do 1f) i funkcji (0 do 7). Kazdy komponent adresu urzadzenia mozna pominac lub oznaczyc gwiazdka, co oznacza dowolna wartosc. Wszystkie numery sa szesnastkowe. Np. "0:" oznacza wszystkie urzadzenia na szynie 0, "0" oznacza wszystkie funkcje urzadzenia 0 na dowolnej szynie, "0.3" wybiera trzecia funkcje urzadzenia 0 na wszystkich szynach, a ".4" pokazuje czwarta funkcje kazdego urzadzenia. -d []:[][:][:]] Pokazuje tylko urzadzenia o okreslonym ID dystrybutora, urzadzenia, klasy i interfejsu programistycznego. Obydwa identyfikatory sa podawane szesnastkowo i moga byc pominiete lub okreslone jako "*" (w obu przypadkach oznacza to "dowolne"). Identyfikator klasy moze zawierac znaki "x" oznaczajace "dowolna cyfra". Inne opcje -i Uzywa jako listy identyfikatorow PCI, zamiast pliku /usr/share/hwdata/pci.ids. -p Uzywa jako mapy identyfikatorow PCI obslugiwanych przez moduly jadra. Domyslnie, lspci uzywa /lib/modules/wersja_jadra/modules.pcimap. Dotyczy tylko systemow Linux z odpowiednio nowymi narzedziami modulow. -M Przywoluje tryb mapowania szyny, ktory przeprowadza dokladne skanowanie wszystkich urzadzen PCI, w tym zle skonfigurowanych mostkow itp. Ta opcja daje przydatne rezultaty wylacznie w trybie bezposredniego dostepu do sprzetu, ktory zazwyczaj wymaga uprawnien roota. Domyslnie skanowana jest tylko domena. Mozna uzyc opcji -s aby wybrac inna domene. --version Wyswietla wersje lspci. Opcja ta powinna byc uzywana samodzielnie. Opcje dostepu do PCI Narzedzia PCI uzywaja biblioteki PCI do porozumiewania sie z urzadzeniami PCI (patrz pcilib(7), aby dowiedziec sie wiecej). Aby wplynac na jej zachowanie mozna uzyc nastepujacych opcji: -A Biblioteka obsluguje wiele metod dostepu do sprzetu PCI. Domyslnie uzywa pierwszej dostepnej metody, ale mozna uzyc tej opcji, aby przeslonic te decyzje. Dostepne metody wraz z ich opisami mozna uzyskac za pomoca opcji -A help. -O = Zachowanie biblioteki jest kontrolowane przez kilka nazwanych parametrow. Opcja pozwala ustawic wartosc dowolnych z nich. Aby poznac rozpoznawane parametry i ich domyslne wartosci prosze uzyc opcji -O help. -H1 Uzywa bezposredniego dostepu do sprzetu poprzez mechanizm 1 konfiguracji Intela (jest to skrocona postac -A intel-conf1). -H2 Uzywa bezposredniego dostepu do sprzetu poprzez mechanizm 2 konfiguracji Intela (jest to skrocona postac -A intel-conf2). -F Zamiast uzyskiwac dostep do rzeczywistego sprzetu, odczytuje liste urzadzen i wartosci ich rejestrow konfiguracyjnych z podanego pliku, uzyskanego wczesniej poleceniem lspci -x. Jest to przydatne do analizowania przekazanych przez uzytkownikow raportow o bledach, gdyz mozna wyswietlic konfiguracje sprzetowa w dowolnym stylu bez meczenia uzytkownika o nowe zrzuty. -G Zwieksza poziom debugowania w bibliotece. WYNIK ODCZYTYWALNY MASZYNOWO Jesli zamiarem uzytkownika jest automatyczne przetworzenie wyjscia lspci, nalezy uzyc jednego z formatow wyniku odczytywalnego maszynowo (-m, -vm, -vmm) opisanego w tym rozdziale. Wszystkie inne formaty moga sie zmienic pomiedzy wersjami lspci. Wszystkie liczby sa wyswietlane zawsze w postaci szesnastkowej. Aby przetworzyc identyfikatory numeryczne zamiast nazw, prosze dodac przelacznik -n. Format prosty (-m) W formacie prostym, kazde urzadzenie jest opisane w pojedynczym wierszu, ktory jest sformatowany jako parametry odpowiednie do podania do skryptu powloki tzn. wartosci sa oddzielone bialymi znakami, jesli to konieczne zastosowane jest cytowanie. Czesc argumentow jest pozycyjna: slot, klasa, nazwa dostawcy, nazwa urzadzenia, nazwa dostawcy podsystemu i nazwa podsystemu (dwie ostatnie sa puste, jesli urzadzenie nie ma podsystemu); pozostale argumenty wygladaja jak opcje: -rrew Numer rewizji. -pintprog Interfejs programistyczny. Wzgledna kolejnosc argumentow pozycyjnych i opcji jest niezdefiniowana. W przyszlych wersjach moga zostac dodane nowe opcje, ale beda one zawsze posiadaly pojedynczy argument, nieoddzielony od opcji spacjami - dzieki czemu moga byc latwo zignorowane, jesli nie zostana rozpoznane. Format szczegolowy (-vmm) Format szczegolowy jest sekwencja rekordow oddzielonych pustymi wierszami. Kazdy rekord opisuje pojedyncze urzadzenie za pomoca sekwencji wierszy, a kazdy wiersz zawiera pojedyncza pare "znacznik: wartosc". Znacznik i wartosc sa oddzielone pojedynczym znakiem tabulacji. Rekordy ani wiersze wewnatrz rekordow nie posiadaja okreslonej kolejnosci. W znacznikach istotna jest wielkosc liter. Zdefiniowano nastepujace znaczniki: Slot Nazwa slotu, w ktorym istnieje urzadzenie ([domena:]szyna:urzadzenie.funkcja). Ten znacznik jest zawsze pierwszy w rekordzie. Class Nazwa klasy. Vendor Nazwa dostawcy. Device Nazwa urzadzenia. SVendor Nazwa dostawcy podsystemu (opcjonalna). SDevice Nazwa podsystemu (opcjonalna). PhySlot Fizyczne gniazdo, w ktorym znajduje sie urzadzenie (opcjonalne, tylko Linux). Rev Numer rewizji (opcjonalny). ProgIf Interfejs programistyczny (opcjonalny). Driver Sterownik jadra, ktory aktualnie obsluguje urzadzenie (opcjonalny, tylko Linux). Module Modul jadra, ktory wskazuje ze jest zdolny obsluzyc to urzadzenie (opcjonalny, tylko Linux). Moze sie pojawic wiele wierszy z tym znacznikiem. NUMANode Wezel NUMA, z ktorym polaczone jest urzadzenie (opcjonalne, tylko Linux). IOMMUGroup Grupa IOMMU, ktorej czescia jest urzadzenie (opcjonalne, tylko Linux). W kolejnych wersjach moga zostac dodane nowe znaczniki, dlatego nalezy po cichu ignorowac te, ktore nie zostana rozpoznane. Wstecznie kompatybilny format szczegolowy (-vm) W tym trybie, lspci stara sie byc dokladnie kompatybilnym ze starszymi wersjami programu. Jest to prawie ten sam format co zwykly format szczegolowy, jednak znacznik Device jest uzywany zarowno jako nazwa slotu, jak i nazwa urzadzenia, tak wiec pojawia sie dwukrotnie w pojedynczym rekordzie. Prosze nie uzywac tego formatu w nowo tworzonym kodzie. PLIKI /usr/share/hwdata/pci.ids Lista wszystkich znanych identyfikatorow PCI (dostawcy, urzadzenia, klasy i podklasy). Zarzadzana na stronie https://pci-ids.ucw.cz/, prosze uzyc narzedzia update-pciids aby pobrac najnowsza wersje. /usr/share/hwdata/pci.ids.gz Jesli lspci jest skompilowane z obsluga kompresji, to ten plik jest wyprobowywany przed pci.ids. $XDG_CACHE_HOME/pci-ids Wszystkie identyfikatory znalezione w trybie odpytywania DNS sa przechowywane w tym pliku. USTERKI Czasami lspci nie jest w stanie calkowicie zdekodowac rejestrow konfiguracyjnych. Zdarza sie to zwykle gdy autorzy nie posiadali wystarczajacej dokumentacji. W takich przypadkach wyswietlane jest przynajmniej , aby zasygnalizowac, ze byc moze da sie wydobyc wiecej informacji. Autorzy chetnie przyjma latki, jesli ktos zechce uzupelnic te braki. Dostep do rozszerzonej przestrzeni konfiguracyjnej jest obecnie obslugiwany wylacznie przez backend linux-sysfs. ZOBACZ TAKZE setpci(8), pci.ids(5), update-pciids(8), pcilib(7) AUTOR Narzedziami PCI opiekuje sie Martin Mares . TLUMACZENIE Autorami polskiego tlumaczenia niniejszej strony podrecznika sa: Przemek Borys i Michal Kulach Niniejsze tlumaczenie jest wolna dokumentacja. Blizsze informacje o warunkach licencji mozna uzyskac zapoznajac sie z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje sie ZADNEJ ODPOWIEDZIALNOSCI. Bledy w tlumaczeniu strony podrecznika prosimy zglaszac na adres listy dyskusyjnej . pciutils-3.12.0 5 kwietnia 2024 r. lspci(8)