G4KLX ircDDB Gateway Installation on Linux

Download

The G4KLX ircDDB Gateway is distributed through the “ircDDB Gateway” Yahoo! group: http://groups.yahoo.com/group/ircDDBGateway/files. Switch to the “Beta” or “Release” directories and download the archive file (*.zip). The source code may also be downloaded from http://db0fhn.efi.fh-nuernberg.de/~g4klx in the “ircDDB Gateway” directory. Other open source D-Star software (clients and repeaters) is also available from this location.

Data flow diagram

Data Flow Diagram

Router configuration

The following ports needs to be forwarded from the router to the machine running the ircDDB gateway:

Compiling

apt-based systems

To compile the software on “apt”-based systems like Debian/Lenny or Ubuntu you need to get some packages using “apt-get install <packagename>”:

rpm-based systems

To compile the software on “rpm”-based systems like CentOS you need to get a package using “yum install <packagename>”:

You will need to use “rpmforge” before “wxGTK-devel” is available. Read http://rpmrepo.org/RPMforge/Using for RPM-based systems or http://wiki.centos.org/AdditionalResources/Repositories/RPMForge for CentOS based systems. My sequence on CentOS was:

yum groupinstall "Development Tools"
yum install yum-priorities
wget http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
rpm -i rpmforge-release-0.5.2-2.el5.rf.*.rpm
yum check-update
yum install wxGTK-devel
procedure

You don't need root access to compile and run the ircDDB Gateway.

Unzip the archive and change into the “ircDDBGateway” directory. To run the compile process type “make”. You will find the executable “ircddbgateway” and “ircddbgatewayd” (daemon mode) in the subdirectory “ircDDBGateway”.

To configure the ircDDB Gateway you need a X-Server system running. If you like to install it remote using a Windows machine I recommend to have a look on this site: http://www.cse.yorku.ca/tdb/_doc.php/userg/login/x11-from-home.html

You should be able to start the executable now with ”./ircddbgateway”.

To have access to the DExtra Reflectors you should copy “DExtra_Hosts.txt” into your Homedirectory.

Configuration

Once the application is open you need to adjust the Preferences using the Menu “Edit → Preferences”:

Preferences

At the tab “Gateway” you need to adjust your gateway callsign.

ICOM Controller: To attach an ICOM Controller you will need an additional network adapter built into your gateway machine. Usually the local network 172.16.0.0/24 (RFC1918 compatible) is used. The default IP address of the gateway is 172.16.0.20 and for the ICOM controller 172.16.0.1. Therefore you should configure the IP-address 172.16.0.20 on your additional network adapter and put 172.16.0.20 into the address field at tab “Gateway”. Set the type to “ICOM”.

G4KLX D-Star Repeater or G4KLX GMSK Repeater: You can leave the default address 127.0.0.1 and port 20000 for your gateway if you are running the D-Star Repeater (Soundcard) or the GMSK Repeater (USB-DV-Adapter) on the same machine as the ircDDB Gateway. Set the type to “Homebrew”.

Gateway

The most gateways use module A for 23cm, module B for 70cm and module C for 2m.

ICOM Controller: Use the tab “Repeater 1” only to configure the connection to the ICOM Controller. Put the IP of the ICOM controller (default = 172.16.0.1) into the address field. Change the UDP Port to the default port of “20000”.

Set Band “A” on tab “Repeater 1”, Band “B” on tab “Repeater 2” and Band “C” on tab “Repeater 3”. The address and port of tab “Repeater 2” and “Repeater 3” are ignored. It is currently not possible to mix an ICOM setup with a Homebrew setup.

You can choose to link a module to a dextra reflector e.g. “XRF023 module A on startup”. The reflector will be linked again to XRF023 after 30 minutes being unlinked. To permanently link a module to a reflector choose “fixed” (this will disable linking and unlinking commands for users).

G4KLX D-Star Repeater or G4KLX GMSK Repeater: Use the tab “Repeater 1” to configure your first module. The defaults put in “Address” (127.0.0.1) and “Port” (20001) will fit with the defaults of a fresh installation of the G4KLX D-Star or GMSK Repeater if installed on the same machine (localhost). Set the Band to the corresponding Band on RF (if possible). Use tab “Repeater 2 & 3” to add more modules.

You can choose to link a module to a dextra reflector e.g. “XRF023 module A on startup”. The reflector will be linked again to XRF023 after 30 minutes being unlinked. To permanently link a module to a reflector choose “fixed” (this will disable linking and unlinking commands for users).

Now we need to put the information, provided by the ircDDB network team after registration by email, into the tab “ircDDB”.

For gateways located in North America please use Hostname “group2-irc.ircddb.net”, for gateways from the rest of the world you need to use “group1-irc.ircddb.net”. This is important to run the network in a structured way.

You can now restart the application or run it in daemon mode with ”./ircddbgatewayd”.

G4KLX D-Star Repeater & GMSK Repeater Installation on Linux

Download

The G4KLX D-Star Repeater & GMSK Repeater is distributed using the “pcrepeatercontroller” yahoogroup: http://groups.yahoo.com/group/pcrepeatercontroller/files/G4KLX. Download the latest archive file (*.zip).

Compiling

apt-based systems

To compile the software on “apt”-based systems like Debian/Lenny or Ubuntu you need to get some packages using “apt-get install <packagename>”:

rpm-based systems

To compile the software on “rpm”-based systems like CentOS you need to get some packages using “yum install <packagename>”:

You will need to use “rpmforge” before “wxGTK-devel” is available. Read http://rpmrepo.org/RPMforge/Using for RPM-based systems or http://wiki.centos.org/AdditionalResources/Repositories/RPMForge for CentOS based systems. My sequence on CentOS was:

yum install yum-priorities
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.i386.rpm
rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
rpm -i rpmforge-release-0.5.1-1.el5.rf.*.rpm
yum check-update
yum install wxGTK-devel libusb-devel portaudio-devel
procedure

