O poleceniu LSPCI w Linux

O poleceniu LSPCI w Linux
LSPCI Polecenie jest narzędziem systemów Linux używanych do znalezienia informacji o autobusach i urządzeniach PCI podłączonych do podsystemu PCI. Możesz zrozumieć znaczenie polecenia, biorąc pod uwagę słowo LSPCI w dwóch częściach. Pierwsza część LS to standardowe narzędzie używane w Linux do wymieniania informacji o plikach w systemie plików. PCI jest drugą częścią polecenia, więc można naturalnie zobaczyć polecenie LSPCI Wymienia informacje o podsystemie PCI w taki sam sposób LS Wymienia informacje o systemie plików.

W tym artykule wyjaśnimy podstawy PCI, PCIE i polecenia LSPCI w celu wyświetlania informacji o twoim systemie.

Co to jest PCI?

PCI, czyli komponenty peryferyjne Interconnect to interfejs dodający dodatkowe komponenty sprzętowe do systemu komputerowego. PCIE lub PCI Express to zaktualizowany standard używany dzisiaj. Załóżmy na przykład, że chcesz dodać kartę Ethernet do komputera, aby mogła uzyskać dostęp do Internetu i wymieniać dane. Cóż, karta potrzebuje protokołu do komunikacji z resztą systemu wewnętrznego, PCI może być standardowym interfejsem używanym do dodania tej karty do systemu. Nadal potrzebujesz sterownika do tej karty, aby jej jądro mogło go używać, jednak PCI jest gniazdem, a magistra. Tworzenie sterownika PCI Linux będzie śledzić niektóre standardowe interfejsy. Możesz zobaczyć ze struktury poniżej standardowych metod, które należy wdrożyć. Metody takie jak sonda, usunąć, wstrzymać, wznawiać, itp.

struct pci_driver
struct List_head Node;
const char *nazwa;
const struct pci_device_id *id_table;
int ( *sonda) (struct pci_dev *dev, const struct pci_device_id *id);
void ( *remove) (struct pci_dev *dev);
int ( *zawieszenie) (struct pci_dev *dev, pm_message_t stan);
int ( *wznowić) (struct pci_dev *dev);
void ( *shutdown) (struct pci_dev *dev);
int ( *sriov_configure) (struct pci_dev *dev, int num_vfs);
const struct pci_error_handlers *err_handler;
const struct atrybut_group ** grupy;
struct device_driver sterownik;
struct pci_dynids dynids;
;

PCI prędkości i użycia

PCI 3.0 może uruchomić dane do 1 GB/s na pas. Różne urządzenia mogą mieć więcej niż jeden pas, więc możliwe jest, że poszczególne urządzenia mogą mieć multi-gigabajty szybkości transferu danych. Te liczby zawsze się poprawiają, ponieważ pojawiają się nowe wersje specyfikacji i pojawiają się nowy sprzęt, więc zawsze sprawdź najnowsze i najszybsze znalezienie. Rodzaje komponentów i gadżetów, które można kupić w interfejsie PCI, obejmują: adaptery WiFi, Bluetooth, NVME Solid State Karty, karty graficzne i wiele innych.

Odkrywanie polecenia LSPCI

Stworzyłem Ubuntu 19.04 Instancja w Google Cloud i teraz uruchomi LSPCI polecenie i zobacz, co się stanie.

To, co widzisz, to jedna linia na urządzenie z kodem numerycznym i ustnym opisem urządzenia. W tym wyjściu na linię wyświetlane jest w rzeczywistości 5 pól: gniazdo, klasa, dostawca, urządzenie i rewizja.

Więc rozbicie pierwszej linii, co mamy:

OTWÓR: 00:00.0
Klasa: Most gospodarza
Sprzedawca: Korporacja intelektualna
Urządzenie: 440FX - 82441FX PMC
Rewizja: 02

I patrząc na automat 00:04.0 To jest nasz kontroler Ethernet, który wydaje się być urządzeniem wirtualnym w ramach wirtualnej magii wdrażania w chmurze Google.

Aby uzyskać bardziej szczegółowe, pełne informacji o każdym szczelinie PCI, uruchom następujące polecenie:

# lspci -vmm

To polecenie rozbije każdy wiersz na pola komponentów i pozwoli ci analizować każde urządzenie za pomocą bardziej opisowych etykiet.

Możesz także wypróbować opcję -v, aby uzyskać bardziej szczegółowe wyjście

# lspci -v

I użyj podwójnego V lub Tripple V dla Verby Verby Raośne wyjście:

# lspci -vvv

Lub wypróbuj opcję -mm dla formatu wyjściowego czytelnego skryptu.

# lspci -mm

Aby zobaczyć, który sterownik jądra jest używany dla każdej opcji uruchamiania urządzenia -K.

Wiele moich urządzeń używa sterownika Virtio-PCI.

Na koniec możesz nawet zobaczyć zrzut sześciokadciowy „standardowej części przestrzeni konfiguracyjnej” dla każdego urządzenia PCI. Powinieneś być prawdziwym hakerem jądra, aby dowiedzieć się, jak korzystać z tych informacji. -X opcja jest tym, co daje wyjście zrzutu.

# lspci -x

Wniosek

Polecenie LSPCI to standardowe polecenie Linux, które można użyć do wymienienia informacji o urządzeniach podłączonych do PCI w systemie. Może to być przydatne, aby wiedzieć, jakie masz urządzenia peryferyjne. Jest również bardzo przydatny dla programistów, twórców sterowników urządzeń, systemów niskiego poziomu, aby zapytać o informacje o urządzeniach, sterownikach i systemie. Ciesz się używaniem LSPCI.