Comandi Linux

Informazioni sul comando lspci su Linux

Informazioni sul comando lspci su Linux
lspci command è un'utilità sui sistemi Linux utilizzata per trovare informazioni sui bus PCI e sui dispositivi collegati al sottosistema PCI. Puoi capire il significato del comando considerando la parola lspci in due parti.  La prima parte ls, è l'utilità standard utilizzata su Linux per elencare le informazioni sui file nel filesystem.  Pci è la seconda parte del comando, quindi puoi vedere naturalmente il comando lspci elencherà le informazioni sul sottosistema PCI nello stesso modo in cui ls elencherà le informazioni sul file system.

In questo articolo spiegheremo le basi di PCI, PCIe e il comando lspci per visualizzare le informazioni sul tuo sistema.

Cos'è il PCI??

PCI o Peripheral Component Interconnect è un'interfaccia per aggiungere componenti hardware aggiuntivi a un sistema informatico.  PCIe o PCI Express è lo standard aggiornato che viene utilizzato oggi.  Ad esempio, supponiamo che tu voglia aggiungere una scheda Ethernet al tuo computer in modo che possa accedere a Internet e scambiare dati.  Bene, la scheda ha bisogno di un protocollo per comunicare con il resto del sistema interno, PCI può essere l'interfaccia standard utilizzata per aggiungere questa scheda al sistema.  Hai ancora bisogno di un driver per questa scheda affinché il kernel possa utilizzarla, tuttavia PCI è lo slot e il bus e l'interfaccia che verranno utilizzati per aggiungere l'hardware al sistema con un'interfaccia standard.  La creazione di un driver PCI linux seguirà alcune interfacce standard, puoi vedere la documentazione per la creazione di a driver PCI linux Qui.  Puoi vedere dalla struttura sotto i metodi standard che devono essere implementati.  Metodi come sonda, rimuovere, sospendere, curriculum vitae, eccetera.

struttura pci_driver
struct list_head         nodo;
const char              *nome;
const struct pci_device_id *id_table;
int (*probe)(struct pci_dev *dev, const struct pci_device_id *id);
void (*rimuovi)(struct pci_dev *dev);
int (*sospendere)(struct pci_dev *dev, pm_message_t stato);
int (*resume)(struct pci_dev *dev);
void (*spegnimento)(struct pci_dev *dev);
int (*sriov_configure)(struct pci_dev *dev, int num_vfs);
const struct pci_error_handlers *err_handler;
const struct attribute_group **gruppi;
struct device_driver    driver;
struct pci_dynids       dynidi;
;

Velocità e usi PCI

PCI 3.0 può eseguire dati fino a 1 GB/sec per corsia.  Dispositivi diversi possono avere più di una corsia, quindi è possibile che i singoli dispositivi possano avere velocità di trasferimento dati di più gigabyte.  Questi numeri sono in costante miglioramento man mano che escono nuove versioni delle specifiche e esce nuovo hardware, quindi controlla sempre l'ultima e la più veloce che riesci a trovare.  I tipi di componenti e gadget che puoi acquistare che si collegano a un'interfaccia PCI includono: adattatori WIFI, Bluetooth, schede di archiviazione a stato solido NVME, schede grafiche e altro.

Esplorazione del comando lspci

Ho creato Ubuntu 19.04 istanza su Google Cloud e ora eseguirà il lspci comanda e guarda cosa succede.

Quello che vedi è una riga per dispositivo con un codice numerico e una descrizione verbale del dispositivo.  Ci sono effettivamente 5 campi visualizzati in questo output per riga: Slot, Class, Vendor, Device e Revision.

Quindi scomponendo la prima riga cosa abbiamo:

FESSURA: 00:00.0
Classe: ponte host
Venditore: Intel Corporation
Dispositivo: 440FX - 82441FX PMC
Revisione: 02

E guardando Slot 00:04.0 questo è il nostro controller Ethernet, che sembra essere un dispositivo virtuale come parte della magia virtuale dell'implementazione del cloud di Google.

Per ottenere informazioni più dettagliate e dettagliate su ciascuno slot PCI, eseguire il comando seguente:

# lspci -vmm

Questo comando suddividerà ogni riga nei suoi campi componenti e ti consentirà di analizzare ogni dispositivo con etichette più descrittive.

Puoi anche provare l'opzione -v per un output più dettagliato

# lspci -v

E usa double v o triple v per un output verby verbose:

# lspci -vvv

Oppure prova l'opzione -mm per il formato di output leggibile da script.

# lspci -mm

Per vedere quale driver del kernel viene utilizzato per ogni dispositivo, eseguire l'opzione -k.

Molti dei miei dispositivi utilizzano il driver virtio-pci.

Infine puoi anche vedere un dump esadecimale della "parte standard dello spazio di configurazione" per ogni dispositivo PCI.  Dovresti essere un vero hacker del kernel per capire come usare queste informazioni.  -x è l'opzione che ti dà l'output del dump dump.

# lspci -x

Conclusione

Il comando lspci è un comando Linux standard che può essere utilizzato per elencare le informazioni sui dispositivi collegati PCI sul sistema.  Questo può essere utile per sapere quali periferiche hardware hai.  È anche molto utile per sviluppatori, creatori di driver di dispositivo, persone di sistema di basso livello per richiedere informazioni sui dispositivi, i driver e il sistema.  Divertiti con lspci.

Tutorial Shadow of the Tomb Raider per Linux
Shadow of the Tomb Raider è la dodicesima aggiunta alla serie Tomb Raider, un franchise di giochi d'azione e avventura creato da Eidos Montreal. Il gi...
Come aumentare gli FPS in Linux?
FPS sta per Fotogrammi al secondo. Il compito dell'FPS è misurare il frame rate nelle riproduzioni video o nelle prestazioni di gioco game. In parole ...
I migliori giochi di laboratorio dell'app Oculus
Se possiedi un visore Oculus, devi essere informato sul sideloading. Il sideloading è il processo di installazione di contenuti non archiviati sul vis...