You don't need root access to compile the G4KLX D-Star Repeater (Soundcard).

Unzip the archive and change into the “Repeater” directory. To run the compile process type “make”. You will finde the executables “dstarrepeater” and “dstarrepeaterd” (daemon mode) in the subdirectory “DStarRepeater”.

To configure the G4KLX D-Star Repeater (Soundcard) you need a X-Server system running. If you like to install it remote using a Windows machine I recommend to have a look on this site: http://www.cse.yorku.ca/tdb/_doc.php/userg/login/x11-from-home.html

You should be able to start the executable now with ”./dstarrepeater”.

Configuration

Please read “Usage.txt”. Here is a copy of version 20100826.

Repeater - 20100826
===================

This is an analogue and D-Star (audio and GMSK modem) repeater control unit that 
runs under Windows and Linux. The analogue repeater includes most of the 
features expected of a UK repeater logic unit, while the D-Star repeater is 
usable in all parts of the world as it mimics an Icom D-Star repeater. It is 
customisable to behave in a number of different ways, and to mimic existing 
repeater logic units. Further provision is made with the analogue controller to 
include an external inputfrom a program such as EchoLink or IRLP.

In addition there is a DExtra Gateway and Parrot Controller which are meant to 
operate with the D-Star and GMSK Repeaters to provide further facilities. The 
DExtra Gateway allows access to the DExtra reflectors and gateways, and the 
Parrot Controller can generate audio beacons or echo incoming transmissions 
after a selectable delay.


Hardware
--------

If you are using the sound card based repeaters you will need, as well as a PC, 
you'll also need a Velleman K8055 USB control board, or a URI USB combined audio 
card and ports, or a serial port, which handles all of the interfacing to the 
outside world, apart from the audio (except the URI USB). A serial port, real or 
virtual may also be used by the software to interface the analogue repeater to 
external programs or hardware. For the GMSK Repeater you will need a Satoshi 
compatible GMSK modem.

For the Analogue Repeater the following are used:

Function                              Velleman  URI USB   Serial Port

RF Squelch 1 / External CTCSS Input   Input 1   8         DSR
RF Squelch 2                          Input 2   7         CTS
External Squelch                      Input 3   -         -
Battery Operation                     Input 4   6         -
Disable                               Input 5   5         -

RF Transmit                           Output 1  1         DTR
External Transmit                     Output 2  -         -
Heartbeat                             Output 3  2         RTS
Active                                Output 4  -         -
Output 1 on the GUI                   Output 5  3         -
Output 2 on the GUI                   Output 6  4         -
Output 3 on the GUI                   Output 7  -         -
Output 4 on the GUI                   Output 8  -         -

RF Squelch 1 and RF Squelch 2 are connected to a squelch output of the receiver,
and are used to allow different squelch settings to be used for different access
techniques. RF Squelch 1 is typically set to a lower threshold than RF Squelch 2
and represents the squelch used when receiving an input signal with the correct
CTCSS frequency, RF Squelch 2 is used when accessing the repeater with carrier
only and when starting the repeater up with a 1750 Hz tone and no CTCSS. In the
absence of two squelch outputs, both should be connected together and switched
as one. The software does its own audio muting so the radio does not need to 
control the audio itself unless it does already.

The External CTCSS Input is connected to an external hardware CTCSS decoder as
provided on some receivers. The choice to use this, or the internal decoder
along with RF Squelch 1 is determined by a setting within the GUI.

The External Squelch is used with external programs such as EchoLink or IRLP and
is switched to indicate that audio is being received from this second source.
Unlike the RF Squelch, there is only one, and it is not expected that the input
audio from the external source will have either CTCSS or a toneburst attached.
This input is also available from an optional serial port pin. It is probable
that both programs will be running on the same PC and the serial port in 
question will be a virtual null modem cable rather than real hardware.

An optional Battery Operation is provided so that the repeater can indicate to
users that it is using batteries and therefore should be used sparingly. This is
indicated by a change of the Ack as well as an entry on the status screen of the
GUI.

The Disable input is used to set the repeaters in to Shutdown mode, and when 
released will restore it into Listening mode. This input can be used as either 
an external hardware shutdown facility. A more interesting use is to connect 
this input to an Active output of another repeater to allow for two repeaters 
(e.g. analogue and D-Star) to operate side by side. This would require two sets 
of audio cards and controller boards, as well as audio splitters/combiners.

The outputs include two which represent the internal status of the software and
two for controlling "transmitters", real or virtual.

The two status outputs are Heartbeat and Active, Heartbeat toggles every one 
second when the software is running correctly and is anindication of the health
of the software. A lack of toggling of this line indicates that the software has
hung and is in need of restarting.

Active goes high when the repeater transmits and for a period afterwards, this 
period being set within the configuration programs. In the analogue repeater 
this line does not have the delay when only sending the beacon.

RF Transmit is to key the repeater transmitter, and is allied to the Squelch1
and Squelch2 input lines. External Transmitter is indicative that audio for
transmission over the external system (EchoLink or IRLP for example), this
output is also optionally available on the same serial port that as the
External Squelch input.

The four remaining outputs, if supported, can be used to control external 
hardware, and are accessed from the GUI menu.

For the audio D-Star Repeater the following are used:

Function                              Velleman  URI USB   Serial Port

Unused                                Input 1   -         -
Unused                                Input 2   -         -
Unused                                Input 3   -         -
Unused                                Input 4   -         -
Unused                                Input 5   -         -

Transmit                              Output 1  1         DTR
Unused                                Output 2  -         -
Heartbeat                             Output 3  2         RTS
Active                                Output 4  -         -
Output 1 on the GUI                   Output 5  3         -
Output 2 on the GUI                   Output 6  4         -
Output 3 on the GUI                   Output 7  -         -
Output 4 on the GUI                   Output 8  -         -

The meanings of the pins are identical to those used on the analogue repeater 
apart from only having one transmit output and no external battery input. See 
the definitions above for more information about the pins that are used.



The Analogue Repeater
---------------------

