From 752f62a7bdd63c17338d6552109077f9409939d9 Mon Sep 17 00:00:00 2001 From: thetechprepper Date: Sun, 23 Aug 2026 06:39:01 -0700 Subject: [PATCH] Pat - For quick testing, added a Winlink mode for Telnet to et-mode --- overlay/opt/emcomm-tools/bin/et-kill-all | 3 +- overlay/opt/emcomm-tools/bin/et-mode | 8 +- overlay/opt/emcomm-tools/bin/et-winlink | 20 ++++- .../template.d/winlink/config.telnet.json | 78 +++++++++++++++++++ 4 files changed, 106 insertions(+), 3 deletions(-) create mode 100644 overlay/opt/emcomm-tools/conf/template.d/winlink/config.telnet.json diff --git a/overlay/opt/emcomm-tools/bin/et-kill-all b/overlay/opt/emcomm-tools/bin/et-kill-all index 9933cde..389edf3 100755 --- a/overlay/opt/emcomm-tools/bin/et-kill-all +++ b/overlay/opt/emcomm-tools/bin/et-kill-all @@ -2,7 +2,7 @@ # # Author : Gaston Gonzalez # Date : 12 November 2024 -# Updated : 20 August 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. @@ -22,6 +22,7 @@ stop_all_services() { 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 diff --git a/overlay/opt/emcomm-tools/bin/et-mode b/overlay/opt/emcomm-tools/bin/et-mode index d4bb6bf..a57a262 100755 --- a/overlay/opt/emcomm-tools/bin/et-mode +++ b/overlay/opt/emcomm-tools/bin/et-mode @@ -2,7 +2,7 @@ # # Author : Gaston Gonzalez # Date : 6 November 2024 -# Updated : 12 August 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 @@ -24,6 +24,7 @@ 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 @@ -158,6 +159,7 @@ 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 @@ -279,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 diff --git a/overlay/opt/emcomm-tools/bin/et-winlink b/overlay/opt/emcomm-tools/bin/et-winlink index 1494425..051edd4 100755 --- a/overlay/opt/emcomm-tools/bin/et-winlink +++ b/overlay/opt/emcomm-tools/bin/et-winlink @@ -2,7 +2,7 @@ # # Author : Gaston Gonzalez # Date : 4 November 2024 -# Updated : 12 August 2026 +# Updated : 23 August 2026 # Purpose : Wrapper script for starting YAAC with PnP support # # Preconditions: @@ -27,6 +27,7 @@ usage() { 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 @@ -123,6 +124,17 @@ start_mercury_hf() { ${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" @@ -155,6 +167,9 @@ update_config () { 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}..." @@ -184,6 +199,9 @@ case $1 in start-mercury-hf) start_mercury_hf ;; + start-telnet) + start_telnet + ;; *) echo "Invalid command." usage diff --git a/overlay/opt/emcomm-tools/conf/template.d/winlink/config.telnet.json b/overlay/opt/emcomm-tools/conf/template.d/winlink/config.telnet.json new file mode 100644 index 0000000..5a6ed80 --- /dev/null +++ b/overlay/opt/emcomm-tools/conf/template.d/winlink/config.telnet.json @@ -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 +}