Odwiedza nas 526 gości oraz 0 użytkowników.

SVXlink od podstaw - Instalacja SvxLink

Spis treści

 Instalacja SVXlink

 

Zanim przechodzimy do samej instalacji, to pierwszą aplikacją jaką instaluje jest Midnight Commander , pokolenie pamietające Norton Commander poczuje delikatną nostalgię :) 

sudo apt install mc 

 

 

 

 

 

 

Sam proces instalacji svxlink można przejść na dwa sposoby, i dlaczego zawsze wybiera się ten trudniejszy ? 

Otóz można zainstalować svxlink z repozytoriu komenda :

sudo apt install svxlink-server

 

W dalszej czesci widzimy jakie pliki zalezności będą się instalować 

 Pomijając fakt że w repozytorium jest starsza wersja SvxLink ( co może być plusem ) to brakuje w niej ważnego elementu w postaci wsparcia dla biblioteki GPIOD, a to zmuszać nas będzie to starszej i moim zdaniem mniej elastycznej metody zarządzania GPIO.  To jest chyba główny powód dlaczego przechodzimy proces instalacji SvxLink instalując go ze źródła co jest bardziej czasochłonne.

 

 

 

UWAGA !!! - opis nie jest optymalny i zautomatyzowany i jest to celowy zabieg aby wykazać jakie sa pliki współpracujące z samym svxlink, mam nadzieję że pozwoli to zrozumieć pewne zależności i kierunek gdzie można coś zmodyfikować lub zrozumieć co gdzie trzeba zmienić jeśli coś nie działa. 

 

W terminalu najpierw wydajemy komendy aktualizacji systemu 

sudo apt update 
sudo apt upgrade -y

Następnie instalujemy niezbędne "zależności" programy niezbędne do prawidłowej kompilacji svxlink.

sudo apt install -y build-essential git alsa-utils mc
sudo apt install -y libasound2-dev g++ gcc make cmake groff gzip doxygen tar tcl
sudo apt install -y libspeex-dev libspeexdsp-dev libopus-dev libvorbis-dev
sudo apt install -y libpopt-dev libsigc++-2.0-dev python3-dev python3-pip
sudo apt install -y libgcrypt20-dev libgsm1-dev swh-plugins tap-plugins ladspa-sdk
sudo apt install -y librtlsdr-dev libjsoncpp-dev nodejs node-ws dos2unix
sudo apt install -y bc tcl-dev libgpiod2 libgpiod-dev gpiod gawk lynx curl rtl-sdr
sudo apt install -y libcurl4-openssl-dev curl libjson-perl libwww-perl net-tools sqlite3
sudo apt install -y sox libsox-dev curl python3 python3-dev python3-numpy python3-pip python3-suds
sudo apt install -y libssl-dev

 

Jeśli chcemy na tym urządzeniu zainstalować także dashboard to musimy przygotować dla niego środowisko pracy

sudo apt install -y apache2 php libapache2-mod-php php-mbstring php-cgi php-common php-curl php-sqlite3 apache2-utils

 

Kolejnym krokiem jest utworzenie użytkownika svxlink ponieważ jest on wymagany do instalacji. W późniejszym etapie możecie sobie sami zmienić ustawienia, lecz na etapie instalacji taki użytkownik powinien być istniejący.

W przypadku RaspberryPi komenda jest taka: 

sudo /usr/sbin/useradd -c "svxlink user" -G audio,dialout,daemon,plugdev,gpio -d /home/svxlink -m -s /sbin/nologin svxlink

 

Można powiedzieć że jeśli wszystkie wymienione kroki zakończyły się sukcesem i nie wystąpiły jakieś problemy z  ich instalacją to możemy przejść do instalacji samego svxlink. 

 

Oto spis komend prowadzących nas przez proces pobrania, kompilacji i instalacji svxlink / svxreflector