AnalogueRepeater.exe [-nolog] [config name]
analoguerepeater [-nolog] [config name]
analoguerepeaterd [-nolog] [config name]

On Windows the Analogue Repeater program is named AnalogueRepeater.exe and is a 
GUI based program, as is the Linux version which is named analoguerepeater. Also 
on Linux is a program named analoguerepeaterd which is a command line version of 
the repeater.

All versions have an optional parameter which signifies the configuration to be 
used, and this must be set on the command line when running as well as 
configuring the repeater. This name will appear on the title bar as well as 
affecting the name of the log file used.

The program is configured by choosing the Preferences option under the Edit menu 
entry at the top of the screen.

The Callsign tab allows for the setting of both the repeater Callsign which is 
heard at intervals when the repeater is in use, and the Beacon which is only 
heard when the repeater is not in use. The Callsign will be something simiar to
"GB3IN B" while the Beacon would be similar to "GB3IN B  IO93GD". All of the
letters and numbers are allowed as well as /?=, and space.

The keying speed (8-25 WPM), tone (500-2000 Hz) and two audio levels are 
settable here. The first audio level is that used for the Callsign and Beacon 
when there is no other audio being transmitted by the repeater, while the second 
audio level is that used when the callsign is being transmitted underneath a
relayed station.

The Acknowledgements tab is where information about the acknowledgment for both 
radio and external transmissions is set, these are free from text that are 
constrained to be valid CW characters. Typical values would be none, K, or E, 
although almost any ack is possible. To emulate a repeater which sends a series 
of pips before closedown, set the ack text to be "E    E" where the number of 
spaces controls the delay between the pips, as well as the speed setting. The 
Speed, Frequency and Level settings are identical in function to those settings 
for the Repeater Ids above, but there is only one level setting.

The Ack sets the amount of time between the end of a transmission and the
acknowledgment is set, this is usually one second, but can be between one and
three seconds. The Minimum sets the number of seconds that a transmission must
be present before an acknowledgment will be sent, this can be between zero and
ten seconds, where zero indicates no mimumum transmission is needed. Probably
not a good idea!

The Ack changes to a dah-di-di-dit (B) when the Battery Operation input is set,
regardless of the settings of the radio and external acks, although the tone,
speed and deviation of it is taken from the settings used for those other acks.

The Timers tab allows for the setting of various timers that regulate the
operating of the logic. Most of the settings are obvious.

The Timeout sets the number of seconds that a transmission may last before the 
repeater times out and stops transmitting the audio. When that time is reached, 
the output audio is replaced by a standard telephone style busy tone until the 
offending transmission ends. The level of the busy tone is the same as that used 
for first callsign level. Setting the timeout to zero disables it. The Lockout 
Time is the length of time the repeater will send the busy tone before sending 
its callsign and closing down.

The Hang Time is the time between the last acknowledgement (audible or not) and
the close down of the repeater in the absence of any further input. The Latch
Time is the minimum transmission length required before the repeater stays
transmitting, otherwise the transmitter closes down when the input signal
disappears and the repeater needs accessing from cold again. This feature is
designed to stop people switching on a repeater without making an effort to
identify. To disable this feature, set the Latch Time to zero.

The Access Tones tab is where the tones for accessing the repeater via the radio 
are set. Traditionally a 1750 Hz toneburst is used to access repeaters and here 
that detecter can be enabled or disabled, as well as the detection Threshold 
set. The detection threshold is a measure of the sensitivity of the decoder to 
the tone to stop false triggering on weak noisy signals for example. The 
bandwidth of the toneburst detecter is 25 Hz.

The CTCSS Frequency is set here too. All EIA CTCSS frequencies are defined, and 
the ones used in the UK also include the tone letter, there is also a None 
option. Like the toneburst option, there is a detection Threshold to set, which 
will typically be lower than that for a toneburst due to the lower deviation 
used, and in addition an output Level is also settable. The CTCSS Hang Time is 
to allow a period of grace after the CTCSS tone has dropped when the station may 
still access the repeater, it can be though of as a CTCSS squelch tail. This 
helps with weak stations and only operated with the internal CTCSS detector. The 
output CTCSS tone can be set to be one of four modes, never, when the repeater 
is open, when audio is being relayed, and when the transmitter is keyed.

It is possible to use an external hardware CTCSS decoder by choosing External as
the CTCSS Source, which disables the internal CTCSS decoder and expects Input 1
to be used to signal the presence of a signal with CTCSS. To disable the
transmitted CTCSS tone, simply set the CTCSS Level to 0%.

The absence of tones allows the repeater to be carrier accessed, and only the
Squelch 2 input is monitored for the radio side. Note that this feature is
currently disabled.

The external input does not use either CTCSS or 1750 Hz toneburst for access.

The Feel tab is where miscellaneous settings about the repeater operation are
set. Currently this includes the options for transmiting the Callsign when the
repeater is first opened up, this may be immediately when the repeater is 
opened, or when the input transmission has exceeded the latch time. If no latch 
time has been set then this option is meaningless. Sending the Callsign when the 
repeater is about to close down is also selectable. Transmission of any of these 
callsigns resets the Callsign timer above. Finally the type of timeout tones is 
settable, you can choose from the German telephone busy tone, the very similar 
British telephone busy tone, or the American telephone busy tone.

If Callsign Holdoff is set to 1/4, 1/2, or 3/4, then the callsign is suppressed
unless the callsign timer has already passed 1/4, 1/2 or 3/4 of its timeout
value. That means that with a callsign time of ten minutes, and a value of 1/2,
then you will never hear a callsign at less than five minute intervals. They may
appear at startup or shutdown, as set elsewhere, but not if they occur within
five minutes of the last one. Sending a callsign for whatever reason always
resets the callsign timer.

