Configurez votre modem pour l'émission. Si vous n'avez pas lu la section Comment utiliser mon modem en émission , lisez-la maintenant~! Elle contient des informations de configuration extrêmement importantes.
Pour utiliser votre modem en émission et en réception, il est
nécessaire de le configurer d'une certaine façon (en utilisant
les commandes AT
)~:
E1 echo des commandes
Q0 affichage des codes retour
V1 mode verbeux
S0=0 ne jamais repondre (correspond a l'option WAITFOR de uugetty)
Si ces options ne sont pas mises, la chaîne d'initialisation de votre fichier de configuration peut échouer, et planter tout le processus. J'en dirai plus sur les fichiers de configuration plus bas...
&C1 DCD est positionne apres la connexion
&S0 DSR est toujours positionne
DTR on/off reinitialise le modem (depend du fabricant - RTFM)
Ces options influence le comportement du modem au début et à la fin des communications.
Si votre modem ne sait pas stocker sa configuration, il est possible
de la mémoriser dans la chaine INIT
du fichier de config, cf.
ci-dessous. Certains modems sont équipés de switchs qui déterminent
le positionnement des registres. On s'assurera qu'ils sont également
bien positionnés.
J'ai commencé une collection de configuration pour différents types de modems. Elle n'est pas encore très fournie, aussi je vous encourage à me communiquer vos configurations fonctionnelles. Si à l'inverse vous souhaitez que je vous envoie un de mes fichiers de configuration, faites moi un mail. Je ne les inclus pas ici pour des raisons de place. Je dispose actuellement de configurations pour Supra, Telebit T1600, USR Courier, USR Sportster et Zoom 14.4/28.8.
getty_ps
Par défaut, getty_ps
est configuré de manière à etre conforme
FSSTND (FileSystem STaNDard), ce qui signifie que
les binaires sont localisés dans /sbin
et que les fichiers
de config s'appellent /etc/conf.{uu}getty.ttyS
N. Ceci
n'est pas explicite dans la documentation~! Cela signifie également
que le programme recherche ses verrous dans le répertoire /var/lock
.
On s'assurera de l'existence de ce répertoire.
Si la conformité FSSTND ne vous intéresse pas, les binaires seront localisés
dans /etc
, les fichiers de config dans
/etc/default/{uu}getty.ttyS
N et les verrous /usr/spool/uucp
.
C'est la configuration que je préconise pour les utilisateurs d'UUCP, car
l'UUCP de Taylor a des difficultés à trouver les fichiers verrous ailleurs
que là où il les attend traditionnellement.
getty_ps
utilise syslogd
pour consigner ses messages.
Référez vous aux man pages de syslogd(1)
et syslog.conf(5)
pour installer syslogd
, s'il n'est pas déjà actif.
Les messages sont consignés avec la priorité LOG_AUTH, les erreurs
avec la priorité LOG_ERR, et les sorties de débogage avec la
priorité LOG_DEBUG. Si vous ne souhaitez pas utiliser syslogd
,
vous pouvez éditer tune.h
dans les sources de getty_ps
afin de consigner les messages dans un fichier (par défaut,
/var/adm/getty.log
).
Une fois les choix fondamentaux concernant FSSTND et syslogd
effectués, on éditera en conséquence tune.h
et le Makefile
dans le répertoire source de getty_ps
. On procédera ensuite
à l'installation selon les instructions.
A compter de maintenant, toutes les mentions de getty
se réfèrent
à getty_ps
. Les références à uugetty
dénotent le uugetty
fourni avec le package getty_ps
.
uugetty
Pour effectuer des communications entrantes ou sortantes, il est préférable
d'utiliser uugetty
, qui se charge des verrouillages de fichiers.
Editez /etc/gettydefs
et ajoutez-y les lignes correspondant aux
modems (remarquez que ces lignes pointent les unes sur les autres, et
qu'elles sont donc inappropriées pour des vitesses fixes)~:
# Modem entries
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 vous possédez un modem 9600 bps ou mieux, vous pouvez verrouiller
la vitesse de votre port série et laisser le modem s'occuper de la
traduction vers des vitesses plus faibles. Dans ce cas, vous n'avez
pas besoin de toutes les lignes listées ci-dessus, /etc/gettydefs
ne doit contenir qu'une ligne pour le modem~:
# vitesse fixe de 38400 bps
38400# B38400 CS8 # B38400 SANE -ISTRIP HUPCL #@S login: #38400
# vitesse fixe de 19200 bps
19200# B19200 CS8 # B19200 SANE -ISTRIP HUPCL #@S login: #19200
# vitesse fixe de 9600 bps
F9600# B9600 CS8 # B9600 SANE -ISTRIP HUPCL #@S @L @B login: #F9600
Si vous configurez votre modem pour le contrôle de flux matériel RTS/CTS, vous pouvez ajouter CRTSCTS aux lignes de description~:
# vitesse fixe de 38400 bps avec controle de flux materiel
F38400# B38400 CS8 CRTSCTS # B38400 SANE -ISTRIP HUPCL CRTSCTS #@S @L @B login: #F38400
# vitesse fixe de 19200 bps avec controle de flux materiel
F19200# B19200 CS8 CRTSCTS # B19200 SANE -ISTRIP HUPCL CRTSCTS #@S @L @B login: #F19200
# vitesse fixe de 9600 bps avec controle de flux materiel
F9600# B9600 CS8 CRTSCTS # B9600 SANE -ISTRIP HUPCL CRTSCTS #@S @L @B login: #F9600
Si vous le désirez, il est possible de demander à uugetty
d'afficher
des choses intéressantes dans la bannière de connexion. Dans mes exemples,
j'affiche le nom du système, le numéro de port série et la vitesse
courante en bps. Il est possible d'afficher d'autres informations~:
@B Vitesse de transmission (evaluee lors de l'interpretation du @B).
@D Date courante, au format MM/DD/YY.
@L Ligne serie a laquelle getty est attache.
@S Nom du systeme.
@T Heure courante, au format HH:MM:SS (sur 24 heures)
@U Nombre d'utilisateurs connectes. C'est le decompte des lignes
de /etc/utmp dont le champ ut_name est renseigne.
@V Valeur de VERSION, telle qu'elle est donnee dans le fichier des
valeurs par defaut.
Pour afficher un '@' unique, il est possible d'utiliser '\@' ou '@@'.
Ensuite, vérifiez que vous avez un périphérique d'entrée et un
périphérique de sortie pour le port série de votre modem.
Si votre modem est sur ttyS3
, vous aurez besoin des
périphériques /dev/cua3
et /dev/ttyS3
.
Si vous n'avez pas les périphs nécessaires, reportez-vous à la
section
Création des périphériques dans /dev
et créez-les.
uugetty
Pour chacun des ports séries dont vous disposez, il y a une foule
de paramètres ajustables. Ces paramètres sont décrits dans des
fichiers de configuration spécifiques à chaque port.
Le paramétrage commun à tous les ports est régi par le fichier
/etc/conf.uugetty
~; le paramétrage spécifique au port
ttyS
N dépend du fichier /etc/conf.uugetty.ttyS
N.
Avec les sources de getty_ps
, incluses dans la plupart des
distributions Linux, sont fournis des exemples de fichiers de
configuration~; nous ne les listons pas ici par souci de compacité.
Pour mémoire, les utilisateurs de versions obsolètes de getty
(antérieures à la 2.0.7e) et ceux qui ne se conforment pas au standard FSSTND
trouveront les fichiers de configuration par
défaut dans /etc/default/uugetty.ttyS
N. Sur ma machine,
/etc/conf.uugetty.ttyS3
a la physionomie suivante~:
# exemple de fichier de config. uugetty pour modem compatible Hayes
# permettant les receptions.
#
# fichiers verrous a verifier... si l'un des fichiers existe, uugetty est
# relance afin de reinitialiser le modem
ALTLOCK=cua3
ALTLINE=cua3
# ligne d'initialisation
INITLINE=cua3
# duree d'inactivite apres laquelle la deconnexion est effective
TIMEOUT=60
# chaine d'initialisation du modem
# format: <signal attendu> <reponse> ... (sequence 'chat')
INIT="" AT\r OK\r\n
WAITFOR=RING
CONNECT="" ATA\r CONNECT\s\A
# cette ligne fixe le delai avant l'envoi de la banniere de connexion
DELAY=1
#DEBUG=010
Pour qu'uugetty
soit lancé sur le port série voulu, on
ajoute la ligne suivante (au port, vitesse et terminal par
défaut près) à /etc/inittab
~:
S3:456:respawn:/etc/uugetty ttyS3 38400
Puis on relance init
~:
linux# init q
Il est souhaitable que la ligne d'initialisation de inittab
fixe la
vitesse la plus élevée atteignable par votre modem. Comme il n'existe
pas de paramètres permettant de fixer la vitesse à 57600 ou 115200, il
faut utiliser setserial
pour initialiser un port série à plus de
38400 bps. Référez-vous à la section
Comment initialiser mes ports série pour de hauts débits~?
pour plus de précisions. Puis, utilisez la vitesse 38400 dans inittab
.
Dorénavant, Linux surveille les connexions possibles sur votre port série~. Appelez d'un autre site, et loggez-vous sur votre machine Linux. Alleluia.
uugetty
ont des myriades d'options supplémentaires,
référez-vous aux man pages de getty(1)
pour une liste complète.
Entre autres, il y a la possibilité de se faire rappeler par le modem,
ou d'établir des appels automatiques. RTFM :-)
Pour que mon USR Courier se réinitialise correctement lorsque DTR tombe,
il m'a fallu ajouter les initialisation &D2
and S13=1
.
Les Supra ne traitent pas DCD comme les autres modems. Si vous utilisez un
Supra, il vous faut positionner &C0
et pas &C1
.
Pour gérer DTR correctement, il faut également positionner &D2
.
Chapitre suivant, Chapitre Précédent
Table des matières de ce chapitre, Table des matières générale
Début du document, Début de ce chapitre