Page suivante Page précédente Table des matières

7. getty

7.1 mgetty

Accès via un Minitel

F. L. nous décrit le câble adéquat.

E. Festinger :

J'ai directement modifié les sources de mgetty (dans le fichier mgetty.c) pour passer automatiquement le port série en 7E1. J'ai fait ça rapidement, et ce n'est pas forcément très propre :-( En particulier, le basculement se fait quand la chaîne de connexion modem contient "CONNECT 1200/75". Il faudrait que je reprenne un peu de temps pour déclarer cette chaîne dans un fichier de conf (mgetty.config par exemple). Voici un (tout) petit patch à partir de la version 1.1.5 :


diff -u --new-file mgetty-1.1.5.orig/mgetty.c mgetty-1.1.5/mgetty.c 
--- mgetty-1.1.5.orig/mgetty.c  Sat May 24 00:20:34 1997
+++ mgetty-1.1.5/mgetty.c       Sat May 24 00:22:22 1997
@@ -970,6 +970,18 @@
        /* work around NeXT's weird problems with POSIX termios vs. sgtty */
        NeXT_repair_line(STDIN);
 #endif
+
+#ifdef MINITEL
+       if (strncmp(Connect, "1200/75", strlen("1200/75"))==0) {
+               lprintf(L_MESG, "Minitel detected");
+               if (tio_get( STDIN, &tio )==ERROR)
+                       lprintf(L_ERROR, "tio_get a failed");
+               tio.c_cflag &= ~CSIZE;
+               tio.c_cflag |= CS7|PARENB;
+               if (tio_set( STDIN, &tio )==ERROR)
+                       lprintf(L_ERROR, "tio_set failed");
+       }
+#endif /* MINITEL */

        fputc('\r', stdout);    /* just in case */

Il faut bien sûr ajouter -DMINITEL lors de la compil du fichier mgetty.c. Je n'ai pu tester cette modif qu'avec Linux. (suggestion de Nat : remplacer


+       if (strncmp(Connect, "1200/75", strlen("1200/75"))==0) {

par
+       if (strstr(Connect, "1200/75")) != NULL) {

)

A. Medecin (antoine à neptune fr) a pu connecter un Minitel 2 directement sur sa carte Cyclades grâce à cette ligne, placée dans /etc/inittab :


15:2345:respawn:/sbin/getty ttyC5 v23b minitel

/etc/gettydefs # Connection minitel a distance


v23b# B9600 CS7 PARENB -PARODD CRTSCTS # B9600 CS7 PARENB -PARODD OPOST ECHO CRT
SCTS #login: #v22b

v22b# B4800 CS7 PARENB -PARODD CRTSCTS # B4800 CS7 PARENB -PARODD OPOST ECHO CRT
SCTS #login: #v21b

v21b# B9600 CS7 PARENB -PARODD CRTSCTS # B9600 CS7 PARENB -PARODD OPOST ECHO CRT
SCTS #login: #v21b

termcap avec une entrée "minitel" (provenance Red Hat).

C. Guibourg : La combinaison de touches (Fct) T puis la touche A oblige le Minitel à émuler un VT52 80x24.

Configuration d'un terminal Minitel, par O. Ritter

Je recommande d'employer getty_ps.

Ajouter dans /etc/inittab (après les consoles virtuelles par exemple) une ligne du genre :


s1:2345:respawn:/sbin/getty ttyS1 minitel minitel

Détails :

Ajouter dans /etc/gettydefs (une seule ligne !):


minitel# B4800 CS7 PARENB -PARODD CLOCAL # B4800 ISTRIP CS7 PARENB
-PARODD CLOCAL BRKINT IGNPAR ICRNL IXON IXANY OPOST ONLCR CREAD HUPCL
ISIG ICANON ECHO ECHOE ECHOK #@S login: #minitel

En gros : minitel, c'est le nom de la configuration et 4800 le débit de la connexion. Pour les quatres paramètres, lire la page de man de gettydefs. Le minitel à la fin, c'est pour reboucler sur cette conf.

À la main main sur le minitel :

On peur automatiser tout ça tant /etc/gettydefs, mais ça n'est alors plus très générique...


Page suivante Page précédente Table des matières