The Radio tab is where details of the hardware interfaces for connecting to a
radio, and these must be filled in and correct before the program can run. The
sound card is the one that will be connected to the radio, either to the 
standard audio input/output or directly to the discriminator/modulator or a 
mixture of the two. To use the the direct discriminator/modulator connection, 
you will need to enable the de-emphasis and/or the pre-emphasis built into the 
program, to ensure that the transmitted audio is correct. You can also choose to 
have a simple VOGAD unit, this has a limited ability to boost incoming audio, 
the alternative to the VOGAD unit is an audio limiter.

There is often a delay in the squelch inputs compared to the audio, this can
result in annoyingly long squelch tails. This can be overcome by setting the
audio delay which will enable the squelch input to match the received audio.
This setting should be made so that no un-squelched noise appears before the
transmission rather than completely removing the squelch tail as a small squelch
tail is normal on some radios.

The External tab is an optional audio input and output for connecting to
external programs like EchoLink. This external interface may be Enabled,
Disabled, or set to Control Only by the setting at the top of the page. If it's 
set to Enabled or Control Only then the sound card must not conflict with the 
sound card chosen for the radio port. It is possible that the audio will not be 
received by a real sound card, but via a Virtual Audio Cable, likewise the 
optional serial port control may also be connected via a software equivalent of 
a null modem cable. The Control Only option is to allow the external audio input 
to be used for DTMF commands but not for allowing user traffic.

There is the option to choose a VOGAD in use on the External audio. With 
EchoLink, the audio level can vary enormously, with the announcements being 
louder than most user audio, and even the user audio can be variable depending 
on how well the user has set up EchoLink. For that reason it's recommended that 
it be enabled on the External interface when using EchoLink. The alternative to 
having the VOGAD enabled is that a simple audio limiter is used instead.

As well as specifying the serial port itself, you can also specify which serial
port pins are used for which purpose, this being dependent on the null modem
cable used, and must match those being used by the external software/hardware.
The available transmit pins are DTR and RTS, and squelch inputs are CD, CTS or
DSR.

The functionality of this port is mirrored on the controller, see Controller 
below. The complete external interface is disabled if the External Sound Card is
set to None, and any squelch input, either by the Velleman board or serial port
will be ignored.

The Controller tab sets hardware device used to control the transmitter, take 
input from the receiver and also the watchdog output is sent. Although not very 
useful, this may set to None for testing. A PTT Delay can be set here to ensure 
that the transmitter operates at exactly the same time that the audio is 
present. The PTT and Squelch inversion settings are for interfacing to radios 
that have the opposite sense.

The program uses either a Velleman K8055, a URI USB, or a serial port to connect 
to the transmit lines and squelch lines (see above), currently no other hardware 
is supported. The Velleman has an interface number, which is set to zero by 
default, which is set with jumpers on the Velleman card. The name of the 
interface type also reflects the state of these jumpers, and the correct value 
should be selected. It is possible to set "None" as the type, this is really 
only useful when debugging as in this state it's impossible to set the squelch 
inputs or test the transmit outputs.

The DTMF Commands 1 and DTMF Commands 2 tabs are used for setting up DTMF 
commands that may be received on either the radio or external ports. The port to 
have commands enabled is set, along with a threshold for the DTMF tones. Each 
command may be up to ten DTMF characters, 0-9 A-D, sending a DTMF * clears the 
current command while a DTMF # ends the command. The commands may be set up to 
Shutdown the repeater, it will immediately unkey and no callsigns or beacons 
will be sent, it will be listening for further DTMF commands though. The Startup 
command will put it back into listening mode, as if newly started. The Timeout 
command will immediately timeout the current user regardless of the timeout 
timer, and Timer Reset will reset the timeout timer if it is running.

The Output 1 to Output 4 commands flip the state of four output lines, if they 
are available. You do not need to have the repeater accessed to send commands, 
and commands can be sent via the Radio or External port, as defined, when the 
other port is in use. All valid commands to the repeater are logged into the 
log.

Up to two external commands may be setup to run based on DTMF Commands 2. On the 
screen there are two entries each for Command 1 and Command 2, the first entry 
is the DTMF characters used to invoke them, the second entry is the command 
itself. This text is sent to the shell and is outside the control of the 
repeater software, so be careful!

The final tab is named Active Output and sets the hang time to be used on the 
active line. This will remain high for the pre-defined period after the repeater 
has stopped transmitting, except in the case of a beacon transmission.

Note that configuration changes do not take effect until the software is
re-started.

A log of actions and errors is to be found in the file AnalogueRepeater.log 
which is found in the users home directory. This may be disabled by giving the 
-nolog option on the command line. Logging is still performed, but it goes to 
stderr and therefore may easily be ignored, or redirected to another target. A 
copy of the last three lines of the log is displayed at the bottom of the GUI 
screen.

Once running, the screen displays status information about the software. This
screen is updated every one second and is therefore reasonably up to date, for
example the timers appear in real-time. This status is split into four sections,
Status, Radio, External, and Timers, and each reflect a different facet of the
repeaters operation. The updating of the GUI can be switched on and off by
choosing the "GUI Updates" menu item under the View menu, the default is on in
the Debug build and off for the Release build.

The State section shows the internal status as well as information about the
audio passing through. The State entry has a number of values which include
Listening, Timeout, Relaying Radio, Relaying External, and Waiting. The Level is
the peak value of the input audio over a one second period, and the value is in 
dB relative to the peak accepted internal value, this is most useful when 
setting up the software. Likewise the Limiter entry shows how much attenuation 
is being applied to the audio, and this value is reset when a new transmission 
is received.

The Radio section shows whether the radio is transmitting, whether the radio
squelch is open. The radio squelch indication is only set to Open when a valid
input signal is being received, therefore a carrier on the input with no tones,
the repeater is closed, and tones are enabled, will not appear. Likewise an
input signal on the repeater when relaying audio from the external input will
also not show. It also shows the VOGAD level, which if VOGAD is not enabled, it
will show any audio limiting that is happening.

It shows whether reception of a 1750 Hz toneburst and/or CTCSS tones are
happening. In practice the 1750 Hz indication almost never appears because of
the length of the tone and the GUI refresh speed!

