Un grand nombre de documentations sur PPP recommandent de quitter
minicom
après l'avoir utilisé pour se connecter.
Mais vous n'avez vraiment pas besoin de quitter cet agréable
programme...
Exécutez minicom -s
et choisissez l'article de menu
Serial port setup (Configuration du port série).
La première entrée devrait être Serial device
(Périphérique série) et c'est le paramètre le plus important :
le périphérique série auquel votre modem est rattaché.
(Des volontaires pour retoucher minicom
afin qu'il puisse
gérer plusieurs périphériques série à la fois ?)
Pressez <return> pour confirmer puis <esc>
pour revenir au menu de configuration initial. Choisissez
Exit to minicom (Sortie vers minicom) et tapez atdt99999
.
Votre modem devrait commencer à composer le numéro
immédiatement et vous devriez entendre un click lorsque
le modem se relie à la ligne. Heureusement, 99999
n'est pas
un numéro de téléphone valide.
Peut-être avez-vous déjà essayé de composer le
numéro de téléphone de votre ISP au lieu de
99999
.
Vous avez alors sûrement vu de drôles de caractères
apparaître à l'écran après être
entré dans le système (sinon, tapez ppp
). Ils
proviennent du démon pppd
(ou équivalent)
démarré à l'autre bout de la ligne.
Dans ce cas, vous pouvez essayer de démarrer le démon
pppd
de votre côté, et évaluer le fichier
log par la suite.
Pour démarrer pppd
depuis minicom
,
vous pouvez définir une nouvelle méthode de
chargement (voyez comment par vous-même) ou redéfinir
le paramètre kermit program depuis le menu de configuration
Filename and paths(Fichiers et répertoires) :
A - Download directory : B - Upload directory : C - Script directory : D - Script program : /usr/bin/runscript E - Kermit program : /usr/sbin/pppd file /etc/ppp/mini_options
Maintenant, si vous voyez apparaître ces drôles de
caractères la prochaine fois que vous appelez votre ISP,
vous pouvez presser les touches <Alt>
+<K>
pour démarrer pppd
.
La suite de ce mini-HowTo traite de l'automatisation du processus
de connexion et de démarrage de pppd
.
Bien que mon but ne soit pas d'expliquer comment configurer PPP,
je donne un petit conseil pour lire le fichier
log. Pour extraire les informations essentielles du fichier
log /var/log/debug
(ou /var/log/daemon.log
),
exécutez la commande
tail -n 40 /var/log/debug |\ grep -E " pppd\[[0-9]*\]:" |\ sed -e "s/^.*pppd\[/[/"Vous devriez voir des messages comme
sent [LCP ConfReq id=0x1 <mru 296>] rcvd [LCP ConfRej id=0x1 <mru 296>]qui indiquent que nous avons envoyé (sent) une requête de configuration (Config-request) pour mettre le bloc maximal de réception (maximum receive unit - mru) à 296. Le second message refuse cette configuration (configuration rejected). Dans ce cas, j'ai juste retiré l'option
mru
dans /etc/ppp/options
(voir plus loin).
Si tout a bien marché jusqu'ici, vous voudrez sûrement
enregistrer un numéro de téléphone dans l'annuaire
de minicom
. Pressez <ALT>
+<D>
pour
faire apparaître le menu de composition d'un numéro
(dialing menu) et utilisez les touches du curseur pour
sélectionner Edit
:
A - Name : Xeno B - Number : 022039697303 C - Dial string # : 1 D - Local echo : No E - Script : /etc/ppp/login.script F - Username : ppp-382 G - Password : top-secret H - Terminal Emulation : VT102 I - Backspace key sends : Delete J - Linewrap : Off K - Line Settings : Curr 8N1
Ceci est un exemple d'entrées pour me connecter à l'un de
mes ISP.
Le script /etc/ppp/login.script
apparaît plus loin.
Deux variables particulières sont passées au script :
$(LOGIN)
et $(PASS)
qui prennent les valeurs
entrées comme nom d'utilisateur (F - Username)
et mot de passe (G - Password).
Cette caractéristique rend minicom
assez souple
car il utilise un unique script pour automatiser la connexion
à différents ISP.
minicom
lance le script de connexion après avoir
reçu la chaîne de caractères CONNECT
.
Pour être plus précis, minicom
ne le lance pas
lui-même, mais appelle pour ça l'utilitaire runscript
comme sous-procesus.
En voici un exemple (que j'utilise pour mon ISP) :
# v1.0, 20.08.96 Winfried Trumper <[email protected]> print "" print "Connexion automatique via /etc/ppp/login.script" ## Retirez le commentaire si vous devez presser Entree ## pour obtenir le prompt #send "" expect { "ogin:" "ogin>" "sername:" "sername>" "NO CARRIER" exit 1 } send "$(LOGIN)" expect { "assword:" "assword>" timeout 20 } send "$(PASS)" expect { "port" send "ppp" "Start your PPP now" "}!}!}" timeout 10 } print "" print "Passage en mode PPP ..." print "" ! /usr/sbin/pppd file /etc/ppp/mini_options print "" print "la commande killall -TERM pppd termine pppd"
L'aptitude de runscript
à appeler des programmes
externes est utilisée pour démarrer pppd
.
Copiez votre fichier d'options original pour ppp vers
/etc/ppp/options.ttyS1
(remplacez ttyS1
par
le nom du périphérique auquel votre modem est rattaché) et
supprimez toutes les lignes dans /etc/ppp/options
spécifiques à votre modem (comme connect
,
crtscts
ou modem
).
Mettez les options spécifiques à la connexion PPP
via minicom
dans /etc/ppp/mini_options
.
Une de ces options devrait être
disconnect "chat '' '\d\d+++\d\dATH\r\c'"Ceci est indispensable car
pppd
est alimenté par stdin
et ne peut pas racccrocher le modem via crtscts
.
Utilisez l'option -d
pour numéroter
un numéro de téléphone particulier au démarrage
de minicom
.
Vous pouvez aussi essayer
open -sl -- minicom -d 1pour envoyer
minicom
sur une autre console (voir le mini-howTo
Consoles-Many pour plus de détails).
pppd
étant un démon, il n'est pas conçu
pour une interaction avec l'utilisateur ou pour l'observation.
C'est clair. Après tout, nous utilisons un système
unix...
La solution canonique est un programme d'arrière-plan. Des volontaires
pour tailler minicom
en pièces ?
Des extensions intéressantes seraient :
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