Installation och Konfiguration av SvxLink

Repeaterskolan - Supplement #30

Observera!

I nyligen uppdaterade versioner av SvxLink har hanteringen av subton (CTCSS) förändrats. Man måste beakta ett antal saker innan man uppdaterar. Konfigurationen kan behöva justeras för att funktionen skall kunna bibehållas. 


Tidigare har det funnits tre av varandra helt oberoende mekanismer för hantering av CTCSS:

  -  OPEN_ON_CTCSS    Öppna repeatern med CTCSS

  -  CTCSS_TO_TG          Mappa subton till talgrupper

  -  CTCSS_FQ                 Definiera vilka toner som skall öppna brusspärren


Nu har implementationen ändrats, så att alla CTCSS-funktioner delar samma dekodrar. Däremot finns förstås alla dessa tre funktioner kvar, men de fungerar lite annorlunda.


Tidigare kunde man ange OPEN_ON_CTCSS=82.5:500, vilket innebar att repeatern öppnar på 82,5 Hz efter 500 ms. Om man samtidigt hade mappat ett antal frekvenser mot talgrupper med CTCSS_TO_TG, behövde man dock inte ha denna rad, utan repeatern startade ändå (vilket egentligen var en bugg).


I den nya versionen är syntaxen istället: OPEN_ON_CTCSS=500. Repeatern öppnar då t ex efter 500 ms subton.

Men vilken subton? Logiken använder nu alla de toner som definierats i mottagarens squelch, med parametern CTCSS_FQ.


Parametern OPEN_ON_CTCSS måste numera finnas, annars går det inte att starta repeatern med CTCSS.


CTCSS_FQ måste innehålla alla de frekvenser, som man vill kunna öppna repeatern med, eller som man vill kunna mappa till talgrupper med CTCSS_TO_TG. Alla toner behöver dock inte mappas till talgrupp. Omappade toner kommer då enbart att starta repeatern, utan att samtidigt aktivera någon talgrupp. Här kan förstås DEFAULT_TG komma i spel i stället.


Men det räcker då inte med att bara ha raden CTCSS_FQ i sin [Rx]. Den raden är nämligen inte i spel, om det inte samtidigt är konfigurerat SQL_DET=CTCSS


Om man nu i stället vill använda en annan typ av squelch, t ex SIGLEV eller GPIO, behöver man trixa lite för att det här skall fungera.

  -  Man får då använda sig av SQL_DET=COMBINE.

  -  Sedan definierar man SQL_COMBINE=Rx1:CTCSS | Rx1:SIGLEV.


Som följd av detta, behöver nu blocken [Rx1:CTCSS] och [Rx1:SIGLEV] definieras (exempel finns beskrivna nedan). Observera att det nu är i [Rx1:CTCSS] som man skall sätta CTCSS_FQ till att innehålla alla toner som skall ha någon funktion. Men raden behöver ändå finnas i [Rx1], där den används när man kör siglevdetcal.

Vi erbjuder här exempel på konfiguration av SvxLink.

  -  conf   Kopieras till katalogen /etc/svxlink

  -  tcl    Kopiera till mappen /usr/share/svxlink/events.d/local (mappen behöver skapas).


Om du inte kört installationsscriptet nedan, kan du behöva använda sudo vid kopieringen.


Konfigurationen består av filerna:

  -  svxlink.conf   =Konfigurationsfil för SvxLink

  -  node_info.json  =Metadata att skicka till reflektorn och Svx-portalen.


Filerna kommer att beskrivas i detalj nedan.

Den fullständiga beskrivningen av samtliga parametrar i filen kan fås genom att köra kommandot:

  man svxlink.conf


Mina kommentarer i exempelfilen är numrerade.


[RepeaterLogic]

Denna sektion styr nodens beteende ut på radiosidan. Det finns även SimplexLogic.


1. CALLSIGN=SK7RFL

Ange den anropssignal (utan -L -R -2 -70 etc) som logiken skall identifiera sig med över radio.


2. OPEN_ON_DTMF=7

Ange den DTMF-siffra som skall öppna repeatern. Kommentera ut, ifall funktionen ej önskas.


