Logo de AulaDigital

RDSI Como 5

RDSI COMO : Configuración de recursos usados por el dispositivo. Anterior Siguiente Indice

5. Configuración de recursos usados por el dispositivo.

5.1 Dispositivos Plug & Play

Bajo Linux, y mientras se trabaja en un soporte directo en el kernel para este "estándar", habremos de usar las herramientas del paquete isapnptools para asignar los recursos precisos al dispositivo. Como su nombre indica, solo valen para dispositivos PnP ISA, no para los PCI (que de todas formas, casi siempre han sido PnP en cuanto a enchufar y listo, no al estándar). La mayoría de los servidores ftp que albergan contenidos Linux las tienen, así como las distribuciones Linux más populares.

Para configurar la tarjeta, use el programa pnpdump y vuelque su salida a un fichero, por ejemplo, a /tmp/isapnp.conf.

Deberá editarlo para reflejar los valores correctos. Una vez hecho esto, con isapnp /tmp/isapnp.conf tendrá la tarjeta lista.

Luego de haber comprobado que los valores son correctos, y que la tarjeta se inicializa correctamente, guarde el fichero definitivamente, en /etc/isapnp.conf.

Al arrancar (y suponiendo que haya instalado o tuviera ya instaladas correctamente las pnptools) los scripts de inicialización se encargarán de todo automáticamente. En cualquier caso, y si viera que isapnp no se ejecuta al arrancar el Linux, siempre le queda la solución de incluirlo en /etc/rc.d/rc.local o similar, o, en el peor de los casos, ejecutarlo a mano.

El fichero generado por pnpdump del siguiente modo

[root@hal /root]# pnpdump > /tmp/isapnp.conf

y suponiendo que sólo tenga una tarjeta PnP, una Teles.SO 16.3c PnP en este caso, si tiene una SoundBlaster PnP, esto estará al final generalmente, y será similar a esto:

# $Id: pnpdump.c,v 1.8 1997/01/14 21:05:35 fox Exp $
# This is free software, see the sources for details.
# This software has NO WARRANTY, use at your OWN RISK
#
# For details of this file format, see isapnp.conf(5)
#
# Compiler flags: -DREALTIME
#
# Trying port address 0203
# Board 1 has serial identifier 0d 1a 09 0b 44 10 26 27 50
# (DEBUG)
(READPORT 0x0203)
(ISOLATE)
(IDENTIFY *)

# Card 1: (serial identifier 0d 1a 09 0b 44 10 26 27 50)
# TAG2610 Serial No 436800324 [checksum 0d]
# Version 1.0, Vendor version 1.1
# ANSI string -->TELES.S0/16.3c Plug&Play<--
#
# Logical device id TAG2610
#     Device support I/O range check register
#
# Edit the entries below to uncomment out the configuration required.
# Note that only the first value of any range is given, this may be
changed if $# Don't forget to uncomment the activate (ACT Y) when happy

(CONFIGURE TAG2610/436800324 (LD 0
# Multiple choice time, choose one only !

#     Start dependent functions: priority preferred
#       Logical device decodes 16 bit IO address lines
#             Minimum IO base address 0x0580
#             Maximum IO base address 0x05bc
#             IO base alignment 4 bytes
#             Number of IO addresses required: 2
# (IO 0 (BASE 0x0580))
#       IRQ 3, 4, 5, 9, 10, 11, 12 or 15.
#             High true, edge sensitive interrupt (by default)
# (INT 0 (IRQ 3 (MODE +E)))

#       Start dependent functions: priority acceptable
#       Logical device decodes 16 bit IO address lines
#             Minimum IO base address 0x0500
#             Maximum IO base address 0x05bc
#             IO base alignment 4 bytes
#             Number of IO addresses required: 2
# (IO 0 (BASE 0x0500))
#       IRQ 10, 11 or 12.
#             High true, edge sensitive interrupt (by default)
# (INT 0 (IRQ 10 (MODE +E)))
#       Start dependent functions: priority acceptable
#       Logical device decodes 16 bit IO address lines
#             Minimum IO base address 0x0680
#             Maximum IO base address 0x06bc
#             IO base alignment 4 bytes
#             Number of IO addresses required: 2
# (IO 0 (BASE 0x0680))
#       IRQ 10, 11 or 12.
#             High true, edge sensitive interrupt (by default)
# (INT 0 (IRQ 10 (MODE +E)))

#       Start dependent functions: priority functional
#       Logical device decodes 16 bit IO address lines
#             Minimum IO base address 0x1500
#             Maximum IO base address 0x17fc
#             IO base alignment 4 bytes
#             Number of IO addresses required: 2
# (IO 0 (BASE 0x1500))
#       IRQ 3, 4, 5, 9, 10, 11, 12 or 15.
#             High true, edge sensitive interrupt (by default)
# (INT 0 (IRQ 3 (MODE +E)))

#     End dependent functions
#     Vendor defined tag:  84 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00
#     Vendor defined tag:  84 06 00 00 00 00 00
# (ACT Y)
))
# End tag... Checksum 0x00 (OK)

