lspci(8) – Página de manual de Linux

Nombre

lspci – lista de todos los dispositivos PCI

Sinopsis

lspci

Descripción

lspci es una utilidad para mostrar información sobre buses PCI en sistema y dispositivos conectados a ellos.

De forma predeterminada, muestra una breve lista de dispositivos. Utilice las opciones que se describen a continuación para solicitar una salida más detallada o una salida destinada al análisis por otros programas.

Si va a informar de errores en controladores de dispositivos PCI o en el propio lspci, incluya la salida de «lspci-vvx» o incluso mejor «lspci-vvxxx» (sin embargo, consulte a continuación las posibles advertencias).

Algunas partes de la salida, especialmente en los modos muy detallados, son probablemente inteligibles solo para hackers PCI experimentados. Para definiciones exactas de los campos, consulte las especificaciones PCI o el encabezado.h y/usr / incluyen / linux / pci.h incluir archivos.

El acceso a algunas partes del espacio de configuración de PCI está restringido al root en muchos sistemas operativos, por lo que las características de lspci disponibles para usuarios normales son limitadas. Sin embargo, lspci hace todo lo posible para mostrar tanto como esté disponible y marcar el resto de la información con <acceso denegado>texto.

Opciones

Modos de visualización básicos

– m

Volcará los datos del dispositivo PCI en un formato legible por máquina compatible con versiones anteriores. Vea más abajo para más detalles.

-mm

Vuelque los datos del dispositivo PCI en un formato legible por máquina para facilitar el análisis mediante scripts. Vea más abajo para más detalles.

– t

Mostrar un diagrama en forma de árbol que contiene todos los buses, puentes, dispositivos y conexiones entre ellos.

Opciones de visualización

– v

Sea detallado y muestre información detallada sobre todos los dispositivos.

– vv

Sea muy detallado y muestre más detalles. Este nivel incluye todo lo que se considera útil.

– vvv

Sea aún más detallado y muestre todo lo que podemos analizar, incluso si no se ve interesante en absoluto (por ejemplo, regiones de memoria indefinidas).

– k

Muestra los controladores del núcleo que manejan cada dispositivo y también los módulos del núcleo capaces de manejarlo. Activado de forma predeterminada cuando se da-v en el modo normal de salida. (Actualmente solo funciona en Linux con kernel 2.6 o posterior.)

-x

Muestra el volcado hexadecimal de la parte estándar del espacio de configuración (los primeros 64 bytes o 128 bytes para puentes CardBus).

-xxx

Mostrar volcado hexadecimal de todo el espacio de configuración PCI. Solo está disponible para rootear, ya que varios dispositivos PCI se bloquean cuando intenta leer algunas partes del espacio de configuración (este comportamiento probablemente no viola el estándar PCI, pero es al menos muy estúpido). Sin embargo, tales dispositivos son raros, por lo que no necesita preocuparse mucho.

– xxxx

Muestra el volcado hexadecimal del espacio de configuración PCI extendido (4096 bytes) disponible en los buses PCI-X 2.0 y PCI Express.

-b

Vista centrada en el bus. Mostrar todos los números y direcciones IRQ como los ven las tarjetas en el bus PCI en lugar de como los ve el núcleo.

– D

Mostrar siempre los números de dominio PCI. De forma predeterminada, lspci los suprime en máquinas que solo tienen dominio 0.

Opciones para controlar los ID de resolución a nombres

– n

Mostrar los códigos de proveedor y dispositivo PCI como números en lugar de buscarlos en la lista de ID de PCI.

– nn

Mostrar códigos de proveedor y dispositivo PCI como números y nombres.

– q

Utilice DNS para consultar la base de datos central de ID de PCI si no se encuentra un dispositivo en el pci local.archivo de identificación. Si la consulta DNS tiene éxito, el resultado se almacena en caché en~/.pciids-cache y se reconoce en ejecuciones posteriores, incluso si ya no se da-q. Utilice este conmutador dentro de scripts automatizados con precaución para evitar sobrecargar los servidores de la base de datos.

