Building a QnetGateway + MMDVMHost System Copyright (C) 2018 by Thomas A. Early N7TAE I'll assume you'll be doing this on a Raspberry Pi, but any modern Debian-based system should work. It just needs a g++ compiler with version greater than 4.9. 1) Install the only external library you need: sudo apt-get install libconfig++-dev Yeah! No wxWidgets! Now in your home directory... 2) Clone the MMDVMHost repository: git clone git://github.com/g4klx/MMDVMHost.git 3) cd into the MMDVMHost directory and compile: make If you're on a multicore system use: make -jx where x is the number of cores on you system (RPi x=4, Odroid XU4 x=8) 4) Copy the ini file: cp MMDVM.ini MMDVM.qn 5) Edit the MMDVM.qn file. Set your Callsign and Id. Turn off duplex. Enable an external display, if you have one. Set the Frequency(s). Set the Latitude and other location info if you want. Change the log levels. I use DisplayLevel=2 and FileLevel=0. Set the Port on your modem. Disable all services except for D-Star (at least for now). Very important: Set the [D-Star] Module. For UHF use B and for VHF use C. 6) Start it: ./MMDVMHost MMDVM.qn 7) Key your radio and see if the MMDVMHost responds with an acknowledgement. Then you'll know that everything on the MMDVM side is fine. 8) Stop the MMDVMHost with a Control-C and edit the MMDVM.qn file again. Change the [D-Star] AckReply=0 You won't/don't want this reply from MMDVMhost. You want the acknowledgement from QnetGateway, it's more informative. We'll come back to MMDVMHost later, but for now let's work on the QnetGateway. 9) cd back to the home directory and clone the QnetGateway: git clone git://github.com/n7tae/QnetGateway.git 10) cd into the build directory and switch the branch: git checkout mmdvm 11) Then compile: make don't forget the -j option! 12) You need a configuration file for QnetGateway. The simplest config file is: ircddb = { logon = "YOUR CALLSIGN" } module = { x = { type = "mmdvm" } } link = { admin = [ "AA0AAA" , "BB1BBB" , "CC3CCC" ] } where x is the lowercase module you specified in the MMDVM.qn file. Use B and b or C and c. Don't mix them up! You can add more stuff to the gn.cfg file. Please see the qn.everything.cfg example. Only callsigns in the admin list can execute scripts. Two scripts are include: YR = _ _ _ _ _ R X will reboot you system, and YR = _ _ _ _ _ H X will halt your system (never unplug a running computer!) 13) You need a gwys.txt file for all the reflectors: ./reflist.sh 14) Install and start the three QnetGateway services: sudo make install Now it's time to go back to the MMDVMHost... 15) Start the MMDVM service: sudo make installmmdvm 16) You should be up and running! You can see the log of any of the 4 services that make up the QnetGateway + MMDVMHost system: sudo journalctl -u qngateway -f sudo journalctl -u qnlink -f sudo journalctl -u qnrelay -f sudo journalctl -u mmdvm -f You can do all four of these in one terminal window (that you can detach from!) by using "screen": sudo apt-get install screen If you don't know how to use screen: http://aperiodic.net/screen/quick_reference Being able to detach from a screen session is very useful, especially if you are operating "headless"! 17) Start other MMDVMHost services...