SvxLink Teil III – weitere Konfiguration

Um Einstellungen am Verhalten von SvxLink vorzunehmen die über die Möglichkeiten die die svxlink.conf bzw. die Konfigurationsdateien der Module hinaus gehen, gibt es noch eine weitere Art von Dateien: die TCL Skripte.

Diese Dateien beschreiben das Verhalten von SvxLink bei so gut wie allen Events die im Repeater vorkommen. Daher kann man durch Änderung der mitgelieferten Dateien das Verhalten von SvxLink sehr detailliert steuern.

Um die Originaldateien nicht abändern zu müssen (z.B. weil sie bei einem Update wieder überschrieben werden würden), gibt es bei SvxLink das sogenannte “locale” Konzept. Das bedeutet dass abgeänderte Dateien in einem Unterordner namens “locale” abgelegt werden. Existiert dieser Ordner und entsprechende Dateien in ihm, so werden diese verwendet – ansonsten die Originaldateien.

Für unsere Installation haben wir bisher zwei Anpassungen an tcl Dateien vorgenommen: Um die Zwischenmeldung des Repeaters innerhalb des Sprecherwechsels zu unterbinden und um die Zeitansage auf deutsche Grammatik anzupassen.

Zwischenmeldung unterbinden

cd /usr/local/share/svxlink/events.d/
mkdir local
cd local
cp ../RepeaterLogic.tcl ./

In dieser Datei ./local/RepeaterLogic.tcl müssen in der Funktion “repeater_down” folgende Zeilen durch voranstellen eines # auskommentiert werden:

#  spellWord $mycall;
#  playMsg "Core" "repeater";
#  playSilence 250;

Deutsche Grammatik für Zeitansagen

Um der deutschen Aussprache von Zahlen Rechnung zu tragen (z.B. einundzwanzig statt zwanzig-eins) muss auch hier eine Datei angepasst werden.
Hierzu wird unter /usr/share/svxlink/sounds/de_DE/events.d/local/locale.tcl folgender Inhalt abgelegt: https://gist.githubusercontent.com/unixweb/b808ba6d17905d253345efa9cdfbe52b/raw/02fdeb34dafcc36d0071ea4dca1eee8e0f6e57b7/locale.tcl

Um Änderungen an diesen Dateien wirksam zu machen, muss SvxLink neu gestartet werden.

SvxLink Installation und Konfiguration

Beim Aufbau unserer neuen Repeaterhardware für DB0TR und DB0FHR verwenden wir die Software SvxLink zur Ablaufsteuerung und um weitere Funktionen zur Verfügung zu stellen, wie etwa Echolink-Anbindung.

SvxLink läuft innerhalb des Repeaters auf einem Raspberry Pi 3B+, aber auch ältere Hardwareversionen bieten ausreichend Leistung. Zur Ansteuerung der Funkgeräte und Verarbeitung des empfangenen und zu sendenden Audiosignals ist etwas Peripherie notwendig (u.a. eine externe Soundkarte). Wir nutzen eine eigens dafür hergestellte Platine für diesen Zweck. Die Platine wird demnächst in einem weiteren Artikel vorgestellt.

Es gibt diverse Anleitungen für die Installation von SvxLink auf einem Raspberry, allerdings entwickelt sich einerseits SvxLink, andererseits RaspberryOS/Debian immer weiter, so dass der Teufel manchmal im Detail steckt und die Anleitungen schnell veralten.
Zudem will ich ein paar Extras vorstellen, die nicht bei allen Anleitungen mit enthalten sind, wie z.B. das einrichten eines read-only Dateisystems für den Raspi, so dass die SD Karte nicht unnötig strapaziert wird.

Unsere Platine bietet außerdem noch ein paar kleine Extras, wie das Messen von Temperatur und der Lüfterdrehzahl im Gehäuse und versenden dieser Daten über MQTT. Die Scripte zum Auslesen dieser Daten stelle ich auch separat vor.

Grundkenntnisse im Umgang mit Linux werden vorausgesetzt – und leider kann ich keine Garantie auf Vollständigkeit und Aktualität der Informationen geben, hoffe aber dass es hier und da weiterhilft.

Nun also zum ersten Thema dieser Serie:

Installation von SvxLink auf Debian 11 (Bullseye), Kernel 5.10

Raspbian-Image installieren & erste Schritte

Nach dem Download des Images “Raspberry Pi OS Lite” von https://www.raspberrypi.com/software/operating-systems/ und aufspielen auf die SD Karte wird durch das Erstellen einer Datei mit dem Namen “ssh” (ohne Inhalt) auf der Partition “boot” der SD Karte der SSH Zugang über Netzwerk freigeschaltet.

Mit “sudo raspi-config” sollten folgende Dinge eingestellt werden:

  • System Options
    • Passwort
    • Hostname
  • Advanced Options
    • Expand Filesystem

Zudem sollte wie üblich mit “sudo apt update && sudo apt upgrade -y” das System auf den neuesten Stand gebracht werden.

Installation der SvxLink Abhängigkeiten

Nach einem Neustart geht es weiter mit der Installation der Abhängigkeiten, um SvxLink zu compilieren und zu benutzen.
SvxLink ist nicht in aktuellen Debian-Paketquellen enthalten, daher müssen wir das Programm selbst compilieren.

Mit folgenden Befehlen werden die notwendigen Bibliotheken und Hilfsprogramme installiert:

sudo apt install cmake git
sudo apt install libsigc++-2.0-dev
sudo apt install libpopt0 libpopt-dev tcl tcl-dev libgcrypt20 libgcrypt20-dev libasound2 libasound2-dev libgsm1 libgsm1-dev libspeex1 libspeex-dev libopus0 libopus-dev librtlsdr0 librtlsdr-dev libcurl4 libcurl4-gnutls-dev libjsoncpp-dev libgpiod-dev libogg-dev
sudo apt install alsa-utils opus-tools

Anlegen des SvxLink-Benutzers

SvxLink wird unter einem eigenen Benutzerkonto ausgeführt. Dieses wird angelegt mit:

sudo groupadd svxlink
sudo useradd -g users -rG svxlink,audio,plugdev,gpio,dialout svxlink

Download & Compilieren von SvxLink

Es gibt unter https://github.com/sm0svx/svxlink zwar eine Unterseite “Releases”, diese wird jedoch anscheinend nicht gepflegt. Auf Nachfrage wurde mir versichert, dass es OK sei, jeweils den jüngsten Stand des “master” Branches zu benutzen.

Also holen wir uns den aktuellsten Code und entpacken ihn:

wget https://github.com/sm0svx/svxlink/archive/refs/heads/master.zip
unzip master.zip
cd svxlink-master

Danach wird compiliert:

cd src
mkdir build
cd build
cmake -DUSE_QT=OFF -DWITH_SYSTEMD=ON ..
make -j 4
sudo make install
sudo ldconfig

Mit -DUSE_QT=OFF werden die graphischen Anwendungen (qtel) nicht gebaut, da wir das auf dem Repeater nicht benötigen. -DWITH_SYSTEMD=ON konfiguriert SvxLink als systemd Service, was z.B. den automatischen Start beim Boot vereinfacht.

Download & Installation der Sounddateien

Für die gesprochenen Soundausgaben ist es notwendig, ein Sprachpaket herunterzuladen. Das Standard-Sprachpaket ist en_US.

cd /usr/local/share
sudo mkdir -p svxlink/sounds && cd svxlink/sounds/
sudo wget https://github.com/sm0svx/svxlink-sounds-en_US-heather/releases/download/19.09/svxlink-sounds-en_US-heather-16k-19.09.tar.bz2
sudo tar xvjf svxlink-sounds-en_US-heather-16k-19.09.tar.bz2
sudo ln -s en_US-heather-16k en_US

Es gibt im Internet auch deutsche Sprachpakete zum Download, teilweise sind diese allerdings mit lizenzierter Sprachsynthesesoftware erstellt worden, daher verlinke ich nicht direkt auf ein Paket. Kurze Suche sollte zum Erfolg führen, die Lizenzbedingungen bitte selber prüfen. Das deutsche Sprachpaket wird dann in einen neuen Ordner de_DE ins “/usr/local/share/svxlink/sounds” Verzeichnis entpackt und die Sprache in der SvxLink Konfiguration (siehe unten) als DEFAULT_LANG=de_DE aktiviert.