– qq

Lo mismo que-q, pero la caché local se restablece.

– Q

Consulte la base de datos central incluso para las entradas que se reconocen localmente. Use esto si sospecha que la entrada mostrada es incorrecta.

Opciones para la selección de dispositivos

-s :]<bus>]:]] Mostrar solo dispositivos en el dominio especificado (en caso de que su máquina tenga varios puentes de host, pueden compartir un espacio de números de bus común o cada uno de ellos puede dirigirse a un dominio PCI propio; los dominios están numerados de 0 a ffff), bus (0 a ff), ranura (0 a 1f) y función (0 a 7). Cada componente de la dirección de dispositivo se puede omitir o establecer en»*», lo que significa «cualquier valor». Todos los números son hexadecimales. Por ejemplo, «0:» significa todos los dispositivos en el bus 0, » 0 » significa todas las funciones del dispositivo 0 en cualquier bus,» 0.3 «selecciona la tercera función del dispositivo 0 en todos los buses y».4 » muestra solo la cuarta función de cada dispositivo. – d: Muestra solo los dispositivos con el ID de proveedor y dispositivo especificado. Ambos ID se dan en hexadecimal y pueden omitirse o darse como»*», ambos significando «anyvalue».

Otras opciones

– i <archivo> Use < archivo> como la lista de ID de PCI en lugar de /usr/share/hwdata/pci.id. – p <file> Use < file> como el mapa de los ID de PCI manejados por los módulos del núcleo. Por defecto, lspci usa / lib / modules/kernel_version / modules.pcimap. Solo se aplica a sistemas Linux con herramientas de módulos lo suficientemente recientes. – M

Invoque el modo de asignación de bus que realiza un análisis exhaustivo de todos los dispositivos PCI, incluidos los que están detrás de puentes mal configurados, etc. Esta opción da resultados significativos solo con un modo de acceso directo por hardware, que generalmente requiere privilegios de root. Tenga en cuenta que el mapeador de bus solo escanea el dominio PCI 0.

version version Muestra la versión lspci. Esta opción debe utilizarse de forma independiente.

Opciones de acceso PCI

Las utilidades PCI utilizan la biblioteca PCI para hablar con dispositivos PCI(consulte pcilib (7) para obtener más información). Puede utilizar las siguientes opciones para influir en su comportamiento:- Un método <> La biblioteca admite una variedad de métodos para acceder al hardware PCI. De forma predeterminada, utiliza el primer método de acceso disponible, pero puede usar esta opción para evitar esta decisión. Consulte-A help para obtener una lista de los métodos disponibles y sus descripciones. – O <param> = <value> El comportamiento de la biblioteca está controlado por varios parámetros con nombre. Esta opción permite establecer el valor de cualquiera de los parámetros. Utilice la ayuda-O para obtener una lista de parámetros conocidos y sus valores predeterminados. – H1

Use acceso directo al hardware a través del mecanismo de configuración de Intel 1. (Esta es una abreviatura de-A intel-conf1.)

-H2

Use acceso directo de hardware a través del mecanismo de configuración Intel 2. (Esta es una abreviatura de-A intel-conf2.)

-F <file> En lugar de acceder al hardware real, lea la lista de dispositivos y los valores de sus registros de configuración del archivo dado producido por una ejecución anterior de spci-x. Esto es muy útil para el análisis de informes de errores suministrados por el usuario, ya que puede mostrar la configuración del hardware de la manera que desee sin molestar al usuario con solicitudes de más volcados. – G

Aumentar el nivel de depuración de la biblioteca.

Salida legible por máquina

Si desea procesar la salida de lspci automáticamente, utilice uno de los formatos de salida legibles por máquina (- m,- vm,- vmm)descritos en esta sección. Es probable que todos los demás formatos cambien entre versiones de lspci.