sudo -s
cd /opt
mkdir src
cd src
git clone http://github.com/sm0svx/svxlink.git
mkdir svxlink/src/build
cd svxlink/src/build
cmake -DUSE_QT=OFF -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONF_INSTALL_DIR=/etc -DLOCAL_STATE_DIR=/var -DCMAKE_BUILD_TYPE=Release ..

 

 

Ważne aby na tym etapie obserwować czy przypadkiem nie mamy komunkatu o błedzie lub że brakuje jakiegoś elementu

 

make
make install
/usr/sbin/ldconfig

 

 

Musimy jeszcze utworzyć dwa pliki : 

1. plik autostartu

sudo nano /lib/systemd/system/svxlink.service

i wklejamy : 

[Unit]
Description=SvxLink repeater control software
Documentation=man:svxlink(1)
After=network.target remote-fs.target syslog.target time.target
After=rc-local.service sound.target

[Service]
EnvironmentFile=/etc/default/svxlink
PIDFile=${PIDFILE}
ExecStartPre=/bin/mkdir -p /var/run/svxlink
ExecStartPre=/bin/chown ${RUNASUSER}:${RUNASUSER} /var/run/svxlink
ExecStartPre=/bin/chmod 775 /var/run/svxlink
ExecStartPre=-/bin/touch ${LOGFILE}
ExecStartPre=-/bin/chown ${RUNASUSER} ${LOGFILE}
ExecStart=/usr/bin/svxlink --logfile=${LOGFILE} --config=${CFGFILE} --pidfile=${PIDFILE} --runasuser=${RUNASUSER}
ExecReload=/bin/kill -s HUP $MAINPID
Restart=on-failure
TimeoutStartSec=60
TimeoutStopSec=10
#WatchdogSec=@SVX_WatchdogSec@
#NotifyAccess=main
LimitCORE=infinity
WorkingDirectory=/etc/svxlink

[Install]
WantedBy=multi-user.target

 

 

 

następnie sudo nano /etc/default/svxlink

i wklejamy 

# This file copy to /etc/defualt/

#
# Enable Alsa zerofill if set to 1 (see manual page)
#ASYNC_AUDIO_ALSA_ZEROFILL=0

############################################################################
#
# Configuration file for the SvxLink Systemd unit file
#
#############################################################################

# The user to run the SvxLink server as
RUNASUSER=svxlink

# Specify which configuration file to use
CFGFILE=/etc/svxlink/svxlink.conf

# Where to place the log file
LOGFILE=/var/log/svxlink.log

# Where to place the PID file
PIDFILE=/run/svxlink.pid

# Enable Alsa zerofill if set to 1 (see manual page)
#ASYNC_AUDIO_ALSA_ZEROFILL=0

Teraz możemy wydawać komendy : 

sudo systemctl status svxlink
sudo systemctl stop svxlink
sudo systemctl start svxlink
sudo systemctl restart svxlink

 

 

Zanim zakończymy warto dla ułatwienia sobie życia pobrać prawie gotowy plik konfiguracyjny przygotowany pod RaspberryPi i sterowanie za pomoca GPIO - pozwoli mieć to punkt wyjściowy na start i do porównania z oryginałem na przyszłość. 

Najpierw wykonajmy kopię zapasowa oryginalnego pliku konfiguracyjnego komendą : 

sudo cp /etc/svxlink/svxlink.conf /etc/svxlink/svxlink.conf.bak

a następnie moge zasugerowac pobranie prostego pliku konfiguracyjnego pod simplex hotspot 

sudo wget -O /etc/svxlink/svxlink.conf https://d4a.uk/git/svx/svxlink.conf

Edycję i konfigurację opisze w dalszej cześci. 

 

 

 

Dlatego już w tym momencie polecam każdemu po przejściu procesu kompilacji zrobić sobie kopie karty SD - aby kolejny raz już tego nie robić i nie tracić kolejnych godzin.

 

© est. 2006 Digit4all_GROUP. Designed By WebKomp

Logowanie