Index Page précédente Page suivante

XIV. CONNEXION AVEC DEUX MODEMS

Nous avons utilisé deux modem de type " LCE132P ". Ces deux modems sont reliés par un câble téléphonique à 4 fils, sans passer par une centrale téléphonique. Il n'y aura donc pas de numéro de téléphone à composer.

Ce type de modem comporte des swicths pour permettre de lui conférer une configuration hard. Ici, les switchs des deux modems sont tous placés dans la position OFF. Nous allons en effet configurer les modems de manière soft, nous n'avons donc pas besoin de ces switchs. Pour que cela fonctionne, il suffit de modifier les scripts de connexion utilisés pour la connexion null-modem de la manière suivante :

Fichier etc/cron.d/serialconnect :

   PROCESS=`/bin/ps -A | /bin/grep pppd`

   # Teste si le démond pppd est déjà lancé (i.e : ne fait rien s'il est déjà
   # lancé) :
   if [ "$PROCESS" = "" ]
   then
      ROUTE=`/sbin/route | /bin/grep ppp`

      # Teste si une ou plusieurs route(s) vers le port série existe(nt)
      # déjà. Si oui, Il faut les shooter pour permettre à pppd de se
      # relancer convenablement :
      if ! [ "$ROUTE" == "" ]
      then

         # Shoote les routes existantes vers le modem :
         /sbin/ifconfig ppp0 down
      fi

      # Lance le processus de connexion :
      /usr/sbin/pppd /dev/ttyS0 38400 lock modem crtscts \
            192.168.1.1:192.168.1.2 connect "/usr/sbin/chat -v -f \
            /etc/cron.d/chatscript"
   fi

Notez que la vitesse de connexion est passée de 115200 à 38400 (à cause des modems). De plus, on a rajouté un script de configuration des modems : /etc/cron.d/chatscript.

Pour la machine appelée, /etc/chatscript contient les lignes suivantes :

   '' AT&L2
   OK ATA
   TIMEOUT 40
   CONNECT

Les scripts chat fonctionnent avec 2 arguments par ligne. Le 1er est une chaîne de caractères envoyée par le modem et reçue par la machine. Le 2nd est une commande que la machine envoie au modem. La commande '' demande à la machine d'attendre de recevoir une chaîne vide de la part du modem, c'est-à-dire de ne pas attendre. La commande AT&L2 est envoyée par la machine au modem pour lui demander de se mettre en configuration pour une liaison 4 fils. La commande OK est la réponse que la machine attend de la part du modem. Tant que la machine ne reçoit pas cette réponse, la suite du script n'est pas exécutée. Une fois que le modem a renvoyé la chaîne OK, la machine demande au modem (via la commande ATA) de se mettre en mode appelé (d'attendre qu'un autre modem cherche à le contacter). La commande TIMEOUT 40 permet d'attendre 40 secondes qu'un autre modem appelle. Si après ces 40 secondes, personne n'a appelé, le programme se terminera avec une erreur. Si un autre modem appelle dans le temps impartit, le modem le signalera à la machine en lui envoyant la chaîne CONNECT.

C'est seulement après que la liaison entre les deux modems est établie que le démon pppd se lance. ATTENTION : certaines distributions parlent en français. Il faut en tenir compte dans votre script ! Voyons, par exemple, à quoi ressemble le script de la machine qui appelle (et qui elle, parle français) :

   '' AT&L2
   OK ATO
   TIMEOUT 20
   'CONNEXION 38400'

La chaîne ATO demande au modem de se configurer en mode appelant. Remarquez ici que le time out n'est que de 20 secondes, et surtout que la chaîne attendue n'est pas CONNECT38400 mais CONNEXION 38400.


Index Page précédente Page suivante