The External section is analoguous to the Radio section, except for the external
input, with the squelch input and transmit output being echoed. Like the RF 
Squelch, the Squelch value here is only valid if relaying external audio. Like 
the Radio section, it also includes a VOGAD level, which will show limiter 
levels if VOGAD is not enabled.

The Timers section shows the state of the internal timers, all of their meanings
have been discussed above, but they are fun to watch! The values are displayed
as n1/n2 where n1 is the current counting value and n2 is the trigger value, the
values of n1 may go over n2 in operation. A value of zero for n1 indicates that
the time is not active as will be seen.

There is a menu entry named Actions which allows local use of the remote 
commands for the software. These are Shutdown, Startup, Timeout, Time Reset, 
Command 1 and Command 2. Shutdown and Startup are self explanatory, while 
Timeout is used to force an early timeout for a user, maybe someone who is 
abusing the system. Time Reset is the opposite, this will reset the timeout 
timer and, if needed, remove any existing timeout condition from the current 
user.

There is a menu item named Outputs which allows access to the menu items that 
control the output lines. These items are labelled "Output 1", "Output 2", 
"Output 3" and "Output 4". These are toggles and they retain their state between 
invokations of the software.

In the debug version of the software, an Open option appears on the File menu. 
This is used for testing, and the presence of an input file also triggers both 
squelch inputs within the software too. Any WAV file used for this input must be 
mono and sampled at 48000 Hz, otherwise it will be rejected.


The DExtra Gateway
------------------

DExtraGateway.exe [-nolog] [config name]
dextragateway [-nolog] [config name]
dextragatewayd [-nolog] [config name]

All versions have an optional parameter which signifies the configuration to be 
used, and this must be set on the command line when running as well as 
configuring the repeater. This name will appear on the title bar as well as 
affecting the name of the log file used. There could be issues in running more 
than one DExtra Gateway per repeater site if they connect to the same reflector 
or gateway.

A log of actions and errors is to be found in the file DExtraGateway.log 
which is found in the users home directory. This may be disabled by giving the 
-nolog option on the command line. Logging is still performed, but it goes to 
stderr and therefore may easily be ignored, or redirected to another target.

The configuration is relatively simple. The configuration is made up of two 
tabs. The Reflector tab sets most of the parameters for the program. The first 
entry, Callsign, is the callsign that the software uses to connect to the 
reflector/gateway with, and will appear in the status pages under. The Reflector 
is the reflector that is the default reflector/gateway, it is taken from the 
DExtra_Hosts.txt file, more about this later. Next to the reflector list, is the 
channel on the reflector to link to.

Startup is a simple Yes/No choice. If set to Yes then the software will link to 
that reflector/gateway specified in the Reflector entry when it is started. 
Reconnect sets the operation of the software, if set to Fixed then the software 
will stay linked to the reflector specified in Reflector and all incoming 
commands to link and unlink will be ignored. If set to one of the times then 
incoming link and unlink commands will be acted upon (if valid) but after the 
specified period of inactivity will unlink and link to the reflector/gateway 
specified in the Reflector entry.

If Reconnect is set to None then all incoming commands are acted upon (if valid) 
and the software will not reconnect to the refelector/gateway specified in 
Reflector.

The Network tab sets the connection information to the Repeater software. Many 
of the comments about setting the Network options in the D-Star Repeater 
configuration also apply here.

The list of available reflectors and gateways is controlled by the 
DExtra_Hosts.txt file which can either found in either the home directory of the 
current user, or in another location. This location is "/usr/local/etc" on 
Linux and the programs running directory, probably "C:\Program Files\Repeater" 
under Windows. The file in the home directory takes precedence. The installed 
example file lists the publicly known reflectors, the format is described within 
the example file.

The commands to the software are held in the Your callsign setting of the radio, 
unless the software configuration doesn't allow it. They are very simple; the 
link command which also unlinks the software if it is already linked is the name 
of the reflector/gateway followed by an 'L' in the final position. For example 
to link to 'XRF010 B' the command would be 'XRF010BL', not the missing space. If 
the reflector/gateway is not known to the software then the command will be 
ignored and the software will remain linked if it is already in that state. To 
unlink the command simply has to have a 'U' in the final position of the Your 
callsign. It doesn't matter if there is any other text in the Your callsign 
before the 'U'.


The D-Star Repeater
-------------------

DStarRepeater.exe [-nolog] [config name]
dstarrepeater [-nolog] [config name]
dstarrepeaterd [-nolog] [config name]

On Windows the D-Star Repeater program is named DStarRepeater.exe and is a GUI 
based program, as is the Linux version which is named dstarrepeater. Also on 
Linux is a program named dstarrepeaterd which is a command line version of the 
repeater.

All versions have an optional parameter which signifies the configuration to be 
used, and this must be set on the command line when running as well as 
configuring the repeater. This name will appear on the title bar as well as 
affecting the name of the log file used.

The program is configured by choosing the Preferences option under the Edit menu 
entry at the top of the screen.

Configuring it is very simple, in the Callsign tab enter your chosen radio 
Callsign without the usual D-Star suffix. The suffix is one of A, B, or C with C 
for 2m, B for 70cms, and A for 23cms. Other bands like 6m, 4m, 220MHz, or 928MHz 
are more problematic. The program will append the two parts with the correct 
number of spaces. The Gateway callsign is also set here, typically it will be 
the same as the main callsign, but need not be, the G at the end of the callsign 
is appended automatically.

The Mode allows for the selection of Simplex, Duplex, or Gateway with the 
default being Duplex. In Duplex mode the D-Star repeater acts just like an 
Icom D-Star repeater and requires the use of seperate transmitters and 
receivers, as well as cavity filters, etc. In Simplex mode only one transceiver 
is required, and any valid input signal is transferred over to the network 
without being transmitted, and any input from the network is transmitted, no 
acks are generated in this mode. This allows for a simple D-Star point of 
presence to be established.