SvxLink Konfiguration

GPIO Pins

In /usr/local/etc/svxlink/gpio.conf die Pins einstellen die an SQL und PTT angeschlossen werden. In unserem Fall:

GPIO_IN_LOW="gpio22"
GPIO_OUT_LOW="gpio17"

Diese Konfiguration wird vom Service “svxlink_gpio_setup” automatisch vor dem Start des eigentlichen SvxLink Services ausgeführt.

SvxLink Konfiguration

In /usr/local/etc/svxlink/svxlink.conf ist die Konfiguration der SvxLink Software gespeichert. Hier ein Auszug relevanter Teile unserer Konfiguration:

[GLOBAL]
LOGICS=RepeaterLogic
CFG_DIR=svxlink.d
TIMESTAMP_FORMAT="%c"
CARD_SAMPLE_RATE=48000
LOCATION_INFO=LocationInfo
TIME_FORMAT="24"

[RepeaterLogic]
TYPE=Repeater
RX=Rx1
TX=Tx1
MODULES=ModuleHelp,ModuleParrot,ModuleEchoLink
CALLSIGN=DB0TR
SHORT_IDENT_INTERVAL=10
EVENT_HANDLER=/usr/local/share/svxlink/events.tcl
DEFAULT_LANG=de_DE
RGR_SOUND_DELAY=0
MACROS=Macros
FX_GAIN_NORMAL=0
FX_GAIN_LOW=0
IDLE_TIMEOUT=3
OPEN_ON_SQL=0
OPEN_SQL_FLANK=OPEN

[Rx1]
TYPE=Local
AUDIO_DEV=alsa:plughw:1
AUDIO_CHANNEL=0
SQL_DET=GPIO
SQL_START_DELAY=0
SQL_DELAY=0
SQL_HANGTIME=0
GPIO_PATH=/sys/class/gpio
GPIO_SQL_PIN=gpio22
DEEMPHASIS=0
SQL_TAIL_ELIM=0
PREAMP=3
PEAK_METER=1
DTMF_DEC_TYPE=INTERNAL
DTMF_MUTING=1
DTMF_HANGTIME=40
DTMF_SERIAL=/dev/ttyS0

[Tx1]
TYPE=Local
AUDIO_DEV=alsa:plughw:1
AUDIO_CHANNEL=0
PTT_TYPE=GPIO
PTT_PIN=gpio17
TX_DELAY=0
PREEMPHASIS=0
DTMF_TONE_LENGTH=100
DTMF_TONE_SPACING=50
DTMF_DIGIT_PWR=-15
MASTER_GAIN=6.0

Die Variablen PREAMP und MASTER_GAIN steuern die Verstärkung des ein- und ausgehenden Audiostreams, separat zu dem synthethisch erzeugtem Audio, das mit den FX_GAIN_… Variablen gesteuert wird. Weitere Stellschrauben für die Lautstärken sind der Linux alsamixer und die Potis auf der Platine.

Falls wie in unserem Fall das Modul Echolink benutzt wird, muss zusätzlich noch die Datei ./svxlink.d/ModuleEcholink.conf angepasst werden.

In der Datei /usr/local/default/etc/svxlink muss der Pfad der Logdatei noch auf /var/log/svxlink angepasst werden.

Aktivieren von Autostart von SvxLink und erster Start

Nachdem die Konfiguration durchgeführt wurde, kann der SvxLink Service gestartet werden:

sudo systemctl start svxlink

Der Erfolg kann mit

sudo systemctl status svxlink

kontrolliert werden. Die Logdatei ist unter /var/log/svxlink zu finden.

Damit SvxLink beim nächsten Systemstart automatisch ausgeführt wird, kann der Service dauerhaft aktiviert werden:

sudo systemctl enable svxlink

Ausblick

Im nächsten Teil stelle ich die erweiterte Konfiguration unseres Setups vor. Wir ändern ein paar Dinge in SvxLink die nicht einfach über die Konfigurationsdatei zu ändern sind (z.B. Korrektur der Zeitansage in deutsch) und verpassen dem Raspberry ein read-only Dateisystem um die SD-Karte zu schonen.

Echolink mit Linux Mint/Ubuntu

Qtel

