mirror of
https://github.com/LFManifesto/ReticulumHF
synced 2026-08-14 19:31:48 -04:00
Major changes: - Removed all I2P functionality (HF radio focus) - Fixed service startup timing (freedvtnc2 before rnsd) - Fixed first-boot not marking setup_complete prematurely - Fixed wizard step numbering (8 steps, not 9) - Updated README with accurate workflow and documentation Bug fixes (closes #2-#8): - #8: Field WiFi no longer overrides ReticulumHF-Setup - #7: ALSA config included for freedvtnc2 - #6: Client list uses ARP table for accuracy - #5: Digirig partial detection now reported correctly - #4: fake-hwclock preserves date across reboots - #3: Set Audio validates and returns actual errors - #2: I2P removed (was never fully functional) Tested and verified: - Fresh image boot and first-boot completion - Setup wizard flow - Sideband TCP connection - HF announce triggers radio PTT correctly Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
64 lines
1.6 KiB
Bash
Executable file
64 lines
1.6 KiB
Bash
Executable file
#!/bin/bash
|
|
# ReticulumHF Stack Startup Script
|
|
# Starts rigctld, freedvtnc2, rnsd, and nomadnet in proper order
|
|
|
|
set -e
|
|
|
|
# Load configuration
|
|
source /etc/reticulumhf/config.env
|
|
|
|
echo "[ReticulumHF] Starting stack..."
|
|
|
|
# Start rigctld in background
|
|
echo "[ReticulumHF] Starting rigctld..."
|
|
eval "$RIGCTLD_CMD" &
|
|
RIGCTLD_PID=$!
|
|
echo "[ReticulumHF] rigctld started (PID: $RIGCTLD_PID)"
|
|
|
|
# Wait for rigctld to be ready
|
|
sleep 3
|
|
|
|
# Test rigctld is responding
|
|
if ! rigctl -m 2 f > /dev/null 2>&1; then
|
|
echo "[ReticulumHF] Warning: rigctld may not be responding"
|
|
fi
|
|
|
|
# Start freedvtnc2 in background
|
|
echo "[ReticulumHF] Starting freedvtnc2..."
|
|
eval "$FREEDVTNC2_CMD" &
|
|
FREEDVTNC2_PID=$!
|
|
echo "[ReticulumHF] freedvtnc2 started (PID: $FREEDVTNC2_PID)"
|
|
|
|
# Wait for TNC to initialize
|
|
sleep 5
|
|
|
|
# Start rnsd (Reticulum daemon)
|
|
echo "[ReticulumHF] Starting rnsd..."
|
|
rnsd &
|
|
RNSD_PID=$!
|
|
echo "[ReticulumHF] rnsd started (PID: $RNSD_PID)"
|
|
|
|
# Wait for Reticulum to initialize
|
|
sleep 3
|
|
|
|
# Start NomadNet in headless mode
|
|
echo "[ReticulumHF] Starting NomadNet..."
|
|
nomadnet --daemon &
|
|
NOMADNET_PID=$!
|
|
echo "[ReticulumHF] NomadNet started (PID: $NOMADNET_PID)"
|
|
|
|
echo "[ReticulumHF] Stack started successfully"
|
|
echo "[ReticulumHF] PIDs: rigctld=$RIGCTLD_PID freedvtnc2=$FREEDVTNC2_PID rnsd=$RNSD_PID nomadnet=$NOMADNET_PID"
|
|
|
|
# Save PIDs for stop script
|
|
echo "$RIGCTLD_PID" > /run/reticulumhf/rigctld.pid
|
|
echo "$FREEDVTNC2_PID" > /run/reticulumhf/freedvtnc2.pid
|
|
echo "$RNSD_PID" > /run/reticulumhf/rnsd.pid
|
|
echo "$NOMADNET_PID" > /run/reticulumhf/nomadnet.pid
|
|
|
|
# Wait for any process to exit
|
|
wait -n
|
|
|
|
# If we get here, something crashed
|
|
echo "[ReticulumHF] A process exited unexpectedly"
|
|
exit 1
|