The Gateway mode allows the software to be used as a remote access to the D-Star 
network (with appropriate gateway software) to a standalone D-Star repeater. 
This mode uses either a simplex or duplex radio and appears as a normal user to 
the standalone repeater with network access. The callsigns being sent through 
the standalone repeater will appear a little different to using a fully 
connected D-Star repeater, but it will be very similar to use.

The Ack setting is to make the repeater software send a short transmission after 
each transmission, this can be thought of as an acknowledgement. This is 
switchable via the Ack option. Typically this will be enabled in Simplex or 
Duplex mode, this makes no sense in Gateway mode and is disabled, and set to 
Disabled when the mode is set to Gateway.

In previous versions there was a Parrot mode, this has now disappeared as a 
seperate mode, instead the D-Star Repeater should be configured in Simplex mode 
with Ack set to Disable. The Parrot mode, is designed to be used with an extra 
program which records the D-Star data and then retransmits it once it has ended. 
This external program can also save the recorded data, and also periodically 
transmit pre-received data for use as a simple D-Star voice beacon. Details of 
the external program which is used when this mode is selected are given later.

The Network tab is for entry of the IP address, not hostname, of the Gateway to 
the D-Star Reflector. This should be in standard dotted IP notation. Leaving the 
IP address as blank stops the Repeater from communicating with a Gateway. The 
port of the Gateway is set here and should be between 1 and 65535 with the 
default being 20000.

An entry for the Local Address is also available so that the repeater can be 
bound to a specific interface, real or virtual. Like the gateway address, this 
is in dotted IP address notation and not a hostname. Setting this entry to blank 
allows the repeater to bind to all network ports, the default. The local port 
can also be set, with the value being between 1 and 65535 and the default being 
20000.

The Network Delay is used to delay data coming in from the network such as 
replies from software such as DPlus which send replies too quickly to the 
software and are therefore lost. The D-Star repeater only talks the "Open G2" 
protocol which means that it will work with the included Parrot Controller or 
with Scott's KI4LKF Open G2 gateway software. In order to work with a real Icom 
G2 gateway, you will need to run the Multiplexor written by Scott to translate 
the protocols.

The Timers tab controls the repeater timers, the timeout, the period of time 
between a transmission ending and the ack being transmitted, and the beacon 
timing. The defaults for these are 180s, 500ms and 10 minutes respectively, 
setting the timeout to zero removes the timeout. Changes to the configuration 
only take effect once the software has been restarted. Note that the timeout 
only affects radio users and not ones coming in from the network, it is expected 
that the remote systems will provide the required timeout.

The ack timer has a different use when in Gateway mode (see above), in that mode 
it is the time after the last transmission coming in via the network before the 
next transmission coming in via the network will be handled. This is to ensure 
that the repeater has time to send its ack, before the next one is transmitted.

The beacon timer sends a short beacon transmission when the repeater is not in 
use. The beacon transmission is very similar to an ack transmission but only 
including the repeater and gateway callsigns. If the beacon timer setting is set 
to zero then the beacons are suppressed.

The Radio tab contains the audio ports, mode and GMSK inversion. The audio ports 
are the ones where the audio from the discriminator and the drive to the 
modulator is set. Testing has shown that the best results are obtained when 
using the cheapest external USB sound card that you can find! Probably due to 
the lack of filtering on them.

The RX and TX Levels are used for equalising the levels between the Analogue and 
D-Star repeaters when they share the same transmitter and receiver, if you are 
not running in such a configuration then just set leave them at 100% and forget 
about it.

The GMSK inversion is set when the signal from the discriminator is inverted 
compared to what the software expects, and a seperate inversion is settable for 
transmission when the same is true for the modulator. The GMSK inversion is set 
when the signal from the discriminator is inverted compared to what the software 
expects, and a seperate inversion is settable for transmission when the same is 
true for the modulator.

The Controller tab sets hardware device used to control the transmitter, take 
input from the receiver and also the watchdog output is sent. Although not very 
useful, this may set to None for testing. A PTT Delay can be set here to ensure 
that the transmitter operates at exactly the same time that the D-Star audio is 
present. If the delay is positive then the PTT is delayed with respect to the 
audio, and if it is negative then the audio is delayed with respect to the PTT. 
The PTT inversion setting is for interfacing to radios that have the opposite 
sense.

The Control 1 and Control 2 tabs are to allow remote control of the D-Star 
repeater using values of Your, RPT1 and RPT2 callsigns. The use of these 
commands is enabled or disabled at the top, and if enabled then values should be 
entered into the four fields. They do not need to be valid callsigns, and they 
will not be relayed through the repeater. The correct combination of RPT1, RPT2 
and the Shutdown value in Your callsign will shutdown the repeater, while the 
correct combination of RPT1, RPT2 and the Startup value will restart it if it is 
shutdown.

The Output 1 to Output 4 commands flip the state of four output lines, if they 
are available.

Up to two external commands may be setup to run based on combinations of Your, 
RPT1, RPT2 callsigns. On the screen there are two entries each for Command 1 and 
Command 2, the first entry is the Your callsign used to invoke them, the second 
entry is the command itself. This text is sent to the shell and is outside the 
control of the repeater software, so be careful!

Note that configuration changes do not take effect until the software is
re-started.

All  commands are logged along with the My callsign, even for failed commands 
that have the correct RPT1 and RPT2 but not the correct values of Your callsign. 
It should be noted that the value used for RPT1 used here must be different from 
the callsign used for the repeater otherwise it will not correctly relay users.

The final tab is named Active Output and sets the hang time to be used on the 
active line. This will remain high for the pre-defined period after the repeater 
has stopped processing an incoming D-Star transmission, this includes timeouts 
and inputs with an invalid RPT1 setting.

A log of actions and errors is to be found in the file DStarRepeater.log 
which is found in the users home directory. This may be disabled by giving the 
-nolog option on the command line. Logging is still performed, but it goes to 
stderr and therefore may easily be ignored, or redirected to another target. The 
last three lines of the log appear at the bottom of the GUI screen.