In der Anwendungsverwaltung von Linux Mint/Ubuntu ist das Programm Qtel zu finden.

Es ist sehr einfach, in EchoLink qrv zu werden!

Anwendungsverwaltung öffen und unter “Suche” Qtel eingeben

In diesem Fall ist das Programm bereits installiert. Deshalb bei einem ersten Aufruf auf “Installieren” klicken.

Anschließend kann man am Bildschirm links unten unter “Menu” -> Internet -> Qtel finden. Ein Klick mit der rechten Maustaste auf das Programm und es wird angeboten… “Zum Schreibtisch hinzufügen”. Dies auswählen und ein Icon erscheint auf der Desktop-Oberfläche.

Doppelklick auf das Icon, damit das Programm startet! Es folgen die Einstellungen:

Voraussetzung ist, dass man bereits bei EchoLink registriert ist. Damit genügt in Qtel das Rufzeichen und das hinterlegte Passwort zur Freischaltung!
Ausserdem ist es wichtig das die Zeile “Ort” einen Eintrag hat, ansonsten verweigert der Server die Annahme des Aufrufs.
Hier nichts verändern… Der Server wird in der Regel sofort gefunden. Besondere Einstellungen im Netzwerk oder am Router waren nicht notwendig.
Die Grundeinstellungen für Audio funktionieren auf Anhieb. Unter “Klangeinstellungen” in Mint/Ubuntu die Audio-Einstellungen für Mikrofon und Lautstärke ggf. anpassen.
Nach dem Start und Klick in die Relais-Liste sieht es wie oben aus

Jetzt ein Beispiel mit Kontakt zu DB0ARB-R, Großer Arber im Bayerischen Wald:

Hinweis: Man muß mit der linken Maustaste auf die PTT-Taste klicken und die Taste weiter gedrückt halten. Wie an einem Hand-Mikrofon. Ansonsten hören die QSO-Partner nur ein Plopp … hi 😉

Mit Headset an einem handelsüblichen PC war alles schnell eingerichtet und das erste QSO im Log.

Viel Spaß beim Experimentieren! ( Der Vollständigkeit halber: Bitte zur eigenen Sicherheit vorher wichtige Daten am PC sichern!)

vy 73 DL9MDV

Direwolf – Ein Packet Radio TNC in Linux mit Soundcard

Es gibt in der Anwendungsverwaltung von Linux Mint ( Ubuntu ) bereits Softwarepakete für Packet Radio. Diese SW ist somit einfach zu installieren. Damit bleibt einem das Kompilieren erspart. Die Versionen sind in der Regel aktuell. Höhere Versionsnummern ( falls im www gefunden ) erfordern eine Anpassung der Bibilotheken im jeweiligen OS. Das ist nur etwas für Fortgeschrittene Linux-Anwender.

Direwolf

Grundlegendes:

Direwolf ist ein Software TNC der mit Soundkarte arbeitet.

Z.B. ist es möglich Direwolf für APRS als stand alone TNC zu betreiben. Über die AX.25 Software ist es möglich, andere Programme anzubinden. Sehr interessante Möglichkeiten. Zugegeben, dass kann anspruchsvoll werden. Deshalb hier so einfach wie möglich und als Beispiel eine Inbetriebnahme von Direwolf und in einem anderen Artikel die Einbindung von Xastir, einem APRS Darstellungprogramm, mit dem auch eigene Daten gesendet werden können.

Nach der Installation sollte unter “Home/Eigener PC/ …die “direwolf.conf” zu finden sein.

In der .conf-Datei ist ein Begleittext eingefügt. Hier werden viele Punkte schon sehr gut erklärt. Bitte beachten, dass alle Zeilen mit einem # vorne an vom Programm selbst ignoriert werden. Nachstehend ein Beispiel zur Audio-Konfiguration. Verwendet wurde eine externe USB-Soundkarte an einem Yaesu FT-818ND.

Die USB-Soundkarte erhält in Linux i.d.R. die Hardware-Zuweisung …..plughw:1,0 . Für den Fall dass Linux die Soundkarte auf plughw: 2,0 erkennt, kann man in der direwolf.conf das # Zeichen im Text wie gezeigt zusätzlich herausnehmen. Text in rot.

