Dies ist eine alte Version des Dokuments!
Diese Anleitung bezieht sich auf ein frisch installiertes Debian Buster lite auf einem Raspberry Pi. Für den remote Login via SSH muss der SSH Server noch aktiviert werden:
sudo systemctl enable ssh
Danach sollte nach einem Reboot des Systems der Login mittels puTTY o.ä. möglich sein.
Zunächst einmal müssen alle Tools und Bibliotheken für die Übersetzung von Svxlink installiert werden:
sudo apt install build-essential git sudo apt install libasound2-dev g++ gcc make cmake groff gzip doxygen tar sudo apt install libsigc++-dev libsigc++-2.0-dev sudo apt install libspeex-dev libspeexdsp-dev libopus-dev sudo apt install libpopt-dev sudo apt install libasound2-dev libgcrypt20-dev libgsm1-dev sudo apt install librtlsdr-dev libjsoncpp-dev sudo apt install tcl-dev sudo apt install libcurl4-openssl-dev
Außerdem muss ein User svxlink angelegt werden, unter dem der Service nachher läuft. Das hat den Vorteil, dass nicht alles mit root Rechten laufen muss:
sudo useradd svxlink
Weiterhin muss der User den Gruppen audio und gpio hinzugefügt werden.
sudo usermod -a -G gpio svxlink sudo usermod -a -G audio svxlink
Dann wird das svxlink Repository von github geladen und vorbereitet, in dem ein Ordner angelegt wird, in dem die übersetzen Binaries landen:
git clone https://github.com/sm0svx/svxlink.git cd svxlink/src/ mkdir build cd build
Dann werden mittels cmake die notwendigen Makefiles für die Übersetzung erstellen. Die Optionen hier sind:
cmake -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONF_INSTALL_DIR=/etc -DLOCAL_STATE_DIR=/var -DUSE_QT=NO -DWITH_SYSTEMD=yes ..
Jetzt werden Programm und Hilfedateien übersetzt:
make make doc
Und schließlich werden die Binaries im System installiert und die Verzeichnisse der Bibliotheken aktualisiert:
sudo make install sudo ldconfig
Hier sind verschiedene Hinweise für unterschiedliche Konfigurationen zu finden.
GM3x0-APRS Platine „DingleBop“ nach DB9MAT, DG1TAL und DF2ET
[Rx1] AUDIO_DEV=alsa:plughw:1 AUDIO_CHANNEL=0 SQL_DET=HIDRAW HID_DEVICE=/dev/hidraw0 HID_SQL_PIN=!VOL_DN [Tx1] AUDIO_DEV=alsa:plughw:1 AUDIO_CHANNEL=0 PTT_TYPE=Hidraw HID_DEVICE=/dev/hidraw0 HID_PTT_PIN=GPIO3
SvxHotSpot Platine nach DF2ET.
[Rx1] AUDIO_DEV=alsa:plughw:0 AUDIO_CHANNEL=0 SQL_DET=GPIO GPIO_SQL_PIN=gpio17 DEEMPHASIS=0 PREAMP=18 PEAK_METER=0 [Tx1] AUDIO_DEV=alsa:plughw:0 AUDIO_CHANNEL=0 PTT_TYPE=GPIO PTT_PIN=gpio4 TX_DELAY=500 PREEMPHASIS=0
GPIO_PATH=/sys/class/gpio GPIO_IN_HIGH="gpio17" GPIO_OUT_HIGH="gpio4" GPIO_USER="svxlink" GPIO_GROUP="svxlink" GPIO_MODE="0664"
Sammlung von ein paar Tips für unterschiedliche Zwecke.
Für deutsches Zahlenformat wird ein Ordner /usr/share/svxlink/events.d/local angelegt. Darin wird die Datei locale.tcl abgelegt. Danach svxlink neustarten und es sollten Zahlen und Uhrzeiten in deutschem Format ausgebeben werden.
Dafür braucht es einen Account für den Reflektor (→ DF2ET) und ein paar Einträge in der svxlink.conf:
[GLOBAL] LOGICS=SimplexLogic,ReflectorLogic LINKS=ReflectorLink
[ReflectorLogic] TYPE=Reflector HOST=svxreflector.n18.de CALLSIGN=N0CALL AUTH_KEY="Passwort" AUDIO_CODEC=OPUS JITTER_BUFFER_DELAY=0 DEFAULT_TG=262 MONITOR_TGS=262,2624 TG_SELECT_TIMEOUT=600 ANNOUNCE_REMOTE_MIN_INTERVAL=300 EVENT_HANDLER=/usr/share/svxlink/events.tcl DEFAULT_LANG=de_DE
[ReflectorLink] CONNECT_LOGICS=SimplexLogic:9:REF,ReflectorLogic DEFAULT_ACTIVE=1 TIMEOUT=0 OPTIONS=DEFAULT_CONNECT,NO_DISCONNECT
Das Dashboard des SVX Reflektors ist hier zu finden: https://svxreflector.n18.de/
Zunächst muss das ALSA plugin installiert werden:
sudo apt install libasound2-plugin-equal
Dann wird für den User svxlink in dessen Heimatverzeichnis eine Datei .asoundrc mit folgendem Inhalt angelegt:
ctl.equal { type equal; } pcm.plugequal { type equal; # Modify the line below if you don't # want to use sound card 0. slave.pcm "plughw:0,0"; } pcm.equal { type plug; slave.pcm plugequal; } # Usage: # $ alsamixer -D equal
Der Equalizer kann damit als user svxlink mit dem folgenden Kommando aufgerufen werden:
$ alsamixer -D equal
Damit svxlink als Output das Equalizer Device nutzt muss die Config entsprechend angepasst werden:
AUDIO_DEV=alsa:equal
Und wenn svxlink als systemd service läuft muss die service Datei /lib/systemd/system/svxlink.service angepasst werden:
[Service] EnvironmentFile=/etc/default/svxlink PIDFile=${PIDFILE} ExecStartPre=-/bin/touch ${LOGFILE} ExecStartPre=-/bin/chown ${RUNASUSER} ${LOGFILE} ExecStart=/usr/bin/svxlink --logfile=${LOGFILE} --config=${CFGFILE} ExecReload=/bin/kill -s HUP $MAINPID Restart=on-failure TimeoutStartSec=60 TimeoutStopSec=10 LimitCORE=infinity WorkingDirectory=/home/svxlink User=svxlink Group=audio
Damit sollte der Audio Stream des svxlink Senders per Equalizer einstellbar sein.