3. OPEN_ON_CTCSS=500

Denna parameter är absolut nödvändig för att repeatern skall starta på CTCSS.
Öppning kommer att ske på samtliga de subtoner som definierats i din [Rx] (CTCSS_FQ).

Där behöver du även ha SQL_DET=CTCSS.

Önskar du använda annan squelch än CTCSS, behöver du använda SQL_DET=COMBINE, där i så fall någon form av CTCSS måste finnas.


Det räcker alltså inte med att enbart definiera tonerna med CTCSS_FQ, eftersom den parametern bara är i spel om SQL_DET=CTCSS.


Alla toner behöver dock inte vara mappade till en talgrupp.

4. CTCSS_TO_TG=88.5:240,123.0:2400,146.2:2402,141.3:2403,151.4:2404,91.5:2405,118.8:2406,156.7:2407,136.5:9

Subtonsmappning av talgrupper.

Tonerna måste finnas i din Rx i parametern CTCSS_FQ. Där behöver du även ha SQL_DET=CTCSS eller SQL_DET=COMBINE, där i så fall någon form av CTCSS måste finnas.

Det räcker alltså inte med att enbart definiera tonerna med CTCSS_FQ.



[ReflectorLogic]


5.  CALLSIGN=

Nodens callsign på reflektorn. Måste vara unikt.

Bör ej innehålla -L eller -R. Men kan innehålla t ex -2 eller -70, om behov finnes (t ex om det finns två repeatrar med samma callsign).


6. AUTH_KEY

Inloggningsnyckel till reflektorn. Denna får du genom att besöka:

    https://reflector-sm.svxlink.org/genpw?callsign=DITT_CALL


7. DEFAULT_TG

Repeaterns default tg (vid 1750, DTMF-öppning och subton som ej har mappats till talgrupp).

Denna talgrupp kommer inte att annonseras ut (ej standardfunktion i SvxLink).


8. MONITOR_TGS=240,2405,240501

De talgrupper som repeatern skall monitorera.


9. AUTO_QSY_TGS=240,2405

    LOCAL_TALK_MAX_COUNT=10

Ange de talgrupper du vill tvinga egen auto-QSY på vid för många lokala sändningspass i rad.

Detta är ingen standardfunktion i SvxLink.



[Rx1:SIGLEV]

Detta är en sub-detektor för SIGLEV som kan användas i en SQL_COMBINE.


10. SQL_SIGLEV_OPEN_THRESH=10
      SQL_SIGLEV_CLOSE_THRESH=2

Tröskelvärden som kan behöva justeras efterhand.



[Rx1:CTCSS] 

Detta är en sub-detektor för CTCSS som kan användas i en SQL_COMBINE.

Om repeatern skall ha enbart CTCSS-squelch, kan samma parametrar istället definieras direkt i [Rx1].


11. CTCSS_FQ=88.5,123.0,146.2,141.3,151.4,91.5,118.8,156.7,114.8,136.5

De subtoner som skall öppna squelchen.

Skall som minst vara alla de som mappas med CTCSS_TO_TG, samt de eventuellt övriga som skall öppna repeatern..
Om SQL_DET=COMBINE, så räcker det inte med att  enbart definiera samma toner under [Rx1].


12. CTCSS_SNR_OFFSETS= 

Dessa värden fås när du kört siglevdetcal, som måste köras med SQL_DET=CTCSS i [Rx1].



[Rx1:CTCSS-B]

Detta är en sub-detektor för CTCSS som kan användas i en SQL_COMBINE, för att vid behov blockera ut subtoner från störande trafik över andra närbelägna repeatrar.


13. CTCSS_FQ= 

De subtoner som du eventuellt vill blockera ut.


14. CTCSS_SNR_OFFSETS= 

Dessa värden fås när du kört siglevdetcal, som måste köras med SQL_DET=CTCSS i [Rx1].



[Rx1]

Detta är huvudkonfigurationen för mottagaren.


15. AUDIO_DEV=alsa:plughw:0