Tipp: Wenn das ebenfalls rote Raute # Zeichen wenige Zeilen darunter bei ADEVICE plughw:1,0 und ADEVICE UDP:7355 default… ( oder nur dort) entfernt wird, dann erkennt Direwolf nach dem Start keine USB-Soundkarte zum Empfang. Die Meldung lautet … RX stdin. Also dort das # Zeichen so stehen lassen!

Im weiteren genügt die Aktivierung des ACHANNELS 1 ( siehe entferntes # Zeichen )

In Linux Mint lässt sich über “Menü” -> “Internet” -> eine Desktop-Verknüpfung zum Starten des Programms anlegen. Oder man startet im Terminal mit der Eingabe : user@user: ~$ direwolf

Nach dem Start: Ist ein APRS Digi (144.800 Mhz) im Empfangsbereich, dann sollten im Mode 1k2 Baud anschließend die APRS – (Roh) Daten lesbar sein.

Kontakt von DB0ROS, Clubstation des OV Rosenheim C14 mit dem Digipeater DB0HOB auf dem Berg Hochries südlich von Rosenheim in 1.569 m Höhe, ebenfalls eine Station des OV C14.

Ein weiterer Artikel zeigt, wie man die APRS-Software Xastir einbinden kann.

Viel Spaß beim Experimentieren! ( Der Vollständigkeit halber: Bitte zur eigenen Sicherheit vorher wichtige Daten am PC sichern!)

vy 73 DL9MDV

Weitere Infos z.B. unter https://packet-radio.net/direwolf/

Packet Radio: In 6 Schritten qrv mit dem UZ7HO Software TNC und einer Soundkarte

Das UZ7HO Soundmodem und EasyTerm in Windows 10

Das man schnell und unkompliziert in Packet Radio QRV werden kann, soll hier kurz erklärt werden. Natürlich wird ein auf 2m oder 70cm erreichbarer Digipeater vorausgesetzt. Ein gängiger Transceiver, die Soundkarte am PC oder eine externe USB-Soundkarte, sowie die Software von UZ7HO reichen aus um im 1k2 Mode, u.U. sogar in 9k6 Mode qrv zu werden. In diesem Beispiel kommt ein Yaesu FT-818ND zum Einsatz und eine MiniProSC USB-Soundkarte.

OM Andrei hat hier eine sehr gut funktionierende Software entwickelt!

“Soundmodem” als Software TNC, basierend auf der AGWPE Engine von SV2AGW und Easy-Term als Terminalprogramm, um sich in Packet Radio “bewegen” zu können

http://uz7.ho.ua/packetradio.htm

Los geht’s:

1) soundmodem105.zip entpacken und unter c:/Programme nur hinein kopieren
2) easyterm41.zip entpacken und ebenfalls nach c:/Programme kopieren.
3) Dann jeweils eine Verknüpfung auf Desktop anlegen.


4) Soundmodem starten, die Terminal-Einstellungen auf Default lassen und unter Device/Sound Card die Häkchen bei Single channel output und Color Waterfall setzen. KISS  -Server kann, muß aber nicht aktiviert sein.

5) Easyterm starten und das Stations-Setup einrichten. ( Callsign und wenn vorhanden die Packet Radio Mailbox-Adresse einrichten)

6) Die Programme neu starten, ggf. das Audio in Windows 10 prüfen und am FT-818ND den Mode auf PKT setzen. Im internen Menü den Punkt 40 “PKT RATE” auf 1200 setzen

Fertig!

Die üblichen Soundkarten-Modems für Digi-Modes genügen zum 1k2 Mode. Höherwertige Sound-Karten ermöglichen auch den Betrieb in 9k6. Hier bitte mit HS-Soundmodem experimentieren….(siehe UZ7HO Website)

Es gibt immer noch viele und z.T. sehr gut dokumentierte Webseiten zum Thema! Diese hier alle anzufügen wäre des Guten zuviel . 😉

Viel Spaß beim Experimentieren! ( Der Vollständigkeit halber: Bitte zur eigenen Sicherheit vorher wichtige Daten am PC sichern!)

vy 73 DL9MDV

Hinweis:

https://packet-radio.net/?s=soundmodem

