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
3. El comando setserial
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.
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.
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.
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.
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.
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
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