Todos los números se imprimen siempre en hexadecimal. Si desea procesar ID numéricos en lugar de nombres, agregue el interruptor-n.

Formato simple (-m)

En el formato simple, cada dispositivo se describe en una sola línea, que se formatea como parámetros adecuados para pasar a un script de shell, p. ej., valores separados por espacios en blanco, entrecomillados y escapados si es necesario. Algunos de los argumentos son posicionales: ranura, clase, nombre del proveedor, nombre del dispositivo, nombre del proveedor del subsistema y nombre del subsistema (los dos últimos están vacíos si el dispositivo no tiene subsistema); los argumentos restantes son opciones como:-rrev

Número de revisión.

– interfaz de programación pprogif. El orden relativo de los argumentos y opciones posicionales no está definido. Se pueden agregar nuevas opciones en versiones futuras, pero siempre tendrán un único documento que no esté separado de la opción por espacios, por lo que se pueden ignorar fácilmente si no se reconocen.

Formato detallado (- vmm)

La salida detallada es una secuencia de registros separados por líneas en blanco. Cada registro describe un único dispositivo mediante una secuencia de líneas, cada línea contiene un par único de «etiqueta: valor». La etiqueta y el valor están separados por un solo carácter de tabulación. Ni los registros ni las líneas dentro de arecord están en ningún orden en particular. Las etiquetas distinguen entre mayúsculas y minúsculas.

Se definen las siguientes etiquetas:

Slot

El nombre de la ranura donde reside el dispositivo (bus:device.función). Esta etiqueta es siempre la primera de un registro.

Clase

Nombre de la clase.

Vendedor

Nombre del proveedor.

Dispositivo

Nombre del dispositivo.

Nombre SVendor del proveedor del subsistema (opcional). Nombre de dispositivo del subsistema (opcional). PhySlot La ranura física donde reside el dispositivo (opcional, solo Linux). Rev

Número de revisión (opcional).

ProgIf

interfaz de Programación (opcional).

Controlador

Controlador del núcleo que actualmente maneja el dispositivo (opcional, solo Linux).Módulo

Módulo

Módulo del núcleo que informa de que es capaz de manejar el dispositivo (opcional, solo Linux).

Se pueden agregar nuevas etiquetas en versiones futuras, por lo que debe ignorar silenciosamente cualquier etiqueta que no reconozca.

Formato detallado compatible con versiones anteriores (- vm)

En este modo, lspci intenta ser perfectamente compatible con sus versiones anteriores. Es casi lo mismo que el formato detallado normal, pero la etiqueta de dispositivo se usa tanto para la ranura como para el nombre del dispositivo, por lo que se produce dos veces en un solo registro. Evite utilizar este formato en cualquier código nuevo.

Archivos

/ usr / share / hwdata / pci.ids

Una lista de todos los ID de PCI conocidos (proveedores, dispositivos, clases y subclases). Mantenido en http://pciids.sourceforge.net/, utilice la utilidad update-pciids para descargar la versión más reciente. /usr/share/hwdata / pci.id.gz Si lspci se compila con soporte para compresión, este archivo se prueba antes de pci.id. ~/.pciids-caché Todos los ID encontrados en el modo de consulta DNS se almacenan en caché en este archivo.

Bugs

A veces, lspci no puede decodificar completamente los registros de configuración. Esto suele ocurrir cuando los autores no disponían de documentación suficiente. En tales casos, al menos imprime el <?> marca para indicar que potencialmente hay algo más que decir. Si conoce los detalles, los parches serán bienvenidos, por supuesto.

Actualmente, el acceso al espacio de configuración extendido solo es compatible con el back-end de linux_sysfs.

Ver También

setpci (8), update-pciids (8), pcilib (7)

Autor

Las utilidades PCI son mantenidas por Martin Mares <[email protected]>.



+