Jump to content

Hamradio/svxlink node/de

From MediaWiki For Hamradio Analog/Digital and Debian v13 software/Raspberry PI v3/4/5 howto
This page is a translated version of the page Hamradio/svxlink node and the translation is 79% complete.

Eine vollständige, an die Hand nehmende Anleitung: von einer leeren microSD-Karte zu einem laufenden SvxLink-Knoten auf einem Raspberry Pi — das OS herunterladen, mit bereits gesetztem WLAN und SSH flashen, den Pi im Netzwerk finden, einloggen, SvxLink bauen, eine Konfig einspielen und ein Web-Dashboard hinzufügen. Keine Linux-Vorkenntnisse nötig. Zum Kopieren und Einfügen.

💡 Was am Ende dabei herauskommt: ein Raspberry Pi mit SvxLink, verbunden mit einem SVXReflector, mit schwedischen und englischen Sprachansagen, den du aus dem Browser sehen und steuern kannst. Rechne mit etwa einer Stunde (das meiste ist der Pi, der von selbst kompiliert).
Eight steps: download Raspberry Pi OS, flash with Pi Imager (hostname/SSH/Wi-Fi), boot, find IP, connect over SSH/PuTTY, install SvxLink, edit svxlink.conf, start it and add the dashboard.

Was du brauchst

  • Einen Raspberry Pi 3, 4 oder 5 (ein Pi Zero 2 W geht, kompiliert aber langsam).
  • Eine microSD-Karte, 16 GB oder größer, und einen Kartenleser an deinem PC.
  • Ein Audio-Interface für die Funkseite (USB-Soundkarte, ein Hat wie das WM8960 oder eine DRA-/Repeater-Platine) — nicht nötig, nur um die Software zum Laufen zu bringen.
  • Dein Rufzeichen und ein Reflektor-Login (Host + AUTH_KEY) für den SVXReflector, dem du beitreten willst.

Teil 1 — Raspberry Pi OS herunterladen

Hol dir das 64-bit-Lite-Image von Raspberry Pi OS 13 (Trixie) — „Lite“ hat keinen Desktop, was du für einen Knoten willst.

Teil 2 — Die SD-Karte flashen (mit SSH + WLAN vorab)

Das ist der Schritt, der dir Tastatur und Monitor spart. Im Raspberry Pi Imager:

  1. Choose Device: dein Pi-Modell.
  2. Choose OS: Raspberry Pi OS (other) → Raspberry Pi OS Lite (64-bit).
  3. Choose Storage: deine SD-Karte.
  4. Klicke Next → Edit Settings (Zahnrad / „would you like to apply OS customisation?“). Stelle ein:
Einstellung Was eintragen
Hostname z. B. svxnode — du erreichst den Pi als svxnode.local.
Enable SSH Ja → „Use password authentication“ (am einfachsten).
Username / password eigene wählen, z. B. Benutzer pi. Schreib sie auf.
Configure wireless LAN deine WLAN-SSID + Passwort und dein WLAN-Land (wichtig, sonst bleibt WLAN aus).
Locale / timezone / keyboard dein Land.

Speichern, dann Write. Wenn es fertig ist, wirf die Karte aus.

⚠ Überspringst du die WLAN/SSH-Anpassung, bootet der Pi ohne Zugangsweg. Mach entweder diesen Schritt neu, oder steck ein Ethernet-Kabel ein (SSH ist nur aktiv, wenn du es angehakt hast).

Teil 3 — Den Pi booten

Steck die Karte in den Pi, schließe die Funk-/Audio-Hardware an (falls vorhanden) und schalte ihn ein. Der erste Boot dauert ein bis zwei Minuten (er vergrößert das Dateisystem und tritt dem WLAN bei). Gib ihm Zeit, bevor du nach ihm suchst.

Teil 4 — Die IP-Adresse des Pi finden

Du brauchst die IP des Pi (oder seinen .local-Namen), um dich einzuloggen. Wähle, was funktioniert:

  • Hostname (am einfachsten): nutze einfach svxnode.local (der Hostname, den du gesetzt hast, + .local). Funktioniert in den meisten Heimnetzen.
  • Dein Router: öffne die Admin-Seite deines Routers → die Liste DHCP-Clients / verbundene Geräte → finde svxnode und notiere die IP (z. B. 192.168.1.42).
  • Scanne das Netzwerk von deinem PC:
ping svxnode.local
# oder das Subnetz scannen (Linux/Mac):   nmap -sn 192.168.1.0/24

Teil 5 — Per SSH verbinden

Windows: lade PuTTY herunter und starte es — https://www.putty.org/ . Trage bei Host Name svxnode.local (oder die IP) ein, Port 22, Open. Akzeptiere die Schlüsselwarnung beim ersten Mal, dann logge dich mit dem gesetzten Benutzernamen/Passwort ein.

macOS / Linux: nutze einfach ein Terminal:

ssh pi@svxnode.local

Sobald du drin bist, bring das System auf den neuesten Stand:

