Pagine

Installare svxlink

18-4-2022 Aggiunta libreria libgpiod-dev. Aggiunta breve nota per l'avvio via systemctl.
 
24-3-2022 Aggiunto in fase di compilazione l'avvio via systemd. Aggiornate tcl8.6-dev tk8.6-dev all'ultima versione. Aggiunte note relative ad armbian su dispositivi diversi dal raspberry.

24-1-2021 Aggiunta libreria libogg-dev e nuova procedura installazione clip audio.

23-4-2020 Aggiunta libreria libjsoncpp-dev causa errore cmake.


Svxlink è un software sviluppato da Tobias Blomberg SM0SVX, installabile su sistemi linux unix. Serve fondamentalmente per collegare nodi distanti utilizzando il sistema echolink tramite la rete internet o intranet. Per lo scopo può essere impiegata una singola radio in simplex, oppure un rx e un tx in configurazione ponte radio, veicolando cosi il traffico voce con il metodo voip. L'hardware può essere un vecchio pc o meglio un piccolo raspberry dai consumi ridotti. Nelle ultime versioni di svxlink è consigliato un hardware di ultima generazione.

Questa guida è valida per Ubuntu, Debian, Raspbian wheezy, jessie, stretch, buster, bullseye e armbian testato su orange-pi 2. Nell'ultima versione è stato aggiunto svxreflector e svxserver permettendo di collegare più nodi svxlink in parallelo ai nodi echolink o in tutta autonomia.

Per prima cosa bisogna installare tutte le dipendenze.
Qui farò riferimento all'ultima versione di sviluppo disponibile su github.

Per l'installazione su raspberry preparate una schedina sd con il sistema operativo installato e funzionante. Non spiego qui come fare, sul web si trova tanto materiale.

Eseguite il login via ssh. Prima di ogni cosa aggiornate il kernel:

  • sudo rpi-update

    A fine aggiornamento riavviate:


    sudo shutdown -r now

    Riavviato il sistema, aggiornatelo:
  • sudo apt-get update
  • sudo apt-get upgrade
Impiegherà qualche minuto, alla fine riavviate ancora.

