GNU/Linux >> Tutoriales Linux >  >> Linux

7 ejemplos de comandos lspci de Linux para obtener información del dispositivo de hardware de bus PCI

lspci significa lista pci. Piense en este comando como "ls" + "pci".

Esto mostrará información sobre todo el bus PCI en su servidor.

Además de mostrar información sobre el bus, también mostrará información sobre todos los dispositivos de hardware que están conectados a su bus PCI y PCIe.

Por ejemplo, mostrará información sobre tarjetas Ethernet, controladores RAID, tarjetas de video, etc.

La utilidad lspci es parte del paquete pciutils.

Si no tiene pciutilis, instálelo en su sistema como se muestra a continuación.

# yum install pciutils

1. Uso predeterminado

De manera predeterminada, mostrará toda la información del dispositivo como se muestra a continuación. El primer campo es la información de la ranura en este formato:[dominio:]bus:dispositivo.función

En este ejemplo, dado que todos los dominios son 0, lspci no mostrará el dominio.

# lspci
00:00.0 Host bridge: Intel Corporation 5500 I/O Hub to ESI Port (rev 13)
00:01.0 PCI bridge: Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port 1 (rev 13)
00:09.0 PCI bridge: Intel Corporation 7500/5520/5500/X58 I/O Hub PCI Express Root Port 9 (rev 13)
00:14.0 PIC: Intel Corporation 7500/5520/5500/X58 I/O Hub System Management Registers (rev 13)
00:14.1 PIC: Intel Corporation 7500/5520/5500/X58 I/O Hub GPIO and Scratch Pad Registers (rev 13)
00:14.2 PIC: Intel Corporation 7500/5520/5500/X58 I/O Hub Control Status and RAS Registers (rev 13)
00:1a.0 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1 (rev 02)
00:1d.0 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 92)
00:1f.0 ISA bridge: Intel Corporation 82801IB (ICH9) LPC Interface Controller (rev 02)
00:1f.2 IDE interface: Intel Corporation 82801IB (ICH9) 2 port SATA Controller [IDE mode] (rev 02)
01:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20)
01:00.1 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20)
03:00.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID SAS 2108 [Liberator] (rev 05)
06:03.0 VGA compatible controller: Matrox Electronics Systems Ltd. MGA G200eW WPCM450 (rev 0a)

Nota:En todos los ejemplos a continuación, solo mostraremos una salida parcial al elegir un par de dispositivos de la lista anterior.

2. Volcar información de PCI en un formato diferente

Si desea pasar la salida del comando lspci a un script de shell, puede usar la opción -m (o la opción -mm) como se muestra a continuación.

Esta opción también es útil cuando desea ver la información del subsistema. Por ejemplo, para el controlador RAID, la salida predeterminada simplemente dice que está utilizando el controlador LSI Logic RAID. Sin embargo, el siguiente resultado muestra el subsistema, que es el sistema de controlador RAID integrado DELL PERC H700.

# lspci -m
00:00.0 "Host bridge" "Intel Corporation" "5500 I/O Hub to ESI Port" -r13 "Dell" "PowerEdge R610 I/O Hub to ESI Port"
00:09.0 "PCI bridge" "Intel Corporation" "7500/5520/5500/X58 I/O Hub PCI Express Root Port 9" -r13 "" ""
00:14.0 "PIC" "Intel Corporation" "7500/5520/5500/X58 I/O Hub System Management Registers" -r13 "" ""
00:1a.0 "USB controller" "Intel Corporation" "82801I (ICH9 Family) USB UHCI Controller #4" -r02 "Dell" "PowerEdge R610 USB UHCI Controller"
00:1f.0 "ISA bridge" "Intel Corporation" "82801IB (ICH9) LPC Interface Controller" -r02 "Dell" "PowerEdge R610 82801IB (ICH9) LPC Interface Controller"
00:1f.2 "IDE interface" "Intel Corporation" "82801IB (ICH9) 2 port SATA Controller [IDE mode]" -r02 -p8f "Dell" "PowerEdge R610 SATA IDE Controller"
01:00.0 "Ethernet controller" "Broadcom Corporation" "NetXtreme II BCM5709 Gigabit Ethernet" -r20 "Dell" "PowerEdge R610 BCM5709 Gigabit Ethernet"
03:00.0 "RAID bus controller" "LSI Logic / Symbios Logic" "MegaRAID SAS 2108 [Liberator]" -r05 "Dell" "PERC H700 Integrated"
06:03.0 "VGA compatible controller" "Matrox Electronics Systems Ltd." "MGA G200eW WPCM450" -r0a "Dell" "PowerEdge R610 MGA G200eW WPCM450"

3. Salida en formato de árbol

La opción -t mostrará la salida en formato de árbol con información sobre el bus y cómo los dispositivos están conectados a esos buses, como se muestra a continuación. La salida solo usará los identificadores numéricos.

# lspci -t
-[0000:00]-+-00.0
           +-01.0-[01]--+-00.0
           |            \-00.1
           +-03.0-[02]--+-00.0
           |            \-00.1
           +-07.0-[04]--
           +-09.0-[05]--
           +-14.0
           +-14.1
           +-1c.0-[03]----00.0
           +-1d.0
           +-1e.0-[06]----03.0
           +-1f.0

