Building QnetGateway support for Icom's Terminal and Access Point Mode 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. These instructions assume you have configured your system with the locale, keyboard and time zone. When choosing locale, always choose a "UTF-8" version of your locale. And make sure you do "sudo apt-get update && sudo apt-get upgrade" before your start. On a Raspberry Pi, you can do all of this with the configuration menu: "sudo raspi-config". 1) Install the only external library you need: sudo apt install libconfig++-dev Yeah! No wxWidgets! 2) From your home directory, clone the QnetGateway software: git clone git://github.com/n7tae/QnetGateway.git 3) Get into the build directory: cd QnetGateway 4) Then compile: make itap If you are building on a multi-core computer, don't forget the -j option! On a Raspberry Pi 2 or 3, use "-j4". Sorry, a Raspberry Pi Zero or a Beagle Bone Black just has a single core. 5) You need a configuration file called qn.cfg for QnetGateway. A good, nearly working config file is qn.itap.cfg. Copy it to qn.cfg and edit it. The default device for the Icom digital cable is "/dev/ttyUSB0". If you have muliple USB devices on your system the device might end up somewhere else. Do "ls /dev" before and after plugging in your cable to figure out where it is. If it's not on /dev/ttyUSB0, uncomment the device line and put in the correct device. If you are planning on linking to a Trust DPlus (REF) reflector or repeater, please look over the "dplus" section to enable this. You need to already be registered (www.dstargateway.org) to do this. 6) You need a gwys.txt file for all the systems to which you may wish to link. If you want to be able to link to repeaters: ./get_gwy_list.sh If you are only interested in linking to reflectors: ./reflist.sh This will download and format your gwys.txt file. If the reflector(s) or repeater(s) you use most often are not present in the gwys.txt file, you can add them manually, using the same syntax as the existing entries, at the end of the file. If you find you can no longer connect to a system, it may be because its IP address has changed. You can execute either script again, copy it to /usr/local/etc, and then: either reboot you system, or put " F" in your URField and key your radio, or: sudo systemctl restart qnlink 7) Now it's time to get the Icom radio ready. Plug in the digital cable to the radio and use the approprite cable to connect to your hot-spot. Turn on the radio and press the menu key and go to the "DV Gateway" menu item and press the enter key and select either Access Point or Terminal mode. If you select Access Point, adjust the frequency in the usual way. If you are using Access Point mode, you'll probably want to turn down the volume and disable other audio prompts from the radio that is operating as an access point. Please refer to the Icom manual to do this. Please note that Access Point Mode is a work in progress. There are still significant performance issues, especially when the radio in AP Mode is transmitting. It is usable, but just barely. Terminal Mode works well. 8) We have a gwys.txt file and a qn.cfg in the build directory, so we are ready to install and start the three QnetGateway services: sudo make installitap You should be up and running now! Congratulations! 9) You can see the log of any of the 3 services that make up the QnetGateway system: sudo journalctl -u qngateway -f sudo journalctl -u qnlink -f sudo journalctl -u qnitap -f You can do all three of these in one terminal window (that you can detach from!) by using "screen": sudo apt 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"! 10) DTMF is _not_ enabled by default if you want it, you need to do two things: First, create a working DTMF script. In the build directory: cp qndtmf.sh qndtmf Then, install the DTMF service: sudo make installdtmf You should be good to go, The DTMF command "00" should announce the linked status of you module. See DTMF+REMOTE.README for more information.