Ressuscitez le Minitel

C’est quoi un minitel ?

Du début des années 1980 et la fin du service en 2012, l’ère du Minitel aura quand même duré 30 ans. Pour simplifier (pour les plus jeunes), disons que le Minitel était l’ancêtre d’internet. C’était un petit terminal en noir et blanc qui permettait d’accéder à des services payants (Annuaire, Chat, Journaux et bien sûr les fameuses messageries roses). Au moment de son déclin France Télécom (qui s’appelle maintenant Orange) a eu une très bonne idée. Elle a offert les Minitels au utilisateurs. Ce « cadeau » a permit à l’entreprise de se décharger de la responsabilité du recyclage des millions de Minitels encore en circulation. C’était bien pour les bénéfices, mais un peu moins bien pour la planète.

Heureusement, certains Minitels ont aussi fini à la déchèterie, mais beaucoup de personnes les ont conservés. On en trouve régulièrement dans les vides-greniers ou sur les sites de vente entre particuliers. Ça tombe bien parce qu’on peut en faire un beau terminal vintage pour Raspberry Pi.

Pourquoi faire ce tuto ?

En fait, je n’ai rien inventé, il existe déjà énormément de tutos qui expliquent comment faire (voir les sources à la fin de l’article), mais le problème est qu’ils sont un peu anciens. Ce qui fait que certains ne fonctionnent plus avec la version actuelle de Raspbian. D’autres sont très intéressants mais incomplets. J’ai donc tenté de faire une synthèse et j’ai aussi un peu galéré avant d’arriver à un résultat acceptable. Mais, maintenant, ça fonctionne. Alors, autant vous en faire profiter…

Choisir son Minitel

Le moins que l’on puisse dire, c’est que le Minitel est robuste. Au départ, il était prêté ou loué aux utilisateurs, il n’était donc pas du tout rentable qu’il tombe souvent en panne. Résultat, un Minitel de 30 ans qui prend la poussière au fond d’un grenier a de grandes chances de s’allumer comme au 1er jour (après un petit coup de chiffon). Il y très peu de chance que nos smartphones connaissent le même destin…

Mais si vous achetez un Minitel dans une brocante, faites quand même attention. En effet, seuls les Minitels bistandards (1B et 2) peuvent être facilement transformés en terminal. Pour les reconnaitre, c’est facile, ils possèdent (sur le clavier) une touche « Fnct » qui permet de changer la configuration du minitel. Mais aussi (à l’arrière), la fameuse prise DIN à 5 broche qui assurera la communication avec le Raspberry Pi.

Installation du Rasberry Pi

Pour cela, vous n’avez besoin ni d’écran, ni de clavier (ou de souris).

Préparation de la carte SD

  • Téléchargez la dernière version de Raspbian Stretch Lite ici.
  • Copiez l’image sur la carte micro SD un utilitaire de type Etcher (ou NOOBS).
  • Activer le SSH, pour cela il faut simplement créer à la racine de la carte, un nouveau fichier vide nommé : « ssh« 

Configuration Wifi

Cette étape n’est pas nécessaire si vous vous connectez par câble Ethernet. Sinon, créez aussi à la racine, un fichier nommé : wpa_supplicant.conf et contenant le code suivant :

country=fr
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
    ssid="Votre nom de réseau Wi-Fi"
    psk="Votre mot de passe Wi-Fi"
}
  • Insérez la carte dans le Raspberry Pi et allumez le.
  • Pour contrôler votre Raspberry Pi par SSH (sous Windows), vous pouvez utilisez PuTTY.

Si vous connaissez l’adresse IP du raspberry, vous pouvez l’indiquer, mais le plus simple est d’indiquer le nom d’hôte : « raspberrypi« . Ensuite, vous pouvez même l’enregistrer (pour vous faciliter la vie).

La 1ère connexion est souvent un peu plus longue et PuTTY vous demandera certainement valider la clé en cliquant sur « Oui« .

Mais, vous pouvez aussi utiliser le nouveau client SSH de Windows 10. Pour l’activer, allez dans : Applications et Fonctionnalités – Gérer les fonctionnalités facultatives – Ajouter une fonctionnalité – OpenSSH Client. Cliquez Installer, redémarrez l’ordinateur, ouvrez une invite de commande et tapez : « 

ssh pi@raspberrypi
  • Par défaut le nom d’utilisateur est pi et le mot de passe raspberry
  • Tapez ensuite :
sudo raspi-config

Modifiez le mot de passe et éventuellement les options de localisation (Localisation Options).

Pour que certaines modifications soient prises en compte, vous devrez éventuellement redémarrer le Raspberry Pi.

Ensuite, vous pouvez mettre à jour Raspbian :

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo rpi-update

Et redémarrez en tapant :

sudo reboot

Connexion du Minitel au Raspberry pi