Gör "arecord -l" för att se vilka ljudenheter som finns och sätt in rätt siffra.


16. SQL_DET=COMBINE

      #SQL_COMBINE=!Rx1:CTCSS-B & (Rx1:CTCSS | Rx1:SIGLEV)
      SQL_COMBINE=Rx1:CTCSS | Rx1:SIGLEV

Denna lösning använder kombinerad SIGLEV och CTCSS squelch.
För att OPEN_ON_CTCSS och CTCSS_TO_TG skall fungera, måste SQL_DET antingen vara CTCSS, eller vara en kombination som innehåller CTCSS. I det senare fallet måste samtliga toner som används för öppning och/eller mappning vara definierade i [Rx1:CTCSS].


17. CTCSS_SNR_OFFSETS=

Dessa värden fås när du kört siglevdetcal, som måste köras med SQL_DET=CTCSS.


18. CTCSS_FQ=88.5,123.0,146.2,141.3,151.4,91.5,118.8,156.7,114.8,94.8,74.4,77.0,79.7,85.4,71.9,136.5,82.5

De subtoner som skall öppna squelchen, om SQL_DET=CTCSS. Skall minst vara alla de som mappas med CTCSS_TO_TG, samt de som i övrigt skall öppna repeatern. Vid kalibreringen med siglevdetcal, behöver denna rad även innehålla de toner som ev skall blockeras ut i [Rx1:CTCSS-B].


Om SQL_DET=COMBINE, skall samma toner (utom de som ev skall blockeras) anges i [Rx1:CTCSS].


19. SIGLEV_SLOPE=
      SIGLEV_OFFSET=

Dessa värden fås när du kört siglevdetcal.



[Tx1]

20. AUDIO_DEV=alsa:plughw:0

Gör "aplay -l" för att se vilka ljudenheter som finns och sätt in rätt siffra.


21. CTCSS_FQ=

Den subton som repeatern skall sända ut över radio. Denna tonfrekvens är alltid samma, oavsett vilken talgrupp som är aktiv.

{

    "nodeLocation": "Göteborg",

//  Stad eller område. Detta syns på Portalens förstasida.


    "sysop": "******",

//  Anropssignal på den som sköter repeatern.


    "toneToTalkgroup": {
      "114.8": 0, "114.80": 240602, "88.5": 240, "123.5": 2400, "146.2": 2402,
      "141.3": 2403, "151.4": 2404, "91.5": 2405, "118.8": 2406, "156.7": 2407,

      "136.5": 9 },

//   Dessa bör förstås stämma med det du angett under CTCSS_TO_TG i svxlink.conf.


    "qth": [

//  Det kan finnas flera än ett QTH per nod. Isf blir detta en lista.

        {

            "name": "Guldheden",
//  Ett mera lokalt namn. Detta syns i mottagarlistan på respektive QTH-rad.


            "pos": {
                "lat": "57.67",
                "long": "11.97",
                "loc": "JO57XQ"
            },


            "rx": {

//  Det kan finnas flera än en Rx på samma QTH. Isf blir detta en lista.


                "E": {
//  Bokstaven måzze vara samma som i svxlink.conf. Annars funkar inte indikeringarna på Poartalen.


                    "name": "RV52",
                    "freq": 145.050,
                    "sqlType": "SIGLEV|CTCSS",
                    "ant": {
                        "comment": "GP-98",
                        "height": "50m",
                        "dir": "--"
                    }
                }
            },
            "tx": {

//  Det kan finnas flera än en Rx på samma QTH. Isf blir detta en lista.


                "T": {
//  Bokstaven måste vara samma som i svxlink.conf. Annars funkar inte indikeringarna på Poartalen.


                    "name": "RV52",

//  Detta syns i kartan efter anropssignalen.


                    "freq": 145.650,
                    "pwr": "30",
                    "ant": {
                        "comment": "Aerial Oy AV1912",
                        "height": "50m",
                        "dir": "--",
                        "gain": "",
                        "Antenna_type": "omni"

                    }
                }
            }
        }
    ]
}


TCL-scripten i SvxLink styr logikens beteende och vilka ljudsignaler som spelas.


