# DStarMonitor

## Overview

DStarMonitor was developed in 2006 to provide database reporting on the Icom D-STAR repeaters. To do so, it utilizes PCAP to passively monitor the communications between the Icom repeater controller and the Icom gateway server. It is written in Java to allow for porting to other platforms and to be integrated with javAPRSSrvr. The integration with javAPRSSrvr made possible DPRS  decoding at the gateway for all D-STAR repeaters. DStarMonitor continues to be developed and is now distributed via the US Trust G3 installation scripts and is available here for ircddbgateway standalone installations (thanks to K7VE for extensive input and testing). DStarMonitor/javAPRSSrvr is the only DPRS compliant IGate per the DPRS specification and the current D-STAR specification from JARL.

On G3 gateways with DPlus installed, DStarMonitor provides bidirectional DPRS , DStarQuery access, and activity reporting to dstarusers.org last heard database. DStarMonitor also supports other databases if the sysop desires. All configuration and installation is done using the US Trust installation scripts.

On ircddbgateway, DStarMonitor provides bidirectional DPRS  on non-Icom repeaters using the ircddbgateway's D-RATS support to access the serial data stream. For Icom repeaters on the ircddbgateway, DStarMonitor provides receive only DPRS  and also supports database updates to sysop defined databases.

Because DStarQuery is included with DStarMonitor, it is always available in a standalone mode to connect to the D-RATS TCP port to provide DStarQuery capabilities to non-Icom repeaters. It is available as an integrated process on the G3 distribution and is configured using special dstarquery.properties files.

It is important to note that DStarMonitor adheres to the original intent of DPRS: to provide translation of the GPS(NMEA) and GPS-A(DPRS) information to APRS in a manner that is non-invasive to either the APRS or D-STAR networks. To accomplish this, the translation -only- occurs for directly received information (from RF) and only occurs on the first successfully received sequence per received D-STAR transmission. In the case of bidirectionally enabled connections to D-STAR, only gated packets will be transmitted over D-STAR.  This ensures a non-interruptive presence to the D-STAR DV channel and the ability to gate translated packets to local RF without adversely loading the local APRS channel.

The full manual is DStarMonitor.pdf

## ircddbgateway Installation and Usage

NOTE: All ircddbgateway and ircddb add-on installations with DStarMonitor installed MUST disable APRS to prevent issues with differing reports.

The DStarMonitor4.zip(4.3.3)(2/27/2022) file contains all of the jars necessary for non-Icom repeater operation. Unzip this file into its own directory (/opt/DStarMonitor recommended for Linux, C:\DStarMonitor recommended for Windows).

For Linux installations, download ircddblinux.tar.gz and unzip into the DStarMonitor folder. If your ircddbgateway configuration is not /etc/opendv/ircddbgateway then modify dstarmonitor.properties to point to the correct file. Make sure the stderr entry points to a folder that is writable. Move DStarMonitor.service to the /lib/systemd/system folder. Now run "sudo systemctl enable DStarMonitor" without the quotation marks on the command line to enable the service and have it start on bootup.

For Pi-Star users, there are a couple more caveats: You will need to turn off APRS for all functions (is essentially non-functional for non-D-STAR modes since it uses the repeater location for a station's lat/lon and it falsely purports to be DPRS). This is done via the Advanced settings for ircddbgateway. You will also have to SSH in and run pistar-expand which expands available disk space to the entire SD. Log back into SSH after rebooting and run the following:

1. sudo su
2. rpi-rw
4. tar -xvf pi-star.tar.gz
5. ./dsminstall.sh

The above commands download the pi-star.tar.gz tar ball and installs OpenJDK 8 JRE and DStarMonitor in /opt/DSTARMonitor. It also installs the service and starts it. Feel free to modify dsminstall.sh (and any other files in the tar ball) that matches your configuration. There is a script, updatedsm.sh which is also installed int /opt/DStarMonitor which automatically updates DStarMonitor if the zip file here has been updated. Run it as root (sudo su) by changing directory to /opt/DStarMonitor and entering ./updatedsm.sh on the command line. If you downloaded the pi-star.tar.gz prior to the inclusion of updatedsm.sh, you can redownload (per steps 1-4 above) and move updatedsm.sh to the /opt/DStarMonitor folder (mv updatedsm.sh /opt/DStarMonitor/).

If you are using the current defautl Open JDK (apt get default-jdk), you are using Java 11. DStarMonitor supports modules (since Java 9) and can run as a module. The following command line shows how to run it as a module program. One note is the -XX:-UsePerfData which turns off performance data collection for JVM monitoring. This reduces overhead and is supported in the command line since before Java 8.

java -XX:-UsePerfData -p DStarMonitor4.jar:javAPRSSrvrCore.jar -m dstarmonitor.main

For Windows installations, create a text file in your DStarMonitor folder called dstarmonitor.properties Add one line that is ircddbgatewayConfig=path\\to\\your\\ircddbgateway\\config\\file Note the double back slashes as properties file consider the back slash a special character. To run DStarMonitor, you will open a command window and enter java -jar DStarMonitor.jar or double click on it in File Manager.

If you have Icom repeaters connected to your ircddbgateway via an RP2C, you will also need to download the following jars and place them in your DStarMonitor folder (these jars normally have version information following the base name and that is fine):

• JNA jna.jar
• PCAP4J pcap4j-core.jar pcap4j-packetfactory-static.jar
• SLF4J slf4j-api.jar slf4j-jdk14.jar

These jars provide the PCAP support needed to monitor the communcations from the RP2C. PCAP4J also relies on PCAP to be installed. The current libpcap can be installed by running either 'sudo yum install libpcap' or 'sudo apt-get install libpcap0.8', whichever is appropriate for your distro. The current WinPcap should be Npcap installed in WinPcap compatibile mode from nmap.org