MMDVM – P*****, deux ans!

Ludo | 11 avril 2021
Ça vous est déjà arrivé de vous entêter à vouloir faire quelque chose sans parvenir à vos fins, et de vous rendre compte au bout d’un certain temps que vous butiez en fait sur un détail qui n’aurait pas dû vous échapper? Je viens de comprendre pourquoi je n’arrivais pas à faire fonctionner une interface MMDVM, après deux ans passés à me pencher épisodiquement sur cette énigme. Je vais partager ici les problèmes rencontrés (car il y en a eu d’autres par la suite) et comment j’ai procédé pour les régler. Si vous cherchez une procédure complète pour mettre en service votre interface MMDVM, vous n’êtes pas au bon endroit. Pendant ces deux ans, j’ai pu constater que tous les sites qui décrivent la procédure donnent des infos qui ne sont plus totalement valables, donc à quoi bon refaire le même travail pour une durée de validité aussi courte? Je n’exclue pas de rédiger un jour un résumé condensé tout de même. Son contenu restera quoi qu’il en soit un peu plus à jour que ce que j’ai lu jusqu’ici.


Première erreur: MMDVMCal ne décode pas l’émission DMR lors du test

Seules quelques trames donnaient lieu à des événements sur MMDMVCal, à l’appui sur le PTT et au relâché, mais aucune trame de donnée transportant le flux audio n’étaient tracée.
Il suffisait d’inverser la détection de l’émission, avec la touche « i ».

Deuxième erreur: test avec MMDVMCal OK, mais pas de réception avec MMDVMHost

Lors du test de réception DMR avec MMDVMCal, le MMDVM décode l’émission en simplex. MMDVMHost est quand à lui paramétré pour fonctionner en duplex par défaut!

  • En simplex, quand la fréquence de réception et d’émission sont identiques, le poste DMR n’attend pas de réponse particulière et son émission vers le destinataire est instantanée.
  • En duplex, donc lorsque la fréquence de réception et d’émission sont différentes, le poste DMR émet de quoi activer le relais DMR (le MMDVM dans notre cas) et attend de recevoir l’émission de celui-ci avant de transmettre l’appel (ou les données).

Ici, j’ai cumulé les erreurs.

  1. Lorsque je lançais MMDVMHost, après avoir validé le bon fonctionnement avec MMDVMCal, je ne passais pas mon poste en duplex! Le MMDVM restait en mode Idle, comme s’il ne recevait rien. Le mode relais « FM » fonctionnait pourtant sans problème, mais lorsque je passais sur le canal DMR de mon poste, ce n’était même plus retransmis en tant que signal analogique (toujours en mode FM). C’est ce qui a commencé à me faire comprendre que le MMDVM différenciait bien l’émission DMR d’une émission analogique, malgré son refus de retransmettre en DMR.
  2. Pour simplifier la manip de test, j’avais remplacé la partie émission du relais par un simple haut-parleur amplifié sur la sortie audio à émettre. Ça m’a permis de valider la retransmission en FM uniquement, sans avoir à remettre en cause le matériel lié à l’émission du relais.
  3. J’ai fini par constater que l’émission DMR simplex de mon poste durait tout le temps que le PTT était appuyé, alors qu’en duplex, il n’y avait que 3 salves de données émises puis plus rien même en gardant le PTT appuyé. J’ai donc paramétré la fréquence d’émission du poste sur celle de réception du relais, et mis une fréquence quelconque en réception sur le poste, pour voir si ça améliorait les choses. J’ai enfin pu entendre l’émission du relais dans le HP amplifié, mais l’écran du MMDVM restait quand à lui inlassablement sur « IDLE »…
  4. Ayant franchi une étape supplémentaire, j’ai fini par câbler l’émetteur sur le MMDVM afin de compléter l’installation du relais,et procédé au réglage de l’excursion. Ce n’est qu’après avoir mis en service l’émetteur du relais que j’ai pu voir mon indicatif s’afficher sur l’écran du MMDVM!

Chouette, le calvaire est enfin fini!