The main screen simply shows the status of the repeater, and there are no 
controls to operate. You'll see a summary of any received stations, and a simple 
status panel to show what the repeater is doing. A log of actions is to be found 
in the file DStarRepeater.log which is found in the users home directory.

The Status section shows the internal status of the repeater. The RX State entry 
has a number of values which include Listening, Frame Sync, Header, and 
Processing which is all to do with the reception of a D-Star transmission. The 
Rpt State has a number of values including Listening, Waiting, Timeout, Valid 
and Invalid. An incoming D-Star transmission may not have the correct value in 
RPT1 or some other setting, and such a transmission would be received correctly 
but counted as Invalid and not relayed.

The TX value mirrors the transmit output pin on the hardware interface.

The Headers section shows information about the currently received D-Star 
transmission, the callsigns in the header and the header flags (in hex). This 
header is shown only if the header isn't corrupt but is shown even if it isn't 
valid from the point of view of the repeater.

The Timers section shows the state of the internal timers, all of their meanings
have been discussed above, except for the watchdog. The values are displayed
as n1/n2 where n1 is the current counting value and n2 is the trigger value, the
values of n1 may go over n2 in operation. A value of zero for n1 indicates that
the time is not active as will be seen.

There is a menu entry named Actions which allows local use of the remote 
commands for the software. These are Shutdown, Startup, Command 1 and Command 2.

There is a menu item named Outputs which allows access to the menu items that 
control the output lines. These items are labelled "Output 1", "Output 2", 
"Output 3" and "Output 4". These are toggles and they retain their state between 
invokations of the software.

In the debug version of the software, an Open option appears on the File menu. 
This is used for testing, and the presence of an input file also triggers both 
squelch inputs within the software too. Any WAV file used for this input must be 
mono and sampled at 48000 Hz, otherwise it will be rejected.


The GMSK Repeater
-----------------

GMSKRepeater.exe [-nolog] [config name]
gmskrepeater [-nolog] [config name]
gmslrepeaterd [-nolog] [config name]

On Windows the D-Star Repeater program is named GMSKRepeater.exe and is a GUI 
based program, as is the Linux version which is named gmskrepeater. Also on 
Linux is a program named gmskrepeaterd which is a command line version of the 
repeater.

All versions have an optional parameter which signifies the configuration to be 
used, and this must be set on the command line when running as well as 
configuring the repeater. This name will appear on the title bar as well as 
affecting the name of the log file used.

The program is configured by choosing the Preferences option under the Edit menu 
entry at the top of the screen.

Configuring it is very simple, in the Callsign tab enter your chosen radio 
Callsign without the usual D-Star suffix. The suffix is one of A, B, or C with C 
for 2m, B for 70cms, and A for 23cms. Other bands like 6m, 4m, 220MHz, or 928MHz 
are more problematic. The program will append the two parts with the correct 
number of spaces. The Gateway callsign is also set here, typically it will be 
the same as the main callsign, but need not be, the G at the end of the callsign 
is appended automatically.

The Mode allows for the selection of Simplex, Duplex, or Gateway with the 
default being Duplex. In Duplex mode the GMSK repeater acts just like an 
Icom D-Star repeater and requires the use of seperate transmitters and 
receivers, as well as cavity filters, etc. In Simplex mode only one transceiver 
is required, and any valid input signal is transferred over to the network 
without being transmitted, and any input from the network is transmitted, no 
acks are generated in this mode. This allows for a simple D-Star point of 
presence to be established.

The Gateway mode allows the software to be used as a remote access to the D-Star 
network (with appropriate gateway software) to a standalone D-Star repeater. 
This mode uses either a simplex or duplex radio and appears as a normal user to 
the standalone repeater with network access. The callsigns being sent through 
the standalone repeater will appear a little different to using a fully 
connected D-Star repeater, but it will be very similar to use.

The Ack setting is to make the repeater software send a short transmission after 
each transmission, this can be thought of as an acknowledgement. This is 
switchable via the Ack option. Typically this will be enabled in Simplex or 
Duplex mode, this makes no sense in Gateway mode and is disabled, and set to 
Disabled when the mode is set to Gateway.

In previous versions there was a Parrot mode, this has now disappeared as a 
seperate mode, instead the D-Star Repeater should be configured in Simplex mode 
with Ack set to Disable. The Parrot mode, is designed to be used with an extra 
program which records the D-Star data and then retransmits it once it has ended. 
This external program can also save the recorded data, and also periodically 
transmit pre-received data for use as a simple D-Star voice beacon. Details of 
the external program which is used when this mode is selected are given later.

The Network tab is for entry of the IP address, not hostname, of the Gateway to 
the D-Star Reflector. This should be in standard dotted IP notation. Leaving the 
IP address as blank stops the Repeater from communicating with a Gateway. The 
port of the Gateway is set here and should be between 1 and 65535 with the 
default being 20000.

An entry for the Local Address is also available so that the repeater can be 
bound to a specific interface, real or virtual. Like the gateway address, this 
is in dotted IP address notation and not a hostname. Setting this entry to blank 
allows the repeater to bind to all network ports, the default. The local port 
can also be set, with the value being between 1 and 65535 and the default being 
20000.

The Timers tab controls the repeater timers, the timeout, the period of time 
between a transmission ending and the ack being transmitted, and the beacon 
timing. The defaults for these are 180s, 500ms and 10 minutes respectively, 
setting the timeout to zero removes the timeout. Changes to the configuration 
only take effect once the software has been restarted. Note that the timeout 
only affects radio users and not ones coming in from the network, it is expected 
that the remote systems will provide the required timeout.

The ack timer has a different use when in Gateway mode (see above), in that mode 
it is the time after the last transmission coming in via the network before the 
next transmission coming in via the network will be handled. This is to ensure 
that the repeater has time to send its ack, before the next one is transmitted.

