Antes de intentar configurar un Módem para Linux, asegúrese que este Módem no sea WinModem , la razón por la cual no pueden ser utilizados Winmodem's en Linux (generalmente, mas no siempre) es que estos utilizan el CPU del "Host" para convertir las señales digitales en señales análogas que pueden ser enviadas a través de lineas telefónicas, esto a diferencia de un Módem clásico que utiliza un chip especial dentro del módem para esta función; lo anterior implica que para utilizar un Winmodem es necesario un driver especial para implementar en el sistema operativo, debido a que los desarrollos de Winmodems utilizan un sistema propietario "propietary" los detalles para desarrollar un driver no son divulgados por la empresa, por lo tanto limitan su uso únicamente a sistemas operativos que soporta el vendedor de Modems (Típicamente Microsoft Windows). Una lista de modems NO compatibles con sistemas Linux . (Véase comentario al final de esta página, sobre una posible solución )
|
El Kernel de Linux debe estar compilado para utilizar el daemon pppd, para verificar si la imagen del Kernel es capaz de ejecutar pppd,ejecute:
|
Debió aparecer una linea indicando la ubicación del modulo, si no aparece entonces debe
crear una nueva imagen del Kernel . Otra utileria que es necesaria para esta instalación es chat
, ejecute: which chat
, si aparece ...no chat in..
entonces debe instalar el RPM de chat.
La instalación del Módem es relativamente automática, aunque existen una gran cantidad de detalles para inicializar el Hardware de un Módem, basta conectar el Módem al puerto Serial o "Slot" y reinicializar el "Host" y este debe ser detectado , ejecute el comando dmesg
el cual despliega todo el "Hardware" detectado al arranque, observando los resultados de este comando puede analizar si fue detectado el Módem. Seguramente aparecerán algunas lineas claramente indicando ppp
o serial modem
y sus detalles.
Para establecer una conexión de Internet vía Dial-up se debe invocar el daemon pppd , sin embargo debido a que pppd requiere varios parámetros para ser invocado se utilizan algunas herramientas para modularizar el proceso. Chat
se utiliza para automatizar el proceso de marcación, emplea un script que contiene todos los parámetros necesarios para realizar una conexión Dial-up:
ABORT 'BUSY' ABORT 'NO CARRIER' '' ATZ OK ATDT61-703234 CONNECT '' |
Este script debe encontrarse bajo el directorio /etc/ppp/
con un nombre descriptivo como: scriptchat
o lasecuenciachat
, además debe ser asignado acceso 755, para que sea ejecutable por cualquier usuario del sistema.
Este script indica pares de acontecimientos que deben ser ejecutados entre el Módem y el Sistema.
''
indican que no se debe esperar respuesta alguna del módem, por lo tanto el comando ATZ
debe ser enviado de inmediato al módem, el enviar la señal ATZ
al módem indica que debe ser reinicializado (similar a un "Boot" de cualquier computadora). OK
del "Módem", se debe enviar la señal ATDT61-703234
, esta ultima señal contiene el número que será marcado por el módem (61-703234).CONNECT
del Módem, no es necesario ejecutar ninguna acción (''
).El script anterior es sumamente sencillo ya que no se ocupa de casos especiales, como remarcaciones,errores..etc.Los comandos AT ("Attention Commands") que son enviados al Módem generalmente son definidos para cada vendedor de Módem , por lo tanto el manual de su módem debe contener varios AT específicos, sin embargo, los AT definidos en el script anterior generalmente son validos para todo vendedor de Modems.
Otro AT útil puede ser: ATDP61-703234
, a diferencia de ATDT
, ATDP
marcará el teléfono esperando un servicio de pulso (Dial-Pulse) mientras ATDT
(Dial-Tone) el ampliamente utilizado (mas no estandarizado) servicio de tono. Otro parámetro importante es la ", (coma)
" que permite esperar un lapso de tiempo antes de continuar con la marcación, ATDT9,,,61-703234
indica que debe marcarse 9
y esperar 3 segundos antes de marcar 61-70323
, un caso típico cuando se tiene una red telefónica corporativa.
Dentro del directorio /etc/ppp
existen dos archivos llamados pap-secrets
y chap-secrets
, estos archivos deben contener el usuario y contraseña que fueron asignados por su ISP, siga el formato indicado en el archivo, sin entrar en mucho detalle, la diferencia entre PAP y CHAP es que CHAP utiliza una metodología más segura (MD5) para enviar información a través de la Red, y PAP no utiliza esto; es necesario que su ISP soporte la metodología CHAP , por lo que si no esta seguro, se recomienda colocar el nombre y contraseña dentro del archivo pap-secrets
Una vez escrito el script chat y definidos los usuarios y contraseñas en pap-secrets
, es necesario configurar algunos parámetros que utilizará pppd
, para invocar pppd
generalmente se define otro script similar al utilizado por chat bajo el directorio /etc/ppp/peers/
, este script es colocado bajo este directorio para facilitar la ejecución de pppd
, de esta manera basta ejecutar el comando:
|
Un script pppd
es el siguiente:
ttyS1 38400 lock crtscts noipdefault user gabriel defaultroute 0.0.0.0:0.0.0.0 connect '/usr/sbin/chat -v -f /etc/ppp/lasecuenciachat' |
El primer parámetro de este script indica el "device" sobre el cual se encuentra el módem , este típicamente es ttyS1 (Puerto Serial 2), como se mencionó anteriormente puede utilizar el comando dmesg
para verificar su ubicación.El segundo parámetro indica la velocidad que utilizará el módem en bps . lock
permite que el "device" (modem) no pueda ser manipulado por ningún otro proceso del sistema, mientras crtscts
significa que se utilizara "flow control" de Hardware, algo absolutamente necesario para cualquier conexión por arriba de los 9600 bps. noipdefault
indica que la dirección IP no puede ser obtenida del "Host" que esta iniciando la marcación, por lo tanto debe ser obtenida del ISP.
La linea user gabriel
indica el usuario que realizará la conexión, donde gabriel
es el usuario definido en pap-secrets
o chap-secrets
según sea el caso. defaultroute
indica que debe ser agregada una ruta "default" a la tabla de ruteo del sistema para asegurarse que todo paquete de información desconocido sea enviado a esta interfase, 0.0.0.0:0.0.0.0
significa la dirección IP del "Host" local y la dirección IP "Host" remoto (ISP) respectivamente , 0.0.0.0
indica que estas direcciones serán asignadas por el "Host" remoto.
Y finalmente connect '/usr/sbin/chat -v -f /etc/ppp/lasecuenciachat'
ejecuta el script para chat
llamado lasecuenciachat
definido en la sección anterior.
Si el script anterior lo nombra miconexion
, a partir de este punto si ejecuta el comando pppd call miconexion
debe oír su módem marcar a su ISP. Aun no lo haga, falta una parte critica para utilizar Internet con una conexión Dial-up en Linux.
Hasta este punto en la configuración solo es posible establecer una conexión Dial-up con nuestro ISP, pero sin mucha utilidad ya que nuestro "Host" aun no sabe como encontrar nombres en Internet (Vea DNS ) , para esto es necesario modificar el archivo resolv.conf que contenga al menos los siguientes parámetros:
nameserver 203.23.12.1 nameserver 203.23.12.2 |
Donde 203.23.12.1 y 203.23.12.2 son los nodos IP de los servidores DNS de su ISP. Estas dos lineas permiten que toda resolución de DNS que requiera su "Host" , desde correos electrónicos, FTP o páginas de Internet (HTTP) sea encontrado en alguno de estos dos servidores. Si aun desea eficientizar esta instalación puede hacer las resoluciones en un servidor DNS más cercano , definiendo un servidor Cache DNS en su Host .
ip-up
y ip-down
Estos dos archivos localizados también dentro del directorio /etc/ppp
son utilizados al iniciar y al terminar la conexión Dial-up, en el caso de ip-up
este script es ejecutado cada vez que se inicie una conexión Dial-up, mientras ip-down
es ejecutado cada vez que se termine una conexión Dial-up.
En RedHat Linux se recomienda no modificar este archivo y crear un archivo ip-up.local
y ip-down.local
, un ejemplo seria colocar la linea /usr/bin/wall "La conexion al ISP fue exitosa"
, en el archivo ip-up.local
lo cual enviaría un mensaje a todas las terminales del sistema. Otro uso más practico seria cuando se emplea
qmail con Dial-up
ya que automatiza el revisar y enviar correo electrónico cada ocasión que se inicie una conexión ppp.
Para terminar la conexión Dial-up es conveniente definir un script que realice la terminación, coloquelo dentro de /etc/ppp
para que sea accesible de cualquier directorio, la ejecución del siguiente script terminaría la conexión:
#!/bin/sh killall 'pppd' |
Comentarios |
---|
Gracias al paquete ltmodem-kv_2.2.16_22-6.00a1-1.i386.rpm he conseguido poder conectarme a Internet utilizando un WinModem en Linux (hay un rpm para cada versión del kernel). . En la página http://www.physcip.uni-stuttgart.de/heby/ltmodem/ se encuentran los detalles de diversos RPM's. |
Eduardo Cobian Garrido, educobian@hotmail.com |