https://www.sv2agw.com/Home/Packet

https://www.g4zlp.co.uk/index.shtml

Xastir – APRS mit Linux Mint/Ubuntu

Xastir ist ein Linux-Programm zur Darstellung von APRS-Daten. Es arbeitet gut mit “Direwolf” zusammen, einem Software TNC für Linux und Windows, sowie mit IGate.

Xastir installieren

Die Anwendungsverwaltung in Linux Mint/Ubuntu öffnen und Xastir im Suchfeld eintragen, anschließend installieren:

Die bessere Variante zum Start ist folgende Eingabe im Terminal ( User wird durch PC eigene Namen ersetzt):

Mit dem Befehl sudo xastir – lgerman startet Xastir in deutscher Sprache! Der Start als sudo scheint auch kleine Schnittstellen-Probleme zu umgehen, da die Berechtigungen vom Nutzer erweitert wurden.

Anschließend die Stationsdaten eingeben ( Datei -> Einstellungen -> Stationsdaten ).

Grundeinstellungen: ( Datei -> Einstellungen -> Grundeinstellungen )

Die Kartenauswahl ( Karten -> Kartenauswahl )

Hier ein sehr wichtiger Hinweis: Bei der Kartenauswahl die Online/OSM_tiled_mapnik.geo auswählen, bzw. bei Openstreetmap bleiben. Die geogratis und nationalmaps funktionieren für Europa nicht!

Ganz behutsam vorgehen und sicherstellen, dass nur eine Karte (wie dargestellt) ausgewählt ist! Anschließend mit “ok” bestätigen.

Unter der Registerkarte “Karten” auf keinen Fall die “Automatische Kartenauswahl” aktivieren. Dies führt dazu, dass Xastir auf die Dauer von 5 Min. einfriert. Im ersten Moment entsteht der Eindruck, das Programm hat sich verabschiedet….. (Dieser Bug ist den Entwicklern bekannt).

Schnittstellen zu Direwolf/AGWPE und I-Gate

Die Schnittstellen können über eine Vorauswahl in die Steuerung übernommen werden (Schnittstellen -> Schnittstellensteuerung -> Eigenschaften ). Es kann u.a. festgelegt werden, ob die Schnittstellen bei Programmstart automatisch aktiv werden oder manuell gestartet werden.

Tipp: Bevor man eine Schnittstelle auswählen oder bearbeiten kann, muß diese angeklickt sein und erscheint dann ” mit schwarz unterlegt” im Fenster.

Wichtig ist, dass das Gerät 0 mit der AGWPE Schnittstelle arbeitet. Die localhost: 8000 darf nicht verändert werden. Der Direwolf TNC erkennt Xastir sofort und umgekehrt.

Die Internet-Einstellungen sind vorgeben und man braucht nur den APRS-Zugangscode eingeben.

In der Praxis: Wenn man mit den Pfeiltasten die Karte bewegt, zoomt etc., dann werden die jeweiligen Kachel vom Openstreetmap-Server heruntergeladen. Es wird auch ein Cache angelegt, der dass bewegen der Karten etwas schneller macht.

Interessant war einmal auszuwerten, wie viel Information tatsächlich nur von den Digipetern auf 144.800 Mhz kommen.

Auch der “nur VHF-Einstieg”, also ohne Internet-Anbindung bzw. Igate-Zugang funktionerte gut. Die Daten waren wenige Sekunden später auf aprs.fi in der Karte zu finden. Wer keinen APRS-Digi in der Nähe hat, kann mit I-Gate arbeiten.

Wer noch keine ID für einem Zugang zum APRS-Server hat, wird im Internet mit der Suchanfrage “APRS-IS Callsign Passcode Generator” fündig. Die einmal zugewiesene ID bleibt, ist kostenlos und wird aus bestehenden offiziellen Datenbanken generiert ( z.b. QRZ.com). Sollte man die ID vergessen, kann sie ohne Probleme nochmals abgerufen werden. (Die Kennung verändert sich nicht!)

Viel Spaß beim Experimentieren! ( Der Vollständigkeit halber: Bitte zur eigenen Sicherheit vorher wichtige Daten am PC sichern!)

vy73 DL9MDV

Infos:

https://xastir.org/index.php/Main_Page