diff --git a/ISSUES.md b/ISSUES.md new file mode 100644 index 0000000..8640df1 --- /dev/null +++ b/ISSUES.md @@ -0,0 +1,10 @@ +# ISSUES + +## OPEN ISSUES + +* [ ] None + +## RESOLVED ISSUES + +* Mercury modem will not key the PTT via rigctld for non-VOX devices (i.e. DigiRig Lite) + * 07/17/26 - Fixed. Use the "-R 2" (network mode) option to force a rig model that works with rigctld diff --git a/overlay/etc/skel/.reticulum/config.blueprint.mercury-only-node b/overlay/etc/skel/.reticulum/config.blueprint.mercury-only-node index 763a0ef..a339e60 100644 --- a/overlay/etc/skel/.reticulum/config.blueprint.mercury-only-node +++ b/overlay/etc/skel/.reticulum/config.blueprint.mercury-only-node @@ -88,12 +88,12 @@ type = TCPClientInterface mode = roaming interface_enabled = {{ET_RETICULUM_INTERFACE_MERCURY_ENABLED}} - kiss_framing = yes + kiss_framing = yes target_host = 127.0.0.1 - target_port = 8100 + target_port = 8100 # Index Mode Payload Rate (bps) # 0 DATAC1 980 # 9 DATAC17 1410 (not yet supported) # 10 QAM16C2 3100 (not yet supported) - bitrate = 980 + bitrate = 980 diff --git a/overlay/etc/skel/.reticulum/config.blueprint.permanent-transport-node b/overlay/etc/skel/.reticulum/config.blueprint.permanent-transport-node index 36d6a51..c1889da 100644 --- a/overlay/etc/skel/.reticulum/config.blueprint.permanent-transport-node +++ b/overlay/etc/skel/.reticulum/config.blueprint.permanent-transport-node @@ -1,6 +1,6 @@ # Author : Gaston Gonzalez # Date : 7 June 2026 -# Updated : 16 July 2026 +# Updated : 6 August 2026 # Blueprint : Permament Transport Node # Purpose : This configuration is a blueprint for running a # node that runs as a 24x7 transport node with @@ -83,12 +83,12 @@ [[Default Interface]] type = AutoInterface - mode = ap + mode = internal enabled = yes [[Packet Radio AX.25 KISS]] type = AX25KISSInterface - mode = ap + mode = internal enabled = {{ET_RETICULUM_INTERFACE_AX25KISS_ENABLED}} callsign = {{ET_CALLSIGN}} @@ -99,7 +99,7 @@ [[RNode LoRa Interface]] type = RNodeInterface - mode = ap + mode = internal enabled = {{ET_RETICULUM_INTERFACE_RNODE_ENABLED}} port = /dev/et-lora @@ -107,11 +107,9 @@ # Set frequency to 915 MHz frequency = 915000000 - #frequency = {{ET_RETICULUM_INTERFACE_RNODE_FREQUENCY}} # Set LoRa bandwidth to 125 KHz bandwidth = 125000 - #bandwidth = {{ET_RETICULUM_INTERFACE_RNODE_BANDWIDTH}} # Set TX power in dBm # @@ -132,25 +130,20 @@ # being the fastest and 12 having # the longest range. spreadingfactor = 9 - #spreadingfactor = {{ET_RETICULUM_INTERFACE_RNODE_SPREADINGFACTOR}} # Select coding rate 5. Valid range # is 5 throough 8, with 5 being the # fastest, and 8 the longest range. codingrate = 5 - #codingrate = {{ET_RETICULUM_INTERFACE_RNODE_CODINGRATE}} - # EmComm Tools is designed to be an offline platform, so the - # TCP Client interface is left as an example that user must - # configure. -# [[TCP Client]] -# type = TCPClientInterface -# enabled = yes -# mode = boundary -# # Set the IP address to the remote TCP Server -# target_host = IP_ADDRESS_HERE -# target_port = 4242 -# # If the remote TCP Server uses IFAC (Interface Access Codes), -# # set the network_name and passphrase. -# #network_name = NETWORK_NAME_HERE -# #passphrase = PASSPHRASE_HERE + # EmComm Tools is designed to be an offline platform, so the + # TCP Client interface is left as an example that user must + # configure. + [[TCP Client to TTP Gateway]] + type = TCPClientInterface + mode = boundary + enabled = yes + target_host = rns.thetechprepper.com + target_port = 11312 + network_name = ttp_internal + passphrase = resistance202606 diff --git a/overlay/etc/skel/.reticulum/config.blueprint.rnode-only-node b/overlay/etc/skel/.reticulum/config.blueprint.rnode-only-node index 58cbc72..323ae99 100644 --- a/overlay/etc/skel/.reticulum/config.blueprint.rnode-only-node +++ b/overlay/etc/skel/.reticulum/config.blueprint.rnode-only-node @@ -1,8 +1,8 @@ # Author : Gaston Gonzalez # Date : 7 June 2026 -# Updated : 16 July 2026 +# Updated : 6 August 2026 # Blueprint : RNode-Only Node; transport disabled. -# Purpose : This confguration is a blueprint for an RNode-only node. +# Purpose : This confguration is a blueprint for an RNode-only node. [reticulum] @@ -93,11 +93,9 @@ # Set frequency to 915 MHz frequency = 915000000 - #frequency = {{ET_RETICULUM_INTERFACE_RNODE_FREQUENCY}} # Set LoRa bandwidth to 125 KHz bandwidth = 125000 - #bandwidth = {{ET_RETICULUM_INTERFACE_RNODE_BANDWIDTH}} # Set TX power in dBm # @@ -118,10 +116,8 @@ # being the fastest and 12 having # the longest range. spreadingfactor = 9 - #spreadingfactor = {{ET_RETICULUM_INTERFACE_RNODE_SPREADINGFACTOR}} # Select coding rate 5. Valid range # is 5 throough 8, with 5 being the # fastest, and 8 the longest range. codingrate = 5 - #codingrate = {{ET_RETICULUM_INTERFACE_RNODE_CODINGRATE}} diff --git a/overlay/opt/emcomm-tools/bin/et-mercury b/overlay/opt/emcomm-tools/bin/et-mercury index 6b21dd6..7f625a4 100755 --- a/overlay/opt/emcomm-tools/bin/et-mercury +++ b/overlay/opt/emcomm-tools/bin/et-mercury @@ -2,6 +2,7 @@ # # Author : Gaston Gonzalez # Date : 16 July 2026 +# Updated : 17 July 2026 # Purpose : Wrapper script for starting Mercury with PnP support # # Preconditions: @@ -75,7 +76,12 @@ start() { ALSA_DEVICE=$(et-system-info et-audio-card) - CMD="mercury -m ${MODE_INDEX} -i plughw:${ALSA_DEVICE} -o plughw:${ALSA_DEVICE} -A 127.0.0.1:4532" + # Mercury implemented support for rigctld oddly. Even though the rigctld IP and port are + # specified with the -A option, the code will not trigger the PTT unless a rig model + # is specified. We can specify model '2' (network mode) with the -R option to ensure that + # the PTT conditional code blocks for hamlib are called. This explains why earlier tests + # only worked with the DigiRig Lite as it has an internal VOX circuit. + CMD="mercury -m ${MODE_INDEX} -i plughw:${ALSA_DEVICE} -o plughw:${ALSA_DEVICE} -A 127.0.0.1:4532 -R 2" et-log "Starting Mercury in mode ${MODE} with: '${CMD}'" echo diff --git a/overlay/opt/emcomm-tools/bin/et-reticulum b/overlay/opt/emcomm-tools/bin/et-reticulum index d40cf41..7aa2e28 100755 --- a/overlay/opt/emcomm-tools/bin/et-reticulum +++ b/overlay/opt/emcomm-tools/bin/et-reticulum @@ -2,7 +2,7 @@ # # Author : Gaston Gonzalez # Date : 12 May 2026 -# Updated : 16 July 2026 +# Updated : 21 July 2026 # Purpose : Wrapper script for starting Reticulum with PnP support # # Preconditions: @@ -15,7 +15,8 @@ # The current version of modem73 does not alway exit. cleanup() { - pkill -9 modem73 2>/dev/null || true + pkill -9 modem73 2>/dev/null + pkill -9 mercury 2>/dev/null } trap cleanup EXIT INT TERM @@ -118,20 +119,22 @@ if [[ $? -eq 0 ]]; then #modem_options+=("mercury-fast" "Fast (Low Reliability) [QAM16C2]") fi - modem_choice=$(dialog \ - --clear \ - --title "Reticulum Configuration" \ - --menu "Select a modem" \ - 13 70 10 \ - "${modem_options[@]}" \ - 2>&1 >/dev/tty) - EXIT_STATUS=$? + if [[ ${#modem_options[@]} -gt 0 ]]; then + modem_choice=$(dialog \ + --clear \ + --title "Reticulum Configuration" \ + --menu "Select a modem" \ + 13 70 10 \ + "${modem_options[@]}" \ + 2>&1 >/dev/tty) + EXIT_STATUS=$? - tput sgr0 && clear + tput sgr0 && clear - if [[ ${EXIT_STATUS} -ne 0 ]]; then - et-log "No modem selected" - exit ${EXIT_STATUS} + if [[ ${EXIT_STATUS} -ne 0 ]]; then + et-log "No modem selected" + exit ${EXIT_STATUS} + fi fi dialog \ @@ -187,9 +190,6 @@ if [[ $? -eq 0 ]]; then et-log "Starting mercury in fast mode" start_and_wait_for_service et-service-mercury-fast ;; - *) - et-log "No modem specified" - ;; esac fi fi diff --git a/overlay/opt/emcomm-tools/conf/template.d/bbs/bpq32.simple.cfg b/overlay/opt/emcomm-tools/conf/template.d/bbs/bpq32.simple.cfg index cf29908..aef8d19 100644 --- a/overlay/opt/emcomm-tools/conf/template.d/bbs/bpq32.simple.cfg +++ b/overlay/opt/emcomm-tools/conf/template.d/bbs/bpq32.simple.cfg @@ -67,7 +67,7 @@ PORT MAXFRAME=2 ; Max outstanding frames (1 thru 7) FRACK=5000 ; Level 2 timout in milliseconds RESPTIME=1000 ; Level 2 delayed ack timer in milliseconds - RETRIES=100 ; Level 2 maximum retry value + RETRIES=10 ; Level 2 maximum retry value PACLEN=128 ; Default max packet length for this port UNPROTO=FBB ; BTEXT broadcast addrs format: ; DEST[,digi1[,digi2]] diff --git a/overlay/usr/share/ubiquity-slideshow/slides/et-mode.html b/overlay/usr/share/ubiquity-slideshow/slides/et-mode.html new file mode 100644 index 0000000..80adcde --- /dev/null +++ b/overlay/usr/share/ubiquity-slideshow/slides/et-mode.html @@ -0,0 +1,25 @@ +

