Hamradio/svxlink node/sv
En komplett, handfast genomgång: från ett tomt microSD-kort till en fungerande SvxLink-nod på en Raspberry Pi — ladda ner OS:et, flasha det med Wi-Fi och SSH förinställt, hitta Pi:n på ditt nätverk, logga in, bygg SvxLink, lägg in en config och lägg till en webb-dashboard. Ingen tidigare Linux-erfarenhet behövs. Klipp-och-klistra-vänlig.
Vad du behöver
- En Raspberry Pi 3, 4 eller 5 (en Pi Zero 2 W fungerar men är långsam att kompilera på).
- Ett microSD-kort, 16 GB eller större, och en kortläsare på din dator.
- Ett ljudgränssnitt för radiosidan (USB-ljudkort, en hatt som WM8960, eller ett DRA-/repeater-kort) — behövs inte bara för att få igång mjukvaran.
- Din anropssignal och en reflektor-login (host + AUTH_KEY) för den SVXReflector du vill ansluta till.
Del 1 — Ladda ner Raspberry Pi OS
Hämta 64-bitars Lite-avbildningen av Raspberry Pi OS 13 (Trixie) — "Lite" har inget skrivbord, vilket är vad du vill ha för en nod.
- Enklast: installera Raspberry Pi Imager (den laddar ner OS:et åt dig): https://www.raspberrypi.com/software/
- Imager körs på Windows, macOS och Linux.
Del 2 — Flasha SD-kortet (med SSH + Wi-Fi förinställt)
Det här är steget som sparar dig ett tangentbord och en skärm. I Raspberry Pi Imager:
- Choose Device: din Pi-modell.
- Choose OS: Raspberry Pi OS (other) → Raspberry Pi OS Lite (64-bit).
- Choose Storage: ditt SD-kort.
- Klicka Next → Edit Settings (kugghjulet / "would you like to apply OS customisation?"). Ställ in:
| Inställning | Vad du anger |
|---|---|
| Hostname | t.ex. svxnode — du når Pi:n som svxnode.local.
|
| Enable SSH | Ja → "Use password authentication" (enklast). |
| Username / password | välj egna, t.ex. användare pi. Skriv ner dem.
|
| Configure wireless LAN | ditt Wi-Fi-SSID + lösenord, och ditt Wi-Fi-land (viktigt — annars förblir Wi-Fi avstängt). |
| Locale / timezone / keyboard | ditt land. |
Spara, sedan Write. När det är klart, mata ut kortet.
Del 3 — Starta Pi:n
Sätt kortet i Pi:n, koppla in radio-/ljudhårdvaran om du har den, och slå på strömmen. Första starten tar en minut eller två (den expanderar filsystemet och ansluter till Wi-Fi). Ge den tid innan du letar efter den.
Del 4 — Hitta Pi:ns IP-adress
Du behöver Pi:ns IP (eller dess .local-namn) för att logga in. Välj det som fungerar:
- Värdnamn (enklast): använd bara
svxnode.local(värdnamnet du satte +.local). Fungerar på de flesta hemnätverk. - Din router: öppna routerns adminsida → listan DHCP-klienter / anslutna enheter → hitta
svxnodeoch notera dess IP (t.ex.192.168.1.42). - Skanna nätverket från din dator:
ping svxnode.local # eller skanna subnätet (Linux/Mac): nmap -sn 192.168.1.0/24
Del 5 — Anslut via SSH
Windows: ladda ner och kör PuTTY — https://www.putty.org/ . I Host Name skriv svxnode.local (eller IP:n), Port 22, Open. Godta nyckelvarningen första gången, logga sedan in med användarnamnet/lösenordet du satte.
macOS / Linux: använd bara en terminal:
ssh pi@svxnode.local
När du är inne, uppdatera systemet:
sudo apt update && sudo apt full-upgrade -y
Del 6 — Installera SvxLink
SvxLink finns inte som ett aktuellt bygge i Pi:ns standard-repon, så du kompilerar det (Pi:n gör jobbet). Det här enda skriptet installerar byggverktygen, hämtar källkoden från GitHub, bygger och installerar den, och laddar ner de svenska (sv_SE) och engelska (en_US) röstmeddelandena. Klistra in det i SSH-sessionen:
#!/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)" bygger på alla CPU-kärnor. På en Pi 3 kan kompileringen ta 20–40 minuter — det är normalt. Hämta en kaffe; den jobbar.
Del 7 — Konfigurera svxlink.conf
Configen ligger i /etc/svxlink/svxlink.conf. Redigera den:
sudoedit /etc/svxlink/svxlink.conf
De delar du måste sätta är logic-sektionerna. Den viktigaste är reflektor-anslutningen — här är en fungerande [ReflectorLogic] (hemligheter ersatta med 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 och modulfilerna, alla hemligheter borttagna: svxlink-config-example.zip. Packa upp i /etc/svxlink/ och byt anropssignal, reflektor-host, AUTH_KEY och position till dina egna.Andra sektioner att titta på:
| Sektion | Vad den är till för |
|---|---|
| [GLOBAL] | Vilka logics som laddas (LOGICS=SimplexLogic,ReflectorLogic), och språket för röstmeddelanden — sätt LANG=sv_SE eller LANG=en_US.
|
| [SimplexLogic] | Nodens egen anropssignal-ID, DTMF-kommandon, och vilken reflektor-logic den länkar till. |
| [Rx1] / [Tx1] | Ljudenheterna och PTT/COS för ditt radiogränssnitt (ALSA-enhet, squelch, CTCSS). |
| [LocationInfo] | Valfri APRS-beacon (position, frekvens) — allt bortkommenterat som standard. |
AUTH_KEY, lösenord eller e-post. Exemplet ovan är medvetet tomt. Lägg in dina egna värden, håll filen läsbar endast för root, och klistra inte in den riktiga filen i forum eller chattar.
Del 8 — Starta och verifiera
Aktivera och starta noden, titta sedan på loggen:
sudo systemctl enable --now svxlink sudo systemctl status svxlink sudo journalctl -u svxlink -f
I loggen ska du se den ansluta till reflektorn och annonsera på ditt valda språk. Om någon pratar på en monitorerad talgrupp hör du det (och ser det i loggen). Ctrl-C slutar följa loggen (tjänsten fortsätter köra).
svxreflector — aktivera den tjänsten (sudo systemctl enable --now svxreflector) och konfigurera /etc/svxlink/svxreflector.conf.
Lägg till webb-dashboarden
När noden körs, ge dig själv en webbsida för att se status och byta talgrupp — installera SvxSpot Dashboard på samma Pi. Den läser samma svxlink.conf och styr noden åt dig.
Felsökning
| Symptom | Kolla |
|---|---|
Når inte svxnode.local |
Använd IP:n från din router i stället. På vissa nätverk är .local (mDNS) blockerat.
|
| SSH "connection refused" | SSH aktiverades inte i Imager, eller så har Pi:n inte bootat än — vänta, eller flasha om med SSH ibockat. |
| Inget Wi-Fi | Fel Wi-Fi-land i Imager, eller fel SSID/lösenord. Flasha om, eller använd Ethernet. |
make misslyckas |
Oftast ett saknat byggpaket — kör om apt install-raden från Del 6, sedan make igen.
|
| Ansluter inte till reflektorn | Fel HOSTS, CALLSIGN eller AUTH_KEY — kolla med reflektor-operatören. Titta på journalctl -u svxlink -f.
|
| Inget ljud / inga röstmeddelanden | Kolla LANG i [GLOBAL], och att ljud-tarbollarna packades upp i /usr/share/svxlink/sounds.
|
Se även
- SvxSpot Dashboard — webbkontrollpanelen för den här noden.
- chan_svx / chan_svx_sat — brygga en AllStarLink-nod till en SVXReflector i stället.
- Hamradio — resten av howto:erna för digital röst.
- Författare: SA7AUX <bjorne@sa7aux.se>. SvxLink © SM0SVX, GNU GPL.