Le branchement n’est pas très compliqué, il suffit d’un transistor, de quelques résistances, mais surtout un convertisseur USB vers TTL série basé sur la puce PL2303HX.

Si vous êtes doué, vous pouvez même faire comme Pila, qui a réussi à tout intégrer dans une prise DIN Mâle. Une autre solution consiste à intégrer les composants à l’intérieur du minitel et de faire sortir la prise USB à la place du câble téléphonique (désormais inutile).

Ensuite, vous pouvez relier le minitel et le Raspberry Pi.

Préparation du minitel

A la base, le minitel n’était pas conçu pour servir de terminal au Raspberry, il n’est donc pas capable de mémoriser les informations de connexion. Il faudra donc chaque fois que vous l’allumerez, refaire la manipulation suivante.

Fnct+Sommaire (pour passer du mode répertoire au mode terminal)
Fnct+T (en même temps), relâcher et A (passage en mode périphérique)
Fnct+T, (en même temps) et E (désactivation de l’echo du terminal)
Fnct+P, (en même temps), et 4 (connexion à 4800 bauds)

Test de communication

Branchez le minitel sur la prise USB du Raspberry Pi et allumez les. Connectez vous au Raspberry (avec PuTTY ou le client SSH de Windows).
Copiez ces 3 lignes en même temps dans votre client SSH :

stty -F /dev/ttyUSB0 4800 istrip cs7 parenb -parodd brkint \
ignpar icrnl ixon ixany opost onlcr cread hupcl isig icanon \
echo echoe echok

puis :

echo 'Hello World' > /dev/ttyUSB0

Nous allons maintenant tester la communication dans l’autre sens, tapez :

cat /dev/ttyUSB0

Sur le minitel, vous pouvez taper le texte que vous voulez (suivi de la touche entrée). Le texte devrait s’afficher dans le client SSH (tapez CTRL+C, pour quitter).

Pour la suite, je me suis surtout inspiré de l’excellent tuto de Maxime Vinzio.

Téléchargez le fichier mntl.ti d’Alexandre MONTARON. Et compilez-le :

wget http://canal.chez.com/mntl.ti
tic mntl.ti -o /etc/terminfo

Pour que le fichier soit utilisé par agetty, tapez :

agetty -c ttyUSB0 4800 minitel1b-80

Créez le fichier de configuration

sudo nano /etc/systemd/system/serial-getty\@.service

Copiez/Coller le texte suivant dans le fichier de configuration (clic droit) :

# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published
# by the Free Software Foundation; either version 2.1 of the License,
# or (at your option) any later version.

[Unit]
Description=Serial Getty on %I
Documentation=man:agetty(8) man:systemd-getty-generator(8)
Documentation=http://0pointer.de/blog/projects/serial-console.html
BindsTo=dev-%i.device
After=dev-%i.device systemd-user-sessions.service plymouth-quit-wait.service
After=rc-local.service
# If additional gettys are spawned during boot then we should make
# sure that this is synchronized before getty.target, even though
# getty.target didn't actually pull it in.
Before=getty.target
IgnoreOnIsolate=yes
[Service]
ExecStart=-/sbin/agetty -c %i 4800 minitel1b-80
Type=idle
Restart=always
UtmpIdentifier=%I
TTYPath=/dev/%I
TTYReset=yes
TTYVHangup=yes
KillMode=process
IgnoreSIGPIPE=no
SendSIGHUP=yes
[Install]
WantedBy=getty.target

Enregistrez le fichier (CTRL+x, o et Entrée)

Activez le service au démarrage, copiez les 2 premières lignes en même temps dans votre client SSH :

sudo ln -s /etc/systemd/system/serial-getty@.service /etc/systemd/system/getty.target.wants/serial-getty@ttyUSB0.service

sudo systemctl daemon-reload
sudo systemctl start serial-getty@ttyS2.service
sudo reboot

Les 2 premières lignes sont un peu bizarres (avec des gros carrés blancs) mais après avoir tapé le nom d’utilisateur (pi) et validé, l’affichage devient normal et vous disposez d’un terminal fonctionnel.

Maintenant, vous pouvez même piloter votre cafetière par Minitel…

Sources de l’article :

Publicités

5 réflexions sur “Ressuscitez le Minitel

  1. Bjr – Vous êtes bien certain d’avoir utilisé « juste » un connecteur USB « nu » dans votre montage comme l’indique votre dessin ? Il me semble qu’il faut insérer un convertisseur USB/TTL (5v ou 3.3v) pour que ça fonctionne. Ou alors, il faut utiliser les I/O prévues pour le terminal série sur le connecteur 40 pts du RasPi….

    Aimé par 1 personne

    1. Bonjour,
      Vous avez tout à fait raison, ça fait quelques années que j’ai fait la modification du minitel et en reprenant mes notes, j’ai effectivement oublié ce « détail ».
      Le schéma est maintenant corrigé, merci beaucoup pour votre intervention.

      J'aime

Répondre

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l'aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s