Simplemente hay que dejar una de las secciones (IO... ) e (INT...) eliminando los comentarios, y asegurarse (esto es importante) de eliminar el último comentario de la línea donde se lee # (ACT Y) para activar la incialización de la tarjeta con los valores escogidos...

Es conveniente anotar dichos valores, ya que los que tendremos que utilizar posteriormente (anótelos).

Y ni que decir tiene que no debemos asignarle recursos que ya estén siendo usados por otros dispositivos. Familiarícese con su sistema.

Un cat /proc/interrupts o un cat /proc/ioports le ayudará, especialmente antes de instalar la tarjeta en el ordenador, siempre y cuando todos los dispositivos que tenga su ordenador sean reconocidos por Linux, ya que los que no lo sean no aparecerán en los listados y no podremos saber qué recursos están usando.

Refiérase a la sección bios.

Un fichero /etc/isapnp.conf, una vez eliminados todos los comentarios suele tener este aspecto:

(READPORT 0x0203)
(ISOLATE)
(IDENTIFY *)
(CONFIGURE TAG2610/436800324 (LD 0
(IO 0 (BASE 0x0580))
(INT 0 (IRQ 3 (MODE +E)))
(ACT Y)
))

La salida del comando isapnp /etc/isapnp.conf, bien sea a mano o durante el arranque del sistema, suele ser así:

[root@hal /root]# isapnp /tmp/isapnp.conf
Board 1 has Identity 0d 1a 09 0b 44 10 26 27 50:  TAG2610 Serial No 436800324 [checksum 0d]

5.2 Configuración de dispositivos NO PnP

Se supone que ha leído, entendido, y llevado a cabo con la absoluta certeza de haberlo hecho bien, la sección bios.

No conocemos todos los dispositivos NO PnP disponibles en el mercado que funcionan con Linux. Pero la experiencia muestra que generalmente, para su configuración tiene las siguientes opciones:

  • Usar alguna utilidad, generalmente bajo DOS o Windows.
  • Usar Jumpers del dispositivo si los tiene
  • Usar una utilidad para linux (en contadísimas ocasiones)

Normalmente, la más cómoda y fiable es la de los jumpers, ya que no deberemos preocuparnos de si los reset borran la configuración o no, aunque en algunas tarjetas (Teles.SO 16.3 NO PnP por ejemplo) sólo posibilitan la asignación de IOs. (Ojo, con esta tarjeta, son unos microrruptores muy pequeños, generalmente con un poco de grasa por encima).

En el primer caso, si son utilidades DOS, siempre podremos arrancar con ese disquete antediluviano que rueda por el cajón, y configurar. Si es windows, y se tiene instalado también, tal vez tras unas encomiendas a San Pancracio, si Murphy está distraído, y la suerte está de nuestro lado, consigamos convencerla de que use los recursos que queremos.

En sistemas en los que afortunadamente no esté instalado, siempre podemos probar a pincharla en uno que sí lo tenga, configurarla, y volverla a pinchar en el sistema Linux, si bien no siempre funciona.

Otra posibilidad, si la suerte acompaña, es comprobar (la mayor parte de las veces mediante ensayo-error, y no siempre con absoluta certeza, aunque un vistazo a la documentación de la tarjeta ayuda bastante) qué parámetros por defecto tiene el dispositivo de fábrica, y usarlos, siempre que no entren en conflicto con otros que ya tengamos instalados; si es así, dependiendo de dichos dispositivos puede ser hasta más cómodo reconfigurarlos y dejar hueco al nuevo inquilino.

Recuerde (incluso anote, insistimos) qué parámetros va a usar. Los necesitará más adelante.


Anterior Siguiente Indice