Zero Configuration

+ +
+ +
+ +
+

et-mode supports zero-configuration when running your favorite radio applications and modes.

+ +
    +
  • Open a terminal.
  • +
  • Run "et-mode" and select an application
  • +
+ +

No configuration. Just operate!

+ +

For JS8Call or fldigi, just click the desktop icon.

+ +
+ +
+ + + +
diff --git a/overlay/usr/share/ubiquity-slideshow/slides/et-radio.html b/overlay/usr/share/ubiquity-slideshow/slides/et-radio.html new file mode 100644 index 0000000..c867d3f --- /dev/null +++ b/overlay/usr/share/ubiquity-slideshow/slides/et-radio.html @@ -0,0 +1,24 @@ +

Radio Plug-and-Play

+ +
+ +
+ +
+

et-radio supports plug-and-play configuration for several radios.

+ +
    +
  • Open a terminal.
  • +
  • Run "et-radio" and select your radio.
  • +
  • Plug in your radio.
  • +
+ +

No configuration needed for any radio-based application!

+ +
+ +
+ + + +
diff --git a/overlay/usr/share/ubiquity-slideshow/slides/et-reticulum.html b/overlay/usr/share/ubiquity-slideshow/slides/et-reticulum.html new file mode 100644 index 0000000..45f7c97 --- /dev/null +++ b/overlay/usr/share/ubiquity-slideshow/slides/et-reticulum.html @@ -0,0 +1,18 @@ +