Adesso bisogna installare tutto il necessario per compilare il programma. Copiate e incollate nella shell tutto il blocco successivo.
    • sudo apt-get install build-essential sigc++ gcc g++ make cmake libgcrypt20-dev tk-dev libgsm1-dev libsigc++-2.0-dev tcl-dev libspeex-dev libasound2-dev alsa-utils librtlsdr-dev vorbis-tools libpopt-dev libssl-dev libopus-dev groff tcl8.6-dev tk8.6-dev git curl libcurl4-openssl-dev librtlsdr-dev rtl-sdr libjsoncpp-dev libogg-dev opus-tools speex libtool autoconf automake m4 libgpiod-dev
      Aggiungiamo l'utente svxlink al sistema. Per un corretto funzionamento bisogna aggiungere l'utente svxlink anche al gruppo dialout (grazie al suggerimento di Tony IS0HHA) Copiate e incollate il blocco successivo in grassetto.

      Su sistemi armbian, con gruppo gpio non presente, togliete gpio, pena errore nella creazione dell'utente svxlink.
      • sudo useradd -c "Echolink user" -G gpio,audio,dialout,plugdev,daemon -d /home/svxlink -m -s /sbin/nologin svxlink
      Installiamo il ricevitore usb rtl2832 (Potete omettere questo passaggio se non volete utilizzarlo.
      • sudo apt-get install libusb-1.0-0.dev
      • git clone git://git.osmocom.org/rtl-sdr.git
      • cd rtl-sdr
      • mkdir build
      • cd build
      • cmake ../
      • cmake -DINSTALL_UDEV_RULES=ON -DDETACH_KERNEL_DRIVER=ON ../
      • make
      • sudo make install
      • sudo ldconfig
      Torniamo alla nostra home, digitando cd
       
      Se avete la necessità di usare la parte grafica, installate qt4-default e impostate nel blocco successivo in grassetto, cmake -DUSE_QT=ON
      • sudo apt-get install qt4-default
      Installiamo adesso svxlink:
        • git clone https://github.com/sm0svx/svxlink.git
        • cd svxlink/src
        • mkdir build
        • cd build
        • cmake -DUSE_QT=OFF -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONF_INSTALL_DIR=/etc -DLOCAL_STATE_DIR=/var ../ -DCMAKE_BUILD_TYPE=Release -DWITH_CONTRIB_SVXSERVER0.0.6=OFF -DWITH_SYSTEMD=ON cmake-gui ..
        • make
        • sudo make install
        • sudo ldconfig
        Installiamo le clip audio.

        Versione 19.0....

        • cd /usr/share/svxlink/sounds/
        • sudo wget https://github.com/sm0svx/svxlink-sounds-en_US-heather/releases/download/19.09.99.1/svxlink-sounds-en_US-heather-16k-19.09.99.1.tar.bz2
        • sudo bunzip2 svxlink-sounds-en_US-heather-16k-19.09.99.1.tar.bz2
        • sudo tar -xvf svxlink-sounds-en_US-heather-16k-19.09.99.1.tar
        • sudo cp -r en_US-heather-16k en_US

        Versione 18.03 e precedenti:

        • cd /usr/share/svxlink/sounds/ 
        • sudo curl -LO https://github.com/sm0svx/svxlink-sounds-en_US-heather/releases/download/18.03.1/svxlink-sounds-en_US-heather-16k-18.03.1.tar.bz2 
        • sudo tar xvjf svxlink-sounds-en_US-heather-16k-18.03.1.tar.bz2
        • sudo ln -s en_US-heather-16k en_US 

        Per il corretto funzionamento e utilizzo dei pin gpio, fate riferimento all'hardware in uso per l'identificazione degli stessi. Su schede diverse dal raspberry, tipo orange e altre, la numerazione e posizione è differente.

        Per avviare correttamente l'applicazione e la configurazione dei pin gpio, sarà necessario usare systemd. Verranno così inizializzati i pin richiesti nel file gpio.conf e successivamente svxlink.conf per l'utilizzo definitivo.

        Aggiungerò, appena possibile, una descrizione dettagliata per l'avvio via systemctl con gli esempi del caso. Vi consiglio di documentarvi se non conoscete systemd e volete farvi un'idea sulla logica di funzionamento. Sul web si trova tanto materiale ben scritto con tanti esempi. I file creati in fase di compilazione e installazione non necessitano di modifiche.

        Adesso bisogna configurare i due file /etc/svxlink/svxlink.d/ModuleEchoLink.conf e /etc/svxlink/svxlink.conf

        Nel primo file di configurazione, /etc/svxlink/svxlink.d/ModuleEchoLink.conf, bisogna inserire le credenziali, User, Password, Nome e poche altre informazioni, per accedere ai server echolink. Nel secondo, /etc/svxlink/svxlink.conf, bisogna settare correttamente il tipo di configurazione rx, tx, nominativo e logica di funzionamento in base all'interfaccia usata. Seguite le guide successive:


        Qui trovate un breve guida con i comandi.

        Buon divertimento!

        Aggiornare svxlink all'ultima versione

        Prima di effettuare l'aggiornamento all'ultima versione di sviluppo bisogna rimuovere completamente il vecchio software. Seguite questa guida


        Aggiornare all'ultima versione

        Loggatevi via ssh e date questi comandi:
        • cd svxlink
        • git pull
        • cd src/build
        • make clean
        • make
        • sudo make install
        • sudo ldconfig


          6 commenti:

          Anonimo ha detto...

          73 cordiali.

          Se volessi usare un ricevitore sdr come secondo RX collegato al raspberry via usb,come devo settare le configurazioni di svxlink?
          Grazie 73.

          Tony IS0HHA ha detto...

          Ottima guida, Biagio. Grazie al tuo articolo sono riuscito ad installare e configurare in breve tempo il mio svxlink. Mi preme indicarti però che andrebbe fatta una piccola variazione nella guida. Infatti ho notato che usando la Raspbian stretch l'utente svxlink non gode dei privilegi per poter utilizzare svxlink in quanto non viene autorizzato al "dialout" quindi ho corretto la tua riga in :
          sudo useradd -c "Echolink user" -G gpio,audio,dialout -d /home/svxlink -m -s /sbin/nologin svxlink
          In questo modo posso testare il funzionamento del software con sudo -u svxlink svxlink, senza problemi.
          Ho anche aggiunto il "servizio" /lib/systemd/system/svxlink.service nel quale ho inserito :
          [Unit]
          Description=SvxLink Server
          After=network.target sound.target

          [Service]
          Restart=always
          KillMode=process
          ExecStart=/usr/bin/svxlink –config=/etc/svxlink/svxlink.conf –logfile=/var/log/svxlink
          RestartSec=5
          TimeoutSec=5
          User=svxlink
          Group=svxlink
          Environment="HOME=/etc/svxlink"

          [Install]
          WantedBy=multi-user.target
          abilitandolo con sudo systemctl enable svxlink
          perché non mi piaceva lanciarlo da rc.local
          Se lo ritieni opportuno, puoi aggiornare la tua ottima guida.
          73 de Tony - Is0hha

          Anonimo ha detto...

          Ciao, sito fantastico!! hai mica un esempio funzionante per adoperare il ricevitore sdr come ricevitore RF?
          Grazie

          Anonimo ha detto...

          Ciao, potresti fare una pagina dove spieghi come utilizzare il ricevitore sdr, grazie 73

          Biagio La Fauci IT9FDP ha detto...

          Ciao Tony, grazie per i suggerimenti. Appena posso li inserisco volentieri citandoti nell'articolo. Molto elegante l'avvio dell'applicazione al boot di sistema.

          Il ricevitore rtl-sdr non ho avuto modo di provarlo. Per chi mi chiede come configurarlo, mi riprometto di scrivere una breve guida dopo averlo configurato e provato con i parametri del caso.

          73 cordiali.

          IW7CRP LUIGI ha detto...

          ho seguito alla lettera tutta la guida ma non riesco a far partire svx link