Hamradio/svxlink node/it
Una guida completa e passo-passo: da una microSD vuota a un nodo SvxLink funzionante su un Raspberry Pi — scaricare il SO, flasharlo con Wi-Fi e SSH già impostati, trovare il Pi nella tua rete, accedere, compilare SvxLink, inserire una configurazione e aggiungere una dashboard web. Nessuna esperienza Linux necessaria. Da copiare e incollare.
Cosa ti serve
- Un Raspberry Pi 3, 4 o 5 (un Pi Zero 2 W va bene ma compila lentamente).
- Una microSD, da 16 GB o più, e un lettore di schede sul tuo PC.
- Un'interfaccia audio per il lato radio (scheda audio USB, un HAT come il WM8960, o una scheda DRA/ripetitore) — non necessaria solo per far partire il software.
- Il tuo nominativo e un login reflector (host + AUTH_KEY) per il SVXReflector a cui vuoi unirti.
Parte 1 — Scaricare Raspberry Pi OS
Prendi l'immagine Lite a 64 bit di Raspberry Pi OS 13 (Trixie) — «Lite» non ha desktop, che è ciò che vuoi per un nodo.
- Il più facile: installa Raspberry Pi Imager (scarica il SO per te): https://www.raspberrypi.com/software/
- L'Imager gira su Windows, macOS e Linux.
Parte 2 — Flashare la SD (con SSH + Wi-Fi preimpostati)
Questo è il passo che ti risparmia tastiera e monitor. In Raspberry Pi Imager:
- Choose Device: il tuo modello di Pi.
- Choose OS: Raspberry Pi OS (other) → Raspberry Pi OS Lite (64-bit).
- Choose Storage: la tua SD.
- Clicca Next → Edit Settings (l'ingranaggio / «would you like to apply OS customisation?»). Imposta:
| Impostazione | Cosa mettere |
|---|---|
| Hostname | es. svxnode — raggiungerai il Pi come svxnode.local.
|
| Enable SSH | Sì → «Use password authentication» (il più semplice). |
| Username / password | scegline di tuoi, es. utente pi. Annotali.
|
| Configure wireless LAN | la tua SSID Wi-Fi + password, e il tuo paese Wi-Fi (importante o il Wi-Fi resta spento). |
| Locale / timezone / keyboard | il tuo paese. |
Salva, poi Write. Quando finisce, espelli la scheda.
Parte 3 — Avviare il Pi
Inserisci la scheda nel Pi, collega l'hardware radio/audio se ce l'hai e accendilo. Il primo avvio richiede un minuto o due (espande il filesystem e si unisce al Wi-Fi). Dagli tempo prima di cercarlo.
Parte 4 — Trovare l'indirizzo IP del Pi
Ti serve l'IP del Pi (o il suo nome .local) per accedere. Scegli ciò che funziona:
- Hostname (il più facile): usa semplicemente
svxnode.local(l'hostname che hai impostato +.local). Funziona sulla maggior parte delle reti domestiche. - Il tuo router: apri la pagina di amministrazione del router → l'elenco client DHCP / dispositivi connessi → trova
svxnodee annota il suo IP (es.192.168.1.42). - Scansiona la rete dal tuo PC:
ping svxnode.local # oppure scansiona la sottorete (Linux/Mac): nmap -sn 192.168.1.0/24
Parte 5 — Connettersi via SSH
Windows: scarica ed esegui PuTTY — https://www.putty.org/ . In Host Name scrivi svxnode.local (o l'IP), Port 22, Open. Accetta l'avviso della chiave la prima volta, poi accedi con l'utente/password che hai impostato.
macOS / Linux: usa semplicemente un terminale:
ssh pi@svxnode.local
Una volta dentro, aggiorna il sistema:
sudo apt update && sudo apt full-upgrade -y
Parte 6 — Installare SvxLink
SvxLink non è presente come build attuale nei repo predefiniti del Pi, quindi lo compili (il Pi fa il lavoro). Questo unico script installa gli strumenti di build, prende il codice da GitHub, lo compila e installa, e scarica gli annunci vocali in svedese (sv_SE) e inglese (en_US). Incollalo nella sessione SSH:
#!/bin/bash
set -e
cd ~
mkdir -p ./projects/svxlink
cd ./projects/svxlink
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
sudo apt update
sudo apt dist-upgrade -y
sudo apt autoremove -y
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
sudo apt install -y \
build-essential cmake git wget \
libgpiod3 libgpiod-dev \
alsa-utils \
libsigc++-2.0-dev libgsm1-dev libpopt-dev \
tcl8.6-dev \
libgcrypt20-dev libspeex-dev libasound2-dev libopus-dev librtlsdr-dev \
doxygen groff vorbis-tools curl \
qtbase5-dev qttools5-dev-tools qttools5-dev \
libjsoncpp-dev libcurl4-gnutls-dev libogg-dev \
sox
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
# system user for svxlink (ignored if it already exists)
if ! id -u svxlink >/dev/null 2>&1; then
sudo useradd -r -G audio,plugdev,dialout svxlink
fi
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
# fetch the source
if [ ! -d svxlink ]; then
git clone https://github.com/sm0svx/svxlink.git
fi
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
mkdir -p svxlink/src/build
cd svxlink/src/build
cmake -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONF_INSTALL_DIR=/etc \
-DLOCAL_STATE_DIR=/var -DWITH_SYSTEMD=yes ..
make -j"$(nproc)"
make doc
sudo make install
sudo ldconfig
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
# voice prompts: Swedish + English
cd ~/projects/svxlink
cp svxlink/src/svxlink/scripts/filter_sounds.sh ./
cp svxlink/src/svxlink/scripts/play_sound.sh ./
[ -d svxlink-sounds-en_US-heather ] || git clone https://github.com/sm0svx/svxlink-sounds-en_US-heather.git
[ -d svxlink-sounds-sv_SE-elin ] || git clone https://github.com/sm0svx/svxlink-sounds-sv_SE-elin.git
sudo ./filter_sounds.sh svxlink-sounds-en_US-heather en_US
sudo ./filter_sounds.sh svxlink-sounds-sv_SE-elin sv_SE
cd /usr/share/svxlink/sounds
sudo tar xvjf ~/projects/svxlink/svxlink-sounds-en_US.tar.bz2
sudo tar xvjf ~/projects/svxlink/svxlink-sounds-sv_SE.tar.bz2
make -j"$(nproc)" compila su tutti i core della CPU. Su un Pi 3 la compilazione può durare 20–40 minuti — è normale. Vai a prenderti un caffè; sta lavorando.
Parte 7 — Configurare svxlink.conf
La configurazione è in /etc/svxlink/svxlink.conf. Modificala:
sudoedit /etc/svxlink/svxlink.conf
Le parti che devi impostare sono le sezioni logic. La più importante è la connessione al reflector — ecco un [ReflectorLogic] funzionante (segreti sostituiti con CHANGE_ME):
[ReflectorLogic] TYPE=Reflector ID=9 HOSTS=svx.sa7aux.se ; your reflector's hostname CALLSIGN="MYCALL" ; your callsign AUTH_KEY="CHANGE_ME_long_random_secret" ; the key your reflector expects CERT_EMAIL=you@example.org ; for the auto TLS certificate DEFAULT_TG=0 MONITOR_TGS=9,240,24016,24020,24021 ; talkgroups you want to hear UDP_HEARTBEAT_INTERVAL=5 NODE_INFO_FILE=/etc/svxlink/node_info.json EVENT_HANDLER=/usr/share/svxlink/events.tcl
svxlink.conf, node_info.json, gpio.conf e i file dei moduli, con tutti i segreti azzerati: svxlink-config-example.zip. Decomprimilo in /etc/svxlink/ e cambia nominativo, host del reflector, AUTH_KEY e posizione con i tuoi.Altre sezioni da guardare:
| Sezione | A cosa serve |
|---|---|
| [GLOBAL] | Quali logic vengono caricate (LOGICS=SimplexLogic,ReflectorLogic) e la lingua degli annunci — imposta LANG=sv_SE o LANG=en_US.
|
| [SimplexLogic] | L'ID nominativo del nodo stesso, i comandi DTMF e a quale logic di reflector si collega. |
| [Rx1] / [Tx1] | I dispositivi audio e PTT/COS per la tua interfaccia radio (dispositivo ALSA, squelch, CTCSS). |
| [LocationInfo] | Beacon APRS opzionale (posizione, frequenza) — tutto commentato di default. |
AUTH_KEY reale, password o email. L'esempio sopra è volutamente vuoto. Metti i tuoi valori, tieni il file leggibile solo da root e non incollare il file reale in forum o chat.
Parte 8 — Avviare e verificare
Attiva e avvia il nodo, poi osserva il log:
sudo systemctl enable --now svxlink sudo systemctl status svxlink sudo journalctl -u svxlink -f
Nel log dovresti vederlo connettersi al reflector e annunciare nella lingua scelta. Se qualcuno parla su una talkgroup monitorata, lo sentirai (e lo vedrai nel log). Ctrl-C smette di seguire il log (il servizio continua a girare).
svxreflector — attiva quel servizio (sudo systemctl enable --now svxreflector) e configura /etc/svxlink/svxreflector.conf.
Aggiungere la dashboard web
Quando il nodo funziona, concediti una pagina browser per vedere lo stato e cambiare talkgroup — installa la SvxSpot Dashboard sullo stesso Pi. Legge lo stesso svxlink.conf e controlla il nodo per te.
Risoluzione dei problemi
| Sintomo | Controlla |
|---|---|
Non raggiungo svxnode.local |
Usa l'IP dal tuo router. Su alcune reti .local (mDNS) è bloccato.
|
| SSH «connection refused» | SSH non è stato attivato nell'Imager, o il Pi non è ancora avviato — aspetta, o riflasha con SSH spuntato. |
| Niente Wi-Fi | Paese Wi-Fi errato nell'Imager, o SSID/password sbagliati. Riflasha, o usa Ethernet. |
make fallisce |
Di solito manca un pacchetto di build — riesegui la riga apt install della Parte 6, poi make di nuovo.
|
| Non si connette al reflector | HOSTS, CALLSIGN o AUTH_KEY errati — chiedi all'operatore del reflector. Osserva journalctl -u svxlink -f.
|
| Niente audio / nessun annuncio vocale | Controlla LANG in [GLOBAL] e che i tarball dei suoni siano stati estratti in /usr/share/svxlink/sounds.
|
Vedi anche
- SvxSpot Dashboard — il pannello di controllo via browser per questo nodo.
- chan_svx / chan_svx_sat — in alternativa, collegare un nodo AllStarLink a un SVXReflector.
- Hamradio — il resto delle guide di voce digitale.
- Autore: SA7AUX <bjorne@sa7aux.se>. SvxLink © SM0SVX, GNU GPL.
