Logo de AulaDigital

PPP Como 9

Linux PPP Cómo: Configurar su módem y puerto serie Página siguiente Página anterior Índice general

9. Configurar su módem y puerto serie

Debería asegurarse de que su módem está correctamente instalado y de que sabe a qué puerto serie está conectado.

Recuerde:-

  • DOS com1: = Linux /dev/ttyS0
  • DOS com2: = Linux /dev/ttyS1
    etcétera.

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.

9.1 A note about serial ports and speed capabilities

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.

9.2 Nombres de puertos serie

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.

9.3 Configurar su módem

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:-

  • Control de flujo hardware (RTS/CTS) (&K3 en muchos módems tipo Hayes)

Otras configuraciones (entre los comandos estándar Hayes) que debería investigar son:-

  • E1 Command/usr/src/linux-2.0.27/include/linux/serial.h Echo ON (necesario para que chat funcione)
  • Q0 Informe de los códigos de resultado (necesario para que chat funcione)
  • S0=0 Auto respuesta APAGADA (a menos que quiera que su módem descuelgue y responda al teléfono)
  • &C1 Detección de línea CONECTADA sólo tras conectar
  • &S0 Data Set Ready (DSR) siempre CONECTADA
  • (según) Terminal de datos lista

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).

9.4 Nota acerca del Control de Flujo Serie

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:-

  • Utilizar señales hardware (Clear To Send/Request to Send - CTS/RTS)
  • Using señales software (control S y control Q, también conocidas como XON/XOFF).

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.

9.5 Probar que su módem puede marcar

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:-

  • algunos servidores son bastante inteligentes: puede conectarse utilizando la secuencia nombre/contraseña en modo texto O utilizando PAP. Por lo que si su ISP o máquina corporativa utiliza PAP pero no ve aparecer inmediatamente en la pantalla los caracteres sin sentido, usted no tiene por qué haber hecho nada mal.
  • algunos servidores necesitan que usted introduzca inicialmente texto y después comienzan a enviar la secuencia PAP estándar.
  • algunos servidores PPP son pasivos - esto es: simplemente se sientan sin enviar nada hasta que el cliente que se está conectando les envía un paquete válido de lcp. Si el servidor ppp con el que está conectando funciona en modo pasivo, ¡usted nunca podrá ver los caracteres sin sentido!
  • Algunos servidores no arrancarán PPP hasta que pulse ENTER - por lo que es valioso intentar esto si usted se conecta correctamente y no ve los caracteres sin sentido.

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:-

  • la pregunta que le pide que introduzca su nombre de usuario;
  • la pregunta que le pide que introduzca su contraseña;

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.


Página siguiente Página anterior Índice general