Tecnología del PC

[Home]  [Inicio]  [Índice]


Dispositivos PCI en Linux

Nota:  Los sistemas FHS Linux [1], disponen de un directorio específico /proc,  que contiene información sobre los procesos y el propio Sistema.  En realidad es un pseudo-sistema de ficheros con información sobre el sistema en ejecución. Por ejemplo, /proc/pci contiene información sobre los dispositivos PCI conectados.


Como se ha señalado, los dispositivos conectados a la interfaz PCI pueden consultarse en /proc/pci, para lo que puede utilizarse el comando siguiente (# es el indicativo del Shell):

# cat /proc/pci

En uno de mis equipos de trabajo se obtiene el siguiente resultado:

PCI devices found:
Bus 0, device  0, function 0:
  Host bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 3).
    Master Capable. Latency=64. 
    Prefetchable 32 bit memory at 0xf0000000 [0xf3ffffff].
Bus 0, device  1, function 0:
  PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 3).
    Master Capable. Latency=128. Min Gnt=140.
Bus 0, device  2, function 0:
  Bridge: Intel Corp. 82371AB/EB/MB PIIX4 ISA (rev 2).
Bus 0, device  2, function 1:
  IDE interface: Intel Corp. 82371AB/EB/MB PIIX4 IDE (rev 1).
    Master Capable. Latency=64. 
    I/O at 0x10c0 [0x10cf].
Bus 0, device  2, function 2:
  USB Controller: Intel Corp. 82371AB/EB/MB PIIX4 USB (rev 1).
    IRQ 11.
    Master Capable. Latency=64. 
    I/O at 0x1060 [0x107f].
Bus 0, device  2, function 3:
  Bridge: Intel Corp. 82371AB/EB/MB PIIX4 ACPI (rev 3).
    IRQ 9.
Bus 0, device  3, function 0:
  CardBus bridge: Texas Instruments PCI1251B (rev 0).
    IRQ 11.
    Master Capable. Latency=168. Max Lat=5.
    Non-prefetchable 32 bit memory at 0x10000000 [0x10000fff].
Bus 0, device  3, function 1:
  CardBus bridge: Texas Instruments PCI1251B (#2) (rev 0).
    IRQ 11.
    Master Capable. Latency=168. Min Gnt=192.Max Lat=5.
    Non-prefetchable 32 bit memory at 0x10001000 [0x10001fff].
Bus 0, device  6, function 0:
  Communication controller: Lucent Microelectronics WinModem 56k (rev 1).
    IRQ 11.
    Master Capable. No bursts. Min Gnt=252.Max Lat=14.
    Non-prefetchable 32 bit memory at 0xec000000 [0xec0000ff].
    I/O at 0x10f0 [0x10f7].
    I/O at 0x1400 [0x14ff].
Bus 0, device  7, function 0:
  Multimedia audio controller: ESS Technology ES1969 Solo-1 Audiodrive (rev 2).
    IRQ 5.
    Master Capable. Latency=64. Min Gnt=2.Max Lat=24.
    I/O at 0x1080 [0x10bf].
    I/O at 0x10e0 [0x10ef].
    I/O at 0x10d0 [0x10df].
    I/O at 0x10fc [0x10ff].
    I/O at 0x10f8 [0x10fb].
Bus 1, device  0, function 0:
  VGA compatible controller: Neomagic Corporation [MagicMedia 256AV] (rev 32).
    IRQ 11.
    Master Capable. Latency=128. Min Gnt=16.Max Lat=255.
    Prefetchable 32 bit memory at 0xf4000000 [0xf4ffffff].
    Non-prefetchable 32 bit memory at 0xec400000 [0xec7fffff].
    Non-prefetchable 32 bit memory at 0xec100000 [0xec1fffff].
Bus 2, device  0, function 0:
  Ethernet controller: PCI device 13d1:ab06 (rev 16).
    IRQ 11.
    Master Capable. Latency=64. Min Gnt=32.Max Lat=64.
    I/O at 0x4000 [0x40ff].
    Non-prefetchable 32 bit memory at 0x10800000 [0x108001ff].

Como puede verse, existen 3 buses, numerados del 0 al 2, cada uno de los cuales puede tener distintos dispositivos ("devices").

Para este propósito también puede utilizarse la utilidad lspci.  Un ejecutable situado generalmente en /sbin. que ofrece múltiples opciones (utilice man lspci para verlas).   En el sistema anterior produce la siguiente salida [2]:

00:00.0 Host bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 03)
00:01.0 PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 03)
00:02.0 Bridge: Intel Corp. 82371AB/EB/MB PIIX4 ISA (rev 02)
00:02.1 IDE interface: Intel Corp. 82371AB/EB/MB PIIX4 IDE (rev 01)
00:02.2 USB Controller: Intel Corp. 82371AB/EB/MB PIIX4 USB (rev 01)
00:02.3 Bridge: Intel Corp. 82371AB/EB/MB PIIX4 ACPI (rev 03)
00:03.0 CardBus bridge: Texas Instruments PCI1251B
00:03.1 CardBus bridge: Texas Instruments PCI1251B
00:06.0 Communication controller: Lucent Microelectronics WinModem 56k (rev 01)
00:07.0 Multimedia audio controller: ESS Technology ES1969 Solo-1 Audiodrive (rev 02)
01:00.0 VGA compatible controller: Neomagic Corporation NM2200 [MagicGraph 256AV] (rev 20)
02:00.0 Ethernet controller: Abocom Systems Inc RTL8139 [FE2000VX] CardBus Fast Ethernet Attached Port Adapter (rev 10)

[1]  En Linux coexisten distintos estándares cuyo objeto es la descripción de una estructura de directorios ("Filesystem hierarchy"), que permita a usuarios y desarrolladores utilizar situaciones, nombres de directorios y contenidos, que sean predecibles y comunes entre las distintas distribuciones.  Uno de estos es el conocido como FHS "Filesystems Hierarchy Standar"    www.pathname.com/fhs/2.2/.

[2]  La opción lspci -v proporciona información más detallada.  En realidad ambas funciones proporcionan la misma información básica, aunque con algunas diferencias.  Para ver el máximo de detalle utilice la opción lspci -vv.