gARIM Messaging Program v1.7 Help |
ARIM means "Amateur Radio Instant Messaging" and the gARIM program is a GUI host mode program for the ARDOP TNC developed by Rick KN6KB and John G8BPQ.
gARIM is written in C and C++, distributed as source code under the terms of the GPL 3.0 license. Developed on Ubuntu Linux, it should compile and run on any modern Linux installation (including Raspbian for Raspberry Pi). Compiling the source code is easy, the only build dependency beyond the standard C libraries are the fltk and zlib development libraries. Using Microsoft Windows? No problem, gARIM will build and run in the excellent Cygwin environment for Microsoft Windows.
Features include:
The gARIM program is a work in progress and I am interested in feedback. I monitor the ARDOP Users group at Groups.io and can be reached there, or at the arim-ham group at Groups.io where files and other information will be posted.
The gARIM screen is divided into different sections. Some of these are tabbed and host more than one "view".
[B]
indicates an
ARIM beacon frame.[M]
indicates an
ARIM message frame.[Q]
indicates an
ARIM query frame.[R]
indicates an
ARIM response frame.[A]
indicates an
ARIM ACK frame.[N]
indicates an
ARIM NAK frame.[I]
indicates an
ARDOP ID frame.[P]
indicates an
ARDOP PING frame.[p]
indicates an
ARDOP PINGACK frame.[U]
indicates an
"unproto" (non-ARIM) ARDOP FEC frame.[@]
indicates an
ARDOP ARQ frame.[E]
indicates a
bad ARDOP frame.[!]
indicates a
bad ARIM frame.<<
(outbound) and
>>
(inbound) arrows. A 500 line
scrollback buffer allows review of past traffic. Outbound frames
sent from gARIM to the TNC are printed in bold text to make them
stand out./FLGET
command is
issued in an ARQ session.<<
(outbound) and
>>
(inbound) arrows. Outbound
commands sent from gARIM to the TNC are printed in bold text to
make them stand out.<SP>
to open a command prompt
here. Commands can be directed to the TNC (if attached) by
prefixing them with the '!' character. Text prefixed with the ':'
character is sent over the air as "upproto" ARDOP FEC frames if
attached to a TNC. Unproto transmissions allow interoperation with
stations using ARDOP Chat FEC mode. In ARQ chat mode text entered
here is sent to the connected station.busydet
parameter in the
[tnc]
section of the garim.ini configuration file controls the
sensitivity of the TNC's channel busy detector. BUSY notifications
are not sent by the TNC to gARIM during an ARQ session, so
this indication will not appear then.The Traffic Monitor and TNC Command Monitor views show very different types of information so different color coding schemes are used for each. The Calls Heard view is just a reflection of information in the Traffic Monitor view and uses the same color coding conventions.
[M]
and [A]
frames sent
to or from the TNC 'mycall' call sign are colored
green.[M]
frames sent to or from a TNC 'netcall' call
sign are colored cyan. This makes net
traffic stand out in the Traffic Monitor view.[Q]
and [R]
frames sent to or from the
TNC 'mycall' call sign are colored yellow.[N]
frames sent to or from the TNC 'mycall' call
sign are colored red.[B]
frames sent or received from any station
are colored magenta.[!]
frames addressed to a TNC 'mycall' or 'netcall'
call signs are colored red.[I]
frames sent or received from any station
are colored blue.[P]/[p]
frames sent to or from the TNC 'mycall'
call sign are colored blue.[E]
frames sent or received from any station
are colored red.PTT TRUE
async
responses are colored red.PTT FALSE
async
responses are colored green.BUFFER
status
async responses are colored yellow.BUSY
status
async responses are colored magenta.The prerequisite for gARIM is the ARDOP TNC. Both version 1 and version 2 TNCs are supported, although at this time version 2 TNCs are deprecated. Version 1 TNCs are recommended for most applications.
ARDOP version 2 introduced changes to
the FEC modes and ARQ bandwidth options. If moving from
ARDOP TNC version 1.0.x, check your garim.ini file and make
sure that 'fecmode
' parameters in the
[tnc]
sections don't reference one of the FEC modes
deleted in ARDOP TNC v2:
4FSK.200.50S
,
4FSK.500.100S
, 4FSK.500.100
,
4FSK.2000.600S
, 4FSK.2000.600
4PSK.200.100S
,
4PSK.500.100
, 4PSK.1000.100
,
4PSK.2000.100
8PSK.200.100
,
8PSK.500.100
, 8PSK.500.100
,
8PSK.1000.100
, 8PSK.2000.100
16QAM.1000.100
,
16QAM.2000.100
Also make sure that your
'arq-bandwidth
' parameters in the [tnc]
sections reference one of these options only:
200
, 500
or
2500
gARIM v1.7 is fully compatible with ARIM versions v1.0 and higher, which will continue to be available for use in text-only environments.
Information about downloading and installing the ARDOP software TNCs is found here:
If you plan to run gARIM in the Cygwin environment on Windows, then Cygwin must be installed first. The installer for this is the Cygwin Setup program found on the Installing and Updating Cygwin Packages page. The Cygwin Walkthrough and Beginner's Guide may be helpful in getting started. The X Window System must be installed in Cygwin for GUI programs like gARIM to run. Follow these instructions to install X in Cygwin and run gARIM in an X window. To learn more, consult the Cygwin/X User's Guide. When using Cygwin, you will work in the Cygwin Terminal. A shortcut to the Cygwin Terminal should be placed on your Windows desktop by the Cygwin Setup program.
If you plan to run gARIM in the WSL environment on Windows 10, then you will need to install a standalone X Server for GUI programs like gARIM to run. A good choice is VcXsrv. The installer for this can be downloaded from the VcXsrv download page on SourceForge. This runs on the Windows side and displays gARIM when it is executed in the WSL terminal. Details of configuration may vary depending on which Linux distribution is running in WSL. I've had good luck running Pengwin Linux, which works with VcXsrv without any special configuration. This combination works well to run gARIM and the ARDOP modem on the same Windows 10 computer.
Next, you need to either build gARIM from source or download a "portable" precompiled binary package.
To build from source, download the source code tarball:
Current gARIM Version 1.7 source code and help file
Enter this command:
tar xzvf garim-1.7.tar.gz
to unpack the garim-1.7 directory. This contains source code files and other information including build instructions and this help file.
To compile and install gARIM, change directory to garim-1.7 and enter these commands:
./configure
make
sudo make install
(Linux, Raspbian)
or
make install
(Cygwin)
This installs the garim executable,
garim(1) and garim(5) man pages, and additional
documentation including this Help file. The garim(1) man
page documents garim command line options and the
garim(5) man page documents the garim.ini
configuration file (use the command man 5 garim
to
read it).
To compile from sources you need the GNU compiler, gcc, the make utility and the fltk and zlib development libraries and headers. The INSTALL file included with the source distribution contains detailed instructions for installing these and building gARIM from source.
To run gARIM, enter:
garim
at the command prompt. The first time gARIM runs it will create a directory named garim in your home directory containing data files and a model garim.ini configuration file. It also contains three subdirectories: files for shared files, doc with symbolic links to documentation including this Help file, and log for log files. Once created, the contents of the garim directory will not be overwritten by subsequent installations of gARIM or deleted if gARIM is uninstalled. The links in the doc directory will always point to the most recently installed documentation files.
To configure gARIM, open the garim.ini file in a text editor and edit as needed. You must define at least one TNC by setting call signs, the grid square locator, and TNC IP address and port number. Be sure to change the font size to your liking.
ipconfig
from the command
line in the Cygwin terminal.If you prefer to install precompiled "portable" versions of gARIM, here are download links for 64-bit Ubuntu Linux (and derivatives like Linux Mint) and Raspbian (on Raspberry Pi):
Current version 1.7 binary and help file (64-bit Ubuntu Linux 20.04 and derivatives)
Current version 1.7 binary and help file (Raspbian on Raspberry Pi)
Current version 1.7 binary and help file (32-bit Cygwin/X on Windows)
Current version 1.7 binary and help file (64-bit Cygwin/X on Windows)
The precompiled portable versions for Linux are known to work only on Linux Mint 20 - it's best to compile gARIM from the source code on any other Linux OS to avoid versioning issues with dynamically linked libraries.
Download the one you need and enter this command:
tar xzvf filename
to unpack the garim-1.7 directory. This contains the executable file, data files and a model garim.ini file. It also contains three subdirectories: files for shared files, doc with copies of documentation files including this help file, and log for log files. The garim-1.7 directory can be copied anywhere (e.g. a USB flash stick) and gARIM run from it locally, so it's called the "portable" installation. It's self-contained, with messages, shared files and log files moving with the directory if it's relocated.
To run gARIM, change directory to garim-1.7 and enter:
./garim
The "./"
preceding the file name tells
the system to run the copy of garim located in the current
directory.
To configure gARIM, open the garim.ini file in a text editor and edit as needed. You must define at least one TNC by setting call signs, the grid square locator, and TNC IP address and port number. Be sure to change the font size to your liking.
ipconfig
from the command
line in the Cygwin terminal.Run garim with the --help
option to
print out command line options:
Usage: garim [OPTION] -v, --version print version information -f, --config-file FILE use configuration file FILE -p, --print-conf FILE print configuration file listing to FILE -h, --help print this option help message
By default, gARIM reads an "ini" format configuration
file named garim.ini at startup. If you are using the
portable binary gARIM distribution, this file is located in the
same garim-1.7 directory containing the gARIM executable
file and data files. If you compiled and installed gARIM from the
source distribution, this file is located in the garim data
directory in your home directory. To override the default
configuration file location, run garim with the
--config-file
command line option, for example:
garim --config-file
/home/nw8l/HF/garim-net.ini
To open the configuration file, choose File->View or Edit Config File... from the main menu:
If you make changes, press Save to save them, or Cancel to abandon them. Saved changes won't take effect until gARIM is restarted.
Multiple TNCs can be defined. A subset of the ARDOP TNC parameters are initialized here, but these can be overridden from the TNC command line after the program starts. Most options have reasonable default values which are used if they are not found in the configuration file.
[tnc]
Each TNC
is configured in a separate [tnc] section. The first [tnc] section
in the file defines port 1, the second port 2, and so on. The limit
is 10 TNC definitions.
interface
The
TNC interface type, either TCP for connecting to a software TNCs
like ardop2 or ARDOP_2Win, or SERIAL for connecting to the
TNC-Pi9K6 hardware TNC. Default: TCP
.ipaddr
The IPv4
address of the TNC, either in "dotted quad" numerical form or a
host name e.g. 'localhost' or 'DELL-1520.example.net'. Max length
for host names is 253 characters. Default: 127.0.0.1
.
NOTE: On hosts with IPv6 enabled, 'localhost' may not work as the
address for an ARDOP instance running on the same host. Use the
IPv4 address of the host, e.g. "192.168.1.54", or the IPv4 loopback
address "127.0.0.1" instead. The IPv4 address can be discovered by
running ipconfig
from the command line. If running
ARDOP_Win or ARDOP2_Win, set this address in the Virtual TNC
Setup dialog box as well.port
The TCP
port on which the TNC is listening. Default:
8515
.serial-port
The
serial port device name, for example /dev/serial0, used to
connect to the TNC-Pi9K6 hardware TNC on a Raspberry Pi host. Max
length for device names is 63 characters. Default:
/dev/serial0
.serial-baudrate
The baud rate for the serial port used to connect to the TNC-Pi9K6
hardware TNC, either 9600
, 19200
,
38400
, 57600
or 115200
.
Default: 115200
.mycall
The
station call sign, e.g. NW8L or NW8L-4, max length 10 characters.
Call must be no longer than 7 characters and may have optional SSID
in ranges: -A to -Z or -0 to -15. gARIM will respond to queries and
messages addressed to this call. Messages will be stored in the
inbox. Default: NOCALL
.netcall
A net
call sign, e.g. RRNET, max length 10 characters. Any printable
characters are allowed. When sending a message to this call, no ACK
is expected. When receiving, gARIM will recognize messages
addressed to this call and store them in the inbox but no ACK will
be returned to prevent channel congestion. gARIM will not respond
to queries addressed to the net call. Up to 8 net call signs may be
defined for a TNC. Default: one netcall,
QST
.gridsq
The
station's grid square locator. It must be a well formed Maidenhead
locator, either 4, 6 or 8 characters long. Examples:
DM65
or DM65qf
or DM65qf15
.
Letter pairs are not case-sensitive. Default:
DM65
.btime
The beacon
interval time in minutes, or 0
to disable the beacon.
Max time is 999
minutes. Default:
0
.reset-btime-on-tx
Control
whether or not the beacon timer is reset when the station transmits
an ARDOP frame. This is useful to prevent beacon transmissions from
interfering with traffic between stations, e.g. on a net. This
setting has no effect when the beacon is disabled. Set to
TRUE
to enable beacon timer reset on transmit,
FALSE
to disable it. Default:
FALSE
.name
A name
assigned to the TNC and advertised by the beacon, e.g. RRNET/gARIM.
This is also returned when the TNC receives the ARIM 'pname' query.
Max length is 31 characters. Default: Empty.info
Information
describing the TNC, returned in response to the 'info' query. Use
the character pair \n
to indicate a
line break if you want to format the text into multiple lines; this
will be converted to a newline character in the response. Max
length is 127 characters. Default: Empty.fecmode
The
initial ARDOP FECMODE. This is the frame type, in the format
modulation.bandwidth.baudrate. Available modes are:
4FSK.200.50S
, 4FSK.500.100S
,
4FSK.500.100
, 4FSK.2000.600S
,
4FSK.2000.600
, 4PSK.200.100S
,
4PSK.200.100
, 8PSK.200.100
,
4PSK.500.100
, 8PSK.500.100
,
4PSK.1000.100
, 8PSK.1000.100
,
4PSK.2000.100
, 8PSK.2000.100
,
16QAM.200.100
, 16QAM.500.100
,
16QAM.1000.100
or
16QAM.2000.100
.4PSK.200.50
, 4PSK.200.100
,
16QAM.200.100
, 4FSK.500.50
,
4PSK.500.50
, 16QAMR.500.100
,
16QAM.500.100
, 4FSK.1000.50
,
4PSKR.2500.50
, 4PSK.2500.50
,
16QAMR.2500.100
or
16QAM.2500.100
.4FSK.200.50S
(ARDOP v1.x) or
4PSK.200.50
(ARDOP v2.x).fecrepeats
The
initial ARDOP FECREPEATS value. This is the number of times each
FEC frame will be repeated by the sender. This may be useful when
propagation is poor, but at the cost of reduced throughput -
depending on FEC mode, an ARIM frame may extend across multiple
ARDOP FEC frames, each of which will be repeated. Max value is
5
. Default: 0
.fecid
The
initial TNC FECID value, which controls whether or not an ARDOP ID
frame is sent by the TNC at the start of FEC transmissions. Set to
TRUE
to enable FECID, FALSE
to disable
it. Default: FALSE
.leader
The
initial TNC LEADER time in msec. The leader is a special 50 baud
two tone signal which precedes data transmission, used by the
receiving TNC for synchronization. This may need to be adjusted to
compensate for loss of leader due to delays in PTT or VOX keying or
audio path latencies in some SDR radios. Range is
120-2500
. Default: 240
.trailer
The
initial TNC TRAILER time in msec. Range is 0-200
.
Non-zero trailer time is only needed for certain SDR radios and is
a function of the audio processing latency relative to release of
PTT. For these cases try a value of 100-200 msec. Default:
0
.squelch
The
initial TNC SQUELCH setting. This controls the sensitivity of the
TNC's leader detector. Lower values mean greater sensitivity but
also greater risk of false triggering. Range is 1-10
.
Default: 5
.busydet
The
initial TNC BUSYDET setting. This controls the sensitivity of the
TNC's busy detector. Lower values mean greater sensitivity but also
greater risk of false triggering. Setting the value to 0 disables
the busy detector. The busy detector should be disabled only in an
emergency situation or in very high local noise environments. Range
is 0-10
. Default: 5
.listen
Control
whether or not the TNC listens for ARQ connect requests or pings
from other stations. Set to TRUE
to enable listening,
FALSE
to disable it. Default:
TRUE
.enpingack
Control whether or not the TNC responds to pings from other
stations. Set to TRUE
to enable PINGACKs,
FALSE
to disable them. Default:
TRUE
.tnc-init-cmd
Specifies a TNC initialization command to send when ATTACHING to a
TNC. For example:tnc-init-cmd = LEADER 300
tnc-init-cmd
parameters. Default:
None.arq-bandwidth
Sets the ARQ connection bandwidth. Available bandwidths are:
200MAX
, 500MAX
, 1000MAX
,
2000MAX
, 200FORCED
,
500FORCED
, 1000FORCED
or
2000FORCED
.200
,
500
or 2500
.500MAX
(ARDOP v1.x) or
500
(ARDOP v2x).arq-negotiate-bw
Controls whether or not the TNC will negotiate ARQ bandwidth for
incoming connections. Set to TRUE
to enable bandwidth
negotiation, FALSE
to disable it. Default:
TRUE
. Note: This is supported only by ARDOP_2Win
v2.0.4 at this time.arq-timeout
The
inactivity timeout for ARQ connections in seconds. Range is
30-600
. Default: 120
.arq-sendcr
Control whether or not CRLF line endings are sent in ARQ mode,
instead of Unix style LF endings. Set to TRUE
to send
CR, FALSE
to send only LF. Default:
TRUE
.log-dir
The
directory where log files are located if TNC specific logging is
enabled. This can be an absolute path or a relative path rooted in
the user's home directory. Max length is 255 characters. Default:
the user's home directory.debug-log
Set to
TRUE
to enable debug logging for this TNC in the
directory specified by the log-dir
parameter, FALSE
to disable it. Default:
FALSE
.traffic-log
Set
to TRUE
to enable traffic logging for this TNC in the
directory specified by the log-dir
parameter, FALSE
to disable it. Default:
FALSE
.tncpi9k6-log
Set
to TRUE
to enable TNC-Pi9K6 logging for this TNC in
the directory specified by the
log-dir
parameter, FALSE
to disable it. Default: FALSE
.[arim]
This
section holds settings for the ARIM messaging protocol.
mycall
The call
sign used as the "from" address for messages stored in the outbox
when not attached to a port. Default:
NOCALL
.send-repeats
The
number of times an ARIM message will be repeated in the absence of
an ACK response from the recipient. It is recommended that this
value not exceed 3 to prevent tying up the channel with repeats in
poor conditions. Max is 5
. Default:
0
.ack-timeout
The
maximum time in seconds after sending a message that gARIM will
wait for an ACK before repeating it. Applies when
send-repeats
is not 0
.
Max is 999
. Default: 30
.fecmode-downshift
Control
whether or not the FEC mode is progressively "downshifted", or
changed to a more robust mode each time an ARIM message is repeated
after a NAK or ACK timeout. Set to TRUE
to enable,
FALSE
to disable downshifting. Default:
FALSE
. This works in tandem with the
send-repeats
parameter. If
fecmode-downshift
is
TRUE
and send-repeats
is
nonzero, then progressively more robust FEC modes are used for
re-transmissions after a NAK or timeout. The mode of last resort is
4PSK.200.50
. For example, if the initial mode is
4PSK.500.100
, then downshifting would progress to
4FSK.500.100
, then 16QAM.200.100
, and so
on. The original FEC mode is restored after the message send
operation completes. This is experimental. There are many kinds of
channel impairments and no single downshift strategy is best for
all. For details look at the FEC mode downshift table in the
arim_proto.c source code file.frame-timeout
The time in seconds after which an incomplete ARIM frame will be
abandoned and the receive buffer cleared. Because an ARIM frame may
be spread over many ARDOP frames, a failure to receive one or more
ARDOP frames will cause an ARIM timeout. Max is 999
.
Default: 30
.files-dir
The
directory in which files available for other stations to read are
located. This can be an absolute path or a relative path rooted in
the gARIM working directory and must be terminated with a '/'
character. Max length is 255 characters. Default:
files/
add-files-dir
Specifies an additional shared files directory accessible by remote
stations. This must be a path relative to the shared files root
directory specified by the files-dir
parameter. By default, only files in the shared files root
directory may be listed or downloaded, and any directories it
contains are hidden. If you need to share files organized into
multiple directories, use one or more
add-files-dir
parameters to expose
them. For example:add-files-dir = forms/
add-files-dir = contests/*
add-files-dir
parameters. Default:
None.ac-files-dir
Specifies an access-controlled shared files directory, accessible
only by authenticated stations in an ARQ session. This must be a
path relative to the shared files root directory specified by the
files-dir parameter. If you need to limit the
sharing of certain files to authenticated stations, use one or more
ac-files-dir parameters to expose them. For
example:ac-files-dir = admin/
ac-files-dir = admin/*
ac-files-dir
parameters. Default:
None.ac-allow
Specifies a list
of remote station call signs which are allowed access to the local
station. Only these stations can make ARQ connections or
send FEC messages and queries.
ac-allow
parameters take precedence
over ac-deny parameters, which are ignored if non-empty
ac-allow parameters exist. Call signs must be separated by
commas (whitespace is tolerated). You can use a wildcard (*)
character at the end of a call sign to include tactical call
variations, e.g. NW8L*
will match NW8L
,
NW8L-1
, NW8L-2
etc. For example:ac-allow = W1AW, NW8L*,
KA8RYU-1
ac-allow
parameters are allowed. If
multiple ac-allow
parameters are
present then their contents are combined. The total number of call
signs is limited to 512. Default: None.ac-deny
Specifies a list
of remote station call signs which are denied access to the local
station. These stations are not allowed to make ARQ
connections or send FEC messages and queries. gARIM immediately
disconnects from inbound ARQ connections from these stations, and
ignores any FEC messages and queries sent by them.
ac-allow
parameters take precedence
over ac-deny
parameters, which are
ignored if non-empty ac-allow
parameters exist. Call signs must be separated by commas
(whitespace is tolerated). You can use a wildcard (*) character at
the end of a call sign to include tactical call variations, e.g.
NW8L*
will match NW8L
,
NW8L-1
, NW8L-2
etc. For example:ac-deny = W1AW, NW8L*,
KA8RYU-1
ac-deny
parameters are allowed. If
multiple ac-deny
parameters are
present then their contents are combined. The total number of call
signs is limited to 512. Default: None.max-file-size
The
maximum size of files that can be transferred in an ARIM message.
In ARQ mode, this is the size after file compression. In FEC
mode, the output of the flist query is filtered in
accordance with this limit; files larger than
max-file-size
are ignored. To disable
access to shared files, set this to 0
. Max is
16384
bytes. Default: 4096
.max-msg-days
The
maximum age, in days, for messages to be kept in the inbox, outbox
and sent messages mailbox. Messages that exceed this limit are
automatically purged whenever the corresponding message viewer is
opened in gARIM (using the 'li', 'lo' or 'ls' commands). Set to
0
to disable the automatic message purge feature. Max
is 9999
days. Default: 0
.msg-trace-en
Set
to TRUE
to enable message tracing, FALSE
to disable it. Default: FALSE
. When enabled, headers
like Received: from KA8RYU by NW8L; Jan 30 2019 05:01:48 UTC
are inserted into messages at the time of receipt. If the message
is forwarded to another station with tracing enabled, another
Received: header is added by the receiving station, and so
on. In this way a record of the message's progress through a
network is built up as it is forwarded from station to station
(read from bottom to top).dynamic-file
A
dynamic file definition of the form alias:command
where alias
is a "dummy" file name used to invoke the
command command
, with a colon ':' separating the two,
for example:spwxfc:python
/home/nw8l/scripts/forecast.py
alias
must be unique among any other
dynamic file definitions and file names in the shared files root
directory. In response to the query sq file
alias
, command
will be executed
in a shell and its output returned in the response.
command
can be a batch file, a script invocation like
python myscript
or a system command like
date
or uname -a
. The output size in
bytes is limited by the max-file-size
parameter. Errors generated by dynamic file scripts are written to
a file named dyn-file-error-YYYYMMDD.log in the log
directory. Max length is 128 characters. NOTE: you may define no
more than 16 dynamic-file parameters. Default:
None.pilot-ping
The
number of times a pilot ping will be repeated in the absence
of a PINGACK response from the recipient. It is recommended that
this value not exceed 3 to prevent tying up the channel with
repeats in poor conditions. Set to 0
to disable pilot
pings; otherwise the range is 2-15
. Default:
0
.pilot-ping-thr
When pilot pings are enabled, this is the threshold by which signal
reports from the target station are judged. If the reported
constellation quality is above the threshold, the message (or
query) send proceeds; if below this threshold it is canceled. It is
recommended that this value be 60 or higher; choose a threshold
suitable for the FEC mode in use. Min is 50
, Max is
100
. Default: 60
.[log]
Logging
settings appear in this section.
debug-log
Set to
TRUE
to enable debug logging in the default log
directory, FALSE
to disable it. Default:
TRUE
. May be overridden by the
debug-log
setting in a
[tnc]
section.traffic-log
Set
to TRUE
to enable traffic logging in the default log
directory, FALSE
to disable it. Default:
TRUE
. May be overridden by the
traffic-log
setting in a
[tnc]
section.tncpi9k6-log
Set
to TRUE
to enable TNC-Pi9K6 logging in the default log
directory, FALSE
to disable it. Default:
TRUE
. May be overridden by the
tncpi9k6-log
setting in a
[tnc]
section.[ui]
User
interface settings appear in this section.
last-time-heard
Selects the timestamp format used in various views. Set to
CLOCK
to indicate time station was last heard, in
HH:MM:SS format (either local time or UTC). Set to
ELAPSED
to indicate elapsed time since station last
heard, in DD:HH:MM format. Default: CLOCK
.utc-time
Selects
the time zone used for timestamps in the UI and log output. Set to
TRUE
for UTC, and FALSE
for local time.
Default: TRUE
.font-size
Sets
the size of text fonts in gARIM. Values in the range
12
to 24
are practical, adjust to suit
your screen resolution. Default: 14
.To print the configuration file parameters to a file for analysis, run gARIM with the -p option. For example:
arim -p dump.txt
In the file is a listing of the parameters and their values after processing, which can be helpful for troubleshooting. Any invalid parameter values will be replaced with default values, and parameters with misspelled names will be absent.
The gARIM program has no rig control features! It depends on the rig control features embedded in the ARDOP TNC.
I use VOX on my rig and it seems that Signalink cards work too. In both cases the VOX hold or SignaLink DLY must be set to minimum.
Make sure the ARDOP TNC is running. Choose TNC->Attach from the main menu and select a TNC:
The TCP connection will be made and initialization commands from the program to the TNC will scroll by in the TNC Command Monitor. The TNC Status Line will display the number and name of the attached TNC.
To detach from the TNC, choose TNC->Detach from the main menu.
If you prefer to use the keyboard, press
<SP> to open the command prompt. To attach, enter the
att n command where n is the TNC
number. To detach, enter the det
command.
Choose Help->Quick Help... from the main menu:
Here are a listing of hot keys and commands, a key to FEC and ARQ mode status bar indicators, and a listing of ARIM/ARDOP frame types. Press Done to quit.
Select the Recents tab:
This is a listing of headers for messages recently received. They are numbered in reverse chronological order (most recent first). Headers contain the following information, from left to right:
To read a message, right-click its header line and choose Read... from the pop-up menu:
This opens the message viewer.
Press Done to quit. Shortcut: double-click a header line to read the message.
Several actions can be taken here:
These are shortcuts for the pop-up menu options described below.
To kill a message, right-click its header line and choose Kill from the pop-up menu. The message is deleted from the Inbox.
To save a message to a text file, right-click on its header line and choose Save... from the pop-up menu. The Save Message dialog box opens:
Navigate to the desired directory, enter a meaningful file name, and press OK to save.
To reply to a message, right-click its header line and choose Reply... from the pop-up menu:
The Reply to Message dialog box opens:
Enter your reply text and press Send to send the message if attached to a TNC. Press Save to Outbox to store the message in the Outbox to be sent later. Press Cancel to abandon any edits and close the dialog box. Note: In ARQ mode, the Reply... option is available only if the callsign of the sender matches the callsign of the remote station. The Use compression option is only available in ARQ mode.
To forward a message to another station, right-click its header line and choose Forward... from the pop-up menu. The Forward Message dialog box opens:
Enter the call sign of the destination station, press TAB, and add or edit text in the message body. If attached to a TNC, you can press Send to send the message. Otherwise, press Save to Outbox to store the message in the Outbox to be sent later. Press Cancel to abandon any edits and close the dialog box. The Use compression option is only available in ARQ mode. In that case the message is forwarded to the connected station, whose call sign is automatically entered and cannot be changed.
To clear the status flags for a message, right-click its header line and choose Clear flags from the pop-up menu.
To clear the Recents view, choose View->Clear->Recents from the main menu.
Select the Ping History tab:
Here is a listing of signal reports resulting from ARDOP pings sent to other stations by the TNC or from pings sent to the TNC by other stations. The history shows a line for each remote station, sorted in reverse chronological order (most recent on top). Each line includes, from left to right:
Press <CTRL-T> to toggle the timestamp format between elapsed time or the clock time.
To clear the view, choose View->Clear->Ping History from the main menu.
Select the Connect History tab:
Here is a listing of connection reports resulting from both inbound and outbound ARQ connection requests. The history shows a line for each connection, sorted in reverse chronological order (most recent on top). Each line includes, from left to right:
Mon DD HH:MM:SS
HH:MM:SS
To clear the view, choose View->Clear->Connect History from the main menu.
Select the ARQ File History tab:
Here is a listing of ARQ file transfer reports. The history shows a line for each transfer, sorted in reverse chronological order (most recent on top). Each line includes, from left to right:
Mon DD HH:MM:SS
HH:MM:SS
-z
if
compression was invoked, or blank if notTo clear the view, choose View->Clear->ARQ File History from the main menu.
Choose View->Calls Heard from the main menu and select an option from the fly-out menu:
This affects the timestamps shown in the Calls Heard list and Ping History view.
Shortcut: Press <CTRL-T> to toggle the timestamp format.
Choose View->Clear->New Msg and File Counters from the main menu. This clears both counters, which are located at the end of the TNC Status Line.
The counters increment when a new message or file is received. They are helpful as indicators of activity during periods of unattended operation. Note that files received in FEC mode are encapsulated in a message or query response frame, so the message counter is incremented, not the file counter. New messages are listed in the convenient Recent Messages view. New message and file counter values are lost when the program is closed.
Shortcut: Press <CTRL-N> to clear the new message and file counters.
Sometimes it's necessary to abort a transmission in progress or halt a receive operation instead of waiting for it to time out. To do this press the <ESC> key to cancel the operation and return gARIM to the idle state. When transmitting, this makes the TNC stop sending, flushes the transmit buffer, and cancels any pending message repeats. When receiving (or waiting for) an ARIM frame the time out counters are reset and any pending response is canceled, making the TNC available for a new send operation immediately. A confirmation message will appear briefly on the Status Bar and the Busy/Idle indicator will reflect the change.
In FEC mode, pressing the <ESC> key also resets
the [RF CHANNEL BUSY]
state. This may be necessary in
rare cases where gARIM's busy state falls out of sync with the
TNC's busy detector state.
In ARQ mode, pressing the <ESC> key to abort a connection results in a "dirty disconnect". Use <CTRL-X> to attempt a clean disconnect before resorting to <ESC>.
Open the program and press the spacebar to open the command prompt (or click it with the mouse), and enter a command.
Commands fall into these general categories:
!SENDID
:Hello John
att nbr
Attach to a TNC. nbr indicates the TNC number.det
Detach from
the currently attached TNC.btime nbr
Set the beacon interval time and start it. nbr indicates the
beacon interval in minutes, setting it to '0' disables
beaconing.btest
Test the
beacon.srpts nbr
Set the number of times a message send will be repeated in the
absence of an ACK response from the recipient. Setting it to '0'
disables send repeats.ackto nbr
Set the message ACK timeout in seconds.fecds TRUE or
FALSE
- Enable or disables FEC mode
downshifting when repeating messages.srset
Open a
pop-up dialog showing the current message send repeat
settings.mycall
call
Set the TNC call sign to
call.netcall add
call
Add net call sign call to the
list.netcall del
call
Delete net call sign call from
the list.gridsq
loc
Set the grid square locator to
loc.pname
name
Set the TNC (port) name to name.
This appears in ARIM beacon frames.listen
TRUE or FALSE
- Control whether or not
the TNC listens for ARQ connect requests or pings from another
station.enpingack TRUE or
FALSE
- Control whether or not the TNC
responds to pings from another station.tncset
Open a
pop-up dialog showing the current TNC settings.reloadtnc
Reload
settings from the [tnc]
sections of the garim.ini configuration file. This command can
be executed only when not attached to a TNC.ping call
nbr
Send ping to remote station call.
nbr is the number of pings to send to call in the
absence of a response; it must be in the range 2-15.pping nbr
Enable/disable the gARIM pilot ping feature. If enabled,
ARDOP pings are sent in advance of a message or query transmission
to check if the RF path to the target station is adequate. The
signal report contained in the PINGACK response is compared to the
pilot ping threshold setting and the transmission of the
message or query proceeds only if the reported signal constellation
quality meets or exceeds the threshold; otherwise it is canceled.
nbr sets the number of ping repeats sent in the absence of a
response from the target station; it must be in the range 2-5. If
nbr is 0, pilot pings are disabled.ppthr nbr
Set the ARDOP signal constellation quality threshold for the pilot
ping feature. This must be in the range 60-100.ppset
Open a
pop-up dialog showing the current pilot ping settings.conn call nbr
[bw]
Initiate ARQ connection with remote
station call. nbr is the number of connect requests
to send tocall in the absence of a response; it must be in
the range 3-15. bw is an optional connection bandwidth
(ARQBW) specifier. It must be one of:
200MAX, 500MAX,
1000MAX, 2000MAX, 200FORCED, 500FORCED, 1000FORCED or
2000FORCED
200, 500, 2500 or
any
any
, gARIM will attempt to connect
using each ARQBW setting in succession, starting with the current
ARQBW setting (set in the gARIM configuration file or by using the
arqbw
command. This is useful if the ARQBW setting of
the remote station is unknown.arqto nbr
Set the ARQ connection inactivity timeout. nbr is the time
in seconds.arqbw bw
Set the ARQ connection bandwidth in Hz. bw must be one
of:
200MAX, 500MAX,
1000MAX, 2000MAX, 200FORCED, 500FORCED, 1000FORCED or
2000FORCED
200, 500 or
2500
arqnegbw TRUE or
FALSE
- Controls whether or not the TNC will
negotiate ARQ bandwidth for incoming connections.arqset
Open a
pop-up dialog showing the current ARQ settings.sm call
[msg]
Send message to station call. The
message text may follow the call sign, but if not given then the
message composer opens for input. If attached to a TNC the message
is sent over the air; if not it is stored in the outbox for sending
later.cm call
Compose message for station call. The message composer opens
for input. When done the message is stored in the outbox for
sending later.sq call
query
Send query query to station
call. See the Query another station for
information topic for a list of supported queries. Station
call will return a message containing the requested
information which is stored in the message inbox./sm [-z]
[msg]
Send message to the connected station.
The -z option compresses the message to minimize transfer
time. The message text may follow, but if not given then the
message composer opens for input./mlist
Return a
list of messages in the remote station's outbox that are addressed
to your station. Requires that your station be authenticated with the remote station. If not, then
the remote station will respond with an authentication
challenge./mget [-z]
[nbr]
Download messages addressed to your
station from the remote station's outbox to your inbox. The
-z option compresses the message to minimize transfer time.
nbr optionally specifies the maximum number of messages to
download. The default is 10. Requires that your station be
authenticated with the remote station. If
not, then the remote station will respond with an authentication
challenge./flist
[dir]
Return a list of shared files and
directories. dir is an optional directory path, relative to
the shared files root directory, e.g.
contests/2016/FOBB
. If dir is not given, then
the the shared files root directory is listed; otherwise the
specified directory is listed. By default only files in the shared
files root directory and dynamic files are
listed. Subdirectories are not listed unless they are made visible
by an add-files-dir configuration file parameter.
Access-controlled subdirectories defined by the ac-files-dir
configuration file parameter are indicated with the
! (bang) character like this:
!DIR
./flget [-z]
[dir]
Downloads a list of shared files and
directories, then displays it in the remote shared files viewer.
The -z option compresses the file to minimize transfer time.
dir is an optional directory path, relative to the shared
files root directory, e.g. contests/2016/FOBB
. If
dir is not given, then the the shared files root directory
is listed; otherwise the specified directory is listed. By default
only files in the shared files root directory and dynamic files are listed. Subdirectories are not listed
unless they are made visible by an add-files-dir
configuration file parameter. Access-controlled subdirectories
defined by the ac-files-dir configuration file parameter are
indicated with the ! (bang) character like this:
!DIR
. The viewer shows a numbered list of files and
directories, making it easy to read or download files without
typing in lengthy file names. Learn more about using
/flget
here./file fn
Print a file to the Traffic Monitor view. fn is the name of
a file in the shared files directory, or a file path relative to
it, e.g. contests/2016/FOBB.log
/fget [-z] fn [>
dir]
Download a file to the local station. The
-z option compresses the file to minimize transfer time.
fn is the name of a file in the remote station's shared
files directory, or a file path relative to it, e.g.
contests/2016/FOBB.log
. The optional dir
parameter specifies the destination directory at the local station,
relative to the shared files root directory, e.g.
contests/2016
. The destination directory must made
visible by an add-files-dir configuration file parameter at
the local station. If dir is not specified, the file is
stored in the download subdirectory in the local station's
shared files root directory. gARIM will create the destination
directory if it doesn't already exist./fput [-z] fn [>
dir]
Upload a file to the remote station. The
-z option compresses the file to minimize transfer time.
fn is the name of a file in the local station's shared files
directory, or a file path relative to it, e.g.
contests/2016/FOBB.log
. The optional dir
parameter specifies the destination directory at the remote
station, relative to the shared files root directory, e.g.
contests/2016
. If dir is not specified, the
file is stored in the download subdirectory in the remote
station's shared files root directory. The destination directory
must made visible by an add-files-dir configuration file
parameter at the remote station. gARIM will create the destination
directory if it doesn't already exist./auth
Manually
trigger the mutual authentication
process.passwd client-call
server-call password
Create or change
a password in the local password digest file. client-call is
the call sign of the client station. This is a station whose
operator will connect to another station, the server
station, and use the password to authenticate when challenged.
server-call is the call sign of the TNC at the server
station to which the client station connects. This is the call sign
set by the mycall
parameter in the corresponding
[tnc]
section of the garim.ini configuration file at the
server station. password is the password, which may
include any printable character, and has a maximum length of 32
characters. Note: passwords are case sensitive!delpass client-call
server-call
Delete a password in the local
password digest file. client-call is the call sign of the
client station, and server-call is the call sign of
the server station.clrmon
Clear the
Traffic Monitor viewclrheard
Clear
the Calls Heard viewclrrec
Clear the
Recent Messages viewclrping
Clear
the Ping History viewclrconn
Clear
the Connection History viewclrfile
Clear
the ARQ File History viewclrcntrs
Clear
the New File and New Message countersBasic line editing features are available on the command prompt. The left and right arrow keys, HOME, END, DEL and backspace keys work as expected. This makes it easy to correct mistakes in typing, whether a entering a command or composing a message.
The command prompt has a history buffer which holds the last 15 unique commands entered. Use the UP and DOWN keys to browse command history when you want to reuse a previously sent command.
A TNC must be attached. Press the spacebar to open the command prompt.
Prefix the message with the '!' character. Press
ENTER to send the command to the TNC. The command trace will appear
in the TNC command view, followed by the TNC's response if it was a
query. To set a TNC parameter, follow the command with the
parameter, e.g. !CWID TRUE
. To query
a TNC parameter, send the command without any argument, e.g.
!CWID
. Complete control over the TNC
is available using this interface. ARDOP TNC commands are
documented in the Host Interface Spec for the ARDOP TNC by
Rick Muething, KN6KB and available in the files area of the ARDOP
users group at groups.io.
TNC parameters are set in the
[tnc]
section of the garim.ini configuration file and loaded when
attaching to a TNC. However, some of these settings can be modified
on-the-fly from the TNC menu:
Here you can also send an ARDOP ID frame or a two-tone test signal to set transmit audio levels. For basic settings choose TNC->Basic Settings... from the main menu:
1-10
.0-10
.120-2500
.0-200
. Non-zero trailer time is
only needed for certain SDR radios and is a function of the audio
processing latency relative to release of PTT. For these cases try
a value of 100-200 msec.For FEC settings choose TNC->FEC Mode Settings... from the main menu:
For ARQ settings choose TNC->ARQ Mode Settings... from the main menu:
200MAX, 500MAX,
1000MAX, 2000MAX, 200FORCED, 500FORCED, 1000FORCED or
2000FORCED
200, 500 or
2500
30-600
.When attached to a TNC, any TNC parameter may be
queried or changed at the command prompt using bang
commands. These are prefixed with the '!' character and are
sent directly to the TNC. For example,
!SENDID
queries the SENDID parameter,
and !BUSYDET 5
sets the BUSYDET
parameter to '5'. ARDOP TNC commands are described in the
ARDOP_2 Protocol Native TNC Commands document by KN6KB. The
current version is located in the files section of the ARDOP Developers
Group.
Access to the local station can be controlled using either a "whitelist" and "blacklist" (but not both). If access is denied to a remote station, it cannot establish an ARQ connection to the local station, and FEC messages and queries it sends to the local station are ignored.
ac-allow
parameters in the
[arim]
section of the garim.ini configuration file. Only stations
whose call signs appear in the list are allowed to make ARQ
connections or send FEC messages and queries. gARIM immediately
disconnects from inbound ARQ connections from all other stations,
and ignores any FEC messages and queries sent by them.ac-deny
parameters in the
[arim]
section of the garim.ini configuration file. Stations whose
call signs appear in the list are not allowed to make ARQ
connections or send FEC messages and queries. gARIM immediately
disconnects from inbound ARQ connections from the listed stations,
and ignores any FEC messages and queries sent by them.A non-empty whitelist takes precedence over the blacklist, which is ignored in that case. If the whitelist is empty or doesn't exist, then the blacklist takes effect. If neither list exists then all remote stations are granted access to the remote station by default.
Whether or not attached to a TNC, messages can be composed and stored in the message outbox. Choose Message->Compose... from the main menu to open the Compose Message dialog box:
If not in ARQ mode, enter the call sign of the destination station in the To Station: field or choose a call sign from the drop-down list (the last 5 previously addressed stations appear here for easy recall). Then enter the message text into the text editor window. You can also paste text copied from another application into the text editor. Press Save to Outbox to save the message, or Send to transmit it to the destination station.
The Use compression option is available only in an ARQ session. In that case the To station: field is automatically populated with the call sign of the connected station.
Enter the message, then press Save to Outbox to save the message, or Send to transmit it to the connected station.
Press Cancel to cancel the message.
A TNC must be attached and the RF channel must not be busy. Choose Ping->Send Ping... from the main menu.
Enter the call sign of the target station or choose a call sign from the drop-down list (the last 5 previously addressed stations appear here for easy recall). Choose the number of ping repeats desired. This is the number of times the PING packet will be sent in the absence of a response from the target station before the TNC "gives up". The minimum repeat count is 2 and the maximum is 15. The response from the target station will include a signal report including the signal-to-noise ratio and a constellation quality figure ranging from 0-100%.
If the RF channel is busy, gARIM won't send the ping, and an error message will be shown on the status bar.
If you prefer to use the keyboard, press <SP> to open the command prompt. Enter the ping call nbr command where call is the call sign of the target station, and nbr is the number of pings to send in the absence of a response. nbr must be in the range 2-15.
Pilot pings are ARDOP PING frames automatically sent in advance of an ARIM message or query transmission or ARQ connect request to test the RF path to the target station. If the signal constellation quality report from the target station meets a preset threshold, the message transmission proceeds; if not then it is canceled. This prevents hopeless attempts at message transmission from tying up the frequency in marginal conditions. The PING/PINGACK cycle is very short compared to the length of a typical FEC message transmission so the additional overhead is low, but the potential improvement in efficiency of channel use is high. Pilot pings are never sent in advance of ARIM messages directed to the net call.
Pilot Ping parameters are set in the
[arim]
section of the garim.ini configuration file, but can also be
modified on-the-fly so the operator can adapt to changing
conditions. Choose Ping->Pilot Ping Settings...
from the main menu.
These settings can also be modified on-the-fly from the gARIM command prompt.
gARIM can act as an ARQ client or server, interoperating with ARDOP Chat or another gARIM (or ARIM) station for keyboard to keyboard chat. gARIM may also be used as an ARQ client to connect to a BPQ BBS with a ARDOP port.
A TNC must be attached and the RF channel must not be busy. Choose ARQ->Connect... from the main menu.
Enter the call sign of the target station, or choose a call sign from the drop-down list (the last 5 previously called stations appear here for easy recall). Adjust Nbr repeats as desired. This is the number of times the ARQCALL frame will be sent in the absence of a response from the target station before the TNC "gives up". The minimum repeat count is 3 and the maximum is 15. ARQ bandwidth is the connection bandwidth (ARQBW) specifier. It must be one of:
200MAX, 500MAX,
1000MAX, 2000MAX, 200FORCED, 500FORCED, 1000FORCED or
2000FORCED
200, 500, 2500 or
ANY
If using ARDOP v2.x and bw is
ANY
, gARIM will attempt to connect
using each ARQBW setting in succession, starting with the current
ARQBW setting. This is useful if the ARQBW setting of the remote
station is unknown. Connect requests and responses are displayed in
the monitor view.
ARDOP 2.x TNCs reject connection requests if the
ARQBW setting of the calling station exceeds that of the remote
station. For this reason, gARIM optionally lets the operator
specify an ARQ connection bandwidth to override the local ARQBW
setting and allow the connection. Alternatively, the operator can
select the ANY
specifier to make
gARIM discover a workable ARQBW setting automatically (i.e.
negotiating the connection bandwidth itself). In this example the
proper ARQBW is known to be 500
.
If the RF channel is busy, gARIM won't send the connection request, and an error message will be shown on the status bar.
When the connection is made, gARIM will be in ARQ mode, where text entered at the command prompt is sent directly to the remote station rather than processed as an ARIM command. The line editing and history recall features of the command prompt work as usual but the '!' prefix won't work to send commands directly to the TNC, and the ':' prefix won't work to send unproto FEC transmissions.
All text sent and received will be displayed on the Traffic Monitor, and the status bar will show the call sign of the remote station, the negotiated max connection bandwidth and the current TNC state.
The local files, message inbox, message outbox and sent messages viewers work as usual in ARQ mode. Files can be uploaded to the remote station from the local files viewer. Previously composed messages can be sent to the remote station from the message outbox viewer, and messages can be forwarded to the remote station from the message inbox and sent messages viewers.
If you prefer to use the keyboard, press <SP> to open the command prompt. Enter the conn call nbr [bw] command where call is the call sign of the target station, nbr is the number of connection requests to send in the absence of a response, and the optional bw parameter sets the connection bandwidth. nbr must be in the range 3-15. bw must be one of:
200MAX, 500MAX,
1000MAX, 2000MAX, 200FORCED, 500FORCED, 1000FORCED or
2000FORCED
200, 500, 2500 or
any
To disconnect, press <CTRL-X>, choose ARQ->Disconnect from the main menu, or enter the special command '/dis' at the command prompt and press ENTER.
You'll be prompted to confirm:
Press Yes and a clean disconnect will be attempted.
ARQ behavior is controlled by these parameters in the
[tnc]
section of the garim.ini configuration file:
listen
Control
whether or not the TNC responds to ARQ connect requests or pings.
Default: TRUE
.arq-bandwidth
Set the ARQ connection bandwidth. Available bandwidths are:
200MAX
, 500MAX
, 1000MAX
,
2000MAX
, 200FORCED
,
500FORCED
, 1000FORCED
or
2000FORCED
.200
,
500
or 2500
.500MAX
(ARDOP v1.x) or
500
(ARDOP v2x).arq-negotiate-bw
Controls whether or not the TNC will negotiate ARQ bandwidth for
incoming connections. Default: TRUE
.arq-timeout
Set
the inactivity timeout for ARQ connections, in seconds. The value
must be in the range 30
to 600
. Default
is 120
.arq-sendcr
Control whether or not CRLF line endings are sent in ARQ mode,
instead of Unix style LF endings. Default:
TRUE
.These parameters can also be modified on-the-fly from the gARIM command prompt by the operator, or from the TNC menu.
If pilot pings are enabled they will apply to ARQ connection requests, so that the RF path to the remote station can be tested in advance. If the pilot pings fail, the connection attempt will be canceled.
When connected to a gARIM (or ARIM) station, the following queries may be sent to the remote station:
contests/2016/FOBB
. If this is left blank, then the
the shared files root directory is listed; otherwise the specified
directory is listed. By default only files in the shared files root
directory and dynamic files are listed.
Subdirectories are not listed unless they are made visible by an
add-files-dir configuration file parameter.
Access-controlled subdirectories defined by the ac-files-dir
configuration file parameter are indicated with the
! (bang) character like this:
!DIR
.contests/2016/FOBB.log
.Choose Query->Send Query... from the main menu.
Select the desired query and press OK. Here we see the response:
When connected to a gARIM (or ARIM) station,
single-line messages can be sent using the /sm
[-z][msg]
command where the -z option
invokes compression, and msg is the message text. This is
convenient when the message is short and you wish to bypass the
message composer. Press the spacebar to open the command prompt and
enter the command like this:
The remote station saves the message to its inbox and
returns an /OK
response to confirm receipt. A copy
will be stored in your sent messages mailbox.
For longer, multi-line messages, choose Message->Compose Message... from the main menu to open the Compose Message dialog box:
Enter the message. You can also paste text copied from another application into the text editor. Check Use compression if you wish to have the message compressed to reduce transfer time.
Press Send to send the message to the connected station. To cancel a message you've started, press Cancel to close the message composer view.
The remote station saves the message to its inbox and
returns an /OK
response to confirm receipt. A copy
will be stored in your sent messages mailbox.
While the upload is in progress no text or commands are accepted from the command prompt. This condition is indicated by the yellow background color in the ARIM status indicator:
To cancel the upload, press CTRL-X to close the ARQ connection.
If the remote gARIM (or ARIM) station encounters an
error saving the message, it returns an /ERROR
response and the message is discarded.
Existing messages in a local mailbox can also be sent to the remote station from one of the message view tabs.
Previously composed messages stored in the outbox can be sent to the remote station. Select the Msg Outbox tab:
Right-click on the desired message header and choose Send... from the pop-up menu. This opens the Send Message dialog box:
Check Use compression if you wish to compress the message to reduce transfer time. Press OK to send the message to the connected station. This is a more efficient method than composing the messages during the ARQ session itself.
Messages in the inbox can be forwarded to the remote station in the same manner. Select the Msg Inbox tab and right-click on the desired message header. Choose Forward... from the pop-up menu.
Messages in the sent messages mailbox can also be forwarded to the remote station. Select the Sent Messages tab and right-click on the desired message header. Choose Forward... from the pop-up menu.
If the remote gARIM (or ARIM) station encounters an
error saving the message, it returns an /ERROR
response and the message is discarded.
In an authenticated ARQ session, you can retrieve messages addressed to your station that are queued in the remote station's outbox. This is useful if you are on the air only intermittently; the operator at the remote station can compose a message when convenient, leaving it in the outbox for you to download later.
To list your messages, choose ARQ->Get My Message Listing from the main menu.
The remote station responds:
In this example, the command triggers the mutual authentication process automatically. After that, the listing is received. The messages are listed in chronological order (oldest first).
To download the listed messages, choose ARQ->Get My Messages... from the main menu. The Get My Messages from Remote Station dialog box opens:
Select the maximum number of messages to download, and check Use compression if you wish to compress the messages to reduce transfer time. Press OK to start the message download to the local station.
The progress of the download is reported as each
message is received. As each message is received, the receiving
station stores the message in its inbox and sends a
/OK
response to confirm receipt. The sending station
then deletes the message from its outbox. If the either station
encounters an error, it sends an /ERROR
response to
the other and the download is canceled. In that case the message is
not deleted from the outbox at the sending station.
While the download is in progress no text or commands are accepted from the command prompt. This condition is indicated by the yellow background color in the ARIM status indicator:
To cancel the download, press CTRL-X to close the ARQ connection.
When connected to a gARIM (or ARIM) station, choose ARQ->Get File Listing... from the main menu to download a listing of shared files it offers. The Get File List from Remote Station dialog box opens:
Enter the path of the remote directory to list or leave it blank for a listing of the root shared files directory. Check Use compression if you wish to compress the listing to reduce transfer time. Press OK to start the file listing download.
While the download is in progress no text or commands are accepted from the command prompt. This condition is indicated by the yellow background color in the ARIM status indicator:
To cancel the download, press CTRL-X to close the ARQ connection.
When the download is finished the file listing appears in the Remote Files tab:
The contents of the directory are listed, one to a
line, and the remote file path is shown at the bottom of the view.
For files, the name and size in bytes are shown. For
subdirectories, the name is shown. Access-controlled subdirectories
are indicated with the ! (bang) character like
this: !DIR
.
To read a file, right-click on its listing and choose Read from the pop-up menu.
The file will be downloaded and printed to the Traffic Monitor view:
To download a file, right-click on its listing and choose Get... from the pop-up menu.
The Get Remote File dialox box opens:
Check Use compression if you wish to compress the listing to reduce transfer time. To download the file to a directory other than the default download directory, enter its path in the To local directory: field or click the browse button and navigate to the desired directory in the Select Local Destination Directory dialog box. The destination directory must made visible by an add-files-dir configuration file parameter at the local station. If no destination directory is specified, the file is stored in the download subdirectory in the local station's shared files root directory. Press OK to get the file.
While the download is in progress no text or commands are accepted from the command prompt. This condition is indicated by the yellow background color in the ARIM status indicator:
To cancel the download, press CTRL-X to close the ARQ connection.
To list a subdirectory, right-click on its listing and choose Open Directory... from the pop-up menu.
The Open Remote Directory dialog box opens:
Check Use compression if you wish to compress the listing to reduce transfer time. Press OK to start the file listing download.
The directory listing will be downloaded and displayed in the Remote Files tab, replacing the previous contents.
The Remote Files tab is automatically cleared when the ARQ session is closed.
The mutual authentication process will be triggered automatically if a access-controlled directory is listed when the session is not yet authenticated.
When connected to a gARIM (or ARIM) station the shared text files it offers can be read in the Traffic Monitor view. Only text files and dynamic files with text output can be printed to the screen.
To read a file, choose ARQ->Read File... from the main menu to open the Read File from Remote Station dialog box:
Enter the name of the file, which can include a path to a subdirectory under the root shared files directory on the remote station. In this example the file test.txt is known to be located in the directory net. Press OK to start reading.
The text is printed the the Traffic Monitor view line by line as it is received.
The mutual authentication process will be triggered automatically if a file in an access-controlled directory is specified.
When connected to a gARIM (or ARIM) station any shared files it offers can be downloaded. Both text and binary file types can be transferred over the ARQ connection. A compression option can be invoked to reduce transfer time for many file types, and you can specify a destination directory at the local station other than the default.
To download a file, choose ARQ->Get File... from the main menu to open the Get File from Remote Station dialog box:
Enter the name of the file and check Use compression if you wish to compress the file to reduce transfer time. To download the file to a directory other than the default download directory, enter its path in the To local directory: field or click the browse button and navigate to the desired directory in the Select Local Destination Directory dialog box. The destination directory must made visible by an add-files-dir configuration file parameter at the local station. If no destination directory is specified, the file is stored in the download subdirectory in the local station's shared files root directory. Press OK to start the download.
The progress of the download is reported as each data
frame is received. When it's complete an /OK
response
is sent to the remote station to confirm receipt. If the remote
ARIM station encounters an error sending the file, it returns an
/ERROR
response and the download is canceled.
The mutual authentication process will be triggered automatically if a file in an access-controlled directory is specified.
While the download is in progress no text or commands are accepted from the command prompt. This condition is indicated by the yellow background color in the ARIM status indicator:
To cancel the download, press CTRL-X to close the ARQ connection.
When connected to a gARIM (or ARIM) station local files can be uploaded to the remote station. Both text and binary file types can be transferred over the ARQ connection. A compression option can be invoked to reduce transfer time for many file types, and you can specify a destination directory at the remote station other than the default.
To upload a file, choose ARQ->Send File... from the main menu to open the Send File to Remote Station dialog box:
Enter the name of the file or click the browse button and select the file in the Select File to Send dialog box. Check Use compression if you wish to compress the listing to reduce transfer time. To upload the file to a directory other than the default download directory at the remote station, enter its path in the To remote directory: field This path must be relative to the shared files root directory, e.g. contests/2016 and must made visible by an add-files-dir configuration file parameter at the remote station. Press OK to start the upload.
The progress of the upload is reported as each data
frame is sent. When it's complete an /OK
response is
received from the remote station to confirm the file was saved. If
the remote gARIM (or ARIM) station encounters an error receiving
the file, it returns an /ERROR
response and the upload
is canceled.
The mutual authentication process will be triggered automatically if a file in an access-controlled directory is specified.
While the upload is in progress no text or commands are accepted from the command prompt. This condition is indicated by the yellow background color in the ARIM status indicator:
To cancel the upload, press CTRL-X to close the ARQ connection.
The optional Mutual Authentication feature provides a way to verify the identities of the stations in an ARQ session. This works by making each station prove to the other that it possesses a shared secret (password) known only to the two stations involved. This is done using a Digest Access Authentication scheme very similar to that specified in RFC 2069 with the exception that the MD5 hash function is replaced by the more modern and secure Blake2 hash function. The exchange of proofs is accomplished without sending the password itself over the air. The process is automatic and requires no operator intervention. This feature can be used to:
Once an ARQ connection is established, the operator can invoke the mutual authentication process pre-emptively. If it succeeds, the identity of the remote station is proven and the operator can read, upload or download files with confidence. If it fails, because one station or the other doesn't know the shared secret (password), the operator is presented with a warning message and given the choice of either continuing or terminating the ARQ session.
For example, to authenticate pre-emptively, choose ARQ->Authenticate from the main menu.
The remote station sends a challenge which is the first of 3 messages (A1, A2 and A3) exchanged during the authentication process.
If the remote station cannot authenticate your station, you are alerted and asked if you want to disconnect:
Likewise, if your station cannot authenticate the remote station, you are alerted and asked if you want to disconnect:
In either case the problem is likely to be missing or incorrect password digest file entries.
If you prefer to use the keyboard, press <SP> to open the command prompt and enter the /auth command to authenticate.
The authentication challenge/response protocol
/EAUTH
and the operator at the client station is
informed that authentication has failed. If gARIM does find such an
entry, it responds with an authentication challenge in the
form of the /A1
command. The challenge includes an
opaque nonce, a token whose content it controls and which
must be incorporated into the response made by the client
station./A1
command. It searches its password digest file for
an entry with its own call sign as the client and the server
station's call sign as the server. If it cannot find such an
entry, it responds with '/EAUTH' and the operator at the client
station is informed that authentication has failed. If the needed
entry is found, gARIM computes a response token which proves that
it knows the shared secret. The response is:
FPUT
, FGET
, FLIST
or
FILE
and path is the directory or
file path referenced by the command./A2
command./A2
command and checks the challenge response token it
contains. It does this by computing the response token it expects
using the password digest token (HA1) stored in the password digest
file it owns. It compares this with the response token
received from the client station. If they don't match, then the
client station must not have the same password digest that gARIM
has stored locally. In this case gARIM will send
/EAUTH
to the client station where the operator will
be informed that authentication has failed. If they match, then the
client station has proven its authenticity and gARIM will send a
response to the challenge contained in the /A2
command. As before, this is computed as
H(HA1:nonce:HA2), using the challenge nonce
received from the client station. It sends this response to the
client station in the form of the /A3
command./A3
command and checks the challenge response token it
contains. It does this by computing the response token it expects
using the password digest token (HA1) stored in the password digest
file it owns. It compares this with the response token
received from the server station. If they don't match, the server
station must not have the same password digest that gARIM has
stored locally. In this case gARIM will inform the operator that
authentication has failed. If they match, then the server station
has proven its authenticity and gARIM re-sends the command that
triggered the process, unless it was the /auth
command. In that case there is no work to do, so gARIM simply sends
the /OK
response to signal that the mutual
authentication is complete.To strike a reasonable balance between security and the "air time" cost of the challenge/response data exchanges, challenge nonces contain 6 bytes of data and the Blake2 response hash is truncated to 21 bytes, or 168 bits (big enough for excellent collision resistance). These are sent in base64 encoded form making the over-the-air sizes 8 and 28 bytes respectively.
Shared files directories at a station can be designated as access-controlled with the ac-files-dir parameter in the garim.ini configuration file. These resources are available only to stations that successfully authenticate themselves in an ARQ session. By default, the authentication process is triggered automatically on the first attempt by a station to access a controlled resource. Here is an example:
The operator at NW8L connects to KA8RYU and reads the
space weather report. Next he attempts to download a
access-controlled file, admin/contact-list.txt. This
triggers an authentication challenge from KA8RYU in the form of the
/A1
command. The mutual authentication succeeds, so
the download command /FGET
is automatically repeated
and the file is downloaded.
If mutual authentication succeeds, subsequent accesses of controlled resources on the remote station proceed normally.
Alternatively, the operator at NW8L can send the
authenticate the remote station pre-emptively before
attempting to access controlled directories and their contents. In
this case, if station KA8RYU is unable to find a password digest
file entry for NW8L, it sends the /EAUTH
response and
the operator at NW8L is alerted:
Otherwise the authentication process proceeds as usual.
Note: shared files directories defined by add-files-dir parameters in the garim.ini configuration file are not access-controlled. These are accessible by any station in ARQ and FEC mode operations. Likewise, the root shared files directory is always accessible by any station for file listing, uploads and downloads.
Passwords are created within gARIM and stored in digest ("hashed") form in a file. Passwords are hashed with a salt (the call signs of the corresponding stations), so that any given password results in unique hash for different call sign pairs. This hash is identical to the HA1 term used in the digest authentication scheme, so it can be read out of the password digest file when needed, making it unnecessary to store the original password. Mathematically, the Blake2 hash function is a strong one way function; it is computationally infeasible to recover the password from the hash. Because the password hash is stored in a file the authentication process can operate without operator intervention; there's no need to remember and enter the password each time.
In the context of an ARQ session, the term client refers to the station where an operator triggers the authentication process by:
/auth
command to the
other stationWhen this happens the other station assumes the role of server and responds with an authentication challenge. These definitions imply that an operator is always present at the client station, but not at the server station, which is assumed to be operating automatically. However, once an ARQ connection is established between two stations, the operator at either end can seize the client role by being the first to trigger the mutual authentication process.
Let's assume that client call sign is KA8RYU, and the server call sign is NW8L. Choose ARQ->Create or Change Auth Password... from the main menu to open the Create or Change Auth Password dialog box. Enter the call sign of the client station, the call sign of the server station, and the password:
Press OK to store the password.
The operation will be confirmed.
This command must be executed at both stations to store the password digest on each. If this is done, KA8RYU can connect to NW8L and successfully authenticate if challenged. However, this doesn't mean that the reverse is true: NW8L can't connect to KA8RYU and do the same. To make this possible the process must be repeated at each station with NW8L specified as the client, and KA8RYU as the server:
Now either station can connect to the other and play the role of client to the other station's role of server in the authentication process. Note that a different password is used; this is the best practice. If we read the arim-digest password digest file at either station by choosing File->View Auth Password File... from the main menu we see the newly created password entries:
There are two entries, one for KA8RYU as client and NW8L as server, and another for NW8L as client and KA8RYU as server. This allows both one-way and two-way relationships to be defined. For instance, a station serving as a document repository can issue passwords to multiple stations who connect to it as clients and access the controlled files it offers. However, no such password is issued to the repository station by the client stations; it cannot connect to any of them in the client role and authenticate for the purpose of accessing any controlled resources they publish.
To protect against accidental disclosure of password digest file contents, any file named 'arim-digest', or variations like 'arim-digest.bak', no matter where located in the file system, are protected against access by a remote station. Avoid easy-to-guess passwords, and never include the call signs of the client or server stations in the password. While the base64 encoded Blake2 digest (HA1) may look quite random, it contains only as much entropy as the original password, so choose passwords well. Note: passwords are case sensitive!
Choose ARQ->Delete Auth Password... from the main menu to delete a password digest from the arim-digest file. The Delete Auth Password dialog box opens:
Let's assume we want to delete the password digest
for client-call
KA8RYU, and server-call
NW8L. Enter these calls and press OK You will be
prompted to confirm the deletion:
Press Yes to delete the password digest from the file.
A TNC must be attached and the RF channel must not be busy. Press the spacebar to open the command prompt.
Prefix the message with the ':' character. Press
ENTER to send the message out over the air as raw ARDOP FEC frames,
rather than being formatted as an ARIM message. The message will
appear in the monitor view tagged with the
[U]
indicator.
If the RF channel is busy, gARIM won't send the unproto message, and an error message will be shown on the status bar.
When attached to a TNC, single-line messages can be
sent using the sm call [msg]
command, where call is the call sign of the recipient and
msg is the message text. This is useful when the message is
short and you wish to bypass the message composer. Press the
spacebar to open the command prompt and enter the command like
this:
The message will be sent immediately after pressing the ENTER key to complete the command. A copy will be stored in your sent messages mailbox.
If the RF channel is busy, gARIM won't send the message, and an error message will be shown on the status bar.
For longer messages, choose Message->Compose... from the main menu.The message composer opens:
Enter the call sign of the destination station and then the message. When done, press Send to start transmitting the message. a new line to close the message composer view to transmit the message. A copy will be stored in your sent messages mailbox.
The Traffic Monitor shows the outbound message and the inbound ACK from the recipient station.
To cancel a message you've started to send, press <ESC> to abort the transmission and discard the message. You are alerted and asked if you want to store the message to the outbox:
Press Yes to store the message to the outbox, No to discard it.
If the TNC is busy when the message is sent, the message will be stored in the outbox automatically. If the message send fails for some reason (NAK, ACK timeout, etc.), you are alerted and asked if you want to store the message to the outbox:Press Yes to store the message to the outbox, No to discard it.
A TNC must be attached and the RF channel must not be busy. Choose Query->Send Query... from the main menu to open the Send Query dialog box:
Enter the call sign of the target stations or choose a call sign from the drop-down list (the last 5 previously addressed stations appear here for easy recall). Choose a query from the list. Query is one of these:
contests/2016/FOBB
. If dir is
not given, then the the shared files root directory is listed;
otherwise the specified directory is listed. By default only files
in the shared files root directory and dynamic
files are listed. Subdirectories are not listed unless they are
made visible by an add-files-dir configuration file
parameter. Access-controlled subdirectories defined by the
ac-files-dir configuration file parameter are indicated with
the ! (bang) character like this:
!DIR
. Example:
contests/2016/FOBB.log
. Example:
The target station will send the requested information in a response message.
The response message will appear in the monitor view
tagged with the [R]
indicator. It
will be stored in the message inbox for later viewing, and also
appear in the Recents list.
If the RF channel is busy, gARIM won't send the query, and an error message will be shown on the status bar.
If you prefer to use the keyboard, press <SP> to open the command prompt. Enter the sq call query command where call is the call sign of the target station, and query specifies the query to send.
In FEC mode you can retrieve a file from another station with the file query. The message is stored into the inbox where it can be viewed or saved to disk. If you aren't sure about the file name, you can also get a listing of available files with the flist query.
These operations are described in the FEC: Query another station for information topic.
NOTE: the maximum file size is set by the
max-file-size
parameter in the
[arim]
section of the garim.ini configuration file. The file list
returned by the flist query is filtered so that
only static files less than the max size are listed, and the output
of dynamic files is limited to the max size. At
this time the absolute maximum allowed is 16384 bytes. The location
of the shared files root directory is set by the
files-dir
parameter in the
[arim]
section of the garim.ini configuration file.
In difficult conditions it may be helpful to enable automatic repeats of messages if they are nak'd or an ACK timeout occurs. Three parameters control message send repeat behavior:
[arim]
section of the garim.ini configuration file, but can also be
modified on-the-fly from the gARIM menu so operator an adapt to
changing conditions. Choose Message->Send Repeat
Settings... from the main menu to open the Message
Send Repeat Settings dialog box:
Adjust Nbr of repeats on NAK to set the number of times a message send will be repeated in the absence of an ACK response from the recipient. Adjust Message ACK timeout (secs) to set the message ACK timeout in seconds. Check Downshift FEC mode on repeat to enable FEC mode downshifting when repeating a message, uncheck to disable downshifting.
When done, press OK to apply the settings. The change will be confirmed by a message on the Status Bar.
Beaconing can be configured for each TNC by the
btime
parameter in the relevant
[tnc]
section of the garim.ini configuration file. This parameter
defines the beacon repeat time in minutes, with '0' meaning that
beaconing is disabled. The beacon status indicator in the Status
Bar shows the repeat time when beaconing is enabled, or "OFF" when
disabled.
When attached to a TNC, the beacon repeat time can be modified on-the-fly from the gARIM menu. Choose Beacon->Repeat Time... from the main menu to open the Beacon Repeat Time dialog box:
Adjust Beacon repeat time (mins) to set the beacon repeat time in minutes.
To test the beacon, choose Beacon->Send
Beacon from the main menu. If the RF channel is busy, gARIM won't send the beacon, and an error message
will be shown on the status bar. If the beacon is enabled, then
gARIM will try again once, 2 minutes later. If the RF channel
remains busy, gARIM gives up and schedules the next beacon for
btime
minutes later.
If you prefer to use the keyboard, press <SP> to open the command prompt. Enter the btest command to test the beacon.
Select the Msg Inbox tab.
This is a listing of headers for messages received. They are numbered in reverse chronological order (most recent first). Headers contain the following information, from left to right:
To read a message, right-click its header line and choose Read... from the pop-up menu:
This opens the message viewer.
Press Done to quit. Shortcut: double-click a header line to read the message.
Several actions can be taken here:
These are shortcuts for the pop-up menu options described below.
To kill a message, right-click its header line and choose Kill from the pop-up menu. The message is deleted from the Inbox.
To save a message to a text file, right-click on its header line and choose Save... from the pop-up menu. The Save Message dialog box opens:
Navigate to the desired directory, enter a meaningful file name, and press OK to save.
To reply to a message, right-click its header line and choose Reply... from the pop-up menu:
The Reply to Message dialog box opens:
Enter your reply text and press Send to send the message if attached to a TNC. Press Save to Outbox to store the message in the Outbox to be sent later. Press Cancel to abandon any edits and close the dialog box. Note: In ARQ mode, the Reply... option is available only if the callsign of the sender matches the callsign of the remote station. The Use compression option is only available in ARQ mode.
To forward a message to another station, right-click its header line and choose Forward... from the pop-up menu. The Forward Message dialog box opens:
Enter the call sign of the destination station, press TAB, and add or edit text in the message body. If attached to a TNC, you can press Send to send the message. Otherwise, press Save to Outbox to store the message in the Outbox to be sent later. Press Cancel to abandon any edits and close the dialog box. The Use compression option is only available in ARQ mode. In that case the message is forwarded to the connected station, whose call sign is automatically entered and cannot be changed.
To clear the status flags for a message, right-click its header line and choose Clear flags from the pop-up menu.
Note: the automatic message purge process runs whenever gARIM is started. This discards messages whose age in days exceeds the limit set by themax-msg-days
parameter in the
[arim]
section of the garim.ini configuration file. Set it to
0
to disable automatic message
purging. The default setting is 0.Select the Msg Outbox tab.
This is a listing of headers for outbound messages ready to be sent. Previously composed messages and messages saved after a failed send operation are stored here. They are numbered in reverse chronological order (most recent first). Headers contain the following information, from left to right:
To read a message, right-click its header line and choose Read... from the pop-up menu:
This opens the message viewer.
Press Done to quit. Shortcut: double-click a header line to read the message.
Several actions can be taken here:
These are shortcuts for the pop-up menu options described below.
To kill a message, right-click its header line and choose Kill from the pop-up menu. The message is deleted from the Inbox.
To save a message to a text file, right-click on its header line and choose Save... from the pop-up menu. The Save Message dialog box opens:
Navigate to the desired directory, enter a meaningful file name, and press OK to save.
When connected to a TNC, you can send a message in the outbox to another station. Right-click its header line and choose Send... from the pop-up menu. The Send Message dialog box opens:
You can edit the message if needed. Press OK to send the message. Press Cancel to abandon any edits and close the dialog box. The Use compression option is only available in ARQ mode. In that case the message is sent to the connected station, whose call sign is automatically entered and cannot be changed.
To clear the status flags for a message, right-click its header line and choose Clear flags from the pop-up menu.
Note: the automatic message purge process runs when gARIM is started. This discards messages whose age in days exceeds the limit set by themax-msg-days
parameter in the
[arim]
section of the garim.ini configuration file. Set it to
0
to disable automatic message
purging. The default setting is 0.Select the Sent Messages tab.
This is a listing of headers for messages previously sent. Headers contain the following information, from left to right:
To read a message, right-click its header line and choose Read... from the pop-up menu:
This opens the message viewer.
Press Done to quit. Shortcut: double-click a header line to read the message.
Several actions can be taken here:
These are shortcuts for the pop-up menu options described below.
To kill a message, right-click its header line and choose Kill from the pop-up menu. The message is deleted from the Inbox.
To save a message to a disk file, right-click on its header line and choose Save... from the pop-up menu. The Save Message dialog box opens:
Navigate to the desired directory, enter a meaningful file name, and press OK to save.
To forward a message to another station, right-click its header line and choose Forward... from the pop-up menu. The Forward Message dialog box opens:
Enter the call sign of the destination station, press TAB, and add or edit text in the message body. If attached to a TNC, you can press Send to send the message. Otherwise, press Save to Outbox to store the message in the Outbox to be sent later. Press Cancel to abandon any edits and close the dialog box. The Use compression option is only available in ARQ mode. In that case the message is forwarded to the connected station, whose call sign is automatically entered and cannot be changed.
To clear the status flags for a message, right-click its header line and choose Clear flags from the pop-up menu.
Note: the automatic message purge process runs whenever gARIM is started. This discards messages whose age in days exceeds the limit set by themax-msg-days
parameter in the
[arim]
section of the garim.ini configuration file. Set it to
0
to disable automatic message
purging. The default setting is 0.The optional message tracing feature inserts headers like Received: from KA8RYU by NW8L; Jan 30 2019 05:01:48 UTC into received messages. If the message is forwarded to another station with tracing enabled, another Received: header is added by the receiving station, and so on. In this way a record of the message's progress through a network is built up as it is forwarded from station to station (read from bottom to top).
The Received: headers are visible in the message viewer together with the From: and To: headers. However, being message header lines, they are not visible and cannot be changed when sending or forwarding a message. This feature is compatible with previous versions of gARIM and ARIM.
The timestamp included in the Received:
headers indicates time of receipt, either local time or UTC time at
the receiving station, as set by the
utc-time
parameter in the
[ui]
section of the garim.ini configuration file. No time zone is
included for stations configured for local time stamps
(utc-time=FALSE
).
Message tracing is enabled or disabled by the value
of the msg-trace-en
parameter in the
[arim]
section of the configuration
file. Set to TRUE to enable tracing or FALSE to disable it. The
default value is FALSE.
Select the Local Files tab.
The viewer opens in the shared files root directory
defined by the files-dir
parameter in
the [arim]
section of the garim.ini configuration file. The directory path
is shown in the title of the viewer window.
The contents of the directory are listed, one to a
line. For files, the name, size in bytes and the last-modified date
are shown. For subdirectories, the name and last-modified date are
shown. Access-controlled subdirectories defined by the
ac-files-dir configuration file parameter are indicated with
the ! (bang) character like this:
!DIRECTORY
.
To send a file to another station, right-click its listing and choose Send File... from the pop-up menu:
The Send File dialog box opens.
In FEC mode it looks like this:
Enter the call sign of the destination station and press OK to send the file as an ARIM message.
In ARQ mode it looks like this:
Check Use compression if you wish to compress the file to reduce transfer time. To upload the file to a directory other than the default download directory at the remote station, enter its path in the To remote directory: field This path must be relative to the shared files root directory, e.g. contests/2016 and must made visible by an add-files-dir configuration file parameter at the remote station. Press OK to start the upload.
To open a file for viewing or editing, right-click its listing and choose Open File... from the pop-up menu. The Open Text File editor window opens:
If you make changes, press Save to save them to file and close the editor. Shortcut: double-click a file listing to open it for viewing or editing.
To open a directory, right-click its listing and choose Open Directory from the pop-up menu:
The contents of the tab will be replaced with a listing of the newly opened directory. The listing includes the parent directory (..) as item number 1. Shortcut: double-click a directory listing to open it.
To reload a directory listing, right-click and choose Reload Directory from the pop-up menu.
Text files listed in the shared files viewer can be opened for viewing and editing from the gARIM menu. Choose File->Open Text File... from the main menu. The Open Text File dialog box opens. Select the file, then press OK to open the file in the Open Text File editor window. If you make changes, press Save to save them to file and close the editor.
Dynamic files are used to return output from a script or system command executed by gARIM in response to a file query.
Dynamic file aliases appear in listings of the shared
files root directory at a remote station. Because the size of the
output is not known in advance, no file size is shown; instead the
DYN
identifier appears, like this:
Here's a sample of the
spwxfc
dynamic file output as seen in
an ARQ session:
Dynamic file aliases are defined in the
[arim]
section of the garim.ini configuration file. The format is
alias:command where alias is the name used to access
the file and command is the invocation of the command or
script, separated by a :
(colon)
character. For example:
dynamic-file = spwxfc:python
/home/nw8l/scripts/forecast.py
Make sure that alias is unique among the other dynamic file definitions and file names in the shared files directory. Use absolute paths to script files when gARIM is built from source and installed. Relative paths can be used for "portable" binary installations where the script files are contained in same directory as the arim executable file. You may define no more than 16 dynamic files.
In response to the query sq file
alias
, command will be executed in a
shell and its output returned in the response. command can
be a batch file, a script invocation like python
myscript
or a system command like date
or
uname -a
. The output size in bytes is limited by the
max-file-size parameter in the
[arim]
section of the garim.ini configuration file. Errors generated
by dynamic file scripts are written to a file named
dyn-file-error.log in the log directory.
gARIM listens for BUSY
notifications
from the ARDOP TNC, which are sent to the host program when a
signal is detected in the RF channel. When the channel is busy,
gARIM displays the BUSY indicator in the status
bar:
gARIM will check the RF channel busy status when the operator initiates any of these actions:
If the RF channel is busy, gARIM will cancel the operation and an error message will be shown on the status bar. If sending a message, the operator is prompted to save it to the outbox to be sent later. This helps prevent collisions between transmissions on a busy channel, for example during net operations.
The TNC does not send BUSY
notifications to the host program during an ARQ session.
The ARDOP TNC's busy detect feature is influenced by these configuration parameters:
busydet
sets the
threshold for the busy detector. The range is 0 to 10, where 0
means disabled. Lower values make the detector more
sensitive, and higher values make it less sensitive. The default
value is 5, which works well for most installations.arqbw
sets the
bandwidth for ARQ mode. This, to a certain extent, controls the
bandwidth of the busy detector. Based on testing and my reading of
the source code for the ARDOP TNCs, the 200Hz and 500Hz ARQ
bandwidths result in a busy detector bandwidth of a little less
than 1kHz; higher ARQ bandwidths result in a a busy detector
bandwidth of a little over 2.5kHz.In some cases, gARIM may not receive a BUSY
FALSE
notification when one is expected. This can leave
gARIM stuck in the [RF CHANNEL BUSY]
state, and
attempts to start a new operation will fail. If this happens, the
operator can recover by pressing the <ESC> key to reset
gARIM's busy state.
Logging can be enabled or disabled in the
[log]
section of the garim.ini configuration file. These are the
traffic log, the debug log and the log for the TNC-Pi9K6 serial TNC.
These log files are created in the log subdirectory of the gARIM working directory. By default, logging output for all TNCs is directed here.
However, this arrangement doesn't work well if more
than one instance of gARIM is running at the same time. In this
case, logging output from each instance can be directed to separate
directories with settings in the
[tnc]
sections for each TNC in the
garim.ini configuration file. Settings
made here override the default settings in the
[log]
section when that TNC is
attached. This prevents intermingling of the logging output from
different TNCs in the default log files.
To configure default log settings in the
[log]
section of the garim.ini configuration file:
Set the traffic-log
parameter to TRUE to enable traffic logging and to FALSE to disable
it.
Set the debug-log
parameter to TRUE to enable debug logging and to FALSE to disable
it.
Set the tncpi9k6-log
parameter to TRUE to enable TNC-Pi9K6 logging and to FALSE to
disable it.
To configure TNC specific log settings in the
[tnc]
section of the garim.ini configuration file:
Use the log-dir
parameter to specify the directory where log files are located if
TNC specific logging is enabled. This can be an absolute path or a
relative path rooted in the user's home directory. Max length is
255 characters. Default: the user's home directory.
Set the traffic-log
parameter to TRUE to enable traffic logging and to FALSE to disable
it.
Set the debug-log
parameter to TRUE to enable debug logging and to FALSE to disable
it.
Set the tncpi9k6-log
parameter to TRUE to enable TNC-Pi9K6 logging and to FALSE to
disable it.
If one or more of
traffic-log
,
debug-log
or
tncpi9k6-log
are set to TRUE, then
logging output for this TNC is directed to the directory specified
by log-dir
. If
traffic-log
,
debug-log
and
tncpi9k6-log
are all absent or all
set to FALSE, then the global settings in the
[log]
section are used, and logging
output is directed to the default log directory.
Another log file, the dynamic file error log, is always enabled. It logs error messages from scripts or programs that generate dynamic file text output.
By default, logs are kept in the log
subdirectory of the gARIM working directory (or the
$HOME/garim directory if gARIM is installed) unless directed
to a different location for a particular TNC by parameters in the
[tnc]
section of the garim.ini configuration file. Logs are
automatically rotated every 24 hours. The file name format is
name-YYYYMMDD.log where name is either
traffic, debug, tncpi9k6 or
dyn-file-error, followed by the date, e.g.
traffic-20161114.log.
To view a log file, choose File->View Log File... from the main menu. The Select Log File dialog box opens in the currently active log file directory. Select a log file and press OK to open it for reading.
If you are already running ARIM on Cygwin, it's easy to run gARIM also if the X Window System is installed (Cygwin/X).
To install the X Window System:
To start the X Window System on Cygwin:
startxwin
command:
To install gARIM on Cygwin/X:
port
. Set
the font-size
parameter in the
ui
section to your
liking.To start gARIM on Cygwin/X:
./garim &
command:
./garim &
command runs
gARIM as a background program, so you can close the XTerm window
now if you like.To shut down the X Window System on Cygwin:
When using the TNC-Pi9K6, the TNC must be programmed with the ARDOP Teensy firmware, and the host Raspberry Pi must be configured to assign the proper serial port hardware to the TNC.
Configure the Raspberry Pi: Follow the instructions in the TNC-Pi9K6 TNC-Pi9K6 User Guide to use the raspi-config program to enable the serial port. You will address the port as /dev/serial0 in the garim.ini configuration file.
Program the TNC-Pi9K6: You must compile and install either the ARDOP_Teensy or ARDOP2_Teensy firmware into the TNC-Pi9K6. Follow the instructions in the TNC-Pi9K6 User Guide to install the Arduino IDE and the Teensyduino add-on, compile from source code and program the TNC.
Please note the following:
#define MONPORT Serial
look like
//#define MONPORT Serial
before compiling the program.
Set the tncpi9k6-log parameter in the garim.ini
configuration file to TRUE to enable or FALSE to
disable logging.#define HOSTPORT Serial1
look like
#define HOSTPORT Serial
before compiling. If you do
this, you must address serial port /dev/ttyACM0 in the
garim.ini configuration file.Copyright © 2016-2021 by Robert Cunnings NW8L. Last modified: 20 Dec 2021.