The beacon timer sends a short beacon transmission when the repeater is not in 
use. The beacon transmission is very similar to an ack transmission but only 
including the repeater and gateway callsigns. If the beacon timer setting is set 
to zero then the beacons are suppressed.

The GMSK Modem tab allows for the product id (address) of the GMSK modem. The 
default is 0x300 which is also the default for the GMSK modem, however in order 
to have more than one GMSK modem attached to a PC, they need to have unique 
addresses. The value given here must match the value set in the firmware.

The Control 1 and Control 2 tabs are to allow remote control of the D-Star 
repeater using values of Your, RPT1 and RPT2 callsigns. The use of these 
commands is enabled or disabled at the top, and if enabled then values should be 
entered into the four fields. They do not need to be valid callsigns, and they 
will not be relayed through the repeater. The correct combination of RPT1, RPT2 
and the Shutdown value in Your callsign will shutdown the repeater, while the 
correct combination of RPT1, RPT2 and the Startup value will restart it if it is 
shutdown.

The Output 1 to Output 4 commands flip the state of four output lines, if they 
are available.

Up to two external commands may be setup to run based on combinations of Your, 
RPT1, RPT2 callsigns. On the screen there are two entries each for Command 1 and 
Command 2, the first entry is the Your callsign used to invoke them, the second 
entry is the command itself. This text is sent to the shell and is outside the 
control of the repeater software, so be careful!

Note that configuration changes do not take effect until the software is
re-started.

All  commands are logged along with the My callsign, even for failed commands 
that have the correct RPT1 and RPT2 but not the correct values of Your callsign. 
It should be noted that the value used for RPT1 used here must be different from 
the callsign used for the repeater otherwise it will not correctly relay users.

A log of actions and errors is to be found in the file GMSKRepeater.log 
which is found in the users home directory. This may be disabled by giving the 
-nolog option on the command line. Logging is still performed, but it goes to 
stderr and therefore may easily be ignored, or redirected to another target. The 
last three lines of the log appear at the bottom of the GUI screen.

The main screen simply shows the status of the repeater, and there are no 
controls to operate. You'll see a summary of any received stations, and a simple 
status panel to show what the repeater is doing. A log of actions is to be found 
in the file DStarRepeater.log which is found in the users home directory.

The Status section shows the internal status of the repeater. The RX State entry 
has a number of values which include Listening, or Processing which is all to do 
with the reception of a D-Star transmission. The Rpt State has a number of 
values including Listening, Waiting, Timeout, Valid and Invalid. An incoming D-
Star transmission may not have the correct value in RPT1 or some other setting, 
and such a transmission would be received correctly but counted as Invalid and 
not relayed.

The TX value mirrors the transmit output pin on the GMSK modem.

The Headers section shows information about the currently received D-Star 
transmission, the callsigns in the header, and the header flags (in hex). This 
header is shown only if the header isn't corrupt but is shown even if it isn't 
valid from the point of view of the repeater.

The Timers section shows the state of the internal timers, all of their meanings
have been discussed above, except for the watchdog. The values are displayed
as n1/n2 where n1 is the current counting value and n2 is the trigger value, the
values of n1 may go over n2 in operation. A value of zero for n1 indicates that
the time is not active as will be seen.

There is a menu entry named Actions which allows local use of the remote 
commands for the software. These are Shutdown, Startup, Command 1 and Command 2.


The Parrot Controller
---------------------

ParrotController.exe [-nolog] [config name]
parrotcontroller [-nolog] [config name]
parrotcontrollerd [-nolog] [config name]

All versions have an optional parameter which signifies the configuration to be 
used, and this must be set on the command line when running as well as 
configuring the repeater. This name will appear on the title bar as well as 
affecting the name of the log file used.

A log of actions and errors is to be found in the file ParrotController.log 
which is found in the users home directory. This may be disabled by giving the 
-nolog option on the command line. Logging is still performed, but it goes to 
stderr and therefore may easily be ignored, or redirected to another target.

The Parrot Controller is designed to act as an alternative to a full gateway 
either for testing, or for operating in a different mode, as a D-Star Parrot. 
Firstly the Parrot mode needs to be selected in the D-Star Repeater, and the 
Parrot Controller needs to be configured.

The Parrot Controller has two modes, Parrot and Beacon. In Beacon mode, the 
Parrot controller will keep sending the same DVTOOL file to the repeater as pre-
defined intervals, therefore acting as a repeater. The file and the interval are 
selectable. DVTOOL files can either be created by using my D-Star Client 
software, or from DVTOOL program, or using this software as a Parrot and saving 
the file(s) generated.

The configuration is relatively simple. The configuration is made up of four 
tabs, the Mode tab sets the operating mode, Parrot or Beacon. The Network tab 
sets the connection information to the Repeater software, and is required to be 
valid whichever mode the software is operating in. Many of the comments about 
setting the Network options in the D-Star Repeater configuration also apply 
here.

The Parrot tab has to be set when running in Parrot mode. There are two 
settings, the Turnaround Time and whether to keep the intermediate DVTOOL files. 
The Turnaround Time is the delay between retransmitting the received data after 
receiving it. Two seconds is the lowest feasible value, but longer may be needed 
if the connection to the repeater program is not local. The program creates 
temporary DVTOOL files which it then retransmits, these would normally be 
deleted after transmitting, but by setting the Keep File option to Yes, then 
they will be kept. They are stored in the users home directory.

The Beacon tab is used to set the configuration in Beacon mode. A suitable 
DVTOOL file should be selected, this is easiest done by pressing the Browse... 
button and selecting the file wanted. The other setting is the time interval 
between sending the beacons.

In Parrot mode, the software will listen for a valid D-Star transmission that is 
being received by the repeater, and save the contents in a temporary DVTOOL 
file, which is saved in the users home directory. Once the transmission has 
ended, this software waits two seconds and then resends the data back to the 
repeater to be retransmitted. At the end of this transmission, the file is 
either kept or deleted, depending on the setting in the configuration of the 
Parrot Controller. These DVTOOL files can be used for a beacon later.