****************************************************************************
****** Instalacion del modem HOWTO ****************** Por Daniel Molina ****
****************************************************************************

Este documento ha sido creado usando mensajes aparecidos en el area
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.

1. Instalacion fisica del modem
2. Eleccion del puerto COM
	2.1 Linux y los puertos COM
	2.2 Linux y el Plug'n'Play
3. El comando setserial
4. El archivo rc.serial
5. Permisos de los archivos
6. Contactar con el autor

1. Instalacion fisica del modem:

	Esto no tiene complicacion, 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 funcion del tipo de instalacion nos encontramos con modems
	internos y externos.

2. Eleccion del puerto COM:

	Los modems usan el puerto COM para comunicarse con el ordenador
	por lo ke la correcta eleccion y configuracion de este puerto es
	imprescindible.

	En algunos modems hay ke seleccionar el puerto a traves 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 comun asignar el COM2 al modem, pues la mayoria tenemos
	el mouse en COM1 aunke va a gusto del usuario.

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 mayoria de los casos.
	Los dispositivos cuaX y ttySX son analogos aunke se recomienda el
	uso de ttySX por sus mayores prestaciones (los cuaX estan obsoletos)
	
	Nota: Por algun motivo DOSEmu no se entiende bien con ttySX, 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 es 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, targetas 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 con
		BIOS antiguas ke no soportan esta norma.
		Instala el pakete 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 soprtan
		PnP desde hace muchas versiones. 
		Para dar soporte PnP deberemos recompilar el kernel y
		seleccionar PnP como modulo.

	c) Inicializacion 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 operacion solo habra ke realizarla una vez.
		
		Nota: si tu software no encuentra recursos para el COM2
		intenta inhabilitarlo desde la BIOS.

3. El comando setserial:

	En la mayoria de los casos el modem ya esta instalado y listo para 
	ser usado en el dispositivo /dev/modem, pero algunos modems rekieren 
	cambiar algunos parametros 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 
		# setserial /dev/ttyS1 baud_base 115200
	
	port: Indica la region I/O 
	irq: Indica la interrupcion
	uart: Indica el tipo de uart
	baud_base: Indica la velocidad

	Todos estos parametros pueden modificarse para un uso optimo del
	dispositivo. Mas informacion en 'man setserial'

	Para ver toda la informacion disponible sobre nuestro modem
	escribiremos:

		# setserial -a /dev/modem

	Y comprobamos ke todos los datos son lo ke keremos.
	
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 podria ser:

		---- /etc/rc.d/rc.serial --------- Cut here ----
		#!/bin/bash
		setserial /dev/ttyS1 irq 5
		---------------------------------- 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 (agredeceria mas informacion sobre esto)

	Para asegurarnos de ke este archivo es leido 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 tenr 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 inicializacion 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:

	Cualkier sugerencia o correccion seran bienvenidas.

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

