You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
194 lines
10 KiB
194 lines
10 KiB
Creating a hotspot based on a Raspberry Pi or a BeagleBone Black that can connect to
|
|
XRF and DCS reflectors as well as XREF reflectors based on QnetGateway software is
|
|
easy.
|
|
|
|
Start with a Raspberry Pi with the latest Raspbian image (see http://raspberrypi.org)
|
|
or most any other computer with the latest Debian-based image. For this latest version
|
|
of QnetGateway requires the c++ compiler of at least version 4.9.
|
|
|
|
Even if you are building an MMDVMHost-based hot-spot, the executables and their
|
|
source code are very small, so you can get away with a system with minimum storage
|
|
capacity. We have build gui-less versions on two gigabyte partitions! You don't need
|
|
to overclock the RPi for QnetGateway, the default clock rate is just fine.
|
|
|
|
If you are using a DVAP Dongle or a DVRPTR_V1, or connecting to an Icom Terminal and
|
|
Access Point enabled radio,login and plug in your device to see if the OS is
|
|
recognizing it. The kernel should auto load drivers and you will see that with the
|
|
"lsusb" command. The DVAP and the Icom radio digital-to-serial cable uses a FTDI chip
|
|
and the DVRPTR uses Atmel. If you don't see an approprite output from "lsusb" after
|
|
your device is plugged in, you need to enable it by executing:
|
|
|
|
sudo depmod
|
|
sudo modprobe <YOURDEVICEMODULE>
|
|
|
|
where YOURDEVICEMODULE is "ftdi_sio" for the DVAP or is "cdc_acm" for the DVRPTR.
|
|
After a reboot you should see the device in the "lsusb" list. If you don't see
|
|
the device listed, QnetGateway software will never be able to open it either.
|
|
|
|
You will need several packages to build the QnetGateway gateway. You will probably
|
|
already have all or most of these but it still doesn't hurt to be sure:
|
|
|
|
sudo apt-get update
|
|
sudo apt-get upgrade
|
|
sudo apt-get install make g++ unzip git
|
|
|
|
If you are building a QnetGateway + MMDVMHost system, please use the instructions
|
|
in the MMDVM.README file. If you are building a QnetGateway for an Icom repeater,
|
|
you'll need to switch branches of this repository after downloading it (see below):
|
|
|
|
git checkout lastudp
|
|
|
|
Then you can use the qn.icom.cfg configuration file as a starting point for your
|
|
configuration.
|
|
|
|
If you are building a QnetGateway for a DVAP or a DVRPTR_V1 read on...
|
|
|
|
git clone git://github.com/n7tae/QnetGateway.git
|
|
|
|
This will create a QnetGateway directory with everything you need to build a dvap or
|
|
dvrptr ircddb gateway.
|
|
|
|
The first thing to do is change to the build directory with "cd QnetGateway" and then
|
|
choose a target to make. There are targets for each of the supported devices:
|
|
. "make itap" will build all programs needed for Icom Terminal mode.
|
|
. "make dvap" will build all programs needed for the DVAP Dongle.
|
|
. "make dvrptr" will build all programs needed for the DVRPTR_V1.
|
|
. "make mmdvm" will build all programs needed for MMDVMHost support. (You need
|
|
to download and build MMDVMHost separately, see the MMDVM.README file for more info.
|
|
. "make" will build all the QnetGateway executables. This is useful if you are
|
|
experimenting around with lots of different devices.
|
|
|
|
Next, create your qn.cfg configuration file. Use the menu-driven configuration
|
|
script. Type:
|
|
|
|
./configure
|
|
|
|
You can configure up to three different modules: a, b and/or c.
|
|
|
|
The configure script will show you the default values of every parameter the
|
|
QnetGateway programs use. In most cases, the defaults are just fine and you don't
|
|
need to override them with your own values. Mostly you need to specify you callsign
|
|
for the IRC login, specify at least one module and most users will want to enable
|
|
the D-Plus legacy authorization. For a DVAP Dongle or a DVRPTR V1, there are some
|
|
parameters that must be specified, like the serial number. After you are happy with
|
|
your configuration, be sure to write it out. After you install and try out your
|
|
system, you may find that you need to change some configuration values. In that
|
|
case just start the configure script again. It will read the current qn.cfg file
|
|
when it start.
|
|
|
|
Of course, you can always build your own qn.cfg file. There are three example for
|
|
you to look at:
|
|
. qn.everything.cfg contains all parameter with comments about what
|
|
each parameter does. The definitions that are commented out are defined with
|
|
their default value.
|
|
. qn.dvap.cfg is the simplest possible configuration for a 2m DVAP. If you have
|
|
a 70cm DVAP rename the module to "b" and change the frequency.
|
|
. qn.mmdvm.cfg is the starting place for configuring an MMDVMHost repeater. Be sure
|
|
the module assignment agrees with the module configured in your MMDVM.cfg file.
|
|
. qn.itap.cfg is a simple configuration file for Icom's Terminal and Access Point
|
|
Mode. Please read ITAP.README for more information.
|
|
|
|
Remeber the 'everything' file file contain detailed comments about all of
|
|
the values you can set. Just read through it and edit accordingly. In the end you will
|
|
need a configuration file called "qn.cfg".
|
|
|
|
Additional information about the configuration as well as other important and
|
|
useful features are also in the CONFIGURING file.
|
|
|
|
Authorization to the the Trust DPlus system is first obtained by registering,
|
|
see www.dstargateway.org for instructions. Once registered, make sure to enable
|
|
it in you software, please see the "dplus" section in the example cfg files.
|
|
By default DPlus authorization is off. When you turn it on, the authorizing server
|
|
will provide QnetLink with a list of REF reflectors and repeaters on the DPlus
|
|
system. In the "dplus" section of you qn.cfg file, you have control over which
|
|
systems you want added to your gwy database. Your gwys.txt file is read AFTER
|
|
DPlus authorization so any entries their will over-write REF any downloaded
|
|
from the DPlus authorization server.
|
|
|
|
The information downloaded from the DPlus server is dynamic and will change
|
|
from hour to hour. You can update QnetLink by sending " F" to your system.
|
|
This will purge the current table and re-authorize with the DPlus server and
|
|
then reload gwys.txt.
|
|
|
|
Because of the way DPlus authorization works, QnetLink can't actually confirm
|
|
that the authorization was successful. If your system is unlinked after trying
|
|
to transmit into a DPlus system, it means that your authorization was
|
|
unsuccessful. This might indicate that their may be a problem with your
|
|
DPlus registration.
|
|
|
|
The gwys.txt file is the internet address and port numbers for any gateway you
|
|
would like your ircddb gateway to be able to connect to. The one delivered with
|
|
this package is special: It has only DCS reflectors, X-reflectors and DStar
|
|
reflectors and the X-reflectors are configured with the 20001 port instead of the
|
|
default 30001 prot. This will allow you to connect to these XREF reflectors without
|
|
creating any port-forwarding rules on your home router. You will also want to move
|
|
X-reflectors to port 20001 if you are going to tether you device via WiFi to a
|
|
smart-phone for internet access. Most phone companies will not let you configure
|
|
port-forwarding rules on you phone internet account. If you operate behing a
|
|
router/firewall without port forwarding in place, you will not be able to
|
|
do most callsign routing techniques discussed in CONFIGURING.txt, but you should
|
|
still be able to connect to reflectors. You will be able to route to the new
|
|
smart-group-server if you are mobile. They have solved the "mobile routing
|
|
problem"!
|
|
|
|
There are MANY OTHER gateways to which you can connect. Executing get_gwys_list.sh
|
|
will download a HUGE list of reflectors and gateways from www.va3uv.com with port
|
|
address that may need port-forwarding to your sytem.
|
|
|
|
There is another script, reflist.sh, that will download REF, XRF and DCS reflectors
|
|
from another source. This is probably the preferred method to getting a gwys.txt
|
|
file. This source is extremely up-to-date, and it also contains the DPlus REF
|
|
reflectors. If you want to use data from the DPlus authorization server, be sure
|
|
to remove any REF definitions that might over-write DPlus entries.
|
|
|
|
Based on the above discussion, execute either "./reflist.sh" or "./get_gwy_list.sh"
|
|
and then edit it to your needs.
|
|
|
|
If you plan on using DTMF, you need to copy "qndtmf.sh" to "qndtmf". This is the
|
|
file that interprets dtmf command and executes them. As supplied, it parses the
|
|
DTMF string and executes a QnetRemote command to perform linking and unlinking
|
|
and other useful tasks. It is a /bin/bash script so you can modify it! You can
|
|
change the commands or create new commands.
|
|
|
|
You are now ready to install your QnetGateway system. If you are installing an
|
|
MMDVM-based system, follow the instructions in MMDVM.README.
|
|
|
|
If you are installing Icom's Terminal and Access Point mode, please follow the
|
|
instructions in ITAP.README.
|
|
|
|
To install either DVAP or DVRPTR_V1, type "sudo make installdvap" or "sudo make
|
|
installdvrptr", respectively. If you are installing on an Icom repeater, type
|
|
"sudo make installicom". This should get you up and running. It will take a few
|
|
minutes for QnetGateway to get fully connected to the IRCDDB network.
|
|
|
|
Finally, if you want/need DTMFS, type "sudo make installdtmfs".
|
|
|
|
The service scripts in /lib/systemd/system and everything else in /usr/local:
|
|
The executables will be in /usr/local/bin and the qn.cfg file and other data
|
|
will be in /usr/local/etc. Please note that the qn.cfg file and the gwys.txt
|
|
file are actually symbolic links and point back to the files you created in
|
|
the build directory. So if you want modify them later, modify the files in the
|
|
build directory.
|
|
|
|
If you are having trouble connecting, use journalctl to view the log output
|
|
of each process. "sudo journalctl -u <service name> will show the log from that
|
|
service. The QnetGateway service is qngateway, QnetLink is qnlink, QnetDVAP is
|
|
qndvap and QnetDVRPTR is qndvrptr.
|
|
|
|
The beginning of each log file will report the values of all the configuration
|
|
parameters (even the ones you didn't specify in qn.cfg) and after that
|
|
you will see the verbose reports of what each service is doing. These logs are
|
|
invaluable for traking down problems with your qn.cfg file. You can see in real
|
|
time what is being added to the logs during operation appending "-f" to the
|
|
journalctl command.
|
|
|
|
You can clean up the build directory of intermediate *.o files, *.d file and the
|
|
executables with "make clean".
|
|
|
|
If you want to uninstall everything return to the build directory and type
|
|
"sudo make unistalldvap", "sudo make uninstalldvrptr" or "sudo make uninstallicom"
|
|
and possibly "sudo make uninstalldtmfs". This will shutdown the services and
|
|
remove the service scripts and everything from /usr/local.
|
|
|
|
Tom Early, n7tae (at) arrl (dot) net
|