Comandos de Linux

Acerca del comando lspci en Linux

Acerca del comando lspci en Linux
lspci El comando es una utilidad en los sistemas Linux que se utiliza para encontrar información sobre los buses PCI y los dispositivos conectados al subsistema PCI. Puede comprender el significado del comando considerando la palabra lspci en dos partes.  La primera parte, ls, es la utilidad estándar utilizada en Linux para enumerar información sobre los archivos en el sistema de archivos.  Pci es la segunda parte del comando, por lo que puede ver naturalmente el comando lspci enumerará información sobre el subsistema PCI de la misma manera que ls mostrará información sobre el sistema de archivos.

En este artículo explicaremos los conceptos básicos de PCI, PCIe y el comando lspci para mostrar información en su sistema.

Que es PCI?

PCI, o interconexión de componentes periféricos es una interfaz para agregar componentes de hardware adicionales a un sistema informático.  PCIe o PCI-Express es el estándar actualizado que se utiliza en la actualidad.  Por ejemplo, digamos que desea agregar una tarjeta Ethernet a su computadora para que pueda acceder a Internet e intercambiar datos.  Bueno, la tarjeta necesita un protocolo para comunicarse con el resto del sistema interno, PCI puede ser la interfaz estándar utilizada para agregar esta tarjeta a su sistema.  Aún necesita un controlador para esta tarjeta para que el kernel la use, sin embargo, PCI es la ranura, el bus y la interfaz que se usarán para agregar el hardware al sistema con una interfaz estándar.  La creación de un controlador PCI para Linux seguirá algunas interfaces estándar; puede ver la documentación para crear un Controlador PCI linux aquí.  Puede ver en la estructura a continuación los métodos estándar que deben implementarse.  Métodos como Investigacion, retirar, suspender, reanudar, etc.

struct pci_driver
nodo struct list_head;
const char * nombre;
const struct pci_device_id * id_table;
int (* sonda) (struct pci_dev * dev, const struct pci_device_id * id);
void (* eliminar) (struct pci_dev * dev);
int (* suspender) (struct pci_dev * dev, pm_message_t state);
int (* resume) (struct pci_dev * dev);
void (* apagado) (struct pci_dev * dev);
int (* sriov_configure) (struct pci_dev * dev, int num_vfs);
const struct pci_error_handlers * err_handler;
const struct atributo_grupo ** grupos;
controlador struct device_driver;
struct pci_dynids dynids;
;

Velocidades y usos de PCI

PCI 3.0 puede ejecutar datos hasta 1 GB / seg por carril.  Los diferentes dispositivos pueden tener más de un carril, por lo que es posible que los dispositivos individuales puedan tener varios gigabytes de velocidad de transferencia de datos.  Estos números siempre mejoran a medida que surgen nuevas versiones de la especificación y nuevo hardware, así que siempre verifique lo último y lo más rápido que pueda encontrar.  Los tipos de componentes y dispositivos que puede comprar y que se conectan a una interfaz PCI incluyen: adaptadores WIFI, Bluetooth, tarjetas de almacenamiento de estado sólido NVME, tarjetas gráficas y más.

Explorando el comando lspci

He creado un Ubuntu 19.04 en la nube de Google y ahora ejecutará la lspci comando y ver que pasa.

Lo que ve es una línea por dispositivo con un código numérico y una descripción verbal del dispositivo.  En realidad, hay 5 campos que se muestran en esta salida por línea: ranura, clase, proveedor, dispositivo y revisión.

Entonces, desglosando la primera línea lo que tenemos:

ESPACIO: 00:00.0
Clase: Puente de host
Vendedor: Corporación Intel
Dispositivo: 440FX - 82441FX PMC
Revisión: 02

Y mirando la ranura 00:04.0 que es nuestro controlador Ethernet, que parece ser un dispositivo virtual como parte de la magia virtual de la implementación en la nube de Google.

Para obtener información más detallada y detallada sobre cada ranura PCI, ejecute el siguiente comando:

# lspci -vmm

Este comando dividirá cada línea en sus campos de componentes y le permitirá analizar cada dispositivo con etiquetas más descriptivas.

También puede probar la opción -v para obtener una salida más detallada

# lspci -v

Y use doble vo tripple v para una salida verbosa:

# lspci -vvv

O pruebe la opción -mm para formato de salida legible por script.

# lspci -mm

Para ver qué controlador de kernel se está utilizando para cada dispositivo, ejecute la opción -k.

Muchos de mis dispositivos utilizan el controlador virtio-pci.

Por último, incluso puede ver un volcado hexadecimal de "la parte estándar del espacio de configuración" para cada dispositivo PCI.  Debería ser un verdadero pirata informático del kernel para descubrir cómo usar esa información.  -La opción x es lo que le da la salida de volcado.

# lspci -x

Conclusión

El comando lspci es un comando estándar de Linux que se puede usar para listar información sobre los dispositivos PCI conectados en su sistema.  Esto puede ser útil para saber qué periféricos de hardware tiene.  También es muy útil para los desarrolladores, los creadores de controladores de dispositivos, la gente del sistema de bajo nivel para consultar información sobre los dispositivos, los controladores y el sistema.  Disfruta usando lspci.

WinMouse le permite personalizar y mejorar el movimiento del puntero del mouse en una PC con Windows
Si desea mejorar las funciones predeterminadas del puntero del mouse, use el software gratuito WinMouse. Agrega más funciones para ayudarlo a aprovech...
El botón de clic izquierdo del mouse no funciona en Windows 10
Si está utilizando un mouse dedicado con su computadora portátil o computadora de escritorio, pero el el botón izquierdo del mouse no funciona en Wind...
El cursor salta o se mueve aleatoriamente mientras escribe en Windows 10
Si descubre que el cursor del mouse salta o se mueve por sí solo, automáticamente, de manera aleatoria mientras escribe en una computadora portátil o ...