Debería asegurarse de que su módem está correctamente instalado y de que sabe a qué puerto serie está conectado.
Recuerde:-
Es también importante recordar que is usted tiene 4 puertos serie, la configuración estándar de un PC es que com1 y com3 compartan la IRQ4 y que com2 y com4 compartan la IRQ3.
Si tiene dispositivos en los puertos serie estándar que comparten IRQ con su módem va a tener problemas. Necesita asegurarse de que su módem de puerto serie tiene su propia y única IRQ. Muchas tarjetas modernas de puerto serie (y controladoras de puertos integradas en placas base de calidad) permiten mover las IRQs de los puertos.
Si está ejecutando el un núcleo Linux versión 2, puede comprobar el uso de
IRQs utilizando
cat /proc/interrupts
, lo que producirá una salida como
0: 6766283 timer 1: 91545 keyboard 2: 0 cascade 4: 156944 + serial 7: 101764 WD8013 10: 134365 + BusLogic BT-958 13: 1 math error 15: 3671702 + serial
Esto muestra un puerto serie en IRQ4 (un ratón) y un puerto serie en IRQ15 (el módem permanente en el cual se basa la conexión PPP a Internet. (Hay también un puerto serie en com2, IRQ3 y com4 están en IRQ14, pero como no están en uso, no se muestran).
Atención - usted necesita saber qué es lo que está haciendo si va a jugar con sus IRQs. No solo tendrá que abrir su ordenador, sacar las tarjetas y cambiar los puentes, pero sigue necesitando saber qué hay en cada IRQ. En mi caso, mi PC está completamente basado en SCSI, por lo que puedo desactivar las interfaces IDE de la placa base que normalmente utilizan IRQ14 y 15.
Debe también recordar que si su PC arranca otro sistema operativo, mover la IRQs puede provocar que otro sistema operativo no arranque bien - ˇo no arranque en absoluto!
Si mueve sus puertos serie a IRQs no estándar, necesitará decirle a Linux
qué IRQ utiliza cada puerto. Esto se hace utilizando setserial
y es
mejor hacerlo como parte del proceso de arranque en rc.local
o
rc.serial
que es llamado por rc.local
como parte de la
inicialización de SysV. Para el ejemplo ilustrado anteriormente, las
órdenes a utilizar serían
/bin/setserial -b /dev/ttyS2 IRQ 11 /bin/setserial -b /dev/ttyS3 IRQ 15
Sin embargo, si utiliza módulos serie dinámicament cargados cada vez que se
necesiten cada vez que hagan falta por el proceso kerneld
, no puede
establecer y olvidar el IRQ etc establecido una vez durante el arranque.
Esto es porque si se descarga el módulo de serie, Linux olvida los ajustes
especiales.
Por lo que, si carga un módulo serial bajo petición, necesitará reconfigurar las iRQs cada vez que el módulo se cargue.
Si utiliza un módem externo de alta velocidad (14.400 baudios o superior), su puerto serie necesita ser capaz de manejar la salida que dicho módem es capaz de producir, particularmente cuando los módems comprimen datos.
Esto requiere que su puerto serie use un chip UART moderno, como el 16550(A). Si está utilizando una máquina algo antigua, es posible que su puerto serie tenga sólo un UART 8250, lo que causará considerables problemas a la hora de usarlo con un módem de alta velocidad.
Use la orden
setserial -a /dev/ttySx
para que Linux le informe del tipo de UART que posee. Si no tiene un UART de tipo 16550A, adquiera una nueva tarjeta controladora de puertos serie (disponible por menos de 50 euros). Cuando adquiera su nueva tarjeta, asegúrese de que puede cambiar las IRQ que vengan por defecto.
Nota: las primeras versiones del chip UART 16550 tenían un error. Esto fue descubierto rápidamente y se lanzó una revisión del chip: el UART 16550A. Sin embargo, un número relativamente pequeño de chips defectuosos salieron a la circulación. No es probable que usted se encuentre uno de ellos, pero siempre debe buscar una respuesta que diga 16550A, particularmente en tarjetas series de prestigio reconocido.
Como tradición, Linux utilizaba los dispositivos cuaX
para salida de
datos y ttySx
para entrada.
El código del núcleo que requería esto fue eliminado en las versiones 2.x.x
del núcleo. Ahora se deberían utilizar ttySx
tanto para salida como
para entradas. Supongo que los dispositivos cuaX
desaparecerán en
versiones futuras del núcleo.
Es necesario que configure su módem correctamente para PPP - para hacer esto, LEA EL MANUAL QUE ACOMPAÑA A SU MODEM. La mayor parte de los módems vienen de fábrica con una configuración por defecto que selecciona las opciones requeridas para PPP. La configuración mínima especifica:-
&
K3 en muchos
módems tipo Hayes)Otras configuraciones (entre los comandos estándar Hayes) que debería investigar son:-
&
C1 Detección de línea CONECTADA sólo tras conectar&
S0 Data Set Ready (DSR) siempre CONECTADA
Hay una Web que ofrece configuraciones de módem para una enorme variedad de
marcas y modelos: Modem setup information
http://www.in.net/info/modems/index.html
.
Puede ayudarle en esto.
También es valioso investigar cómo funciona la conexión serie entre el ordenador y el módem. La mayor parte de los módems modernos funcionan con el puerto serie a una velocidad FIJA, y sin embargo permiten que la conexión telefónica cambie su velocidad a la más alta que puedan manejar tanto él como el módem remoto.
Esto es conocido como funcionamiento a velocidad partida. Si su módem da soporte para ello, bloquee la conexión del puerto serie del módem a la velocidad más alta que esté disponible (normalmente 115.200 baudios, pero 38.400 baudios pueden funcionar para módems de 14.400 baudios).
Utilice su software de comunicaciones (como minicom o seyon) para averiguar
la configuración de su módem y ajustarla a los valores requeridos por PPP.
Muchos módems muestran su configuración actual tras el comando
AT&
V, pero debería consultar el manual de su módem.
Si se hace un lío con los ajustes, puede volver a la tranquilidad
(normalmente) tecleando AT&
F para poner la configuración de
fábrica. (Para la mayor parte de los módems que he encontrado, la
configuración de fábrica incluye todo lo que necesita para PPP, pero debe
asegurarse de ello).
Una vez que ha conseguido la cadena adecuada de configuración del módem, anótela. Debe tomar una decisión: guardar esa configuración en la memoria no volátil del módem para que pueda ser recuperada enviando un comando AT adecuado a su módem, o pasar la configuración correcta a su módem como parte del proceso de marcado PPP.
Si sólo utiliza su módem desde Linux para conectarse con su ISP o servidor corporativo, lo más simple será guardar la configuración de su módem en la memoria RAM no volátil.
Pero si utiliza su módem para otras aplicaciones y sistemas operativos, es más seguro pasar la información al módem siempre que se realice una llamada para que se garantice que el módem esté en el estado correcto para la llamada. (Esto es siempre mejor que guardar la cadena de configuración en un módem que pierde los contenidos de la RAM no volátil).
Cuando los datos viajan por las líneas de comunicación, puede suceder que los datos lleguen más rápido que lo que el ordenador pueda manejar (el ordenador puede estar ocupado haciendo alguna otra cosa - recuerde: Linux es un sistema operativo multiusuario y multitarea). Para asegurarse de que los datos no se pierdan (los datos no sobrepasen el buffer de entrada y se pierdan), es necesario establecer algún método de control del flujo de datos.
Hay dos maneras de hacer esto en puertos serie:-
Mientras que las últimas pueden ir bien en una conexión de terminal de texto, los datos en un enlace PPP utilizan los 8 bits - y es bastante probable que en algún lugar de los datos habrá un byte que se traduzca como control S y control Q. Entonces, si un módem está configurado para utilizar el control de flujo por software, ˇtodo puede irse rápidamente al garete!
Para enlaces de alta velocidad que utilicen PPP (que usa los 8 bits de datos) el control de flujo por hardware es vital y es por esta razón por la que usted debe utilizar el control de flujo por hardware.
Ahora que se ha conseguido una configuración correcta para el puerto serie y el módem, es una buena idea asegurarse de que esa configuración funciona para marcar el número de su ISP y ver si puede conectarse.
Utilice el paquete de comunicaciones por terminal (como minicom), configure la inicialización que su módem requiera para PPP y marque el número del servidor PPP con el que desee conectar en una sesión PPP.
(Nota: en esta fase NO estamos intentando hacer una conexión PPP, sino simplemente establecer que tenemos el número de teléfono correcto y también averiguar qué es exactamente lo que el servidor nos envía para conseguir conectarnos y arrancar PPP).
Durante este proceso, capture (guarde en un fichero) el proceso completo o anote cuidadosamente (muy cuidadosamente) y exactamente en texto con el que el servidor le da a entender que es el momento de introducir su nombre de usuario y contraseña (y cualquier otra orden necesaria para establecer la conexión PPP).
Si su servidor utiliza PAP, no debería ver una pregunta de conexión, pero debería ver, en su lugar, y esparcida por la pantalla, la representación en modo texto del protocolo de control de conexión (que son caracteres extraños sin sentido aparente).
Unas pocas advertencias:-
Es valioso conectarse al menos dos veces: algunos servidores cambian sus preguntas (por ejemplo, con la hora) cada vez que usted se conecta. Las dos preguntas críticas que su máquina Linux necesita identificar cada vez que se conecta son:- in are:-
Si tiene que ejecutar una orden para arrancar PPP en el servidor, también deberá averiguar la línea de órdenes que el servidor le da una vez se ha conectado para comunicar a Linux que en ese momento puede introducir la orden para arrancar ppp.
Si su servidor arranca PPP automágicamente, una vez que se ha conectado, empezará a ver basura en su pantalla - ésta es el servidor PPP que envía la información de su máquina para comenzar y configurar la conexión PPP.
Eso debería ser algo como esto :-
~y}#.!}!}!} }8}!}$}%U}"}&} } } } }%}& ...}'}"}(}"} .~~y}
(ˇy no dejará de salir por pantalla!)
En algunos sistemas PPP debe ser explícitamente arrancado en el servidor. Esto ocurre normalmente porque el servidor ha sido configurado para permitir accesos PPP y accesos de línea de órdenes utilizando el mismo par nombre/contraseña. Si este es el caso, ejecute esta orden una vez se ha conectado. De nuevo, verá la basura en pantalla cuando la parte PPP del servidor comience a funcionar.
Si usted no ve esto inmediatamente después de conectarse (y, si es necesario, haber introducido nombre/contraseña y haber arrancado el servidor PPP), pulse Intro para ver si así comienza el servidor PPP...
En este punto, usted puede colgar su módem (normalmente, teclee +++
rápidamente y después ejecute el comando ATHO una vez que su módem responda
con OK).
Si no consigue hacer funcionar su módem, lea el manual del módem, las páginas de manual de su software de comunicaciones y el COMO sobre Puertos Serie. Una vez que lo ha conseguido, continúe haciendo paso por paso lo ya comentado.