Linux-opdrachten

Over lspci Command op Linux

Over lspci Command op Linux
lspci commando is een hulpprogramma op Linux-systemen dat wordt gebruikt om informatie te vinden over de PCI-bussen en apparaten die zijn aangesloten op het PCI-subsysteem sub. U kunt de betekenis van het commando begrijpen door naar het woord te kijken lspci in twee delen.  Het eerste deel ls, is het standaardhulpprogramma dat op linux wordt gebruikt voor het weergeven van informatie over de bestanden in het bestandssysteem.  PCI is het tweede deel van het commando, dus je kunt het commando natuurlijk zien lspci zal informatie over het PCI-subsysteem op dezelfde manier weergeven als: ls zal informatie over het bestandssysteem weergeven.

In dit artikel leggen we de basis van PCI, PCIe en de lspci-opdracht uit om informatie op uw systeem weer te geven.

Wat is PCI?

PCI, of Peripheral Component Interconnect is een interface om extra hardwarecomponenten aan een computersysteem toe te voegen.  PCIe of PCI Express is de bijgewerkte standaard die vandaag wordt gebruikt.  Stel dat u bijvoorbeeld een Ethernet-kaart aan uw computer wilt toevoegen zodat deze toegang heeft tot internet en gegevens kan uitwisselen.  Welnu, de kaart heeft een protocol nodig om met de rest van het interne systeem te communiceren, PCI kan de standaardinterface zijn die wordt gebruikt om deze kaart aan uw systeem toe te voegen.  Je hebt nog steeds een stuurprogramma nodig voor deze kaart zodat de kernel deze kan gebruiken, maar PCI is de sleuf en bus en interface die worden gebruikt om de hardware aan het systeem toe te voegen met een standaardinterface.  Het maken van een PCI linux-stuurprogramma zal enkele standaardinterfaces volgen. U kunt documentatie bekijken voor het maken van een PCI linux-stuurprogramma hier.  U kunt aan de hand van de onderstaande structuur de standaardmethoden zien die moeten worden geïmplementeerd.  Methoden zoals: sonde, verwijderen, opschorten, hervat, enz.

struct pci_driver
struct list_head        knooppunt;
const char              *naam;
const struct pci_device_id *id_table;
int (*probe)(struct pci_dev *dev, const struct pci_device_id *id);
void (*verwijder)(struct pci_dev *dev);
int (*suspend)(struct pci_dev *dev, pm_message_t state);
int (*resume)(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 attribuut_groep **groepen;
struc device_driver    stuurprogramma;
struct pci_dynids       dynids;
;

PCI-snelheden en gebruik

PCI-3.0 kan gegevens tot 1 GB/sec per rijstrook.  Verschillende apparaten kunnen meer dan één rij hebben, dus het is mogelijk dat afzonderlijke apparaten een gegevensoverdrachtsnelheid van meerdere gigabytes kunnen hebben.  Deze cijfers verbeteren altijd naarmate er nieuwe versies van de specificatie uitkomen en nieuwe hardware uitkomt, dus controleer altijd of u de nieuwste en snelste kunt vinden.  Typen componenten en gadgets die u kunt kopen die op een PCI-interface kunnen worden aangesloten, zijn onder meer: ​​WIFI-adapters, Bluetooth, NVME Solid State-opslagkaarten, grafische kaarten en meer.

Het lspci-commando verkennen

Ik heb een Ubuntu 19 . gemaakt.04-instantie op Google cloud en voert nu de lspci commando en kijk wat er gebeurt.

Wat je ziet is één regel per apparaat met een numerieke code en een verbale beschrijving van het apparaat.  Er worden in feite 5 velden per regel weergegeven in deze uitvoer: Slot, Klasse, Leverancier, Apparaat en Revisie.

Dus de eerste regel opsplitsen wat we hebben:

SLEUF: 00:00.0
Klasse: Hostbrug
Verkoper: Intel Corporation
Apparaat: 440FX - 82441FX PMC
Herziening: 02

En kijkend naar Slot 00:04.0, dat is onze Ethernet-controller, die een virtueel apparaat lijkt te zijn als onderdeel van de virtuele magie van de cloudimplementatie van Google.

Voer de volgende opdracht uit voor meer gedetailleerde, uitgebreide informatie over elk PCI-slot:

# lspci -vmm

Deze opdracht splitst elke regel op in zijn componentvelden en stelt u in staat om elk apparaat te analyseren met meer beschrijvende labels.

Je kunt ook de -v optie proberen voor meer uitgebreide uitvoer

# lspci -v

En gebruik dubbele v of tripple v voor woordelijke uitgebreide uitvoer:

# lspci -vvv

Of probeer de -mm optie voor een script leesbaar uitvoerformaat.

# lspci -mm

Om te zien welk kernelstuurprogramma voor elk apparaat wordt gebruikt, voert u -k option . uit.

Veel van mijn apparaten gebruiken het virtio-pci-stuurprogramma.

Ten slotte kun je zelfs een hexadecimale dump zien van "het standaardgedeelte van de configuratieruimte" voor elk PCI-apparaat.  Je zou een echte kernel-hacker moeten zijn om erachter te komen hoe je die informatie kunt gebruiken.  -x optie is wat je de dump output geeft.

# lspci -x

Conclusie

De lspci-opdracht is een standaard Linux-opdracht die kan worden gebruikt om informatie weer te geven over de PCI-aangesloten apparaten op uw systeem.  Dit kan handig zijn om te weten welke randapparatuur je hebt you.  Het is ook super handig voor ontwikkelaars, makers van apparaatstuurprogramma's, systeemmensen op laag niveau om informatie over de apparaten, de stuurprogramma's en het systeem op te vragen.  Veel plezier met het gebruik van lspci.

Hoe de muis- en touchpad-instellingen te wijzigen met Xinput in Linux
De meeste Linux-distributies worden standaard geleverd met de bibliotheek "libinput" om invoergebeurtenissen op een systeem af te handelen. Het kan in...
Wijs uw muisknoppen anders toe voor verschillende software met X-Mouse Button Control
Misschien heeft u een tool nodig waarmee u de bediening van uw muis kunt veranderen bij elke applicatie die u gebruikt. Als dit het geval is, kunt u e...
Microsoft Sculpt Touch draadloze muis Review
Ik las onlangs over de Microsoft Sculpt Touch draadloze muis en besloot hem te kopen. Nadat ik het een tijdje had gebruikt, besloot ik mijn ervaring e...