Instalacion del modem HOWTO
Por Daniel Molina

Este documento ha sido creado usando mensajes aparecidos en el área de mensajes R34.linux de Fido y por mi propia experiencia.
Solo lo he probado en Red Hat 5.0 por lo ke los nombres y localizaciones de los archivos pueden variar respecto a otras distribuciones.

Indice

1. Instalación física del modem

2. Elección del puerto COM

3. El comando setserial

4. El archivo rc.serial

5. Permisos de los archivos

6. Contactar con el autor


1. Instalación física del modem:

Esto no tiene complicación, se hace perfectamente leyendo las instrucciones del manual del modem.
Tan solo recordar ke los Win-Modem no funcionan bajo Linux (de momento) ni los MWAVE de IBM.
En función del tipo de instalación nos encontramos con modems internos y externos.

2. Elección del puerto COM:

Los modems usan el puerto COM para comunicarse con el ordenador por lo ke la correcta elección y configuración de este puerto es imprescindible.

En algunos modems hay ke seleccionar el puerto a través de jumpers situados en el propio modem, mientras ke los Plug'n'Play (PnP a partir de ahora) se configuran mediante software o usan los recursos disponibles del sistema.

Es muy común asignar el COM2 al modem, pues la mayoría tenemos el mouse en COM1 aunque va a gusto del usuario. Usar cualquier puerto del 1 al 4 no debería ser ningún problema.

2.1 Linux y los puertos COM:

Linux trata los puertos COM de la misma manera ke todos los dispositivos de sistema, con una entrada en el directorio /dev

Los archivos son:

/dev/cua0 o /dev/ttyS0 : COM1
/dev/cua1 o /dev/ttyS1 : COM2
/dev/cua2 o /dev/ttyS2 : COM3
/dev/cua3 o /dev/ttyS3 : COM4

Existen mas, pero su uso no es necesario en la mayoría de los casos. Los dispositivos cuaX y ttySX son análogos aunque se recomienda el uso de ttySX por sus mayores prestaciones (los cuaX están obsoletos)

Nota: Por algún motivo DOSEmu no se entiende bien con ttySX, (al menos en mi sistema) por lo ke en dosemu.conf deberemos definir el modem en /dev/cuaX.

Podemos ver los puertos COM ke detecta el kernel durante el arranke con un simple:

# dmesg | grep tty

Ademas esto nos muestra las opciones por defecto de los puertos.

Una vez determinado ke puerto va a usar el modem crearemos un nuevo dispositivo ke use ese puerto, con la orden:

# ln -s /dev/ttySX /dev/modem

En lugar de ttyS puede usarse cua (no recomendado), la X se substituye por un numero (0-3) ke determina el puerto.

2.2 Linux y el PnP:

En primer lugar recomiendo siempre el uso de dispositivos ke no sean PnP, ya sean modems, tarjetas de red, de sonido ... Existen varias alternativas para el uso de modems PnP bajo Linux:

a) Las isapnptools
Estas utilidades nos permiten usar modems PnP incluso con BIOS antiguas ke no soportan esta norma. Instala el paquete isapnptools-1.11 o posterior y teclea:

# man isapnp
# man pnpdump

b) Soporte PnP en el kernel:
Los kernels experimentales de la serie 2.1.xxx y 2.2.x soportan PnP desde hace muchas versiones. Para dar soporte PnP deberemos recompilar el kernel y seleccionar PnP como modulo.

c) Inicialización en MS-DOS/WIN95:
Algunos modems llevan utilidades MSDOS/WIN para ajustar los valores de los puertos. Puedes usar este software para situar tu modem en COM2.
En general esta operación solo habrá ke realizarla una vez.

Nota: si tu software no encuentra recursos para el COM2 intenta inhabilitarlo desde la BIOS.

Nota: si tu modem funciona bien en otro sistema operativo apunta los parámetros para usarlos mas tarde en linux.

3. El comando setserial:

En la mayoría de los casos el modem ya esta instalado y listo para ser usado en el dispositivo /dev/modem, pero algunos modems requieren cambiar algunos parámetros del puerto.

Para eso se usa el comando setserial, el uso es:

# setserial dispositivo opciones

Un ejemplo de empleo completo de setserial seria:

# setserial /dev/ttyS1 port 2f8 irq 3 uart 16550A baud_base 115200

port: Indica la región I/O
irq: Indica la interrupción
uart: Indica el tipo de uart
baud_base: Indica la velocidad

También puedes usar este script de fabricación casera para configurar las lineas seriales usando el comando setserial: setserial.sh.gz, este sencillo script permite cambiar de una manera sencilla los parámetros de los puertos ttyS, recomendado para los ke no se quieren liar con el man.

Todos estos parámetros pueden modificarse para un uso optimo del dispositivo. Mas información en 'man setserial'

Para ver toda la información disponible sobre nuestro modem escribiremos:

# setserial -a /dev/modem

Y comprobamos ke todos los datos son lo ke queremos.

4. El archivo rc.serial:

Si debemos hacer modificaciones en los puertos, estas pueden automatizarse colocandolas en el archivo /etc/rc.d/rc.serial
La sintaxis correcta de este archivo podría ser:

                ---- /etc/rc.d/rc.serial --------- Cut here ----
                #!/bin/bash
                setserial /dev/ttyS1 irq 5
                ---- /etc/rc.d/rc.serial --------- Cut here ----
Esto fuerza a ke el sistema asigne la IRQ 5 al COM2 en cada arranke.

Parece ser ke los usuarios de Debian tienen este archivo en /etc/rc.boot/0setserial (agradecería mas información sobre esto)

Para asegurarnos de ke este archivo es leído por el sistema escribimos las siguientes lineas en el archivo /etc/rc.d/rc.sysinit:

                ---- /etc/rc.d/rc.sysinit -------- Cut here ----
                [...]
                if [ -f /etc/rc.d/rc.serial ]; then
                        /etc/rc.d/rc.serial
                fi
                [...]
                ---- /etc/rc.d/rc.sysinit -------- Cut here ----
5. Permisos de los archivos:

Los usuarios ke vayan a usar el modem deben tener permisos de escritura en el dispositivo correspondiente:
/dev/cuaX o /dev/ttySX : crw-rw-rw-
# chmod 666 /dev/xxxxX
/dev/modem : lrwxrwxrwx
# chmod 777 /dev/modem

Los archivos de inicialización deben ser ejecutables:
/etc/rc.d/rc.serial: -rwxr-xr-x
# chmod 755 /.../rc.serial
/etc/rc.d/rc.sysinit: -rwxr-xr-x
# chmod 755 /.../rc.sysinit

6. Contactar con el autor:

Cualquier sugerencia o corrección serán bienvenidas.

E-mail: dmolinap@geocities.com
HTTP: http://www.geocities.com/soho/lofts/3682
IRC: IRC-Hispano #linux Nick dan-man



 


Volver a la pagina principal