Je me suis allègrement appuyé sur les procédures fournies par Christian F5UII. Je suis allé jusqu’à utiliser la même série de mobiles analogiques pour constituer la partie réception et émission du relais: des TAIT TM8105 (TM8110 chez F5UII).
Lors des tentatives précédentes, je n’ai pas dépassé l’étape du réglage de réception du MMDVM avec MMDVMCal. Il faut avouer que je n’ai pas non plus attribué plus d’une heure à chacune de ces tentatives. Ce n’est qu’en passant très récemment deux jours complets à me torturer les méninges que je suis venu à bout du mystère!
Le relais est donc fonctionnel, et je ne suis pas peu fier d’avoir compris tout seul chacune de mes erreurs. La motivation étant revenue à son niveau maximal, j’ai continué sur ma lancée en essayant de connecter le MMDVM au réseau Brandmeister. J’avais encore quelques heures à tuer 🙂

L’accès au Brandmeister en quelques mots

Ce n’est évidemment pas une chose intuitive, comme les étapes précédentes de cette aventure.
Ayant suivi à la lettre les procédures de F5UII, j’ai su comment télécharger le projet DRMGateway depuis le dépôt GIT de G4KLX sur la Raspberry Pi, le compiler et créer un service pour qu’il soit exécuté automatiquement.
Il « suffit » ensuite d’indiquer à MMDVMHost comment discuter avec DMRGateway, et d’indiquer à DMRGateway comment se connecter au serveur Brandmeister français.

Extrait du fichier MMDVM.ini

[DMR Network]
Enable=1
# Type may be either 'Direct' or 'Gateway'. When Direct you must provide the Master's
# address as well as the Password, and for DMR+, Options also.
Type=Gateway
Address=127.0.0.1
Port=62031
Local=62032
Password=P@ssw0rd
Jitter=360
Slot1=1
Slot2=1
# Options=
# ModeHang=3
Debug=1

L’adresse 127.0.0.1 permet de se connecter à soi-même. C’est DMRGateway qui écoute le port 62032, et qui va faire la passerelle, comme son nom l’indique, vers le réseau Brandmeister.

Extrait du fichier DMRGateway.ini

[General]
Timeout=10
# RFTimeout=10
# NetTimeout=7
RptAddress=127.0.0.1
RptPort=62032
LocalAddress=127.0.0.1
LocalPort=62031
RuleTrace=0
Daemon=0
Debug=1

# BrandMeister
[DMR Network 1]
Enabled=1
Name=BM
Address=2081.master.brandmeister.network
Port=62031
# Local=3352
# Local cluster
TGRewrite=1,9,1,9,1
# Reflector TG on to slot 2 TG9
TGRewrite=2,9,2,9,1
# TG France
TGRewrite=2,208,2,208,1
# TG Francophone
TGRewrite=2,937,2,937,1
# TG Canada FR
TGRewrite=2,3027,2,3027,1
# TG Belgique
TGRewrite=2,2062,2,2062,1
# TG Suisse
TGRewrite=2,2281,2,2281,1
# Reflector control command slot 2 94000->4000 to 95000->5000
PCRewrite=2,94000,2,4000,1001
# Echo on RF slot 1 TG9990 to network slot 1 9990
TypeRewrite=1,9990,1,9990
SrcRewrite=1,9990,1,9990,1
# Reflector status returns
SrcRewrite=2,4000,2,9,1001
# Dynamic rewriting of slot 2 TGs 90-999999 to TG9 to emulate reflector behaviour
TGDynRewrite=2,90,4000,5000,9,999910,9990
# For normal repeater operation disable TGDyn coment out the above line
# After that remove the coments below
# PassAllTG=1
# PassAllTG=2
# Pass all of the other private traffic on slot 1 and slot 2
PassAllPC=1
PassAllPC=2
Password=passw0rd
Location=1
Debug=1

Il convient de redémarrer les services MMDVMHost et DMRGateway après avoir modifié leurs fichiers de configuration.

Il est probable que ce billet soit amené à être mis à jour, car les efforts mis en œuvre pour faire fonctionner cette interface ne m’incitent pas à la ranger dans un carton de sitôt!

Au cas où vous seriez passés à côté du site de F5UII, changez de moteur de recherche et cliquez ici: https://www.f5uii.net/category/mmdvm/

Leave a Reply


The reCAPTCHA verification period has expired. Please reload the page.