Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
svxlink:start [27.03.2020 12:52] – [Deutsches Zahlenformat] df2et | svxlink:start [17.06.2021 11:21] – [SVX HotSpot / SVX_Hat] df2et | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== SVXLink Installation ====== | ====== SVXLink Installation ====== | ||
+ | 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 build-essential git | ||
Zeile 11: | Zeile 18: | ||
sudo apt install tcl-dev | sudo apt install tcl-dev | ||
sudo apt install libcurl4-openssl-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 | 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, | ||
| | ||
git clone https:// | git clone https:// | ||
Zeile 18: | Zeile 34: | ||
mkdir build | mkdir build | ||
cd build | cd build | ||
+ | | ||
+ | Dann werden mittels cmake die notwendigen Makefiles für die Übersetzung erstellen. Die Optionen hier sind: | ||
+ | |||
+ | * CMAKE_INSTALL_PREFIX: | ||
+ | * SYSCONF_INSTALL_DIR: | ||
+ | * LOCAL_STATE_DIR: | ||
+ | * USE_QT: Damit wird bestimmt, ob die graphischen Tools wie Qtel auch übersetzt und installiert werden sollen. In diesem Fall brauchen wir das nicht. | ||
+ | * WITH_SYSTEMD: | ||
+ | |||
+ | |||
cmake -DCMAKE_INSTALL_PREFIX=/ | cmake -DCMAKE_INSTALL_PREFIX=/ | ||
+ | | ||
+ | Jetzt werden Programm und Hilfedateien übersetzt: | ||
+ | |||
make | make | ||
make doc | make doc | ||
+ | | ||
+ | Und schließlich werden die Binaries im System installiert und die Verzeichnisse der Bibliotheken aktualisiert: | ||
+ | |||
sudo make install | sudo make install | ||
sudo ldconfig | sudo ldconfig | ||
+ | |||
+ | Der svxlink-Installationsprozess legt / | ||
+ | ====== Konfiguration ====== | ||
+ | |||
+ | Hier sind verschiedene Hinweise für unterschiedliche Konfigurationen zu finden. | ||
+ | |||
+ | ===== DingleBop ===== | ||
+ | |||
+ | GM3x0-APRS Platine " | ||
+ | |||
+ | ==== svxlink.conf ==== | ||
+ | |||
+ | [Rx1] | ||
+ | AUDIO_DEV=alsa: | ||
+ | AUDIO_CHANNEL=0 | ||
+ | SQL_DET=HIDRAW | ||
+ | HID_DEVICE=/ | ||
+ | HID_SQL_PIN=!VOL_DN | ||
| | ||
+ | [Tx1] | ||
+ | AUDIO_DEV=alsa: | ||
+ | AUDIO_CHANNEL=0 | ||
+ | PTT_TYPE=Hidraw | ||
+ | HID_DEVICE=/ | ||
+ | HID_PTT_PIN=GPIO3 | ||
+ | |||
+ | Zu editieren z.B. mit | ||
+ | |||
+ | sudo nano / | ||
+ | ===== SVX HotSpot / SVX_Hat ===== | ||
+ | |||
+ | SvxHotSpot oder SVX_Hat Platine nach DF2ET. Damit der entsprechende Treiber geladen wird, muss die / | ||
+ | |||
+ | Deaktivierung der onboard Karte: | ||
+ | |||
+ | # Enable audio (loads snd_bcm2835) | ||
+ | # dtparam=audio=on | ||
+ | |||
+ | Aktivierung des device tree overlays für SVX_Hat bzw. SVXHotspot: | ||
+ | |||
+ | # Enable WM8731 codec | ||
+ | dtparam=i2c_arm=on | ||
+ | dtparam=i2s=on | ||
+ | dtoverlay=i2s-mmap | ||
+ | dtoverlay=rpi-proto | ||
+ | |||
+ | Die Dateien können z.B. mittels des Editors nano editiert werden: | ||
+ | |||
+ | sudo nano / | ||
+ | |||
+ | Danach muss der Raspberry Pi einmal neugestartet werden. Danach sollte die Karte erkannt werden. Das kann mittels Ausgabe von / | ||
+ | |||
+ | cat / | ||
+ | 0 [sndrpiproto | ||
+ | snd_rpi_proto | ||
+ | |||
+ | Außerdem muss für die GPIO-Steuerung unbedingt die serielle Console auf / | ||
+ | |||
+ | $ sudo systemctl stop serial-getty@ttyAMA0.service | ||
+ | $ sudo systemctl disable serial-getty@ttyAMA0.service | ||
+ | |||
+ | Auf einem RPi4 ist der Hardware Serial Port auf dem GPIO / | ||
+ | |||
+ | ==== alsamixer ==== | ||
+ | |||
+ | Für die Platinen mit WM8731 (SVX_Hat SVX-Hotpot) müssen folgende Regler im alsamixer angepasst werden. Für die Sound Ausgabe muss der Regler " | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Für den Eingang muss jeweils der Line-In Eingang auf der Aufnahmeseite selektiert bzw. geregelt werden (die Aktiviertung erfolgt mittels Leertaste): | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Damit sollte Soundausgabe und -aufnahme jeweils möglich sein. | ||
+ | |||
+ | ==== svxlink.conf ==== | ||
+ | |||
+ | [Rx1] | ||
+ | AUDIO_DEV=alsa: | ||
+ | AUDIO_CHANNEL=0 | ||
+ | SQL_DET=GPIO | ||
+ | GPIO_SQL_PIN=gpio17 | ||
+ | DEEMPHASIS=0 | ||
+ | PREAMP=18 | ||
+ | PEAK_METER=0 | ||
+ | | ||
+ | [Tx1] | ||
+ | AUDIO_DEV=alsa: | ||
+ | AUDIO_CHANNEL=0 | ||
+ | PTT_TYPE=GPIO | ||
+ | PTT_PIN=gpio4 | ||
+ | TX_DELAY=500 | ||
+ | PREEMPHASIS=0 | ||
+ | |||
+ | ==== gpio.conf ==== | ||
+ | |||
+ | GPIO_PATH=/ | ||
+ | GPIO_IN_HIGH=" | ||
+ | GPIO_OUT_HIGH=" | ||
+ | GPIO_USER=" | ||
+ | GPIO_GROUP=" | ||
+ | GPIO_MODE=" | ||
+ | |||
+ | Zu editieren mittels | ||
+ | |||
+ | sudo nano / | ||
+ | |||
+ | Wenn Svxlink mit den systemd Addons installiert wurde, existiert ein systemd service Script, welches die GPIOs beim Boot entsprechend konfiguriert. Damit dieses beim Sytemstart ausgeführt wird, muss es mittels | ||
+ | |||
+ | sudo systemctl enable svxlink_gpio_setup | ||
+ | |||
+ | aktiviert werden. | ||
+ | ====== Dies und Das ====== | ||
+ | |||
+ | Sammlung von ein paar Tips für unterschiedliche Zwecke. | ||
| | ||
===== Deutsches Zahlenformat ===== | ===== Deutsches Zahlenformat ===== | ||
Für deutsches Zahlenformat wird ein Ordner / | Für deutsches Zahlenformat wird ein Ordner / | ||
+ | |||
+ | ===== SVX Reflektor ===== | ||
+ | |||
+ | Dafür braucht es einen Account für den Reflektor (-> [[mailto: | ||
+ | |||
+ | [GLOBAL] | ||
+ | LOGICS=SimplexLogic, | ||
+ | LINKS=ReflectorLink | ||
+ | |||
+ | [ReflectorLogic] | ||
+ | TYPE=Reflector | ||
+ | HOST=svxreflector.n18.de | ||
+ | CALLSIGN=N0CALL | ||
+ | AUTH_KEY=" | ||
+ | AUDIO_CODEC=OPUS | ||
+ | JITTER_BUFFER_DELAY=0 | ||
+ | DEFAULT_TG=262 | ||
+ | MONITOR_TGS=262, | ||
+ | TG_SELECT_TIMEOUT=600 | ||
+ | ANNOUNCE_REMOTE_MIN_INTERVAL=300 | ||
+ | EVENT_HANDLER=/ | ||
+ | DEFAULT_LANG=de_DE | ||
+ | |||
+ | [ReflectorLink] | ||
+ | CONNECT_LOGICS=SimplexLogic: | ||
+ | DEFAULT_ACTIVE=1 | ||
+ | TIMEOUT=0 | ||
+ | OPTIONS=DEFAULT_CONNECT, | ||
+ | |||
+ | Das Dashboard des SVX Reflektors ist hier zu finden: [[https:// | ||
+ | |||
+ | |||
+ | ===== ALSA Equalizer ===== | ||
+ | |||
+ | 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 " | ||
+ | } | ||
+ | | ||
+ | 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 | ||
+ | | ||
+ | Oder unter Verwendung von sudo: | ||
+ | |||
+ | sudo su svxlink -c " | ||
+ | | ||
+ | Damit svxlink als Output das Equalizer Device nutzt muss die Config entsprechend angepasst werden: | ||
+ | |||
+ | AUDIO_DEV=alsa: | ||
+ | | ||
+ | Und wenn svxlink als systemd service läuft muss die service Datei / | ||
+ | |||
+ | [Service] | ||
+ | EnvironmentFile=/ | ||
+ | PIDFile=${PIDFILE} | ||
+ | ExecStartPre=-/ | ||
+ | ExecStartPre=-/ | ||
+ | ExecStart=/ | ||
+ | ExecReload=/ | ||
+ | Restart=on-failure | ||
+ | TimeoutStartSec=60 | ||
+ | TimeoutStopSec=10 | ||
+ | LimitCORE=infinity | ||
+ | WorkingDirectory=/ | ||
+ | User=svxlink | ||
+ | Group=audio | ||
+ | |||
+ | Nicht zu vergessen, anschließend das service File neu zu laden mittels: | ||
+ | |||
+ | sudo systemctl daemon-reload | ||
+ | |||
+ | Damit sollte der Audio Stream des svxlink Senders per Equalizer einstellbar sein. | ||
+ | |||
+ | ===== Fehler beim SVXlink Start ===== | ||
+ | |||
+ | Sollte Svxlink nicht starten wollen, weil angeblich das Capture Device belegt ist und folgende Meldungen im Log erscheinen: | ||
+ | |||
+ | Starting logic: RepeaterLogic | ||
+ | Loading RX: Rx1 | ||
+ | *** ERROR: Open capture audio device failed: Device or resource busy | ||
+ | *** ERROR: Could not open audio device for receiver " | ||
+ | *** ERROR: Could not initialize RX " | ||
+ | *** ERROR: Could not initialize Logic object " | ||
+ | *** ERROR: No logics available. Bailing out... | ||
+ | |||
+ | muss gepprüft werden, ob remotetrx im Hintergrund läuft und die Soundkarte belegt. Das geht z.B. mit | ||
+ | |||
+ | sudo ps ax | grep svxlink | ||
+ | |||
+ | Wenn das der Fall sein sollte, kann remotetrx mittels | ||
+ | |||
+ | sudo service remotetrx stop | ||
+ | |||
+ | angehalten werden. Um den Autostart beim Boot zu verhindern kann der Service mittels | ||
+ | |||
+ | sudo systemctl disable remotetrx | ||
+ | |||
+ | deaktiviert werden. | ||
+ | |||
+ | |||
+ | |||
+ | ====== Tnx es vy73 ====== | ||
+ | |||
+ | Danke an folgende OM für das wertvolle Feedback und die Beiträge zum Wiki: | ||
+ | |||
+ | * Jürgen, DL2NJM | ||
+ | * Jürgen, DH9YAP | ||
+ | * Jan, DG3YJB | ||
+ | * Danielo, DL7TA |