<HTML> <HEAD> <TITLE>RDSI COMO : Configuración de recursos usados por el dispositivo. </TITLE> </HEAD> <BODY> <A HREF="RDSI-Como-4.html">Anterior</A> <A HREF="RDSI-Como-6.html">Siguiente</A> <A HREF="RDSI-Como.html#toc5">Indice</A> <HR> <H2><A NAME="recursos"></A> <A NAME="s5">5. Configuración de recursos usados por el dispositivo. </A></H2> <H2><A NAME="ss5.1">5.1 Dispositivos Plug & Play</A></H2> <P>Bajo Linux, y mientras se trabaja en un soporte directo en el kernel para este "<I>estándar</I>", habremos de usar las herramientas del paquete <CODE>isapnptools</CODE> para asignar los recursos precisos al dispositivo. Como su nombre indica, <B>solo valen para dispositivos PnP ISA</B>, no para los PCI (que de todas formas, casi siempre han sido PnP en cuanto a enchufar y listo, no al <I>estándar</I>). La mayoría de los servidores ftp que albergan contenidos Linux las tienen, así como las distribuciones Linux más populares. </P> <P>Para configurar la tarjeta, use el programa <CODE>pnpdump</CODE> y vuelque su salida a un fichero, por ejemplo, a <CODE>/tmp/isapnp.conf</CODE>. </P> <P>Deberá editarlo para reflejar los valores correctos. Una vez hecho esto, con <CODE>isapnp /tmp/isapnp.conf</CODE> tendrá la tarjeta lista.</P> <P>Luego de haber comprobado que los valores son correctos, y que la tarjeta se inicializa correctamente, guarde el fichero definitivamente, en <CODE>/etc/isapnp.conf</CODE>.</P> <P>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 <CODE>isapnp</CODE> no se ejecuta al arrancar el Linux, siempre le queda la solución de incluirlo en <CODE>/etc/rc.d/rc.local</CODE> o similar, o, en el peor de los casos, ejecutarlo a mano.</P> <P>El fichero generado por <CODE>pnpdump</CODE> del siguiente modo</P> <P> <BLOCKQUOTE><CODE> <PRE> [root@hal /root]# pnpdump > /tmp/isapnp.conf </PRE> </CODE></BLOCKQUOTE> </P> <P>y suponiendo que sólo tenga una tarjeta PnP, una <I>Teles.SO 16.3c PnP</I> en este caso, si tiene una SoundBlaster PnP, esto estará al final generalmente, y será similar a esto: </P> <P> <BLOCKQUOTE><CODE> <PRE> # $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) </PRE> </CODE></BLOCKQUOTE> </P> <P>Simplemente hay que dejar una de las secciones <CODE>(IO... )</CODE> e <CODE>(INT...)</CODE> eliminando los comentarios, y asegurarse (esto es importante) de eliminar el último comentario de la línea donde se lee <CODE># (ACT Y)</CODE> para <I>activar</I> la incialización de la tarjeta con los valores escogidos... </P> <P>Es conveniente anotar dichos valores, ya que los que tendremos que utilizar posteriormente (anótelos). </P> <P>Y ni que decir tiene que no debemos asignarle recursos que ya estén siendo usados por otros dispositivos. Familiarícese con su sistema. </P> <P>Un <CODE>cat /proc/interrupts</CODE> o un <CODE>cat /proc/ioports</CODE> le ayudará, especialmente <B>antes</B> 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. </P> <P>Refiérase a la sección <A HREF="RDSI-Como-4.html#bios">bios</A>. </P> <P>Un fichero <CODE>/etc/isapnp.conf</CODE>, una vez eliminados todos los comentarios suele tener este aspecto:</P> <P> <BLOCKQUOTE><CODE> <PRE> (READPORT 0x0203) (ISOLATE) (IDENTIFY *) (CONFIGURE TAG2610/436800324 (LD 0 (IO 0 (BASE 0x0580)) (INT 0 (IRQ 3 (MODE +E))) (ACT Y) )) </PRE> </CODE></BLOCKQUOTE> </P> <P>La salida del comando <CODE>isapnp /etc/isapnp.conf</CODE>, bien sea a mano o durante el arranque del sistema, suele ser así: </P> <P> <BLOCKQUOTE><CODE> <PRE> [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] </PRE> </CODE></BLOCKQUOTE> </P> <H2><A NAME="ss5.2">5.2 Configuración de dispositivos NO PnP</A></H2> <P>Se supone que ha leído, entendido, y llevado a cabo con la absoluta certeza de haberlo hecho bien, la sección <A HREF="RDSI-Como-4.html#bios">bios</A>. </P> <P>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: </P> <P> <UL> <LI>Usar alguna utilidad, generalmente bajo DOS o Windows.</LI> <LI>Usar Jumpers del dispositivo si los tiene</LI> <LI>Usar una utilidad para linux (en contadísimas ocasiones)</LI> </UL> </P> <P>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 (<I>Teles.SO 16.3 NO PnP</I> por ejemplo) sólo posibilitan la asignación de <I>IO</I>s. (Ojo, con esta tarjeta, son unos microrruptores muy pequeños, generalmente con un poco de grasa por encima).</P> <P>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. </P> <P>En sistemas en los que <I>afortunadamente</I> 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.</P> <P>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 <I>hueco</I> al nuevo <I>inquilino</I>. </P> <P>Recuerde (incluso anote, insistimos) qué parámetros va a usar. Los necesitará más adelante.</P> <HR> <A HREF="RDSI-Como-4.html">Anterior</A> <A HREF="RDSI-Como-6.html">Siguiente</A> <A HREF="RDSI-Como.html#toc5">Indice</A> </BODY> </HTML>