getty_ps
?Faites déjà fonctionner correctement votre modem en mode appelant. Si vous n'avez pas encore lu la section Comment puis-je appeler avec mon modem ?, lisez-la maintenant ! Elle contient des informations importantes sur la configuration. Il n'est pas nécessaire de lire cette section si vous souhaitez juste appeler avec votre modem.
Encore une fois, le modem doit être spécialement configuré
(avec les commandes AT
) afin de pouvoir être utilisé aussi
bien en appelant qu'en appelé :
E1 echo local active en mode commande
Q0 envoie les codes de retour
V1 envoie les reponses sous la forme de donnees textuelles
S0=0 decrochage automatique desactive (uugetty s'en occupe avec l'option WAITFOR)
Si ces options ne sont pas sélectionnées, il se peut que la
chaîne d'initialisation définie dans le fichier de
configuration, ne fonctionne pas.
&C1 le signal DCD est haut seulement apres la connexion
&S0 DSR est toujours haut
un changement d'etat du DTR reinitialise le modem (dependant du fabricant - RTFM)
Ces réglages déterminent le comportement du modem au début et à
la fin d'un appel.Si votre modem ne permet pas la sauvegarde d'un profil, ces paramètres peuvent être indiqués dans la chaîne d'initialisation du fichier de configuration. Certains modems sont pourvus de commutateurs DIP qui affectent les valeurs des registres. Assurez-vous également qu'ils sont correctement configurés.
J'ai débuté une compilation de configurations pour différents
modèles de modems. Pour l'instant, j'en ai seulement quelques
uns. Ne vous privez donc pas de m'envoyer vos paramétrages
opérationnels. Cette collection est récupérable à ftp://ftp.cc.gatech.edu/pub/people/gregh/modem-configs
.
Remarque : pour que mon modem USR Courier V.34 se
réinitialise correctement à l'ouverture du signal DTR, je suis
obligé de forcer &D2
et S13=1
(le bit 0 du
registre S13 est mis à 1). On m'a confirmé que ça fonctionnait
aussi sur les modems USR Sportster V.34.
Remarque : certains modems Supra traitent le signal DCD
différement. Dans ce cas, essayez avec &C0
et non&C1
. &D2
doit également être positionné afin
de gérer correctement le DTR.
getty_ps
Récupérez la dernière version à partir de sunsite.unc.edu:/pub/Linux/system/serial
. Les
versions 2.0.7j et ultérieures sont indispensables pour les
hauts débits (57600 and 115200 bps). Vous devez aussi avoir la
libc 5.x ou supérieure.
Par défaut, getty_ps
est conforme au FSSTND Linux (File
System Standard - norme de système de fichiers), ce qui
implique que les binaires résident dans /sbin
, et les
fichiers verrous (lock files) dans /var/lock
.
Assurez-vous donc que le répertoire /var/lock
existe
bien.
Si vous ne souhaitez pas la conformité FSSTND, les binaires
seront stockés dans /etc
, les fichiers de
configuration dans /etc/default/{uu}getty.ttyS
N,
et les fichiers verrous dans /usr/spool/uucp
. Je
recommande cette méthode en cas d'utilisation conjointe avec
UUCP afin que les fichiers verrous soient bien partagés entre
getty_ps
et UUCP.
getty_ps
peut aussi utiliser syslogd
pour enregistrer
les messages. Reportez-vous aux pages de manuel syslogd(1)
et syslog.conf(5)
pour configurer syslogd
, s'il ne
tourne pas déjà. Les messages sont enregistrés avec la priorité
LOG_AUTH, les erreurs avec LOG_ERR, et les informations de
débogage avec LOG_DEBUG. Si vous ne souhaitez pas utiliser
syslogd
, éditez tune.h
dans le répertoire des fichiers
source de getty_ps
pour enregistrer les messages dans un
fichier, /var/adm/getty.log
par défaut.
Vous devez donc décider si vous voulez la conformité FSSTND, les
possibilités offertes par syslog, ou une combinaison des deux.
Modifiez en conséquence les fichiers Makefile
, tune.h
et config.h
. Il ne reste plus qu'à compiler et installer le
paquetage, en suivant les instructions fournies.
À partir de maintenant, toutes les références à getty
concerneront getty_ps
, et celles à uugetty
le
programme uugetty
fourni avec le paquetage getty_ps
.
Ces instructions ne sont pas applicables à mgetty
ou
agetty
.
uugetty
uugetty
, qui assure d'importantes vérifications sur les
fichiers verrous, sera utilisé pour se connecter sur votre
modem. Mettez à jour /etc/gettydefs
pour inclure les
différentes entrées pour les modems, si elles ne sont pas déjà
présentes (remarquez que ces entrées sont rebouclées sur
elles-mêmes et autorisent donc différentes vitesses - une ligne
vide est nécessaire entre deux entrées) :
# Entrees modem
115200# B115200 CS8 # B115200 SANE -ISTRIP HUPCL #@S @L @B login: #57600
57600# B57600 CS8 # B57600 SANE -ISTRIP HUPCL #@S @L @B login: #38400
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: #115200
Si votre modem permet des vitesses de 9600 bps ou plus avec
compression de données, vous pouvez fixer une vitesse constante
pour le port série et laisser le modem choisir la vitesse de
connexion. Le fichier /etc/gettydefs
se simplifie et ne
nécessite plus qu'une seule ligne pour le modem, par
exemple :
# vitesse fixe 115200
F115200# B115200 CS8 # B115200 SANE -ISTRIP HUPCL #@S @L @B login: #F115200
Si le contrôle de flux RTS/CTS est activé sur votre modem, le
drapeau CRTSCTS
peut être ajouté dans les entrées :
# vitesse fixe 115200 avec controle de flux materiel
F115200# B115200 CS8 CRTSCTS # B115200 SANE -ISTRIP HUPCL CRTSCTS #@S @L @B login: #F115200
Si vous le désirez, uugetty
peut imprimer quelques
informations sur le système dans la bannière de login. Dans mes
exemples, j'ai fait figurer le nom du système, le port série,
ainsi que la vitesse courante en bps. D'autres champs sont
disponibles :
@B La vitesse courante en bps (evaluee lorsque le @B est affiche).
@D La date courante (MM/DD/YY).
@L Le port serie auquel getty est attache.
@S Le nom du systeme.
@T L'heure courante (HH:MM:SS / 24-heures).
@U Le nombre d'utilisateurs actuellement connectes. Il s'agit du
nombre d'entrees dans le fichier /etc/utmp qui possedent un
champ ut_name non nul.
@V La valeur de VERSION, telle qu'elle est definie dans le fichier
des valeurs par defaut.
Pour afficher un simple '@', utilisez soit '\@', soit '@@'.
Ensuite, assurez-vous de connaître un périphérique d'entrée et
de sortie pour le port série dédié au modem. Si votre modem est
attaché à ttyS3
, aucun périphérique correct n'existe et
vous devez donc le créer (voir la section
Créer les périphériques dans <TT>/dev</TT>). Si vous
souhaitez pouvoir appeler avec votre modem alors que
uugetty
est en attente de connexion sur le même port,
utilisez le périphérique /dev/cua
N à la place de
/dev/ttyS
N.
Une fois que vous avez terminé l'édition de
/etc/gettydefs
, vous pouvez en vérifier la syntaxe
par :
linux# getty -c /etc/gettydefs
uugetty
De nombreuses options peuvent être configurées dans des fichiers
séparés pour chacun des ports présents. Le fichier
/etc/conf.uugetty
sert à toutes les instances de
uugetty
, alors que /etc/conf.uugetty.ttyS
N
est spécifique à un seul port. Des exemples de fichiers de
configuration sont disponibles parmi les fichiers sources de
getty_ps
livrés avec la plupart des distributions Linux.
Ces exemples ne sont pas repris dans ce document pour des
problèmes d'espace. Notez que pour les versions anciennes de
getty
(avant la 2.0.7e), ou si vous n'utilisez pas la
conformité FSSTND, le fichier par défaut réside dans
/etc/default/uugetty.ttyS
N. Mon fichier
/etc/conf.uugetty.ttyS3
ressemble à :
# exemple de fichier de configuration uugetty pour un modem compatible
# Hayes en mode appele
#
# fichier verrou alternatif... s'il existe, uugetty est relance afin de
# reinitialiser le modem
ALTLOCK=cua3
ALTLINE=cua3
# port serie a initialiser
INITLINE=cua3
# delai de liberation de la ligne en cas d'inactivite...
TIMEOUT=60
# chaine d'initialisation du modem...
# format : <expect> <send> ... (protocole de connexion)
INIT="" AT\r OK\r\n
WAITFOR=RING
CONNECT="" ATA\r CONNECT\s\A
# delai d'attente avant l'envoi de la banniere
DELAY=1
#DEBUG=010
Ajoutez la ligne suivante dans /etc/inittab
, afin que
uugetty
soit automatiquement lancé sur le port série (en
adaptant pour votre configuration la localisation du fichier de
configuration, le port, la vitesse, et le type de terminal par
défaut) :
S3:456:respawn:/sbin/uugetty -d /etc/default/uugetty.ttyS3 ttyS3 F115200 vt100
Redémarrez init
:
linux# init q
La vitesse maximale supportée par le modem a été sélectionnée
dans /etc/inittab
.À partir de maintenant, Linux est en attente de connexions sur le port série. Appelez depuis une autre machine et loguez-vous sur votre système Linux.
uugetty
possède de nombreuses autres options, décrites en
détail dans la page de manuel getty(1m)
. Entre autres
choses, on peut y trouver des fonctionnalités de programmation
horaire (scheduling), et de rappel (ringback).