2. Se connecter avec minicom

Contenu de cette section

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

2.1 Configurer minicom

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.

2.2 Démarrer PPP à la main

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.

2.3 Evaluer le fichier log

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

2.4 Configurer un numéro de téléphone

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.

2.5 Un script de connexion

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.

2.6 Numérotation automatique au démarrage

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 1
pour envoyer minicom sur une autre console (voir le mini-howTo Consoles-Many pour plus de détails).

2.7 Extensions futures

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