Bonjour à tous !
Comme je le disais en intro, je me lance dans le code d’un microserveur Minitel avec US Robotics 56k Message Pro ; je me suis basé sur le tuto de x0r (~x0r - Mettre en place son propre serveur Minitel). Pas de PBX mais c’est ma box qui décroche la ligne, donc le schéma est le suivant :
VoIP <-> Livebox <-> Modem <-> Serial/USB <-> RasbperryPI
|-> Combiné
|-> Minitel 1B
L’objectif est de lancer un microserveur qui permet l’accès à IRC sur le salon libera.chat#minitel
(ce qui fonctionne très bien en WS avec l’ESP32 de Iodeo)
Cependant, tout ne marche pas comme prévu – on dirait que le modem de mon minitel est HS. tl;dr GOTO Essais
.
Config logicielle
Je vous détaille ici toute la configuration que j’ai réalisé (peut-être fausse) mais qui était manquante sur le web pour ce type de modem USR comme serveur Minitel. Je me dis que ça pourrait servir à d’autres
Versions :
mgetty-1.2.1-1.2
Ubuntu Server 23.04
Le modem s’initialise et attend un appel ou RING
# /etc/mgetty/mgetty.config
port ttyUSB0
speed 1200
init-chat "" AT&F1+MCA=0 OK AT&N2 OK ATS27=16 OK ATM0L0 OK
gettydefs 1200v23
# &F1, Charge une configuration usine avec contrôle de flux matériel
# +MCA=0, désactive le répondeur
# &N2, vitesse de connexion à 1200 baud
# S27=16, registre 27 à la valeur 16, active le V.23
# M0L0, haut parleur désactivé
Lorsqu’il reçoit un RING
, il tente de se connecter au client, et s’il y parvient, il lance le binaire
# /etc/mgetty/login.config
* user user /path/to/bin.sh
Cette partie est recopiée de x0r
mais de ce que je vois c’est surtout pour définir les règles de parité
# /etc/gettydefs
1200v23# B1200 CS7 PARENB -PARODD GLOBAL #B1200 ISTRIP CS7 PARENB -PARODD GLOBAL BRKINT IGNPAR ICRNL IXON IXANY OPOST ONLCR CREAD HUPCL ISIG ICANON ECHO ECHOE ECHOK #@S login: #1200v23
Le binaire lancé avec les bonnes règles de parités (recopié de x0r
, somme toutes identiques à ce que l’on a ci-dessus ^
)
# /path/to/bin.sh
stty 1200 istrip cs7 parenb -parodd brkint \
ignpar icrnl ixon ixany opost onlcr cread hupcl -isig icanon \
echo echoe echok
# vider l'écran
echo
printf "\x0c"
echo "COUCOU LE MONDE !"
sleep 10
Et surtout, tout est lancé avec systemd
, l’unit est définie ainsi :
[Unit]
Description=Smart Modem Getty(mgetty)
Documentation=man:mgetty(8)
Requires=systemd-udev-settle.service
After=systemd-udev-settle.service
[Service]
Type=simple
ExecStart=/usr/sbin/mgetty -x 7 ttyUSB0
Restart=always
PIDFile=/var/run/mgetty.pid.ttyUSB0
[Install]
WantedBy=multi-user.target
Essais
Lorsque j’appelle ma ligne, le modem décroche, j’entends le signal à 2100 Hz. Mon Minitel 1B est branché sur la même ligne, et lorsque je lance « Connexion/Fin », rien ne se passe, et le Minitel revient en mode F
.
J’ai tenté sur deux autres services la connexion (Jelora et IUT Auxerre) idem, j’ai bien la tonalité du modem dans le combiné. Quant à la connexion entre le minitel et le serveur elle ne s’établit pas.
J’imagine donc que je peux considérer le modem de mon minitel comme HS ? En effet au combiné lorsque j’appuie sur « Connexion/Fin » je n’entends pas de son particulier.
Enfin, je vous invite à essayer d’établir une connexion au 01 7374 2367. N’hésitez pas à me dire si cela a fonctionné pour vous, un simple message
COUCOU LE MONDE !
devrait apparaître sur votre terminal
Merci d’avoir tout lu, à bientôt
F4JJD, Noël