De modifierade script-filerna används för att ge "förbättrad" funktionalitet, såsom:

  -  Att ID inte sänds över någon som talar.

  -  Differentierat RGR-pip (för 2m och •• för 70cm).

  -  Möjlighet till ytterligare pip som anger angränsande repeater.

  -  Egen "auto-QSY" vid för många lokala sändningar på t ex 240.

  -  Sänkt nivå på "space invaders" ljudet vid idle.
  -  Undertrycker annonsering av repeaterns default talgrupp.

  -  Möjlighet till hantering av vilka talgrupper som får kombineras med EchoLink.

  -  Några ytterligare loggutskrifter.


Sök på SM5GXQ i filerna så ser du vilka ändringar som gjorts.


Filerna är kopierade från originalen i sin helhet. Man borde kunna utelämna funktioner som inte har ändringar, men jag är inte 100% säker på den funktionen. Nackdelen är att kommande versioner av SvxLink kan komma att ändra i funktionerna. Våra egna lokala ändringar i mappen "local" överrider alltid de nytillkomna ändringarna. 

Automatiserad installation

Vi erbjuder här ett antal bash-script som kan användas för att installera och uppdatera SvxLink.

  -  svx-build    =nyinstallation

  -  svx-update   =uppdatering


Som bas för dessa script har jag använt den instruktion som finns här:

https://github.com/sm0svx/svxlink/wiki/InstallSrcHwRpi


Kopiera alla script (Index of /doc/kod/script), förslagsvis till /usr/local/bin, och gör dem sedan exekverbara:

  sudo chmod a+x /usr/local/bin


Scripten hanterar installation av alla dependencies som behöver finnas i datorn innan kompilering av SvxLink. Scriptet är endast testat på en Raspberry Pi.


Scriptet skapar användaren och gruppen SvxLink.


Sedan hämtas källkoden från https://github.com/sm0svx/svxlink, varefter den kompileras och installeras.


Därefter hämtas svenska och engelska ljudfiler.


Avslutningsvis så sätter scriptet lite rättigheter på följande kataloger:

  -  /etc/svxlink

  -  /usr/share/svxlink


Sista raden är bortkommenterad, men du bör köra den manuellt för att enabla autostart av SvxLink. Vänta gärna tills du är nöjd med allting.

Flera script

Föregående sida
Tillbaka till Repeaterskolan
Nästa sida

Vi erbjuder även några script för administrataionen av SvxLink.

  -  svx         =Interaktiv start av SvxLink

  -  svx-check   =Kontrollera om tjänsten körs

  -  svx-dir     =Skapa arbetskatalog (i ram-disken). Skall läggas i crontab (se nedan).

  -  svx-pull    =Kontrollera om det finns uppdateringar av SvxLink.

  -  svx-restart =Starta om SvxLink (t ex efter uppdatering av config).

  -  svx-start   =Manuell start av SvxLink.

  -  svx-stop    =Manuell stopp av SvxLink.


Om du använder vår exempelkonfiguration, kan det hända att tcl-scripten behöver en arbetskatalog, som då behöver skapas varje gång som datorn startas.


Kör:

  sudo crontab -e


Lägg in följande sist i filen:

  @reboot /usr/local/bin/svx-dir


Spara och stäng.

Från fyren Långe Erik ...

Från fyren Långe Erik ...

JO86GQ

... till Långe Jan.

... till Långe Jan.

SK7RFL drivs som en neutral och oberoende repeater.
  -  Den är fristående från klubbtillhörighet.
  -  Det gäller även denna webbplats.
  -  Alla är välkomna att använda SK7RFL, oberoende av klubbmedlemskap.
  -  Repeatern ägs och drivs av SM7CLM och SM7GMD.
  -  SM5GXQ bidrar med konfiguration av SvxLink och Pi-Star samt denna webbplats.
  -  Repeatern behöver stöd i form av (frivilliga) bidrag.

Stöd driften av SK7RFL med ett bidrag!

Swisha till 0736-159836.
Eller gör överföring till bankkonto 9159-025.429-7.