Linux-kommandon

Om lspci Command på Linux

Om lspci Command på Linux
lspci kommando är ett verktyg på Linux-system som används för att ta reda på information om PCI-bussar och enheter anslutna till PCI-delsystemet. Du kan förstå innebörden av kommandot genom att överväga ordet lspci i två delar.  Den första delen ls är standardverktyget som används på linux för att lista information om filerna i filsystemet.  Pci är den andra delen av kommandot, så du kan naturligtvis se kommandot lspci kommer att lista information om PCI-delsystem på samma sätt som ls kommer att lista information om filsystemet.

I den här artikeln kommer vi att förklara grunderna för PCI, PCIe och lspci-kommandot för att visa information på ditt system.

Vad är PCI?

PCI, eller Peripheral Component Interconnect är ett gränssnitt för att lägga till ytterligare hårdvarukomponenter i ett datorsystem.  PCIe eller PCI Express är den uppdaterade standarden som används idag.  Låt oss till exempel säga att du vill lägga till ett Ethernet-kort på din dator så att det kan komma åt internet och utbyta data.  Kortet behöver ett protokoll för att kommunicera med resten av det interna systemet, PCI kan vara standardgränssnittet som används för att lägga till detta kort i ditt system.  Du behöver fortfarande en drivrutin för det här kortet för att kärnan ska kunna använda det, men PCI är kortplatsen och buss och gränssnitt som kommer att användas för att lägga till hårdvaran i systemet med ett standardgränssnitt.  Skapandet av en PCI Linux-drivrutin följer några standardgränssnitt som du kan se dokumentation för att skapa en PCI Linux-drivrutin här.  Du kan se från strukturen nedan de standardmetoder som måste implementeras.  Metoder som sond, avlägsna, uppskjuta, återuppta, etc.

struct pci_driver
struct list_head nod;
const char * namn;
const struct pci_device_id * id_table;
int (* probe) (struct pci_dev * dev, const struct pci_device_id * id);
ogiltigt (* ta bort) (struct pci_dev * dev);
int (* suspend) (struct pci_dev * dev, pm_message_t state);
int (* CV) (struct pci_dev * dev);
ogiltigt (* avstängning) (struct pci_dev * dev);
int (* sriov_configure) (struct pci_dev * dev, int num_vfs);
const struct pci_error_handlers * err_handler;
const struct attribut_grupp ** grupper;
struct device_driver driver;
struct pci_dynids dynids;
;

PCI-hastigheter och användningsområden

PCI 3.0 kan köra data upp till 1 GB / sek per fil.  Olika enheter kan ha mer än en fil, så det är möjligt att enskilda enheter kan ha dataöverföringshastighet på flera gigabyte.  Dessa siffror förbättras alltid när nya versioner av specifikationen kommer ut och ny hårdvara kommer ut, så kolla alltid efter det senaste och snabbaste du kan hitta.  Typer av komponenter och prylar som du kan köpa som ansluts till ett PCI-gränssnitt inkluderar: WIFI-adaptrar, Bluetooth, NVME Solid State Storage-kort, Grafikkort och mer.

Utforska lspci-kommandot

Jag har skapat en Ubuntu 19.04 instans på Google moln och kommer nu att köra lspci kommandot och se vad som händer.

Vad du ser är en rad per enhet med en numerisk kod och en muntlig beskrivning av enheten.  Det finns faktiskt 5 fält i denna utgång per rad: Slot, Class, Vendor, Device och Revision.

Så bryta ner den första raden vad vi har:

SPÅR: 00:00.0
Klass: Värdbro
Säljare: Intel Corporation
Enhet: 440FX - 82441FX PMC
Revision: 02

Och tittar på Slot 00:04.0 som är vår Ethernet-kontroller, som verkar vara en virtuell enhet som en del av den virtuella magin i Googles molndistribution.

För att få mer detaljerad, detaljerad information om varje PCI-kortplats, kör följande kommando:

# lspci -vmm

Detta kommando kommer att dela upp varje rad i dess komponentfält och låta dig analysera varje enhet med mer beskrivande etiketter.

Du kan också prova alternativet -v för mer detaljerad produktion

# lspci -v

Och använd dubbel v eller tripple v för verby verbose output:

# lspci -vvv

Eller prova -mm-alternativet för skriptläsbart utdataformat.

# lspci -mm

För att se vilken kärndrivrutin som används för varje enhetskör -k-alternativ.

Många av mina enheter använder virtio-pci-drivrutin.

Slutligen kan du till och med se en hexadecimal dumpning av "standarddelen av konfigurationsutrymmet" för varje PCI-enhet.  Du bör vara en riktig kärnhacker för att ta reda på hur du använder den informationen.  -x-alternativet är det som ger dig dumpningsutmatningen.

# lspci -x

Slutsats

Kommandot lspci är ett standard Linux-kommando som kan användas för att lista information om PCI-anslutna enheter på ditt system.  Detta kan vara användbart för att veta vilka hårdvaruutrustning du har.  Det är också mycket användbart för utvecklare, skapare av enhetsdrivrutiner, system på låg nivå för att fråga information om enheterna, drivrutinerna och systemet.  Njut av att använda lspci.

Mus Så här vänder du mus- och styrplattans rullningsriktning i Windows 10
Så här vänder du mus- och styrplattans rullningsriktning i Windows 10
Mus och Pekplattas gör inte bara datoranvändning lättare men effektivare och mindre tidskrävande. Vi kan inte föreställa oss ett liv utan dessa enhete...
Mus Så här ändrar du muspekare och markörstorlek, färg och schema på Windows 10
Så här ändrar du muspekare och markörstorlek, färg och schema på Windows 10
Muspekaren och markören i Windows 10 är mycket viktiga aspekter av operativsystemet. Detta kan också sägas för andra operativsystem, så i sanning är d...
Gratis och öppen källkodsmotorer för utveckling av Linux-spel
Den här artikeln kommer att täcka en lista över gratis motorer med öppen källkod som kan användas för att utveckla 2D- och 3D-spel på Linux. Det finns...