Reticulum

+ +
+ +
+ +
+

et-reticulum provides plug-and-play support for running the Reticulum Network Stack (RNS) with zero configuration. It includes sample "blueprint" configurations for quickly starting a Reticulum node that can communicate over LoRa, packet radio, modem73, the Mercury HF modem, Wi-Fi, Ethernet, and even the Internet—if you must. +

+ +

The Heltec v4 is the officially supported LoRa device for EmComm Tools.

+
+ +
+ + + +
diff --git a/overlay/usr/share/ubiquity-slideshow/slides/index.html b/overlay/usr/share/ubiquity-slideshow/slides/index.html index 24e1917..a176b2a 100644 --- a/overlay/usr/share/ubiquity-slideshow/slides/index.html +++ b/overlay/usr/share/ubiquity-slideshow/slides/index.html @@ -29,9 +29,12 @@
+
+
+
diff --git a/overlay/usr/share/ubiquity-slideshow/slides/screenshots/et-mode.png b/overlay/usr/share/ubiquity-slideshow/slides/screenshots/et-mode.png new file mode 100644 index 0000000..837f3cc Binary files /dev/null and b/overlay/usr/share/ubiquity-slideshow/slides/screenshots/et-mode.png differ diff --git a/overlay/usr/share/ubiquity-slideshow/slides/screenshots/et-radio.png b/overlay/usr/share/ubiquity-slideshow/slides/screenshots/et-radio.png new file mode 100644 index 0000000..cb0fbf0 Binary files /dev/null and b/overlay/usr/share/ubiquity-slideshow/slides/screenshots/et-radio.png differ diff --git a/overlay/usr/share/ubiquity-slideshow/slides/screenshots/et-reticulum.png b/overlay/usr/share/ubiquity-slideshow/slides/screenshots/et-reticulum.png new file mode 100644 index 0000000..2000dd9 Binary files /dev/null and b/overlay/usr/share/ubiquity-slideshow/slides/screenshots/et-reticulum.png differ diff --git a/scripts/install-offline-lib.json b/scripts/install-offline-lib.json index d892494..7692cd5 100644 --- a/scripts/install-offline-lib.json +++ b/scripts/install-offline-lib.json @@ -55,7 +55,7 @@ "dir": "reticulum" }, { - "url": "https://github.com/markqvist/Reticulum/releases/download/1.3.4/Reticulum.Manual.pdf", + "url": "https://github.com/markqvist/Reticulum/releases/download/1.3.9/Reticulum.Manual.pdf", "file": "Reticulum.Manual.pdf", "dir": "reticulum" }, diff --git a/scripts/install-reticulum.sh b/scripts/install-reticulum.sh index 5c50c13..0b6025a 100755 --- a/scripts/install-reticulum.sh +++ b/scripts/install-reticulum.sh @@ -1,10 +1,10 @@ #!/bin/bash # Author : Gaston Gonzalez # Date : 13 February 2026 -# Updated : 13 July 2026 +# Updated : 19 July 2026 # Purpose : Install Reticulum -RNS_VERSION=1.3.8 +RNS_VERSION=1.3.9 et-log "Installing Python3..." apt install \