sudo apt update && sudo apt full-upgrade -y

SvxLink ist nicht als aktueller Build in den Standard-Repos des Pi, also kompilierst du es (der Pi macht die Arbeit). Dieses eine Skript installiert die Build-Werkzeuge, holt den Quellcode von GitHub, baut und installiert ihn und lädt die schwedischen (sv_SE) und englischen (en_US) Sprachansagen herunter. Füge es in die SSH-Sitzung ein:

#!/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)" baut auf allen CPU-Kernen. Auf einem Pi 3 kann der Build 20–40 Minuten dauern — das ist normal. Hol dir einen Kaffee; er arbeitet.

Teil 7 — svxlink.conf konfigurieren

Die Konfig liegt in /etc/svxlink/svxlink.conf. Bearbeite sie:

sudoedit /etc/svxlink/svxlink.conf

Die Teile, die du setzen musst, sind die Logic-Abschnitte. Der wichtigste ist die Reflektor-Verbindung — hier ist ein funktionierendes [ReflectorLogic] (Geheimnisse durch CHANGE_ME ersetzt):

[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
📥 Willst du das Ganze? Lade einen vollständigen, bereinigten Satz Beispiel-Konfigurationen herunter — svxlink.conf, node_info.json, gpio.conf und die Modul-Dateien, alle Geheimnisse geleert: svxlink-config-example.zip. Entpacke sie nach /etc/svxlink/ und ändere Rufzeichen, Reflektor-Host, AUTH_KEY und Position auf deine eigenen.

Andere Abschnitte zum Anschauen:

Abschnitt Wofür
[GLOBAL] Welche Logics geladen werden (LOGICS=SimplexLogic,ReflectorLogic) und die Sprache der Ansagen — setze LANG=sv_SE oder LANG=en_US.
[SimplexLogic] Das eigene Rufzeichen-ID des Knotens, DTMF-Befehle und mit welcher Reflektor-Logic er verlinkt.
[Rx1] / [Tx1] Die Audiogeräte und PTT/COS für dein Funk-Interface (ALSA-Gerät, Squelch, CTCSS).
[LocationInfo] Optionale APRS-Bake (Position, Frequenz) — standardmäßig alles auskommentiert.
⚠ Veröffentliche niemals deinen echten AUTH_KEY, Passwörter oder deine E-Mail. Das Beispiel oben ist bewusst geleert. Trage deine eigenen Werte ein, halte die Datei nur für root lesbar und füge die echte Datei nicht in Foren oder Chats ein.

Teil 8 — Starten und prüfen

Aktiviere und starte den Knoten, dann beobachte das Log:

sudo systemctl enable --now svxlink
sudo systemctl status svxlink
sudo journalctl -u svxlink -f

Im Log solltest du sehen, wie er sich mit dem Reflektor verbindet und in deiner gewählten Sprache ansagt. Wenn jemand auf einer beobachteten Talkgroup spricht, hörst du es (und siehst es im Log). Strg-C beendet das Verfolgen des Logs (der Dienst läuft weiter).

💡 Richtest du stattdessen einen Reflektor ein? Derselbe Build hat auch svxreflector installiert — aktiviere diesen Dienst (sudo systemctl enable --now svxreflector) und konfiguriere /etc/svxlink/svxreflector.conf.

Das Web-Dashboard hinzufügen

Sobald der Knoten läuft, gönn dir eine Browser-Seite für Status und Talkgroup-Wechsel — installiere das SvxSpot Dashboard auf demselben Pi. Es liest dieselbe svxlink.conf und steuert den Knoten für dich.

Fehlerbehebung

Symptom Prüfen
Erreiche svxnode.local nicht Nutze stattdessen die IP aus deinem Router. In manchen Netzen ist .local (mDNS) blockiert.
SSH „connection refused“ SSH wurde im Imager nicht aktiviert, oder der Pi ist noch nicht gebootet — warte, oder flashe neu mit angehaktem SSH.
Kein WLAN Falsches WLAN-Land im Imager, oder falsche SSID/Passwort. Neu flashen, oder Ethernet nutzen.
make schlägt fehl Meist ein fehlendes Build-Paket — führe die apt install-Zeile aus Teil 6 erneut aus, dann wieder make.
Verbindet nicht zum Reflektor Falsche HOSTS, CALLSIGN oder AUTH_KEY — frag den Reflektor-Betreiber. Beobachte journalctl -u svxlink -f.
Kein Audio / keine Sprachansagen Prüfe LANG in [GLOBAL] und dass die Sound-Tarballs nach /usr/share/svxlink/sounds entpackt wurden.

Siehe auch

  • SvxSpot Dashboard — das Browser-Bedienfeld für diesen Knoten.
  • chan_svx / chan_svx_sat — stattdessen einen AllStarLink-Knoten mit einem SVXReflector verbinden.
  • Hamradio — der Rest der Digital-Voice-Anleitungen.
  • Autor: SA7AUX <bjorne@sa7aux.se>. SvxLink © SM0SVX, GNU GPL.