mirror of
https://github.com/thetechprepper/emcomm-tools-os-community.git
synced 2026-09-17 15:41:44 -04:00
Merge pull request #113 from thetechprepper/feature/winlink-mercury
Merge feature/winlink-mercury to release/r7
This commit is contained in:
+16
-4
@@ -1,7 +1,7 @@
|
||||
# EmComm Tools Regression Tests
|
||||
|
||||
- **Build**: ETC R7 Build 15
|
||||
- **Date**: 8 August 2026
|
||||
- **Build**: ETC R7 Build 18
|
||||
- **Date**: 23 August 2026
|
||||
|
||||
## First Login
|
||||
|
||||
@@ -87,8 +87,19 @@
|
||||
* [ ] RMS station listed
|
||||
* [ ] Select RMS gateway => VFO updated
|
||||
* [ ] Connect
|
||||
* [ ] winlink-mercury (P2P)
|
||||
* [ ] wwv
|
||||
* [ ] reticulum
|
||||
|
||||
## Reticulum
|
||||
* [ ] Blueprints
|
||||
* [ ] Rnode
|
||||
* [ ] Packet
|
||||
* [ ] Modem73
|
||||
* [ ] Mercury
|
||||
* [ ] Local network
|
||||
* [ ] Internet
|
||||
* [ ] Transport
|
||||
* [ ] MeshChat
|
||||
|
||||
## Bluetooth TNC
|
||||
|
||||
@@ -161,6 +172,7 @@
|
||||
* [ ] modem73
|
||||
* [ ] mercury
|
||||
|
||||
## Email
|
||||
## Email/Internet
|
||||
|
||||
* [ ] Thunderbird installed
|
||||
* [ ] et-mode: winlink-telnet
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
# Author : Gaston Gonzalez
|
||||
# Date : 12 August 2026
|
||||
# Purpose : User systemd unit file for EmComm Tools that starts mercury
|
||||
# : in a Winlink configuration.
|
||||
#
|
||||
# Usage:
|
||||
# Check status : systemctl --user status et-service-mercury-winlink
|
||||
# Start service : systemctl --user start et-service-mercury-winlink
|
||||
# Stop service : systemctl --user stop et-service-mercury-winlink
|
||||
# Reload this config : systemctl --user daemon-reload
|
||||
|
||||
[Unit]
|
||||
Description=EmComm Tools mercury default service for winlink performance
|
||||
|
||||
[Service]
|
||||
ExecStart=/opt/emcomm-tools/bin/et-mercury winlink
|
||||
Restart=no
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -0,0 +1,19 @@
|
||||
# Author : Gaston Gonzalez
|
||||
# Date : 12 August 2026
|
||||
# Purpose : User systemd unit file for EmComm Tools Winlink over Mercury HF
|
||||
#
|
||||
# Usage:
|
||||
# Check status : systemctl --user status et-service-winlink-mercury
|
||||
# Start service : systemctl --user start et-service-winlink-mercury
|
||||
# Stop service : systemctl --user stop et-service-winlink-mercury
|
||||
# Reload this config : systemctl --user daemon-reload
|
||||
|
||||
[Unit]
|
||||
Description=EmComm Tools Winlink ARDOP service
|
||||
|
||||
[Service]
|
||||
ExecStart=/opt/emcomm-tools/bin/et-winlink start-mercury-hf
|
||||
Restart=no
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -0,0 +1,19 @@
|
||||
# Author : Gaston Gonzalez
|
||||
# Date : 21 November 2024
|
||||
# Purpose : User systemd unit file for EmComm Tools Winlink over ARDOP
|
||||
#
|
||||
# Usage:
|
||||
# Check status : systemctl --user status et-service-winlink-telnet
|
||||
# Start service : systemctl --user start et-service-winlink-telnet
|
||||
# Stop service : systemctl --user stop et-service-winlink-telnet
|
||||
# Reload this config : systemctl --user daemon-reload
|
||||
|
||||
[Unit]
|
||||
Description=EmComm Tools Winlink telnet service
|
||||
|
||||
[Service]
|
||||
ExecStart=/opt/emcomm-tools/bin/et-winlink start-telnet
|
||||
Restart=no
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
File diff suppressed because one or more lines are too long
@@ -2,7 +2,7 @@
|
||||
#
|
||||
# Author : Gaston Gonzalez
|
||||
# Date : 12 November 2024
|
||||
# Updated : 16 July 2026
|
||||
# Updated : 23 August 2026
|
||||
# Purpose : Stops all EmComm Tools soundcard-based services (i.e. modems)
|
||||
# and radio applications to ensure a clean start for the next mode.
|
||||
|
||||
@@ -19,8 +19,10 @@ stop_pat() {
|
||||
# 2. Stop the applications first, then the modems.
|
||||
stop_all_services() {
|
||||
systemctl --user stop et-service-winlink-ardop
|
||||
systemctl --user stop et-service-winlink-mercury
|
||||
systemctl --user stop et-service-winlink-packet
|
||||
systemctl --user stop et-service-winlink-native-packet
|
||||
systemctl --user stop et-service-winlink-telnet
|
||||
systemctl --user stop et-service-ardop
|
||||
systemctl --user stop et-service-direwolf-300
|
||||
systemctl --user stop et-service-direwolf-9600
|
||||
@@ -41,6 +43,8 @@ stop_all_services() {
|
||||
systemctl --user stop et-service-mercury-balanced
|
||||
systemctl --user stop et-service-mercury-reliability
|
||||
systemctl --user stop et-service-mercury-fast
|
||||
systemctl --user stop et-service-mercury-winlink
|
||||
pkill mercury
|
||||
|
||||
# Stop VARA with a sledge hammer
|
||||
pkill et-winlink
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#
|
||||
# Author : Gaston Gonzalez
|
||||
# Date : 16 July 2026
|
||||
# Updated : 17 July 2026
|
||||
# Updated : 12 August 2026
|
||||
# Purpose : Wrapper script for starting Mercury with PnP support
|
||||
#
|
||||
# Preconditions:
|
||||
@@ -29,6 +29,7 @@ usage() {
|
||||
echo " reliability - Max reliability (Slower Speed) [DATAC1]"
|
||||
echo " balanced - Balanced (Reliability and Speed) [DATAC17]"
|
||||
echo " fast - Fast (Low Reliability) [QAM16C2]"
|
||||
echo " winlink - Used for Winlink [DATAC3]"
|
||||
}
|
||||
|
||||
if [[ $# -ne 1 ]]; then
|
||||
@@ -43,6 +44,9 @@ case "${MODE}" in
|
||||
reliability)
|
||||
MODE_INDEX="0"
|
||||
;;
|
||||
winlink)
|
||||
MODE_INDEX="1"
|
||||
;;
|
||||
balanced)
|
||||
MODE_INDEX="9"
|
||||
et-log "Mode not yet supported."
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#
|
||||
# Author : Gaston Gonzalez
|
||||
# Date : 6 November 2024
|
||||
# Updated : 14 June 2026
|
||||
# Updated : 23 August 2026
|
||||
# Purpose : Configures the system for a specific mode of operation
|
||||
|
||||
# Use a simple text file to save the state of the last mode selected
|
||||
@@ -20,9 +20,11 @@ MODE_ID_BBS_SERVER="bbs-server"
|
||||
MODE_ID_CHAT_CLIENT="chat-chattervox"
|
||||
MODE_ID_PACKET_DIGIPEATER="packet-digipeater"
|
||||
MODE_ID_WINLINK_ARDOP="winlink-ardop"
|
||||
MODE_ID_WINLINK_MERCURY="winlink-mercury"
|
||||
MODE_ID_WINLINK_PACKET="winlink-packet"
|
||||
MODE_ID_WINLINK_VARA_HF="winlink-vara-hf"
|
||||
MODE_ID_WINLINK_VARA_FM="winlink-vara-fm"
|
||||
MODE_ID_WINLINK_TELNET="winlink-telnet"
|
||||
MODE_ID_TIME_WWV="time-wwv"
|
||||
|
||||
# Default to 1200 baud packet for terminal sessions
|
||||
@@ -150,12 +152,14 @@ if [ -e "${HOME}/.wine32/drive_c/VARA FM/VARAFM.exe" ]; then
|
||||
options+=("${MODE_ID_WINLINK_VARA_FM}" "Winlink over VHF/UHF (VARA FM)")
|
||||
fi
|
||||
|
||||
options+=("${MODE_ID_WINLINK_MERCURY}" "Winlink over HF (Mercury)")
|
||||
options+=("${MODE_ID_WINLINK_ARDOP}" "Winlink over HF (ARDOP)")
|
||||
|
||||
if [ -e "${HOME}/.wine32/drive_c/VARA/VARA.exe" ]; then
|
||||
options+=("${MODE_ID_WINLINK_VARA_HF}" "Winlink over HF (VARA HF)")
|
||||
fi
|
||||
|
||||
options+=("${MODE_ID_WINLINK_TELNET}" "Winlink over telnet (Internet)")
|
||||
options+=("${MODE_ID_TIME_WWV}" "Sync clock to WWV")
|
||||
|
||||
# Prompt user for option and save exit status
|
||||
@@ -250,6 +254,12 @@ if [ $exit_status -eq 0 ]; then
|
||||
start_and_wait_for_service et-service-winlink-ardop
|
||||
min http://localhost:8080
|
||||
;;
|
||||
${MODE_ID_WINLINK_MERCURY})
|
||||
et-log "Using Mercury as the modem."
|
||||
start_and_wait_for_service et-service-mercury-winlink
|
||||
start_and_wait_for_service et-service-winlink-mercury
|
||||
min http://localhost:8080
|
||||
;;
|
||||
${MODE_ID_WINLINK_PACKET})
|
||||
start_and_wait_for_service et-service-direwolf-simple
|
||||
start_and_wait_for_service et-service-winlink-packet
|
||||
@@ -271,6 +281,10 @@ if [ $exit_status -eq 0 ]; then
|
||||
sleep 1
|
||||
min http://localhost:8080 2>/dev/null
|
||||
;;
|
||||
${MODE_ID_WINLINK_TELNET})
|
||||
start_and_wait_for_service et-service-winlink-telnet
|
||||
min http://localhost:8080 2>/dev/null
|
||||
;;
|
||||
${MODE_ID_TIME_WWV})
|
||||
wwv_mode
|
||||
sudo /opt/emcomm-tools/sbin/wrapper-et-wwv.sh
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#
|
||||
# Author : Gaston Gonzalez
|
||||
# Date : 4 November 2024
|
||||
# Updated : 4 February 2025
|
||||
# Updated : 23 August 2026
|
||||
# Purpose : Wrapper script for starting YAAC with PnP support
|
||||
#
|
||||
# Preconditions:
|
||||
@@ -26,6 +26,8 @@ usage() {
|
||||
echo " start-native-packet - Start Pat Winlink in native AX.25 packet mode"
|
||||
echo " start-vara-fm - Start Pat Winlink in VARA FM mode"
|
||||
echo " start-vara-hf - Start Pat Winlink in VARA HF mode"
|
||||
echo " start-mercury-hf - Start Pat Winlink in Mercury HF mode"
|
||||
echo " start-telnet - Start Pat Winlink in telnet mode"
|
||||
}
|
||||
|
||||
if [ $# -ne 1 ]; then
|
||||
@@ -112,6 +114,27 @@ start_vara_hf() {
|
||||
${CMD}
|
||||
}
|
||||
|
||||
start_mercury_hf() {
|
||||
|
||||
update_config mercury-hf
|
||||
|
||||
CMD="pat http"
|
||||
et-log "Starting Pat with: ${CMD}"
|
||||
|
||||
${CMD}
|
||||
}
|
||||
|
||||
start_telnet () {
|
||||
|
||||
update_config telnet
|
||||
|
||||
CMD="pat http"
|
||||
et-log "Starting Pat with: ${CMD}"
|
||||
|
||||
${CMD}
|
||||
}
|
||||
|
||||
|
||||
update_config () {
|
||||
|
||||
[ -z "$ET_USER_CONFIG" ] && ET_USER_CONFIG="${HOME}/.config/emcomm-tools/user.json"
|
||||
@@ -141,6 +164,12 @@ update_config () {
|
||||
vara-hf)
|
||||
PAT_CONF_FILE_TEMPLATE=/opt/emcomm-tools/conf/template.d/winlink/config.vara-hf.json
|
||||
;;
|
||||
mercury-hf)
|
||||
PAT_CONF_FILE_TEMPLATE=/opt/emcomm-tools/conf/template.d/winlink/config.vara-hf.json
|
||||
;;
|
||||
telnet)
|
||||
PAT_CONF_FILE_TEMPLATE=/opt/emcomm-tools/conf/template.d/winlink/config.telnet.json
|
||||
;;
|
||||
esac
|
||||
|
||||
et-log "Updating Pat configuration file: ${PAT_CONF_FILE}..."
|
||||
@@ -167,6 +196,12 @@ case $1 in
|
||||
start-vara-hf)
|
||||
start_vara_hf
|
||||
;;
|
||||
start-mercury-hf)
|
||||
start_mercury_hf
|
||||
;;
|
||||
start-telnet)
|
||||
start_telnet
|
||||
;;
|
||||
*)
|
||||
echo "Invalid command."
|
||||
usage
|
||||
|
||||
@@ -0,0 +1,78 @@
|
||||
{
|
||||
"mycall": "{{ET_CALLSIGN}}",
|
||||
"secure_login_password": "{{ET_WINLINK_PASSWD}}",
|
||||
"auxiliary_addresses": [],
|
||||
"locator": "{{ET_GRID}}",
|
||||
"service_codes": [
|
||||
"PUBLIC"
|
||||
],
|
||||
"http_addr": "localhost:8080",
|
||||
"motd": [
|
||||
"Open source Winlink client - getpat.io"
|
||||
],
|
||||
"connect_aliases": {
|
||||
"telnet": "telnet://{mycall}:CMSTelnet@cms.winlink.org:8772/wl2k"
|
||||
},
|
||||
"listen": [],
|
||||
"hamlib_rigs": {},
|
||||
"ax25": {
|
||||
"engine": "agwpe",
|
||||
"beacon": {
|
||||
"every": 3600,
|
||||
"message": "Winlink P2P",
|
||||
"destination": "IDENT"
|
||||
},
|
||||
"agwpe": {"addr": "localhost:8000", "radio_port": 0}
|
||||
},
|
||||
"serial-tnc": {
|
||||
"path": "/dev/ttyUSB0",
|
||||
"serial_baud": 9600,
|
||||
"hbaud": 1200,
|
||||
"type": "Kenwood"
|
||||
},
|
||||
"ardop": {
|
||||
"addr": "localhost:8515",
|
||||
"arq_bandwidth": {
|
||||
"Forced": false,
|
||||
"Max": 500
|
||||
},
|
||||
"rig": "",
|
||||
"ptt_ctrl": false,
|
||||
"beacon_interval": 0,
|
||||
"cwid_enabled": true
|
||||
},
|
||||
"pactor": {
|
||||
"path": "/dev/ttyUSB0",
|
||||
"baudrate": 57600,
|
||||
"rig": "",
|
||||
"custom_init_script": ""
|
||||
},
|
||||
"telnet": {
|
||||
"listen_addr": ":8774",
|
||||
"password": ""
|
||||
},
|
||||
"varahf": {
|
||||
"host": "localhost",
|
||||
"cmdPort": 8300,
|
||||
"dataPort": 8301,
|
||||
"bandwidth": 2300,
|
||||
"rig": "",
|
||||
"ptt_ctrl": false
|
||||
},
|
||||
"varafm": {
|
||||
"host": "localhost",
|
||||
"cmdPort": 8300,
|
||||
"dataPort": 8301,
|
||||
"bandwidth": 0,
|
||||
"rig": "",
|
||||
"ptt_ctrl": false
|
||||
},
|
||||
"gpsd": {
|
||||
"enable_http": true,
|
||||
"allow_forms": true,
|
||||
"use_server_time": false,
|
||||
"addr": "localhost:2947"
|
||||
},
|
||||
"schedule": {},
|
||||
"version_reporting_disabled": false
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
#
|
||||
# Author : Gaston Gonzalez
|
||||
# Date : 16 March 2024
|
||||
# Updated : 16 March 2025
|
||||
# Updated : 12 August 2026
|
||||
# Purpose : Install light weight web browsers
|
||||
#
|
||||
# Postconditions:
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
et-log "Installing Min web browser..."
|
||||
|
||||
VERSION="1.34.1"
|
||||
VERSION="1.35.6"
|
||||
FILE="min-${VERSION}-amd64.deb"
|
||||
URL="https://github.com/minbrowser/min/releases/download/v${VERSION}/${FILE}"
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#!/bin/bash
|
||||
# Author : Gaston Gonzalez
|
||||
# Date : 17 July 2025
|
||||
# Date : 17 July 2026
|
||||
# Updated : 12 August 2026
|
||||
# Purpose : Builds and installs the Mercury HF modem
|
||||
set -e
|
||||
trap 'last_command=$current_command; current_command=$BASH_COMMAND' DEBUG
|
||||
@@ -9,7 +10,7 @@ trap 'et-log "\"${last_command}\" command failed with exit code $?."' ERR
|
||||
. ./env.sh
|
||||
|
||||
APP="mercury"
|
||||
VERSION="1.9.9"
|
||||
VERSION="1.9.11"
|
||||
APP_AND_VERSION="${APP}-${VERSION}"
|
||||
GIT_TAG="v${VERSION}"
|
||||
GIT_URL="https://github.com/Rhizomatica/mercury.git"
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
#!/bin/bash
|
||||
# Author : Gaston Gonzalez
|
||||
# Date : 11 January 2023
|
||||
# Updated : 4 November 2024
|
||||
# Updated : 20 August 2026
|
||||
# Purpose : Install Pat Winlink client
|
||||
set -e
|
||||
trap 'last_command=$current_command; current_command=$BASH_COMMAND' DEBUG
|
||||
trap 'et-log "\"${last_command}\" command failed with exit code $?."' ERR
|
||||
|
||||
VERSION=0.16.0
|
||||
VERSION=1.0.0
|
||||
FILE="pat_${VERSION}_linux_amd64.deb"
|
||||
|
||||
et-log "Installing Pat Winlink client version ${VERSION}..."
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#!/bin/bash
|
||||
# Author : Gaston Gonzalez
|
||||
# Date : 3 November 2024
|
||||
# Updated : 4 November 2024
|
||||
# Updated : 21 August 2026
|
||||
# Purpose : Test Pat Winlink installation
|
||||
|
||||
OUT=$(pat version | grep v0.16.0)
|
||||
OUT=$(pat version | grep v1.0.0)
|
||||
exit $?
|
||||
|
||||
Reference in New Issue
Block a user