4. Información detallada del dispositivo

Si desea ver los detalles de un dispositivo en particular, use -v para obtener más información. Esto mostrará información sobre todos los dispositivos. El resultado de este comando será muy largo y deberá desplazarse hacia abajo y ver la sección correspondiente.

Para un nivel adicional de verbosidad, puede usar -vv o -vvv.

En el siguiente ejemplo, he proporcionado la salida solo del dispositivo del controlador RAID.

# lspci -v
 03:00.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID SAS 2108 [Liberator] (rev 05)
        Subsystem: Dell PERC H700 Integrated
        Flags: bus master, fast devsel, latency 0, IRQ 16
        I/O ports at fc00 [size=256]
        Memory at df1bc000 (64-bit, non-prefetchable) [size=16K]
        Memory at df1c0000 (64-bit, non-prefetchable) [size=256K]
        Expansion ROM at df100000 [disabled] [size=256K]
        Capabilities: [50] Power Management version 3
        Capabilities: [68] Express Endpoint, MSI 00
        Capabilities: [d0] Vital Product Data
        Capabilities: [a8] MSI: Enable- Count=1/1 Maskable- 64bit+
        Capabilities: [c0] MSI-X: Enable+ Count=15 Masked-
        Capabilities: [100] Advanced Error Reporting
        Capabilities: [138] Power Budgeting <?>
        Kernel driver in use: megaraid_sas
        Kernel modules: megaraid_sas

5. Mostrar códigos de dispositivo en la salida

Si desea mostrar el código del proveedor de PCI y el código del dispositivo solo como números, use la opción -n. Esto no buscará el archivo PCI para obtener los valores correspondientes a los números.

# lspci -n
01:00.1 0200: 14e4:1639 (rev 20)
02:00.0 0200: 14e4:1639 (rev 20)
02:00.1 0200: 14e4:1639 (rev 20)
03:00.0 0104: 1000:0079 (rev 05)
06:03.0 0300: 102b:0532 (rev 0a)

Si desea mostrar tanto la descripción como el número, use la opción -nn como se muestra a continuación.

# lspci -nn
01:00.0 Ethernet controller [0200]: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet [14e4:1639] (rev 20)
03:00.0 RAID bus controller [0104]: LSI Logic / Symbios Logic MegaRAID SAS 2108 [Liberator] [1000:0079] (rev 05)
06:03.0 VGA compatible controller [0300]: Matrox Electronics Systems Ltd. MGA G200eW WPCM450 [102b:0532] (rev 0a)
..

6. Buscar un dispositivo específico

Cuando conoce el número de ranura en el formato dominio:bus:ranura.func, puede consultar un dispositivo en particular como se muestra a continuación. En el siguiente ejemplo, no especificamos el número de dominio, ya que es 0, que se puede omitir.

# lspci -s 03:00.0
03:00.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID SAS 2108 [Liberator] (rev 05)

Cuando conoce el número de dispositivo en el formato proveedor:dispositivo, puede consultar un dispositivo en particular como se muestra a continuación.

# lspci -d 1000:0079
03:00.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID SAS 2108 [Liberator] (rev 05)

Si solo conoce la identificación del proveedor o la identificación del dispositivo, puede omitir la otra identificación. Por ejemplo, el siguiente comando devolverá el mismo resultado que el anterior.

lspci -d :0079
lspci -d 1000:

7. Mostrar controladores de kernel

Esto es muy útil cuando desea saber el nombre del módulo del kernel que manejará las operaciones de un dispositivo en particular. Tenga en cuenta que esta opción solo funcionará en la versión Kernel 2.6 y superior.

# lspci -k
00:1f.2 IDE interface: Intel Corporation 82801IB (ICH9) 2 port SATA Controller [IDE mode] (rev 02)
        Subsystem: Dell PowerEdge R610 SATA IDE Controller
        Kernel driver in use: ata_piix
        Kernel modules: ata_generic, pata_acpi, ata_piix
02:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20)
        Subsystem: Dell PowerEdge R610 BCM5709 Gigabit Ethernet
        Kernel driver in use: bnx2
        Kernel modules: bnx2
03:00.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID SAS 2108 [Liberator] (rev 05)
        Subsystem: Dell PERC H700 Integrated
        Kernel driver in use: megaraid_sas
        Kernel modules: megaraid_sas

Linux
  1. Ejemplos de comandos sa en Linux

  2. w Ejemplos de comandos en Linux

  3. Ejemplos de comandos ac en Linux

  4. Ejemplos de comandos df en Linux

  5. Ejemplos de comandos du en Linux

16 ejemplos de comandos de eco en Linux

9 ejemplos de comandos tee en Linux

Comando lshw de Linux:obtener información de hardware de Linux

Ejemplos de comandos de pantalla:Obtener el control de la terminal Linux / Unix

Ejemplos de comandos id en Linux

Ejemplos de comandos lspci en Linux