Como paso previo a cualquiera de los dos modos de funcionamiento, es requisito indispensable que el núcleo reconozca nuestra tarjeta RDSI y nos deje usarla. De esto se encargan varios componentes del núcleo que será necesario compilar. Para ello, recomiendo usar un núcleo de linux igual o posterior al 2.0.36. De esta forma el driver de HiSax más reciente ya viene incorporado en el núcleo y no hay que conseguirlo aparte y parchear el mismo.
Pasos a seguir para la compilación del soporte de la tarjeta en el núcleo
Una vez que dispongamos de las fuentes del núcleo tenemos que realizar las siguiente operaciones:
/usr/src/linux/README
una vez que lo haya descomprimido en /usr/src
).
Nota:En el núcleo, para referirse a RDSI se utilizan las siglas ISDN (Integrated Services Digital Network).
make config
con un núcleo de la serie 2.0.x, los comentarios del autor
aparecen entre paréntesis).
CONFIG_EXPERIMENTAL=y (Necesario para que nos pregunte todas las opciones) CONFIG_MODULES=y (El driver HiSax es obligatorio usarlo como módulo, así que...) CONFIG_NET=y (Para que podamos usar servicios de red) CONFIG_SYSVIPC=y (Necesario para usar kerneld) CONFIG_KERNELD=y (Kerneld se encarga de cargar los módulos automáticamente...) CONFIG_INET=y (Soporte para TCP/IP) CONFIG_NETDEVICES=y (Dipositivos de red) CONFIG_PPP=m (Soporte para PPP, yo prefiero cargarlo como módulo, pero puede ser compilado en estático respondiento "Y" en vez de "M"). CONFIG_ISDN=m (Soporte para RDSI en módulo) CONFIG_ISDN_PPP=y (OPCIONAL: compilar si vamos a usar PPP sincrono, p.ej. con Infovia+) CONFIG_ISDN_DRV_HISAX=m (Soporte para el driver HiSax) CONFIG_HISAX_EURO=y (Importante, usamos protocolo Euro-DSS1 o Euro-ISDN) CONFIG_HISAX_ELSA=y (Soporte para la Elsa QuickStep 1000) CONFIG_PROC_FS=y (Para diagnósticos e informacion del sistema en general)
Pasos necesarios para la configuración de la tarjeta
/etc/lilo.conf
(si usted usa lilo) para indicarle al núcleo los
valores de irq, e/s y otros detalles. Vea los ficheros de
/usr/src/linux/Documentation/isdn/
para los detalles concretos
de cada tarjeta.
Ejecutar: pnpdump> /tmp/isapnp.conf
Esto creará un fichero con un contenido similar al siguiente
(suponiendo que ésta sea la única tarjeta Plug& Play del sistema;
si hubiera otras el fichero contendría más líneas). Hay que editar
el fichero obtenido eliminando los comentarios de las líneas con la
configuración deseada, para obtener algo similar a lo que aparece aquí.
Para más detalles, consulte la documentación de isapnp
y pnpdump
.
# Trying port address 0203 # Board 1 has serial identifier 2a 00 00 00 00 33 01 93 15 #(DEBUG) (READPORT 0x0203) (ISOLATE) (IDENTIFY *) # Card 1: (serial identifier 2a 00 00 00 00 33 01 93 15) # ELS0133 Serial No 0 [checksum 2a] # Version 1.0, Vendor version 0.0 # ANSI string -->ELSA QuickStep 1000<-- # (CONFIGURE ELS0133/0 (LD 0 (IO 0 (BASE 0x0160)) <--- Indicar aquí la dirección de E/S. (INT 0 (IRQ 15 (MODE +E))) <--- Indicar aquí la IRQ a usar (ACT Y) )) # End tag... Checksum 0x00 (OK)Ejecutar:
isapnp /tmp/isapnp.conf
Esto configurará la tarjeta Plug and Play.
/tmp/isapnp.conf
a /etc/isapnp.conf
. Si ha instalado
correctamente las pnptools las próximas veces que arranque el sistema,
la configuración de la(s) tarjeta(s) PNP será automática.
cat /proc/ioports cat /proc/interrupts
modprobe hisax type=7 io=0x160 irq=15 protocol=2 id=qs1000Para ver cuáles son los números mágicos a usar en el comando anterior tiene que leer el fichero
/usr/src/linux/Documentation/isdn/README.HiSax
.
En concreto, en la línea anterior le indicamos que queremos usar una tarjeta
Elsa QuickStep 1000 (type=7), cuya dirección de E/S es la 0x160 (la misma que
en el fichero /etc/isapnp.conf
), que la interrupción a usar es la 15 (como se
indica en /etc/isapnp.conf
) y que el tipo de protocolo a usar es EURO-DSS1, que
es el usado en España. El último valor es sólo un identificativo asignado a esta
tarjeta (ya que existe la posibilidad de usar varias simultáneamente).
/etc/conf.modules
:
# 01.02.1999 Ignacio Arenaza. Añada las siguientes líneas para que # el módulo de la tarjeta RDSI se cargue automáticamente bajo demanda. alias char-major-43 hisax alias char-major-45 isdn options hisax type=7 io=0x160 irq=15 protocol=2 id=qs1000Por supuesto debe cambiar los parámetros type, io, irq, protocol e id para que se ajusten a su configuración.
Además, si quiere que el módulo se cargue en el núcleo de forma automática,
deberá compilar el soporte de kerneld en el núcleo y editar el fichero /etc/modules
e incluir la palabra auto justo despues de las líneas de comentarios
(en caso de que esté usando Debian GNU/Linux).