Ebben a cikkben elmagyarázzuk a PCI, a PCIe és az lspci parancs alapjait, hogy információkat jelenítsünk meg a rendszerén.
Mi a PCI?
A PCI vagy a Perifériás komponensek összekapcsolása olyan interfész, amely további hardverkomponenseket ad hozzá a számítógépes rendszerhez. PCIe vagy PCI Express a ma használt frissített szabvány. Tegyük fel például, hogy hozzá szeretne adni egy Ethernet kártyát a számítógépéhez, hogy az elérhesse az internetet és kicserélje az adatokat. Nos, a kártyának protokollra van szüksége a belső rendszer többi részével való kommunikációhoz, a PCI lehet a szabványos interfész, amelyet a kártya hozzáadásához használnak. Ennek a kártyának még mindig szüksége van illesztőprogramra a kernel használatához, azonban a PCI az a nyílás, valamint busz és interfész, amelyekkel a hardvert a rendszerhez szabványos interfésszel egészítik ki. A PCI linux meghajtó létrehozása néhány szabványos interfészt követ, amelyek dokumentációját láthatja a PCI linux illesztőprogram itt. Az alábbi struktúrából láthatja, hogy milyen szabványos módszereket kell megvalósítani. Olyan módszerek, mint szonda, eltávolítani, függessze fel, önéletrajz, stb.
struct pci_driverstruct list_head csomópont;
const char * név;
const struct pci_device_id * id_table;
int (* próba) (struct pci_dev * dev, const struct pci_device_id * id);
void (* eltávolít) (struct pci_dev * dev);
int (* felfüggesztés) (struct pci_dev * dev, pm_message_t állapot);
int (* folytatás) (struct pci_dev * dev);
void (* leállítás) (struct pci_dev * dev);
int (* sriov_configure) (struct pci_dev * dev, int num_vfs);
const struct pci_error_handlers * err_handler;
const struct attribútum_csoport ** csoportok;
struct device_driver illesztőprogram;
struct pci_dynids dynids;
;
PCI sebességek és felhasználások
PCI 3.A 0 legfeljebb futtathatja az adatokat 1 GB / sec sávonként. Különböző eszközöknek több sávja is lehet, így lehetséges, hogy az egyes eszközök több gigabájtos adatátviteli sebességgel rendelkezhetnek. Ezek a számok folyamatosan javulnak, mivel megjelennek a specifikáció új verziói és megjelennek az új hardverek, ezért mindig ellenőrizze a legújabb és leggyorsabb találatot. A PCI interfészbe csatlakoztatható alkatrészek és modulok típusai: WIFI-adapterek, Bluetooth, NVME Solid State Storage kártyák, grafikus kártyák és még sok más.
Az lspci parancs felfedezése
Létrehoztam egy Ubuntu 19-et.04 példány a Google felhőn, és most futtatja a lspci parancsot, és nézze meg, mi történik.
Amit látsz, az egy eszközönként egy sor, numerikus kóddal és az eszköz szóbeli leírásával. Valójában 5 mező jelenik meg ebben a kimenetben soronként: Hely, Osztály, Szállító, Eszköz és Felülvizsgálat.
Tehát az első sor lebontása, ami van:
RÉS: 00:00.0
Osztály: Gazdahíd
Eladó: Intel Corporation
Eszköz: 440FX - 82441FX PMC
Felülvizsgálat: 02
És a 00:04-es résbe nézve.0 ez az Ethernet vezérlőnk, amely virtuális eszköznek tűnik a Google felhőalapú telepítésének virtuális varázslatának részeként.
Az egyes PCI-bővítőhelyekről részletesebb és részletesebb információkért futtassa a következő parancsot:
# lspci -vmm
Ez a parancs az egyes sorokat összetevő mezőire bontja, és lehetővé teszi az egyes eszközök elemzését leíróbb címkékkel.
Kipróbálhatja a -v opciót a részletesebb kimenet érdekében
# lspci -v
Használjon dupla v-t vagy tripple v-t a verbus kimenethez:
# lspci -vvv
Vagy próbálja ki a -mm opciót a szkript által olvasható kimeneti formátumhoz.
# lspci -mm
Annak érdekében, hogy lássuk, melyik rendszermag-illesztőprogramot használják az egyes eszközök fut -k opcióihoz.
Sok eszközöm virtio-pci illesztőprogramot használ.
Végül még egy hexadecimális kiírást is láthat minden egyes PCI-eszközhöz „a konfigurációs tér szabványos része”. Valódi kernel-hackernek kell lenned, hogy kitaláld, hogyan kell felhasználni ezeket az információkat. -Az x opció adja a dump kimenetet.
# lspci -x
Következtetés
Az lspci parancs egy szabványos Linux parancs, amely felhasználható a rendszer PCI-hez csatlakoztatott eszközeivel kapcsolatos információk felsorolására. Ez hasznos lehet annak megismeréséhez, hogy milyen hardveres perifériák vannak. Szintén rendkívül hasznos a fejlesztőknek, az eszközillesztők készítőinek, az alacsony szintű rendszeres embereknek az eszközökről, az illesztőprogramokról és a rendszerről történő információk lekérdezéséhez. Élvezze az lspci használatát.