Disponible la nueva versión "donationware" 7.3 de OrganiZATOR
Descubre un nuevo concepto en el manejo de la información.
La mejor ayuda para sobrevivir en la moderna jungla de datos la tienes aquí.

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.