getty_ps
?Consiga que su módem llame correctamente. Si no ha leído la sección ¿Cómo puedo llamar con mi módem?, ¡léala ahora!. Contiene información de configuración muy importante. No necesita leer esta sección si lo único que quiere hacer es llamar con el módem.
Para llamar y recibir llamadas, tiene que configurar el módem de un
cierto modo (de nuevo, usando los comandos AT
del módem):
E1 activa el eco de comandos
Q0 devuelve los codigos resultantes
V1 habilita el codigo de resultados largos (texto)
S0=0 nunca contesta (uugetty hace esto con la opcion WAITFOR)
›
Si no configura esto correctamente, la cadena INIT
de su fichero de
configuración puede fallar, echando a perder el proceso completo. Pero,
más sobre ficheros de configuración después ...
&C1 DCD se activa solamente despues de conectar
&S0 DSR siempre esta activo
DTR activa/desactiva el reinicio del modem (depende del fabricante - RTFM)
Esto afecta a lo que hace su módem cuando inicia o finaliza una llamada.
Si su módem no puede almacenar el perfil, puede usar la cadena INIT
de su fichero de configuración. Véalo más adelante. Algunos módems tienen
interruptores DIP que afectan a la configuración de los registros.
Asegúrese de que estén configurados correctamente.
He iniciado una colección de configuraciones para diferentes tipos de
módems. Hasta ahora sólo tengo unos pocos, si desea enviarme una
configuración que funcione, por favor, ¡hágalo!. Puede conseguirla en
ftp://ftp.cc.gatech.edu/pub/people/gregh/modem-configs
.
Nota: para conseguir que mi módem USR Courier V.34 se reinicie
correctamente cuando se desactiva el DTR, he tenido que activar
&D2
y S13=1
(esto activa el bit 0 del registro S13). Se ha
confirmado que esto funciona igualmente en módems USR Sportster V.34.
Nota: algunos módems Supra tratan el DCD de modo diferente a otros módems.
Si está usando un Supra, pruebe a poner &C0
y no
&C1
. También debe poner &D2
para manejar el DTR
correctamente.
getty_ps
Consiga la última versión en
sunsite.unc.edu:/pub/Linux/system/Serial
. Por defecto,
getty_ps
se configura para usar la norma FSSTND (FileSystem
STaNDard) de Linux, lo cual significa que los binarios estarán
en /sbin
, y los ficheros de configuración se llamarán
/etc/conf.{uu}getty.ttyS
N. ¡Esto no está claro en la
documentación!. También se espera que los ficheros de bloqueo estén en
/var/lock
. Asegúrese de que existe el directorio
/var/lock
.
Si no quiere usar la norma FSSTND, los binarios pueden ir en
/etc
, los ficheros de configuración pueden ir en
/etc/default/{uu}getty.ttyS
N, y los ficheros de bloqueo
pueden ir en /usr/spool/uucp
. Recomiendo hacer las cosas de esto
modo si está usando UUCP, porque UUCP puede tener problemas si mueve los
ficheros de bloqueo a donde no los busca.
getty_ps
también puede usar syslogd
para guardar los mensajes.
Vea las páginas man de syslogd(1)
y syslog.conf(5)
para
configurar syslogd
, si no lo tiene funcionando todavía. Los mensajes
se guardan con prioridad LOG_AUTH, los errores usan LOG_ERR, y la
depuración usa LOG_DEBUG. Si no quiere usar syslogd
puede editar
tune.h
en los ficheros fuente de getty_ps
para usar otro fichero
de almacenamiento en su lugar, llamado /var/adm/getty.log
por
defecto.
Decida si quiere usar la norma FSSTND y la capacidad syslog. También puede
elegir una combinación de ambos. Edite los ficheros Makefile
,
tune.h
y config.h
para reflejar sus decisiones. Después compile
e instale siguiendo las instrucciones incluidas en el paquete.
A partir de este punto, todas las referencias a getty_ps
se referirán
a getty_ps
. Las referencias a uugetty
se referirán a
uugetty
que viene con el paquete getty_ps
. Estas instrucciones
no funcionarán en mgetty
o agetty
.
uugetty
Para recibir llamadas y llamar con su módem, vamos a usar uugetty
.
uugetty
hace importantes comprobaciones de los ficheros de bloqueo.
Actualice /etc/gettydefs
para incluir las entradas de los módems
si todavía no están allí (nótese que cada entrada apunta a otra, esto no
es para velocidades fijas - las líneas en blanco son necesarias entre cada
entrada):
# Entradas del modem
38400# B38400 CS8 # B38400 SANE -ISTRIP HUPCL #@S @L @B login: #19200
19200# B19200 CS8 # B19200 SANE -ISTRIP HUPCL #@S @L @B login: #9600
9600# B9600 CS8 # B9600 SANE -ISTRIP HUPCL #@S @L @B login: #2400
2400# B2400 CS8 # B2400 SANE -ISTRIP HUPCL #@S @L @B login: #1200
1200# B1200 CS8 # B1200 SANE -ISTRIP HUPCL #@S @L @B login: #300
300# B300 CS8 # B300 SANE -ISTRIP HUPCL #@S @L @B login: #38400
Si tiene un módem de 9600 bps o más rápido con compresión de datos, puede
bloquear la velocidad del puerto serie y permitir que el módem controle
las transiciones a otras velocidades. Entonces, en vez de la serie
descendente de líneas listadas antes, /etc/gettydefs
sólo
necesita contener una línea para el módem:
# velocidad fijada a 38400
F38400# B38400 CS8 # B38400 SANE -ISTRIP HUPCL #@S @L @B login: #F38400
# velocidad fijada a 19200
F19200# B19200 CS8 # B19200 SANE -ISTRIP HUPCL #@S @L @B login: #F19200
# velocidad fijada a 9600
F9600# B9600 CS8 # B9600 SANE -ISTRIP HUPCL #@S @L @B login: #F9600
Si tiene configurado su modem con control de flujo por hardware RTS/CTS,
puede añadir CRTSCTS
a las entradas:
# velocidad fijada a 38400 con control de flujo por hardware
F38400# B38400 CS8 CRTSCTS # B38400 SANE -ISTRIP HUPCL CRTSCTS #@S @L @B login: #F38400
# velocidad fijada a 19200 con control de flujo por hardware
F19200# B19200 CS8 CRTSCTS # B19200 SANE -ISTRIP HUPCL CRTSCTS #@S @L @B login: #F19200
F9600# B9600 CS8 CRTSCTS # B9600 SANE -ISTRIP HUPCL CRTSCTS #@S @L @B login: #F9600
Si quiere, puede hacer que uugetty
escriba cosas interesantes en el
mensaje de login. En los ejemplos, tenemos el nombre del sistema, la línea
serie, y la velocidad actual en bps. Puede añadir otras cosas:
@B Velocidad actual en bps (calculada en el momento que se lee @B).
@D Fecha actual, en MM/DD/AA.
@L Linea serie a la cual está conectado getty.
@S Nombre del sistema.
@T Hora actual, en HH:MM:SS (24 horas).
@U Numero de usuarios actualmente conectados. Esto es, el numero
de entradas en el fichero /etc/utmp que tienen un campo ut_name
no nulo.
@V Valor de VERSION, dado en el fichero de opciones por defecto.
Para que se vea el carácter '@', use '\@' o '@@'.
Después, asegúrese de que tiene un dispositivo de entrada y otro de salida
para el puerto serie en que esté el módem. Si tiene el módem en
ttyS3
, necesitará los dispositivos /dev/cua3
y
/dev/ttyS3
. Si no tiene los dispositivos adecuados, vea la
sección
Creación De Dispositivos En /dev
para saber como crearlos.
uugety
a medidaExisten un montón de parámetros que puede configurar para cada puerto.
Están implementados en distintos ficheros de configuración para cada
puerto. El fichero /etc/conf.uugetty
será usado por cada
ejecución de uugetty
, y /etc/conf.uugetty.ttyS
N será
usado solamente para ese puerto. Se pueden encontrar ejemplos de ficheros
de configuración por defecto en los ficheros fuentes de getty
, que
viene con la mayoría de las distribuciones de Linux. Debido a lo que
ocupan, no lo vamos a listar aquí. Nótese que si está usando una versión
antigua de getty
(anterior a la 2.0.7e), o no está usando FSSTND,
entonces el fichero por defecto debe ser
/etc/default/uugetty.ttyS
N. Mi fichero
/etc/conf.uugetty.ttyS3
es como sigue:
# ejemplo de fichero de configuracion de uugetty para un modem compatible
# Hayes para permitir las conexiones a traves de módem
#
# fichero de bloqueo alternativo a comprobar ... si este fichero de bloqueo
# existe, entonces uugetty se ejecuta de nuevo y el modem se reinicia
ALTLOCK=cua3
ALTLINE=cua3
# línea a inicializar
INITLINE=cua3
# tiempo para desconectar si está inactivo ...
TIMEOUT=60
# cadena de inicializacion del modem ...
# formato: <esperado> <enviado> ... (secuencia de chat)
INIT="" AT\r OK\r\n
WAITFOR=RING
CONNECT="" ATA\r CONNECT\s\A
# esta linea configura el tiempo de espera antes de enviar el mensaje de login
DELAY=1
#DEBUG=010
Añada la siguiente línea a /etc/inittab
, así uugetty
se
ejecutará en el puerto serie (sustituyéndolo por la información correcta
para su entorno - localización del fichero de configuración, puerto,
velocidad, y tipo de terminal por defecto):
S3:456:respawn:/sbin/uugetty -d /etc/default/uugetty.ttyS3 ttyS3 F38400 vt100
Vuelva a ejecutar init
:
linux# init q
En el parámetro de velocidad de /etc/inittab
, debe poner la
velocidad en bps más alta que soporte su módem. Ya que uugetty
no
soporta velocidades de 57600 ó 115200 bps, debe usar el programa
setserial
para configurar el puerto serie a una velocidad
superior. Vea la sección
¿Cómo puedo configurar el puerto serie para velocidades altas? para saber cómo hacer esto.
Entonces, ponga 38400 bps en /etc/inittab
.
Ahora Linux vigilará el puerto serie por posibles conexiones. Llame desde otro sitio y conéctese a su sistema Linux.
uugetty
tiene muchas opciones, vea la página man de getty(1m)
para una descripción completa. Además de otras cosas hay una
característica de planificación y otra de rellamada.