The PG540 Spotnik Network

Uit Projectgroep .540
Ga naar: navigatie, zoeken
Sputnik asm.jpg
A replica of Sputnik 1, the first artificial satellite in the world to be put into outer space in 1957:
the replica is stored in the National Air and Space Museum, Washington USA


-INFO: deze pagina is nog niet helemaal klaar, maar voor het begin alvast te gebruiken


73's de Hans F4VSJ

Spotniklogonew3.jpg

Blinklight.gifNieuwe informaties in hoofdstuk 38, Spotnik met GPS ontwikkeling

Inhoud

Het laatste nieuws over het PG540 Netwerk

Wie zijn er QRV op het PG.540 Netwerk en sinds wanneer:

  • F4VSJ met Raspberry Pi én Orange PI Spotnik, de 540 SvxReflector server draait,
 eerste operationele netwerk voor de PG540 draait - ergens begin 2018
  • PE2JKO met LimeSDR - installatie en de allereerste QSO's en tests - maart/april 2018
  • PE1KDA met Spotnik van Carlo en speciale aanpassing software (rrf basis)- 5 Aug 2018
  • PE1MWL met PG540 Spotnik met 2m module - 19 Aug 2018
  • PA0FMS met PG540 Spotnik met 70cm module - 24 Aug 2018
  • PA0LKY met PG540 Spotnik met 70cm module - 11 Okt 2018
  • PE1KDA met een Raspberry PI, zonder audio voor een PG540 Tracker - 8 Nov 2018
  • PE2JKO met RTL-SDR en RPiTX - 10 nov 2018
  • HB9CVG met PG540 Spotnik met 70cm Module - 17 Nov 2018
  • PE2JKO met Raspi Zero en mobiel qrv - 20 Dec 2018
  • PA0CDY met PG540 Spotnik met 70cm module - 24 Jan 2019
  • PA2HKR/M met PG540 Spotnik met 70cm module - 9 Feb 2019
  • PA2JWM met PG540 Spotnik met 70cm Module- 27 Maart 2019
  • F4VSG met PG540 Spotnik met 70cm Module - November 2020
  • PA0SNY met PG540 HB9CVG Spotnik met 70 cm module - Januarie 2021
  • PA0BDC met PG540 Spotnik Versie 3.11 BETA testing 70cm module - 26 Feb 2021


Een paar data:
In de zomer van 2017 kom ik in verbinding met F5NLG en F1TZO, beide in Bretagne en aan het opzetten van netwerkjes tussen 
verschillende zendamatuers. Dit maakt mij erg nieuwsgierig en wil weten hoe dit werkt en in elkaar steekt.Een Raspberry Pi of 
Orange Pi, wat software, wat elektronische komponenten en gaan...
Ik begin te knustselen en heb kontakt met Joop PE2JKO die aan zijn kant ook aan het programeren slaat.
Een eerste Reflector-server
draait vanaf mij thuis en de eerste verbinding buitenshuis maakt Joop.
 

Ergens begin 2018: Joop PE2JKO is actief via het nieuwgeboren "PG540 netwerk",
met een Raspberry Pi en pure Svxlink-software en een USB soundkaartje.
Een paar details hoe en waar te verbinden, heel basic als begin, maar het werkt.
Maart/april 2018: Joop heeft de Raspi uitgebreid met LimeSDR en GNU Radio
Tegelijkertijd: Carlo PE1MWL is aan het testen met een andere hardware configuratie, 
Raspberry Pi met Svxlink kaart en een Griekse SA818 oplossing op 2 Meter.
In het voorjaar van 2018 neem ik alle spulletjes mee naar een 540 avond in Zantvoort en laat het aan iedereen zien hoe het werkt.
Daarna: Carlo wil toch ook met de Orange Pi aan de slag, nadat ik een demo in Zandvoort gaf.
Carlo neemt het initiatief en besteld materiaal om kitjes te maken voor zo'n 10 PG540ers.
28 july 2018: Jelle krijgt de allereerste image om te testen: Er zit nog een voutje in...
30 july 2018: Jelle heeft de laatste, ik hoop goede, image ontvangen.
Hij gaat het weer op de hardware van Carlo proberen.
01 Aug 2018: Jelle heeft verbinding met een speciaal aangepaste versie van de Franse RRF image...
de 540 image heeft wat transfer problemen...
De audio is nog niet helemaal hoe het moet, maar de verbinding staat.
04 Aug 2018: Jelle ontdekt wat aandacht puntjes op de printplaat, kortsluitingen...en maakt het werkend.
05 Aug 2018: Jelle is nu 100% OK QRV via het 540 Netwerk, audio instellingen OK
11 Aug 2018: Joop heeft de pg540 v2.00en Image voor de PG540 Spotnik.
19 Aug 2018: Carlo is QRV op het netwerk, Joop test de Spotnik voor Fred en werkt 100%
Heino wacht ongeduldig op z'n SD kaartje
21 Aug 2018: Jelle gaat de software onder de loep nemen, voor eigen experimenten
met een peiker microfoon met een rj45 aan de achterkant...zie:fotos
24 Aug 2018: Fred heeft zijn werkende Spotnik in gebruik genomen, er zijn wat onzuiverheden in het audio, het is de porto die de 
problemen geeft
14 Sept 2018: In Zandvoort worden de kitjes verdeeld aan de deelnemers.
11 Okt 2018: PA0LKY download de RRF Image en doet eerste tests op het RRF netwerk, hij wacht op een kaartje met de PG540 software.
18 Okt 2018: PA0LKY maakt de eerste QSO met Joop via het 540 Netwerk.
08 Nov 2018: PA1KDA maakt verbinding met het netwerk ,nog zonder audio.
Hij ontwikkeld een PG540 Tracker met een Raspberry Pi voorzien van leds en een LCD scherm van 2 regels.
10 Nov 2018: PE2JKO heeft de eertse tests gedaan met een Raspberry Pi, ontvangst via een 
RTL-SDR en uitzenden via RPiTX
17 Nov 2018: HB9CVG connect het netwerk, met wat opstart en configuratie probleempjes is hij QRV.Het zijn wat CTCSS problemen. 
21 Dec 2018: Peter CDY en Eric REH hebben hun spotnik in elkaar gezet en op de 540 avond hun software gehad. Eerste tests zonder 
netwerk,werkt zover
24 Dec 2018: Joop heeft de spotnik van Peter CDY onder handen genomen, een voute transistor erin ,dan werkt het niet.
PTT is een BC547 en Squelch een BC557, dus binnenkort op het netwerk
23 Jan 2019: PA0CDY Peter is gehoord en gezien door mij op het netwerk, Joop JKO heeft hem gesproken, alles werkt goed. De eerste 
nieuwe spotnik gebruiker van dit jaar. Na een opstart probleempje, corrupte file(s), weer aan de praat door Joop , die heeft even 
een FSCK gedaan.
08 Feb 2019: Joop experimenteerd met RPiTX op de autoradio in WFM en RDS text voor de ontvangst van de Raspberry Pi.
09 Feb 2019: PA2HKR-M ,Heino mobiel gespot op het netwerk, waar weet ik niet, heb hem niet gesproken.
27 Maart 2019: PA2JWM , Job is aktief op het netwerk, gefeliciteerd, zonder hulp van mijn kant...
9 November 2020: F4VSG..Jawel Hij is QRV sinds vanmiddag, prima en goed te horen.Voor hem een kant en klare,plug en play hotspot.
in Januarie 2020: PA0SNY Is QRV met een HB9CVG versie van de spotnik, na enige netwerkontsporingen is hij nu goed te werken
26 Februarie 2021: PA0BDC QRV met de ALLERNIEUWSTE versie van de Software, V3.11 Hij gaat als eerste betatester aan de slag en binnenkort dan ook beschikbaar voor iedereen!
21 Oktober 2024 : PA2REH is ook qrv sinds een paar dagen, de eerste tests gedaan op het franse rrf netwerk, omdat er iets niet klopte op zijn memorie kaartje

Who's next?....

 wie  o wie?

Heel korte gebruiksaanwijzing Spotnik PG540

Aanzetten:

• Netwerk snoertje aansluiten * 
• Portofoon op de Spotnik frequentie (tot vandaag 430.540 HMz en CTCSS 88.5 Hz)
• 5V aansluiten 
• Laten booten 
• Op de Spotnik frequentie hoor je het IP adres van de unit
• Met de portofoon (of andere transceiver) QSO voeren via het netwerk

Uitzetten: belangrijk te weten!

• Naar de webinterface gaan van de Spotnik (https://192.168.x.x)
• Naar de admin-tab gaan
• Click op Shutdown
• Wacht 10 secondes !
• Dan de 5V eraf halen

Voor de CLI freaks:

root@spotnik540:~# shutdown -h now 


WAAROM is het uitschakelen belangrijk?

In de laatste weken hebben we een paar probleempjes gehad met corrupte file op de SD kaart, oa CDY Dit kwam door "eenvoudig" de stroom te onderbreken om de Spotnik uit te zetten Joop heeft het wel weer opgelost met een "filecheck", maar als we ons aan de procedures houden om de spotnik uit te zetten, is dit verleden tijd

We bedenken een mogelijkheid van een toets om een automatische shutdown te doen, op de Spotnik te instaleren.


* voor diegene die een vaste netwerk verbinding gebruiken. De WIFI connect automatisch NA de configuratie ervan

De ontwikkeling van de Spotnik in Frankrijk

Hoe is het in Bretange begonnen? Hier komt een klein stukje geschiedenis: Vrij vertaald vanuit: https://groups.io/g/RRF/message/1929

RRF / FON: Happy Birthday to our networks!

So here it is: At first there were the big animals, then a couple of things happened without much interest, and we arrive at the RRF/FON Networks (we'll see that it's the same thing).

2014: At the beginning, during animated discussions between 2 friends, F5NLG and F1TZO, they went to explore SVXLINK from SM0SVX. And from exploration, it went to the proper decomposition of this fabulous tool. Yes, but why? These 2 OMs are both in QTH cashed in, and therefore frustrated by not being able to use (correctly) the VHF & UHF bands. Useful precision: both are Breton. Well, if you like. A well-adopted / integrated Belgian Breton and a Breton working in the Paris region ... explosive, we'll see ... (with a bit of humor to air the text).

And so, in less time than it takes 2 Bretons to dry a barrel of cervoise, the crazy idea (also) of interconnecting radio systems to link Brittany to Essonne (Belle Isle en Terre (22), Dinard (35) and Montlhéry (91)) emerges like a devil from its box. So yes, some will say, Echolink already existed and it's true! Only, you need a PC, Windows, and a system administrator who will row to compensate for the proverbial instability of Windows over time ... Don't we say that the day Microsoft will invent something that doesn't crash ... it will be a nail ... ? (I'm joking of course ...). And then, since recently (2012) exists the Raspberry, a mini Linux machine! Oh joy and happiness, sound trumpets, beat drums, this credit card format works under 5V and max 2A, and has 40 GPIO, which as its name indicates (General Purpose Input Output) offers wide interfacing possibilities. Our two friends didn't need any more: a cheap and economical mini machine, a real Linux OS, a great open source software SVXLINK, and a source of supply for beer barrels, all the essential elements were there for the alchemy to work.

2020: 6 years already, or 6 years only?

They spent hours discussing, developing, testing several replicable solutions, hoping to extend the idea to a few more sites. Can you imagine? If we could have a dozen of them! Wouldn't that be crazy? The FON was born with 3 or 4 access points, then about twenty, Linux distributions mainly on Raspberry based on beer names ... Orval, Chimay ... the mayonnaise took and many OM's joined the adventure, including figures such as F1IGY, F4BQN, F4EVC, K9DMD, etc....

Then, with development stagnating due to reluctance to the Echolink protocol, RFR was added, purely for radio access, and it was a success. We must thank F5NLG, who rightly insisted on doubling the offer in an attempt to distance themselves from the Echolink "image". What a great idea! If we cannot mention here all the actors who have invested themselves with us as Sysop and to promote the idea, it is essential to remember that it is also and especially thanks to them that these systems have been able to develop, and their motivation has fed ours! Never at that time had we envisaged the current operation, from the peaks to more than 200 access points, present on the 4 continents, thousands of hours of traffic on the various trade shows ... The observation is nice: Reality has exceeded fiction!


The arrival of the Salons (Rooms)

Svxlink has also evolved and proposed a new protocol much more efficient and qualitative: the "Reflector" mode. It allowed the creation of "salons" as we know them today, and thus to have a set of "discussion places" and to be able to switch from one to the other easily in DTMF. This is how it works today. Some trade shows have gateways. This is the case of the international trade fair open to the world "AllStar" and "C4FM" and the FON trade fair open to the world "Echolink" and "C4FM". At the same time, distribution and "Spotnik" kits have been created and allow access to all these trade shows. The extension of the team

The team of administrators has been enriched over time, from Jean-François F1EVM who developed THE magnificent dashboard, Armel F4HWN who developed LE Raptor, LE Tracker, Les Stats, specific administration tools, Hans F4VSJ who co-administers the network with the 4 of us and develops the Dutch version of the "Spotnik". We will note that without them, no pretty Dashboard, Raptor, Stats online...

Because if you counted on the "dev Web" skill of the 2 jokers at the beginning, well it was not won! And then with 2, the time allocated to the radio has its limits. What a long way we've come since 2014 and the early days! On the occasion of this anniversary (6 years, in our techno fields, it is not nothing!), it is useful to recall a few steps and fundamentals: The RRF has clearly become the main entry point, and this by the will of all (users, admin...) The FON has naturally become a show in its own right and is therefore a full part of the RRF. All the tools, existing or future, will be developed in this spirit of unification. We are convinced that with this pragmatic approach, all of us (founders, network administrators, sysops, ...) will allow everyone to find what they are looking for. We have the chance to be a united team, which moves forward together, which remains attentive and above all pragmatic: We come from "technical production": systems must run and provide service. And then there is what we should all be proud of: Thanks to everyone's investment, to the multiplication of access points, we have been able to participate in : Closing the French gap in Radio Networks

Occupying the VHF and UHF Bands

Offer an incentive for "Young Radio Amateurs" who want to get started: you can start with a Pocket at ~30 € .... To allow old people who can no longer have a shack to keep access to the radio (Spotnik Hotspot + Pocket) Mixing hobbies: Computers, Mini Machine, Radio, etc. And now we have the chance to see developing (and we encourage these initiatives!) the superb Spotnik2HMI from F8ASB/F5SWB for example. So this anniversary is ours, it's also and especially yours, to you who participate in any way! And then we continue to study, to add, to make evolve. So why no new surprises to come? Who knows! And above all, the whole Admin Team would like to thank you all! Thanks to you who, by your implication (Sysops, Radio-clubs), your uses (users, contributors, related projects), have allowed and allow these networks to exist and develop. Thank you to you who by your enthusiasm, your encouragements, motivate us in return. So what do you think? 6 years already or only 6 years?

And I promise, in the next life we will be wise, but not this one. This one we play 73" from Network Admins

F1TZO Michel, F1EVM Jean-François, F4VSJ Hans, F4HWN Armel, F5NLG Jean-Philippe.





De ontwikkelingen staan hier ook niet stil:

  • begin november: 80 aangesloten links en repeaters, 2 reflector-servers in gebruik: RRF, het grootste Franse netwerk
  • 23 Nov 2019: Zo zou een Spotnik er ook uit kunnen zien, de eerste beelden van een digitale Hotspot:klik
  • 07 dec 2018: een nieuwe image (RRF 1.9) met de mogelijkheid om de frequentie van de SA818 module en de Wifi configuratie, via het webinterface te configureren.
  • 23 Dec 2018: De eerste Spotniks draaien nu met een schermpje. Vanmorgen kreeg ik de mail dat de Beta tests beginnen, en daar doe ik zelf ook aan mee. Natuurlijk, want ik moet de image ook aanpassen voor de PG540 groep. Het project groeit, ideeën zij altijd welkom.

Om een indruk te krijgen: Je ziet precies wie ervoor hoelang (te lang?) gepraat heeft, en ik welke volgorde. Leuk als je met veel deelnemers bent zoals op het RRF netwerk.

  • 10 mei 2020: voor het eerst 200 stations aangesloten met 6 reflectors, Versie 3.0 is overal uitgerold en werkt prima

Ik ben bezig om de versie 3.0 om te bouwen voor het 540 netwerk

Nextion001.png
  • 1 september 2019: alle stations zijn ge-upgraded naar Versie 3, (SVXlink 19, Reflector 1.0 en Debian Buster 10.1)
  • 15 September 2019: De spotnik2hmi scherm heeft een grote update gemaakt, die kompatibel is met de Versie 3 spotnik

De kaart van het PG540 Netwerk

De groene punten zijn de al actieve deelnemers, blauw is geplant ,oranje is gedeeltelijk actief.

de kaart vam het pg540 Netwerk

Weet iemand hoe ik een google kaart hie rechtstreeks kan zichtbaar maken?? graag info aan hans 4vsj

Wat is een PG540 Spotnik?

Op een Orange Pi Zero met 512 Mb RAM word de Spotnik Delta PCB gemonteerd. Op de Spotnik Delta is een SA818 UHF module gemonteerd en word door de Orange Pi aangestuurd met behulp van Svxlink en Spotnik software.

De Spotnik Delta (en nog andere) PCB zijn door F5NLG, Jean-Philippe en F1EVM, Jean-Francois ontwikkeld. Jean Philippe F5NLG heeft de initiale Spotnik software geschreven voor netwerk(en),nu in samenwerking van Jean-Francois F1EVM. Sonny Piers heeft de eerste GUI geschreven, nu helpt Isabelle F4GBV mee aan de ontwikkeling van de java scrips van de webinterface.

Hans F4VSJ heeft de Spotnik software aangepast voor het PG540 netwerk en een Svxreflector server geïnstalleerd.

We gebruiken de "PG540 Spotnik" om dan via internet een netwerk op te zetten voor de Projectgroep .540. De PG540 Spotnik heeft een sa818 UHF module aan boord die op 430.540 MHz zend en ontvangt, aan de andere kant is de Computer aan internet verbonden. Via Internet word met Svxlink protocol de spraak overgebracht naar een server. De Server verbind dan de aangesloten PG540 zendamateurs in de verschillende locaties in Frankrijk, Zwitserland en Nederland, omgeving Haarlem. Een tekening zegt meer als de hele uitleg: Dit is een voorbeeld hoe het in het Franstalige gebied van Europa opgezet is met vandaag meer dan 50 links en repeaters, het RRF Netwerk, begonnen in Bretagne, dus zodoende de franse calls en steden die genoemd zijn. Er waren ook digitale repeaters en links aangesloten, zoals D-Star, C4FM en DMR.Deze zijn na een paar maanden testen toch weer afgelosten, omdat de audio verschikkelijk vervormd word door 2 keer heen en weer omtezetten met verschillende Codecs.Het was gewoon niet leuk om aantehoren om met digitale stations te werken.


Netwerk.jpg


Het belangrijkste is dat we Radiozendamateurs zijn en dus zoveel mogelijk een zend-ontvanger gebruiken om met elkaar te communiceren.De afstanden worden wel via internet overbrugt. Er zijn een paar eenvoudige en logische regels te volgen, zodat we er geen chaos op het netwerk ontstaat.

- Iedereen is verantwoordelijk voor zijn eigen materiaal en verbind of onderbreekt naar de server als dat nodig is.

- Maak geen hele lange doorgangen zodat iedereen de kans krijg om te communiceren. Timeout is 4 minuten.

- Het systeem maakt gebruik van CTCSS zodat er geen ongewenste storingen van buitenaf op het netwerk komen.

- De verbindingen bestaan in een stervorm naar de PG540-server die de verschillende stations met elkaar verbind. Dit gebeurd met de SvxReflector protocol, zodat er GEEN poorten hoeven worden opengezet op de box of router.

- Echolink word NIET op het PG540 Netwerk ondersteund.

- We kunnen op het PG540 netwerk inloggen met een Orange Pi, Raspberry Pi of andere linux computers waar de goede software geïnstalleerd is. Bij experimenten zijn de inloggegevens van de server bij F4VSJ te verkrijgen.

- Graag heb ik van iedere deelnemer in het PG540 Netwerk een email adres en telefoon nummer, zodat ik in geval van storingen van een station kan communiceren naar de verantwoordelijke OM.

- Aan de uiteinden van het netwerk gebruiken we een zend-ontvanger, we zijn tenslotte radiozendamateurs.

Wat hebben we nodig?

   • Een Orange Pi Zero met 512 Mb RAM. 
   • Een mini SD Kaart van 8gb met de image PG540V2.00en 
   • Een Spotnik Delta PCB met een sa818 UHF module en antenne. 
   • Een power supply van 5V 2A met een mini USB stekker. 
   • Een Netwerk snoer (later zien we hoe we hem via WIFI gebruiken). 
   • Een vrije poort op de box of switch. 
   • Een Portofoon waarop we 430.540 MHz en CTCSS 88.5 Hz kunnen instellen (CTCSS alleen voor TX op de porto) 
   • Een koel biertje of kop koffie en een uurtje de tijd.

Nu naar de Orange Pi

Alles ligt op tafel, dus aan de slag: 1) De Mini SD kaart in de Spotnik 2) de Spotnik Delta Module zit op de Orange Pi 3) antenne eraan 4) netwerk snoertje verbinden naar een vrije poort op de router (de wifi verbinding zien we later !) 5) de porto staat op 430.540 MHz en ctcss voor TX op 88.5 Hz (TX CTCSS) 6) en dan pas 5 Volt op de OPI zetten.

De boot duurt wel even, dus geduldig afwachten.

Een kleine minuut later...horen we op de porto:

“activation propagation monitor”, en "already connected to 192.168.x.x"...

Hé....dat is het IP-adress van de PG540 Spotnik!

Als we dan de mikrofoon inknijpen op de porto en loslaten, horen we een letter “K” als roger beep... De Spotnik antwoord...

Dit betekend dat de sa818 module op de goede frequentie staat en de porto ook op de goede ctcss...al een hele stap.


Schrijf deze op:

 PG540 Spotnik IP-adres:     .     .     .    

Belangrijk:

Dit ip adress gaan we straks gebruiken om de Orange Pi te configureren, want de OPI heeft zelf geen kant en klare aansluting voor een scherm en keyboard. Er is wel degelijk een mogelijkheid om een scherm, keyboard en muis aan te sluiten, maar eigenlijk NIET nodig, als alles al op een andere computer aanwezig is.

De PG540 Spotnik heeft een webinterface, waar we alles nodige kunnen aanpassen.

Op de (Linux of andere) computer geven we nu in Firefox webbrowser het volgende in, in de adresbalk:

 "http://192.168.1.20" (dit is hoogstwaarschijnlijk niet jouw IP adres !!), en het volgende gebeurd:


En dan krijg je , als alles goed gaat de PG540 Spotnik Home pagina:

Het WEBINTERFACE (V1.0) versie 3.11 komt eraan...

De  H O M E  pagina: http:// ip adress !! voor versie 3.11

Home1.png

Dit hoeven we maar 1 keer te doen , zolang we op hetzelfde thuis-netwerk aangesloten zijn. Natuurlijk als we straks via WIFI willen verbinden krijgen een nieuw IP adres en doen we deze procedure nogmaals.

Nu ben je op het PG540 Netwerk ingelogd en maakt de Orange Pi een verbinding met de PG540 Server.

Zoals je ziet zit LX2KW ingelogd en PG540, PG540 is de plaatshouder voor de call, omdat je eigen call nog niet in het systeem staat.

Hier zier je wie er nog ingelogd is op het netwerk en eventueel luistert naar zijn portofoon op 430.540 MHz.

Knijp je de microfoon van de porto in word pg540 actief, dat zie je aan de vette letters en het groene icoontje aan de rechterkant van de pagina:


Home2.png


Zo …. de eerste test is geslaagd op het netwerk.

Nu gaan we de call en de je coördinaten in het systeem zetten. De call is wel handig, dan ziet iedereen wie ingelogd is en de coördinaten om je ook zichtbaar te maken op APRS.fi… Je zult je eigen zien als EL-”eigen call”.

Daarvoor gaan we naar de volgende bladzijde: Configuration logisch eigenlijk...

De C O N F I G U R A T I O N  pagina:

Onder Call Sign:

De Call bijv PE1MWL, Node Type: Link laten staan, want je bent geen repeater, en Engels als taal, is wel net zo makkelijk...

Onder Location:

Enable aan laten staan, en de coördinaten van jullie eigen QTH ingeven.

Wie weet welke coördinaten er alvast instaan? Dit is het raadsel wat ik ingebouwd heb

“get automatic location”, dan kijkt de software wat hij vindt...is niet zo handig...dus niet gebruiken

Verder beneden:

Conf1.png


Hier kun je aangeven van welk airport je de meteo wilt ontvangen, EHAM is Schiphol, andere ICAO codes op de website…


Conf2.png

SAVE klikken,dan zie je een groene balk onderin met de tekst:

Saved, restarting svxlink en kijk eens op de home page:


Conf4.png



En PE1MWL (bijv) is ingelogd op het pg540 netwerk.

Knijp de microfoon in en roep naar een ander die ook ingelogd is...makkelijk ???



De andere bladzijdes van de PG540 Spotnik:

De K E Y P A D pagina:DEZE VERANDERT IN VERSIE 3.11

Keypad.png


Hier kun je met de muis DTMF codes genereren om de OPI te besturen, zet je geluid op de computer aan dan hoor je de tonen als je op de cijfers en charakters klikt.

Hier de verschillende kommandos:

93# dan krijg je het IP adres via de portofoon te horen
95# dan log je van het netwerk uit en komt de Parrot Mode op.
Handig om je eigen audio te horen, knijp de micro maar in, spreek iets in en luister op de porto…
540# om weer naar de PG540 server te verbinden
112# nog niet in gebruik (toekomstige feature)
*51# het weerbericht van Schiphol airport (MetarInfo)
enz.
De S T A T U S pagina:DEZE VERANDERT IN VERSIE 3.11

Status.png

Hier krijg je wat informatie over de Orange PI, Krijg geen kriegel als de temperatuur van de processor oploopt, dat is normaal. De processor is daarvoor voorzien van een koelblikje

De A D M I N pagina:DEZE VERANDERT IN VERSIE 3.11

Admin.png

restart svxlink: om te herstarten.

Reboot: een herstart van de OPI

Shutdown:OPI uitzetten

Om weer aan te zetten , de 5 Volt stekker eruit trekken en weer erin steken… (mijn OPI draait gewoon 24 uur per dag aan een zonnepaneel)

De A B O U T pagina:DEZE VERANDERT IN VERSIE 3.11

About.png

Hier staan wat info's over de ontwikkeling van het hele soft- en hardware pakket


Restricties voor call op het netwerk

Hallo Spotnik netwerk gebruikers

Sinds het begin van 2023 zijn wij 6 administators van het franse spotnik netwerk bezig met een kat en muis spelletje...

Nouja spelletje...regelmatig zitten er piraten op een van de verschillende netwerken, en is het niet altijd even eenvoudig om diegene de toegang te blokeren.

Natuurlijk bestaat er een mogelijheid om met passwoorden te gaan werken, maar dat vraagt dan wel weer nog een stukje beheerwerk meer erbij...en de gedachte van het franse netwerk is echt om zo open mogelijk te blijven.

De admins zijn dus bezig om eenvoudig mensen buiten te sluiten, wat eerst op IP basis werkte Dan vonden piraten de toegang via VPN en Darknet toch naar de servers (ja ja echt waar)


Er zitten in frankrijk ook een paar zendamateurs die niets ander op de band te vertellen hebben, dat ze net een bordje soep hebben gehad en dat een verpleegster komt om de nagels van de tenen te knippen... en dan maar schelden en doen dat niemand met ze wil praten , voor een "gewoon" amateur qso.


Wij hebben dus besloten :

de calls van de franse OM's te checken met de database van de ANFR (administration nationale des frequences) de "klieren" uitsluiten met hun call eventueel andere parameters die ik eventjes voor me houd


WAT heeft dit nou eigenlijk met het pg540 spotnik netwerk te doen?

Heel eenvoudig,het 540 netwerk, lift gewoon mee op een van de 5 servers waarop de centrale toegangs punten draaien.

Dus gaan de software (bijna) hetzelfde doen met het 540 netwerk.

Wat verandert er voor jullie aan, eigenlijk NIETS... We MOETEN ons aan de enige "regel" houden van de spotnik netwerken:

de call moet in het volgende formaat ingevoerd worden:

de complete call tot 6 charakters, bijv: pa4kw (mijn oude call...)

ervoor in ronde haakjes:

2 of 3 cijfers voor het franse departement bijv: (22)
2 letters die een land, provincie benoemen bijv: (NH) voor noord holland (LU) Luxemburg (EU) Europa...

achter de call:

Frequentie U of V (UHF, VHF)
Band 10M of 6M
Hotspot  H
Repaeter R
Transponder T
Speciaal S
Mobiel M

met één letter

Dus wat is geldig: (22) F4VSJ H, (NH) PA4KW R, (EU) F4VSJ M..ALLES met HOOFDLETTERS


IN de volgende week kan het zijn dat je even geen netwerkverbing krijgt , de servers zijn aan enkele belangrijke updates toe (debian 12, voor de kenners)dus twijfel eerst aan de server en dan aan je eigen hotspot!

Alles is ondertussen opgelost dus fijne traffic op het pg540 spotnik netwerk, vragen graag via email aan mij

Een fijne avond vanuit Bretagne

in naam van alle admins van de spotnik netwerken:

F1EVM,F1TZO,F4GGU,F4HWN, F5NLG, F4VSJ

Welke nieuwe functies zitten in de software PG540V3.11en van begin 2021

   • Een aangepast Webinterface
   • Eeace
   • Eene
   • Er word aan gewerkt voor de versie 3.11en

Welke functies zitten in de software PG540V3.11en

   • De PG540 Spotnik start automatisch op 430.540 MHz (niet op 430.537.5!)
   • de EERSTE boot staat de spotnik op Parrot Mode
   • CTCSS staat op 88.5 Hz (regio Haarlem)
   • laat via de porto zijn ip adress na het booten horen…connected to 192.168.x.x
   • Elke vol half uur, xx.30,  Meteo bericht van Airport (vooringesteld op Schiphol)
   • Elke 15 minuten een baken: Call en CTCSS (short)
   • Elk heel uur, xx.00, een lange baken met tijd (long)
   • 5 minuten timeout
   • 8 verschillende netwerken , uitleg komt eraan

Welke functies zitten niet in de software PG540V3.11en

   • De locatie van het station invullen, er staat een locatie in, maar welke...dat is het raadsel



Word vervolgt…

is nog niet kompleet…en zeker niet ZONDER fouten, maar om te beginnen goed,
Ideeën en nieuwe functies kunnen worden ingebouwd,
onmogelijke dingen worden gelijk verandert en op wens wordt er getoverd,
zolang de software het toelaat...
73's de Hans F4VSJ

Hoe kan ik via een andere computer IN de PG540 Spotnik komen?

Met een SSH verbinding zegt dan de specialist, maar HOE?

LEES dit eerst goed door VOOR je begint!

Neem er vooral de eerste keer 1 uur de tijd en een kopje koffie voor.

Dit is weer een LEER moment van de hobby:

De Spotnik heeft geen scherm en keyboard aansluiting gelijk kant en klaar, en zoals erboven genoemd is dat ook niet echt nodig als we een andere computer met bijv Windows erop hebben, waar alles aanzit. Op de Windows computer installeren we een programmaatje om een zgn. SSH verbinding te maken. SSH verbindingen worden gebruikt om goede en zekere verbinding met een andere computer te maken, zonder dat iemand ertussen kan komen.

Dit word ook gebruikt om verbindingen op afstand te maken, dus ik zou op afstand in de Spotnik kunnen inloggen en veranderingen aanbrengen,MAAR ALLEEN als je zelf de toegang geeft.

Dat is hetzelfde als je,iemand toegang tot je huis wil geven, een sleutel nodig heeft. Het is hetzelfde met een computer... er moet een poort opengezet worden op de router (een deurtje) en je moet een IP adres kennen.

Op de volgende site vinden we de laatste versie van Putty en downloaden de goede versie, 32 of 64 bit voor Windows

https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

Putty1.png

Het programma installeren en klaar...

Het programma starten, op het icoontje Putty0.png klikken.

Het programma start op:

Putty2.png

Vul het IP-adres van de Spotnik in en laat poort 22 staan

De SSH verbinding naar de PG540 Spotnik (vanuit thuis)

De SSH verbinding gebruiken. Niets veranderen aan de standaard instellingen!

Putty3.png

En klik op open

De secure verbinding word opgebouwd en opgeslagen in de computer, dit is het scherm wat je krijgt, wel met je eigen "fingerprint",

dat is net als een handtekening.

INFO
Dit gebeurd alléén de EERSTE keer als je een SSH verbinding maakt,

de volgende keer kent je computer de Spotnik al en ga hij gelijk naar het inlogscherm

Puttysec5.png

Klik op accept en dan krijg je dit:

Putty10.png

Geef het passwoord in, en let erop: OP het scherm gebeurd er NIETS!! Het password is : pg540 (kleine letters!)

En dan Enter

Dan kom je in het volgende scherm

Putty11.png

We kijken nu rechtstreeks in de files van de PG540 Spotnik.


Animatedexclamation.gif

DENK eraan: We zijn ingelogd als root, dit is de naam van de administrator van de Spotnik,

root heeft ALLE rechten op ALLE bestanden op de Spotnik

Shout.gif

Dus als je een komando geeft om iets te verwijderen, dan word het ZONDER te vragen gedaan!!

Overleg wat je wilt doen voordat je systeem NIET meer draait.

Van hieruit verder naar de volgende mogelijkheden:

Ga naar:

== Het PG540 menu ==update voor 3.11 maken

Het allereerst een SSH verbinding naar de PG540 Spotnik maken:

Hoe kan ik via een andere computer IN de PG540 Spotnik komen?

Dan krijg je dit scherm:

Putty11.png

geef in achter root@spotnik540:

pg540 en "enter" (kleine letters)

dan kom je in het pg540 menu

Menu1.png

Appels en peren:

Uitleg van PG540 Menu
Item Functie Uitleg Opmerking
01 Launch 540 Network Herstarten en op het PG540 Netwerk inloggen DTMF 540#
02 Launch Urgency Network Herstarten en op het Urgency Netwerk inloggen DTMF 112# (nog) niet aktief
03 See spotnik logfile Bekijk de spotnik logfile eruit met 'ctrl'c Verdere uitleg(werkt nog niet)
04 Configure WIFI or Ethernet De Spotnik aan Wifi aansluiten verdere uitleg(werkt nog niet)
05 Adjust the ALSA Audio mixer Audio instellingen Alleen als het echt nodig is Verdere uitleg(werkt nog niet)
06 Edit svxlink.cfg Reflector,Call,Meteo... Verdere uitleg(werkt nog niet)
07 Edit Airport information Airport voor meteo instellen
08 Run MC Midnight Commander om files te editeren
09 Configure the SA818 Module Frequentie instellen van de SA818 Module verdere uitzleg(werkt nog niet)
10 Reboot Spotnik herstarten
11 Bugreport to F4VSJ@florhans.bzh

Om uit het menu te komen met de 'tab' naar Cancel en enter

verdere uitleg volgt in detail

Hoe kan je de PG540 Spotnik aan de WIFI aansluiten?

  • versie 3.11:
-Via het webinterface ,tab configuration, de wifi gegevens invullen
-dan met de knop "save" opslaan
-dan op de tab admin "reboot"
-wachten to de spotnik weer op het vaste netwerk zich meld met z'n IP adress
-De spotnik van de spanning halen
-De ethernet kabal losmaken
-De spotnik weer opstarten en luister naar z'n nieuwe IP adress, via de Wifi
-gewoon gebruiken, via Wifi


  • Versie 1.0:

Eerst een SSH verbinding maken met de PG540 Spotnik:

Hoe kan ik via een andere computer IN de PG540 Spotnik komen?


de rest komt eraan

Hoe kan je de PG540 Spotnik temperatuur softwarematig verlagen? *

Eerst een SSH verbinding maken met de PG540 Spotnik:

 Hoe kan ik via een andere computer IN de PG540 Spotnik komen?

Geef volgend komando in:

h3consumption -p


H31.png

Dan zie een lijst met alle instellingen van de processoren

Geef dan het komando in om de snelheid van de CPU te verlagen, EN OOK de temperatuur...

h3consumption -m 800

H32.png

en we zetten de CPU naar 800MHzwat ruim voldoende is voor een PG540 Spotnik

geef dan reboot in

reboot

en wacht af tot de PG540 Spotnik weer is gestart.

INFO: de SSH verbinding word WEL onderbroken, dus als je daarna wilt controleren, moet je via Putty weer een SSH verbinding maken.


* Dit komt in het 540 menu

De Angry IP scanner

Eerst op je normale radio amateur pc (windhoos, linux of mac) die aan het netwerk is aangesloten, het programmaatje Angry Ip Scanner, https://angryip.org, installeren en testen. Je kunt ermee zien welke computers er op een netwerk aanwezig zijn, met het toebehorende IP-Adress. Deze beginnen meestal met 192.168.xxx.xxx.

Afhankelijk van de internet provider is de 3de groep cijfers vaak een 1 of 2. Dan voor ieder aangesloten netwerk gebruiker een appart nummer tussen de 2 en 254. Bijv 192.168.2.32 is je computer. Elk computer heeft een uniek nummer. Het ip adress met nummer 1 of 255 aan het eind is meestal de router, de box waar internet het huis inkomt. Die is natuurlijk ook zichtbaar met dit programma.

Hier zichtbaar mijn pg540 spotnik met IP adress 192.168.1.20:


Angryipscanner.png

Nu gaan we naar onze (bijv. windhoos) computer waar we Angry IP scanner hebben geinstaleerd en scannen het netwerk, met de “start” knop in het programma. Kijk in de lijst en vind de “spotnik540” computer en ernaast het IP Adress. Het IP-adres van de PG540 Spotnik is alleen bij nieuw booten via de portofoon hoorbaar. Bijv 192.168.1.20

Tests met verschillende antennes aan de Spotnik

Op mijn spotnik heb ik tests gedaan met verschillende antennes, want bij Carlo en Fred hebben we last van een (50Hz ??) brom tijdens de ontvangst van de SA818 module (porto is aan het zenden).

Mijn spotnik heb ik voorzien van verschillende antennes om eens te kijken of het daarvandaan komt.De brom varieert, het kan eraan liggen dat we de porto bewegen of andere dingen die beïnvloeden.

Ook verschillende power supply worden gebruikt.

We zijn nog niet 100% op het spoor, hier thuis heb ik er geen last van.

Mijn standaard antenne is een 2/70 minikleefvoet antennetje met een SMA male connector eraan, 3 meter hele fijne coax en de antennes staat op een metalen plaatje met 3 sprieten als ground.

S-l400.jpg Gp.JPG

Kleefvoet antennetje voor 2/70

Ik heb ook een kleine rubber antennetje die ik gebruik als ik mobiel onderweg ben

Rubber.jpg

En gisteren heb ik even een kwart golfje voor 70cm gemaakt. Een stukje bronsdraad die ik op een SMA connector heb gesoldeerd. De lengte die boven de connector rand uitsteekt is 164mm (SWR 1:1 voor 434.550 MHz)


164.jpg 164spot.jpg

Waar vind je je externe (public) IP adress?

Heel eenvoudig, klik hier: mijn extern ip adres

Het is net als je huisadres, het huisnummer "staat" ook aan de buitenkant, daarom "extern" of "public" IP adres.

In huis heb je adressen die beginnen met 10.x.x.x, 172.16.x.x of 192.168.x.x, dat zijn de interne , of privé IP adressen.

Zie:interne IP adressen

In de router, de box waar internet het huis inkomt, worden de verschillende interne IP adressen naar het internet verbonden.

Pubip.png

Hoe zet je poorten "open" op een router?

  • KPN in NL, met de Experia Box V10
  • Orange in FR
  • andere providers in NL,HB en FR?

KPN in NL:

  • De Experia Box V10 van KPN

Exp01.jpg

De V10 is op dit moment de nieuwste ExperiaBox die KPN heeft. De ExperiaBox is eigenlijk vier apparaten. Een modem (voor DSL klanten), accesspoint, router en switch. De ExperiaBox V10 ondersteund als enige ExperiaBox 5Ghz wifi volgens de 802.11a, 802.11n en 802.11ac standaard. Hierom is de ExperiaBox V10 uitermate geschikt voor klanten met een hoge bandbreedte. Via 802.11ac zijn namelijk snelheden te halen die bijna de 500Mbit halen. De V10 heeft een gigabit switch waardoor hoge snelheden over het LAN/thuisnetwerk mogelijk zijn.

Inloggen op de ExperiaBox V10 (H369A)

Open een browser (op een apparaat dat verbonden is via Wi-Fi op LAN)

Ga naar http://192.168.2.254

Exp02.png

Log in.

De eerste keer kan dit zonder wachtwoord en zal je gevraagd worden een wachtwoord aan te maken. Als je al een keer hebt ingelogd gebruik je het wachtwoord dat je hebt aangemaakt.

Exp03.png

Je bent nu ingelogd. Op het "Dashboard" (beginscherm) kan je een overzicht vinden van alle apparaten die via Wi-Fi zijn verbonden (groen) en alle apparaten die via LAN verbonden zijn (rood)

Poorten openen op de ExperiaBox

In deze confguratie wil je van buitenaf toegang geven naar de PG540 Spotnik via een SSH verbindung. De poort kan je zelf veranderen en de naam van de applicatie ook.

Log in op de ExperiaBox V10

Exp04.png

Klik op het tabblad "Instellingen"

Exp05.png

Klik op "Poort Forwarding - IPv4", en klik op "Application Configuration"

Exp06.png

Kies de juiste categorie (in dit geval "spelletjes ?? (moet ik nakijken)")

Exp07.png

Klik helemaal onder aan op "+ Maak een nieuwe Appnaam"

Exp08.png

Vul de naam van de Applicatie in zodat je deze makkelijk terug kan vinden(rood)(in dit voorbeeld bijvoorbeeld SvxLink)
Klik op Toepassen (groen)

Exp09.png

Scroll omhoog naar de zojuist gemaakte applicatie, en klik op het pijltje er naast (in dit voorbeeld PG540 Spotnik)

Exp10.png

Kies het protocol (in dit voorbeeld TCP)(rood)

Exp11.png

Vul in elk vakje (4) de poort in die je nodig hebt (22 in dit geval)(groen).
Klik op "Toepassen" (blauw). Nu is de applicatie gemaakt en kan de applicatie aan een apparaat koppelen.

Exp12.png

Scroll verder omhoog naar Poort Forwarding - IPv4
Klik op "Maak een nieuw item aan" (rood)

Exp12.png

Klik op "Aangesloten apparaten" (rood)
Klik op "Selecteer uit beschikbare apparaten" (groen)

Exp13.png

Kies het apparaat dat de poorten nodig heeft. (rood)(In dit geval PG540 Spotnik)

DIT IS MIJ NIET 100% Duidelijk... heb uitleg nodig...wie? en klopt dit allemaal, zonder dat ik ooit een experiabox gezien heb...???

Infos naar Hans f4vsj@florhans.bzh bedankt..73's

Kies bij "App groep" de categorie waarin je de Applicatie hebt gemaakt tijdens de vorige stappen (blauw)(In dit geval Spelletjes)
Kies bij "Appnaam" de Applicatie die je in de vorige stappen hebt gemaakt (groen)(In dit geval SvxLink)
Klik op "Toepassen" (Cyaan)



ORANGE in Frankrijk:

Login in de router op een webpagina met IP 192.168.1.1

Live1.png

Ga naar advanced settings

Live2.png

Ga naar NAT

Live3.png

Vul de gegevens in: het PG540 Spotnik IP adres

221.png 222.png



    • twee
      • drie
        • vier

Deze informatie heb ik niet,omdat ik niet weet welke routers aan welk netwerk hangen. Wie wilt mij de info's sturen, Internetproviders, screenshots hoe je een poort 22 openzet naar de PG540 Spotnik

DW Agent

hoe instaleren en aktiveren? mail: f4vsj@florhans.bzh

Howto clone sd card in windows

Cloning the SD Card With Windows

Cloning is the process of making an exact copy. The steps shown, below, will take you through the process of creating a disk image of your existing Orange Pi SD card, regardless of the exact operating system you have on it or how it has been set up.

The benefit of having a disk image of your SD card is that you have a backup of your data from which you can easily write a new SD card

Step 1. Download Win32DiskImager

Clone01.png

Download Win32DiskImager from the Win32DiskImager SourceForge page

Step 2. Set Up Your ‘Master’ SD Card

Once your SD Card is all set up as you want it, remove it from the Orange Pi and insert into your Windows computer.

Step 3. Cloning Your SD Card

Clone02.png

Setting up the SD card to clone

Launch Win32DiskImager.

In the box marked Image File enter the path to, and a name, for the image file that you are about to create.

In this example I have gone with C:\Users\admin\Desktop\RPi.img

Select the drive letter for your SD card in the Device box, in my example this is E:

Clone03.png

Progress of reading the original SD card

Click the buttom marked Read

Wait for the imaging of the SD card to be completed. There is a progress bar that will give you an idea as to how long this will take.

Restoring an SD Card From a Clone

Step 1. Insert the SD Card to be Restored Insert a blank (or used and nuked) SD card into the SD card reader on your Windows computer.

Step 2. Prepare the SD Card to be Restored

Clone04.png

The Disk Management program

Click on the Start menu icon and type disk management and press the Return key to locate and open the Disk Management program.

Clone05.png

Delete the partitions and format the SD Card

Secondary-click on the volume to bring up the context-sensitive menu and delete all of the partitions on the SD card (if there are any).

Format the SD Card as FAT–32 or NTFS, as these filesystems are recognised by Windows computers, by secondary-clicking to bring up the context-sensitive menu and select Format….

Step 3. Restoring a Disk Image to an SD Card

png

Preparing to write an SD card from a disk image

Launch Win32DiskImager. Click on the blue folder icon and browse to the location where you previously saved your Raspberry Pi SD card image file, ending .img, in my example pg540.img

Under Device, select the drive letter of your SD card, in my example E:

Click the Write button.

Clone07.png

Double-check your destination drive is correct before writing data

Again, the progress bar will be shown to give you an indication of how long the process will take to complete.

When completed, eject the SD card from the SD card reader. This SD card should be an exact clone of your previously backed-up SD card.

Ideeën, verbeteringen, nieuwe functies, "feature requests"...

• ledje om te zien of je op het netwerk bent ingelogd
• ledje om te zien of er iemand praat (zoals squelch led op TRX)
• ledje om te zien of je aan het zenden bent (zoals TX op een zender)
• voice announcement als iemand inlogt en/of uitlogt (PA4KW connected, disconnected)
• een testnetwerk aktiveren (2de netwerk)
• frequentie aanpassen naar 430.700?
• * temperatuur aanpassing (cpu speed) in pg540 menu (hans, done 11oct2018, testen)
• Mogelijkheid om vanuit het (SSH) menu een “factory” reset te doen (lijkt mij handig na verkeerd experimenteren/
editten van de configuratie)(Is een GOED idee)
• * Bij power-on: dat de spotnik automatisch op het PG540 netwerk aanlogt  (ik moet nu iedere keer via SSH menu aanloggen (?))
(zou zo moeten werken, word getest)
• * dmv DTMF code de Orange PI uitzetten, of herstarten.(OK bouw ik erin) 
• * Menu struktuur uitbreiden om eventueel een 2e reflector host (reserve) te selecteren
(Dit zit er eigenlijk al in, alleen geen 2de reflector gedefineerd)
• * Persoonlijke Frequentie instelling in menu.(Dit zit er al in via het pg540 menuutje via de ssh verbinding)
• exit 540 menu (ctrl-c)

The svxlink.conf manpage

svxlink.conf − Configuration file for the SvxLink server

Description

svxlink is a general purpose voice service system for ham radio use. This man-page describe the SvxLink server configuration file format.

SvxLink look for configuration files in a number of places. First it try to find a user specific configuration file. SvxLink will look for a user specific configuration file in: $HOME/.svxlink/svxlink.conf. If no user specific configuration file can be found, SvxLink will look for the system wide configuration file /etc/svxlink/svxlink.conf. The --config command line option may also be used to specify an arbitrary configuration file.

FILE FORMAT

The configuration file is in the famous INI-file format. A generic example of how such a file might look like is shown below.

[SECTION1]
VALUE1=1
VALUE2="TWO "
VALUE3="Multi "
"line"
[SECTION2]
VALUE1=2

This is a simple format that contain name=value pairs that belong to a section. In written text, a specific configuration variable can be referred to as SECTION1/VALUE2 meaning "configuration variable VALUE2 in section SECTION1".

The same variable name can exist in two different sections. For example VALUE1 in section SECTION1 have the value 1 and VALUE1 in section SECTION2 have the value 2. Values containing spaces at the beginning or end of the line must be surrounded by citation characters (see SECTION1/VALUE2). Likewise with a multi line value (see SECTION1/VALUE3). CONFIGURATION VARIABLES

Here is the description of all configuration variables that SvxLink understands. The configuration variables are described section for section.

GLOBAL

The GLOBAL section contains application global configuration data.

MODULE_PATH

Specify where the SvxLink modules can be found. If MODULE_PATH is not specified, the standard search paths for library files will be used. If that also fails a hardcoded default will be used. What that default is depend on the architecture but typically on a x86_64 system it is /usr/lib64/svxlink. Leaving this variable unset should work in most cases.

LOGICS

Specify a comma separated list of logic cores that should be created. The logic core is the thing that ties the transceiver and the voice services (modules) together. It contains the rules for how the radio interface should be handled. The specified name of a logic core must have a corresponding section specified in the config file. This is where the behaviour of the logic core is specified.

CFG_DIR

Specify the path to a directory that contain additional configuration files. If a relative path is specified, the path will be relative to the directory where the main configuration file is at. All files in the specified directory will be read as additional configuration. Filenames starting with a dot (hidden files) or not ending in .conf are ignored.

TIMESTAMP_FORMAT

This variable specifies the format of the timestamp that is written in front of each row in the log file. The format string is in the same format as specified in the strftime(3) manual page. The default is "%c" which is described as: "the preferred date and time representation for the current locale". The environment variables LC_TIME, LC_ALL and LANG will affect how this time format will look. For example, setting LC_TIME="sv_SE.UTF8" will give you swedish timestamp representation. Other examples of format specifiers are:


  • %d - The day of the month as a decimal number (range 01 to 31)
  • %b - The abbreviated month name according to the current locale
  • %Y - The year as a decimal number including the century
  • %H - The hour as a decimal number using a 24-hour clock (range 00 to 23)
  • %M - The minute as a decimal number (range 00 to 59)
  • %S - The second as a decimal number (range 00 to 61)
  • %f - Fractional seconds in millisecond resolution (000-999)

The last one (%f) is a SvxLink specific formatting specifier.

Example: TIMESTAMP_FORMAT="%d %b %Y %H:%M:%S.%f" would give a timestamp looking something like: "29 Nov 2005 22:31:59.875".

CARD_SAMPLE_RATE

This configuration variable determines the sampling rate used for audio input/output. SvxLink always work with a sampling rate of 16kHz internally but there still are som benefits from using a higher sampling rate. On some sound cards the filters look pretty bad at 16kHz and the amplitude response will not be uniform which among other things can cause problems for the software DTMF decoder.

Some sound cards also sound very bad at 16kHz due to insufficient anti-alias filtering or resampling effects. These, often cheeper, sound cards sound OK at 48kHz.

The downside of choosing a higher sampling rate is that it puts a little bit more load on the CPU so if you have a very slow machine (<300MHz), it might not have the computational power to handle it.

Supported sampling rates are: 16000 and 48000.

CARD_CHANNELS

Use this configuration variable to specify how many channels to use when opening a sound card. For normal sound cards the only practical values to use are 1 for mono and 2 for stereo. The latter is the default.

When using the sound card in stereo mode it is possible to use the left and right channels independenly to drive two transceivers. When using the sound card in mono mode, both left and right channels transmit/receive the same audio.

LOCATION_INFO

Enter the section name that contains information required for transferring positioning data to location servers. Setting this item makes the system visible on the EchoLink link status page and the APRS network.

LINKS

Enter here a comma separated list of section names that contains the configuration information for linking logics together (see Logic Linking).

Common Logic configuration variables A logic core is what define how SvxLink should behave on the RF channel. The SvxLink server can handle more than one logic core and so can be connected to more than one transceiver. The configuration variables below are common to all logic types. Configuration variables that are specific to a certain logic core type are described below in a section of its own.

TYPE

The type of logic core this is. The documentation for the specific logic core type you want to use describe what to write here.

RX

Specify the configuration section name of the receiver to use. All configuration for the receiver is done in the specified configuration section.

TX

Specify the configuration section name of the transmitter to use. All configuration for the transmitter is done in the specified configuration section.

MODULES

Specify a comma separated list of configuration sections for the modules to load. This tells SvxLink which modules to actually load on startup.

CALLSIGN

Specify the callsign that should be announced on the radio interface.

SHORT_IDENT_INTERVAL

The number of minutes between short identifications. The purpose of the short identification is to just announce that the station is on the air. Typically just the callsign is transmitted. For a repeater a good value is ten minutes and for a simplex node one time every 60 minutes is probably enough. The LONG_IDENT_INTERVAL must be an even multiple of the SHORT_IDENT_INTERVAL so if LONG_IDENT_INTERVAL is 60 then the legal values for SHORT_IDENT_INTERVAL are: 1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30, 60. If unset or set to 0, disable short identifications.

LONG_IDENT_INTERVAL

The number of minutes between long identifications. The purpose of the long identification is to transmit some more information about the station status (new voice mails etc). The time of day is also transmitted. A good value here is 60 minutes. If unset or set to 0, disable long identifications.

IDENT_ONLY_AFTER_TX

This feature controls when identification is done. By default, identification is done every time the SHORT_IDENT_INTERVAL expires. If this feature is enabled, identification will be done only if there has been a recent transmission. This feature is good for nodes using an RF link to provide echolink to a repeater. Often, in this situation, it is not desirable for the link to identify unless legally necessary. Note that SHORT_IDENT_INTERVAL still have to be set for this feature to work. That config variable will then be interpreted as the minimum number of seconds between identifications. The LONG_IDENT_INTERVAL will not be affected by this parameter.

EXEC_CMD_ON_SQL_CLOSE

Specify a time, in milliseconds, after squelch close after which entered DTMF digits will be executed as a command without the need to send the # character. To disable this feature, either comment out the configuration row or set it to a value less or equal to zero.

EVENT_HANDLER

Point out the TCL event handler script to use. The TCL event handler script is responsible for playing the correct audio clips when an event occurr. The default location is /usr/share/svxlink/events.tcl.

DEFAULT_LANG

Set the default language to use for announcements. It should be set to an ISO code (e.g. sv_SE for Swedish). If not set, it defaults to en_US which is US English.

RGR_SOUND_DELAY

The number of milliseconds to wait after the squelch has been closed before a roger beep is played. The beep can be disabled by specifying a value of −1 or commenting out this line. Often it is best to use the SQL_HANGTIME receiver configuration variable to specify a delay instead of specifying a delay here. This configuration variable should then be set to 0.

REPORT_CTCSS

If set, will report the specified CTCSS frequency upon manual identification (* pressed). It is possible to specify fractions using "." as decimal comma. Disable this feature by commenting out (#) this configuration variable.

TX_CTCSS

This configuration variable controls if a CTCSS tone should be transmitted. Use a comma separated list (no spaces!) to specify when to transmit a CTCSS tone. These are the possible values: SQL_OPEN, LOGIC, MODULE, ANNOUNCEMENT or ALWAYS. Commenting out this configuration variable will disable CTCSS transmit. The tone frequency and level is configured in the transmitter configuration section.


  • SQL_OPEN will transmit CTCSS tone when the squelch is open. This is only useful on a repeater. On a simplex node it doesn’t make much sense.
  • LOGIC will transmit CTCSS tone when there is incoming traffic from another logic core.
  • MODULE will transmit CTCSS tone when there is incoming traffic from a module.
  • ANNOUNCEMENT will transmit CTCSS tone when an announcement is being played. Repeater idle sounds and roger beeps will not have tone sent with them though.
  • ALWAYS will always transmit a CTCSS tone as soon as the transmitter is turned on.
MACROS		

Point out a section that contains the macros that should be used by this logic core. See the section description for macros below for more information.

FX_GAIN_NORMAL

The gain (dB) to use for audio effects and announcements when there is no other traffic. This gain is normally set to 0dB which means no gain or attenuation.

FX_GAIN_LOW

The gain (dB) to use for audio effects and announcements when there is other traffic. This gain is normally set to something like −12dB so that announcements and audio effects are attenuated when there is other traffic present.

QSO_RECORDER

The QSO recorder is used to write all received audio to files on disk. The format for this configuration variable is <command>:<config section>. The specified command is used to activate or deactivate the QSO recorder. If the command for example is set to 8, 81 will activate the recorder and 80 will deactivate it. The command may also be left out. It will then not be possible to control the QSO recorder using DTMF commands. Even if the command is left out the colon must always be specified. The config section point out a section in the configuration file that holds configuration for the QSO recorder. Have a look at the QSO Recorder Section documentation for more information.

Example: QSO_RECORDER=8:QsoRecorder

SEL5_MACRO_RANGE

Define two comma separated values here to map the Sel5 tone call to your macro area. E.g. if you have defined: SEL5_MACRO_RANGE=03400,03499 then all incoming Sel5 tone sequences from 03400 to 03499 are mapped to the macros section (refer to Macros Section, next chapter). Other sequences but the one defined under OPEN_ON_SEL5 are ignored so it can be used to call other stations via the repeater without a repeater reaction.

ONLINE_CMD

Define a DTMF command that is used to switch the node between online and offline mode. When in the off-state, the transmitter will not be turned on by any event. If a module is active when the node is brought offline, it will be deactivated and no module activation will be allowed in offline mode. No other commands than the online command will be accepted in the offline state.

If the command for example is set to 998877 then 9988771 will set the node online and 9988770 will set it offline. If a module is active or if the ACTIVATE_MODULE_ON_LONG_CMD is used, the command must be prefixed with a star to work as expected. The star means "force core command".

STATE_PTY

Using this configuration variable it is possible to specify a path to a UNIX 98 PTY that SvxLink state events is published to. The published events is in a simple text format using a space separated list of values. SvxLink will create a softlink to the actual slave PTY. For that reason, SvxLink must have write permissions in the directory where the softlink should be created. Monitoring the PTY output is as simple as doing a cat /path/to/pty after starting SvxLink. See STATE PTY FORMAT for more information on the format of the state messages.

Example: STATE_PTY=/tmp/state_pty

DTMF_CTRL_PTY

Using this configuration variable it is possible to specify a path to a UNIX 98 PTY that allows a dtmf control of each single SvxLink logic. SvxLink will create a softlink to the actual slave PTY. For that reason, SvxLink must have write permissions in the directory where the softlink should be created. Sending commands to the PTY is as simple as doing a echo ’*1#’ > /path/to/pty after starting SvxLink. The device works bidirectional, received dtmf characters (from Rf) are output via this interface.

Example: DTMF_CTRL_PTY=/dev/shm/dtmf_ctrl

Simplex Logic Section

The Simplex Logic section contains configuration data for a simplex logic core. The name of the section, which in the example configuration file is SimplexLogic, must have a corresponding list item in the GLOBAL/LOGICS config variable for this logic core to be activated. The name "SimplexLogic" is not magic. It could be called what ever you like but it must match the namespace name in the SimplexLogic.tcl script. The configuration variables below are those that are specific for a simplex logic core.

TYPE	

The type for a simplex logic core is always Simplex.

MUTE_RX_ON_TX

Set to 1 to mute the receiver when the transmitter is transmitting (default) or set it to 0 to make the RX active during transmissions. One might want to set this to 0 if the link is operating on a split frequency. Then the link can accept commands even when it’s transmitting. The normal setting is 1, to mute the RX when transmitting.

MUTE_TX_ON_RX

Set to 1 to mute the transmitter when the squelch is open (default) or set it to 0 to make the TX active during squelch open. One might want to set this to 0 if the link is operating on a split frequency or if it’s connected to some full duplex device. The normal setting is 1, to mute the TX when the squelch is open.

Repeater Logic Section

A Repeater Logic section contains configuration data for a repeater logic core. The name of the section, which in the example configuration file is RepeaterLogic, must have a corresponding list item in the GLOBAL/LOGICS config variable for this logic core to be activated. The name "RepeaterLogic" is not magic. It could be called what ever you like but it must match the namespace name in the RepeaterLogic.tcl script. The configuration variables below are those that are specific for a repeater logic core.

TYPE

The type for a repeater logic core is always Repeater.

NO_REPEAT

Set this to 1 if you do NOT want SvxLink to play back the incoming audio. This can be used when the received audio is directly coupled by hardware wiring to the transmitter. What you win by doing this is that there is zero delay on the repeated audio. When the audio is routed through SvxLink there is always an amount of delay. What you loose by doing this is the audio processing done by SvxLink (e.g. filtering, DTMF muting, squelch tail elimination) and the ability to use remote receivers.

IDLE_TIMEOUT

The number of seconds the repeater should have been idle before turning the transmitter off.

OPEN_ON_1750

Use this configuration variable if it should be possible to open the repeater with a 1750Hz tone burst. Specify the number of milliseconds the tone must be asserted before the repeater is opened. Make sure that the time specified is long enough for the squelch to have time to open. Otherwise the repeater will open "too soon" and you will hear an ugly 1750Hz beep as the first thing. A value of 0 will disable 1750 Hz repeater opening.

OPEN_ON_CTCSS

Use this configuration variable if it should be possible to open the repeater with a CTCSS tone (PL). The syntax of the value is tone_fq:min_length. The tone frequency is specified in whole Hz and the minimum tone length is specified in milliseconds. For examples if a 136.5 Hz tone must be asserted for two seconds for the repeater to open, the value 136:2000 should be specified.

OPEN_ON_DTMF

Use this configuration variable if it should be possible to open the repeater with a DTMF digit. Only one digit can be specified. DTMF digits pressed when the repeater is down will be ignored.

OPEN_ON_SEL5

Use this configuration variable if you want to open your repeater by using a selective tone call that is often used in commercial radio networks. Example: OPEN_ON_SEL5=03345 opens your repeater only if that sequence has been received. You can use sequence lengths from 4 to 25.

CLOSE_ON_SEL5

Use this configuration variable if you want to close your repeater by using a selective tone call that is often used in commercial radio networks. Example: CLOSE_ON_SEL5=03345 closes your repeater if that sequence has been received. You can use sequence lengths from 4 to 25.

OPEN_ON_SQL

Use this configuration variable if it should be possible to open the repeater just by keeping the squelch open for a while. The value to set is the minimum number of milliseconds the squelch must be open for the repeater to open.

OPEN_ON_SQL_AFTER_RPT_CLOSE

Activate the repeater on just a squelch opening if there have been no more than the specified number of seconds since the repeater closed.

OPEN_SQL_FLANK

Determines if OPEN_ON_SQL and OPEN_ON_CTCSS should activate the repeater when the squelch open or close. If set to OPEN, the repeater will activate and start retransmitting audio immediately. No identification will be sent. If set to CLOSE, the repeater will not activate until the squelch close. An identification will be sent in this case.

IDLE_SOUND_INTERVAL

When the repeater is idle, a sound is played. Specify the interval in milliseconds between playing the idle sound. An interval of 0 disables the idle sound.

SQL_FLAP_SUP_MIN_TIME

Flapping squelch suppression is used to close the repeater down if there is interference on the frequency that open the squelch by short bursts. This configuration variable is used to specify the minimum time, in milliseconds, that a transmission must last to be classified as a real transmission. A good value is in between 500-2000ms.

SQL_FLAP_SUP_MAX_COUNT

Flapping squelch suppression is used to close the repeater down if there is interference on the frequency that open the squelch by short bursts. This configuration variable is used to specify the maximum number of consecutive short squelch openings allowed before shutting the repeater down. A good value is in between 5-10.

ACTIVATE_MODULE_ON_LONG_CMD

This configuration variable activate a feature that might help users not aware of the SvxLink command structure. The idea is to activate the specified module when a long enough command has been received. The typical example is an EchoLink user that is used to just typing in the node ID and then the connection should be established right away. Using this configuration variable, specify a minimum length and a module name. If no module is active and at least the specified number of digits has been entered, the given module is activated and the command is sent to it. To be really useful this feature should be used in cooperation with EXEC_CMD_ON_SQL_CLOSE.

For example, if this configuration variable is set to "4:EchoLink" and the user types in 9999, the EchoLink module is first activated and then the command 9999 is sent to it, which will connect to the ECHOTEST server.

IDENT_NAG_TIMEOUT

Tell repeater users that are not identifying to identify themselvs. The number of seconds to wait for an identification, after the repeater has been activated, is set using this configuration variable. A valid identification is considered to be a transmission longer than the time set by the IDENT_NAG_MIN_TIME configuration variable. We don’t know if it’s really an identification but it’s the best we can do. Setting it to 0 or commenting it out disables the feature.

IDENT_NAG_MIN_TIME

This is the minimum time, in milliseconds, that a transmission must last to be considered as an identification. This is used as described in the IDENT_NAG_TIMEOUT configuration variable.

ReflectorLogic

The ReflectorLogic is used to connect to an SvxReflector server. The SvxReflector will distribute all audio to all connected nodes. To actually send audio to the reflector from a logic core, set up a link between the two logics using LogicLinking. More than one logic core can be connected.

TYPE

The type for a reflector logic core is always Reflector.

HOST

The hostname or IP address of the reflector server.

PORT

The TCP/UDP port number used by the server. The client do not need to open any ports in the firewall. Default: 5300.

CALLSIGN

The callsign of this node. The callsign also serves as the username when authenticating to the SvxReflector server.

AUTH_KEY

The authentication key, or password, used when authenticating to the SvxReflector server.

JITTER_BUFFER_DELAY

A jitter buffer is used to prevent gaps in the audio when the network connection do not provide a steady flow of data. Set this configuration variable to the number of milliseconds to buffer before starting to process the audio. Default: 0.

QSO Recorder Section

The QSO recorder is used to record all received audio to files on disk. All audio from receivers, modules and logic links are recorded. Announcements are not recorded.

REC_DIR

Use this configuration variable to specify in which directory to write the audio files. A good place is /var/spool/svxlink/qso_recorder.

MIN_TIME

If the duration of the recorded content for a file is less then MIN_TIME milliseconds, the file will be deleted when the file is closed. Default: 0 (empty files will be deleted).

MAX_TIME

Setting this configuration variable will set an upper limit for the file size of a recording. No more than MAX_TIME seconds of content will be recorded to a single file. When the maximum time have been reached, the file is closed and another file is created. Note that it is not the maximum time that the recording has been active that we are setting a limit for but rather how much content that have been recorded to the file. If nothing is recorded, the file can stay open indefinitely. Default: 0 (no limit)

SOFT_TIME

To not get abrupt breaks in recordings it is possible to set a soft break time. Let’s say that MAX_TIME is set to 3600 seconds (one hour). If we set SOFT_TIME to 300 seconds (five minutes) the QSO recorder try to close the file on a squelch close somewhere between 55 and 60 minutes. In this way we may avoid getting transmissions split up between files. Default: 0 (no limit)

MAX_DIRSIZE

Specify the maximum total size in megabytes of the files in the recording directory. If the limit is exceeded, the oldest files are deleted. The directory size is checked upon file close so the size may grow temporarily past the limit with at most the size of one recorded file. Only files which have a filename starting with "qsorec_" will be considered for deletion. If using an ENCODING_CMD, make sure that the "qsorec_" prefix is not removed from the target filename unless you really want the MAX_DIRSIZE feature to skip them. Default: 0 (no limit)

DEFAULT_ACTIVE

If this configuration variable is set to 1, the QSO recorder will be activated by default when SvxLink start. Default: 0 (default inactive)

TIMEOUT

If a timeout is specified, the activation state of the QSO recorder will return to the value specified in the DEFAULT_ACTIVE configuration variable when the node has been idle for the specified number of seconds. When DEFAULT_ACTIVE is unset or 0, if the QSO recorder is manually activated it will be automatically deactivated after the specified amount of time of inactivity. When DEFAULT_ACTIVE is set to 1, if the QSO recorder is manually deactivated it will be automatically activated after the specified amount of time of inactivity. Default: 0 (no timeout)

QSO_TIMEOUT

Set this configuration variable if you want to close the currently opened file and open a new one after each QSO. The number of seconds the node should be idle before closing the file should be specified. Default: 0 (no QSO timeout)

ENCODER_CMD

Specify a command to be executed after a new wav file have been written to disk. This makes it possible to use an external encoder utility to encode the wav file to another format. Even though this configuration variable was added to run an external encoder it could do more complicated things with the file if needed. A couple of examples would be to transfer the file to another computer or to send a notification e-mail. If the command line get too complicated it may be a good idea to write a script instead.

The encoder command will be run under a shell so normal shell operators like redirects and pipes may be used. The shell specified in the SHELL environment variable will be used and if not set, /bin/sh will be used. The "−c" command line option will be added so the complete command will look something like: $SHELL −c "$ENCODER_CMD". A number of %-codes can be included in the command. They have the following meaning:


  • %f - The full filename with full path
  • %d - The directory part (what REC_DIR is set to)
  • %b - The basename, that is, the filename without path and extension
  • %n - The filename without path but with extension

The encoder will be started in the background and it will not be stopped even if SvxLink exits. It will run in the background until it’s done. As long as SvxLink is running it is monitoring the encoding processes. If a process run for longer than one hour it will be killed.

Note that SvxLink will never remove the original recording so that have to be done in the encoder command. Here are a couple of examples:

ENCODER_CMD=/usr/bin/oggenc −Q \"%f\" && rm \"%f\" ENCODER_CMD=/usr/bin/lame −−quiet \"%f\" \"%d/%b.mp3\" && rm \"%f\" ENCODER_CMD=/usr/bin/speexenc \"%f\" \"%d/%b.spx\" 2>/dev/null && rm \"%f\" ENCODER_CMD=/usr/bin/opusenc \"%f\" \"%d/%b.opus\" 2>/dev/null && rm \"%f\"

Macros Section

A macros section is used to declare macros that can be used by a logic core. The logic core points out the macros section to use by using the MACROS configuration variable. The name of the MACROS section can be chosen arbitrarily as long as it match the MACROS configuration variable in the logic core configuration section. There could for example exist both a [RepeaterLogicMacros] and a [SimplexLogicMacros] section.

A macro is a kind of shortcut that can be used to decrease the amount of key presses that have to be done to connect to common EchoLink stations for example. On the radio side, macros are activated by pressing "D" "macro number" "#". A macros section can look something like the example below. Note that the module name is case sensitive.

[Macros]
1=EchoLink:9999#
2=EchoLink:1234567#
9=Parrot:0123456789#

For example, pressing DTMF sequence "D1#" will activate the EchoLink module and connect to the EchoTest conference node.

Logic Linking

A logic linking configuration section is used to specify information for a link between two or more SvxLink logic cores. Such a link can for example be used to connect a local repeater to a remote repeater using a separate link transceiver. The link is activated/deactivated using DTMF commands and/or automatically depending on your configuration. When the link is active, all audio received by one logic will be transmitted by the other logic(s).

The name of the logic linking section can be chosen freely. In the example configuration file, there is a section [LinkToR4]. To use a logic linking section in a logic core it must be pointed out by the LINKS configuration variable in the GLOBAL section. Example: GLOBAL/LINKS=LinkToR4

CONNECT_LOGICS

A comma separated list of logic specifications for the logic cores to connect together. Each logic specification has three parts separated by colons: <logic name>:<command>:<announcement name>. The "logic name" is the name of the logic to include in the link. To manually activate or deactivate the link from the just specified logic, "command" is used. The "announcement name" is used when announcing link related activities like activation or deactivation. Both "command" and "announcement name" may be left empty if no manual control is wanted. An example config line may look like this:

RepeaterLogic_2m:99:SK3GW,RepeaterLogic_70cm:94:SK3GK

It will include two logics in the link, RepeaterLogic_2m and RepeaterLogic_70cm. From the 2m side, the link will be activated when the user send command 991 and deactivated when the user send command 990. Upon activation, an announcement like "activating link to SK3GW" will be played back. From the 70cm side the command will be 941 and 940 respectively. The announcement when activating the link from the 70cm side will be something like "activating link to SK3GK".

DEFAULT_ACTIVE

The link will be connected automatically during startup of SvxLink if this configuration variable is set to 1. Also, if a link is manually disconnected by a user it will be automatically reconnected after some time of inactivity. The time is specified by setting the TIMEOUT configuration variable. If the TIMEOUT variable is not set, no automatic reactivation will be done.

TIMEOUT

The number of seconds after which the link will be automatically deactivated if there have been no activity. If 1 have been specified for DEFAULT_ACTIVE, this configuration variable will specify after how many seconds the link will be reactivated after being manually deactivated.

AUTOACTIVATE_ON_SQL

Enter a comma separated list of logics, which should automatically activate the link if there is activity (e.g. squelch open) in it. One possible application for this is for example to make the connection of a microphone/speaker combination (without DTMF encoder) for brief announcements but without having to constantly listen in. Example: AUTOACTIVATE_ON_SQL=MicSpkrLogic

Local Receiver Section [rx1]

A local receiver section is used to specify the configuration for a receiver connected to the sound card. In the default configuration file there is a Local configuration section called Rx1. The section name could be anything. It should match the RX configuration variable in the logic core where the receiver is to be used. The available configuration variables are described below.

TYPE

Always "Local" for a local receiver.

AUDIO_DEV

Specify the audio device to use. Normally alsa:plughw:0. Have a look at the AUDIO DEVICE SPECIFICATIONS chapter for more information.

AUDIO_CHANNEL

Specify the audio channel to use. SvxLink can use the left/right stereo channels as two mono channels. Legal values are 0 or 1.

Squelch detection
SQL_DET

Specify the type of squelch detector to use. Possible values are: VOX, CTCSS, SERIAL, EVDEV, SIGLEV, PTY, GPIO or HIDRAW.

  • VOX

The VOX squelch detector determines if there is a signal present by calculating a mean value of the sound samples. The VOX squelch detector behaviour is adjusted with VOX_FILTER_DEPTH and VOX_THRESH. VOX is actually a bit of a misnomer since it’s a "Voice Operated Squelch" and VOX actually means "Voice Operated Transmitter". However, the term VOX is widely understood by hams all over the world so we’ll stick with it.

  • CTCSS

The CTCSS squelch detector checks for the presence of a tone with the specified frequency. The tone frequency is specified using the CTCSS_FQ config variable. The thresholds are specified using the CTCSS_OPEN_THRESH and CTCSS_CLOSE_THRESH config variables. Other config variables that effect the CTCSS squelch is: CTCSS_MODE, CTCSS_SNR_OFFSET, CTCSS_BPF_LOW, CTCSS_BPF_HIGH.

  • SERIAL

The SERIAL squelch detector use a pin in a serial port to detect if the squelch is open. This squelch detector can be used if the receiver have an external hardware indicator of when the squelch is open. Specify which serial port/pin to use with SERIAL_PORT and SERIAL_PIN.

  • EVDEV

The EVDEV squelch detector read squelch events from a /dev/input/eventX device. An example where this could be useful is if you have a USB audio device with some buttons on it. Some of these devices generate key press events, much like a keyboard. Specify which /dev/input device node to use using the EVDEV_DEVNAME config variable. Set which events that should open and close the squelch using the EVDEV_OPEN and EVDEV_CLOSE config variables.

  • GPIO

The GPIO squelch detector read a pin on the GPIO Port. Depending on the level of the pin, the squelch is switched. A HIGH (3.3V) at the pin set the squelch to open and a LOW (GND) level will set the squelch to closed. Specify which squelch pin to use with the GPIO_SQL_PIN configuration variable. On some devices, like the Orange Pi, you also need to set the GPIO_PATH configuration variable.

  • SIGLEV

The SIGLEV squelch detector use signal level measurements to determine if the squelch is open or not. Which signal level detector to use is determined by the setting of the SIGLEV_DET configuration variable. The open and close thresholds are set using the SIGLEV_OPEN_THRESH and SIGLEV_CLOSE_THRESH configuration variables. If using the NOISE signal level detector note the following. The detector is not perfect (it’s affected by speech) so you will also want to setup SQL_HANGTIME to prevent it from closing in the middle of a transmission. A value between 100-300ms is probably what you need. If using this squelch type in cooperation with a voter, you’ll also probably need to setup SQL_DELAY to get correct signal level measurements. A value of about 40ms seem to be OK. Also, when using the NOISE signal level detector the input audio must be unsquelched since silence will be interpreted as a high signal strength.

  • PTY


The PTY squelch expects a very easy protocol over a pseudo-tty device, created by SvxLink on runtime. An ’O’ over this pty device indicate an open squelch, a ’Z’ is a closed squelch. Define the slave pty in PTY_PATH (e.g. PTY_PATH=/tmp/sql) and SvxLink will create a link to the specified path from it’s pseudotty slave device (/dev/pts/X). This can be used by a script to interface custom devices, modems or other hardware to SvxLink. Look for nhrcx.pl to see an example.

  • HIDRAW

The HIDRAW squelch supports human interface devices (HID), USB devices like CM108 soundcard e.g. used in the URI Echolink adapter made by DMK.

SQL_START_DELAY

The squelch start delay is of most use when using VOX squelch. For example, if the transceiver makes a noise when the transmitter is turned off, that might trigger the VOX and cause an infinite loop of squelch open/close transmitter on/off. Specify the number of milliseconds that the squelch should be "deaf" after the transmitter has been turned off.

SQL_DELAY

Specify a delay in milliseconds that a squelch open indication will be delayed. This odd feature can be of use when using a fast squelch detector in combination with the signal level detector. A squelch delay will allow the signal level detector to do its work before an indication of squelch open is sent to the logic core. A delay might be needed when using the voter to choose among multiple receivers. A normal value could be somewhere in between 20-100ms.

SQL_HANGTIME

How long, in milliseconds, the squelch will stay open after the detector has indicated that it is closed. This configuration variable will affect all squelch detector types.

SQL_EXTENDED_HANGTIME

At low signal strengths it can be beneficial to use a longer squelch hangtime so that it is less likely for the squelch to close. This configuration variable is unset by default. A value of 1000 milliseconds may be a good value to start out with. To enable the extended squelch hangtime feature, set up the SQL_EXTENDED_HANGTIME_THRESH variable.

SQL_EXTENDED_HANGTIME_THRESH

At low signal strengths it can be beneficial to use a longer squelch hangtime so that it is less likely for the squelch to close. This configuration variable is unset by default. When set to a signal level it will activate the extended squelch hangtime feature. When the signal strength during a transmission fall below the set threshold, the extended hangtime will be used. Start out with a value between 10 to 15. The SQL_EXTENDED_HANGTIME variable is used to set how long the extended squelch hangtime should be. Make sure that you have calibrated the signal level detector before turning this feature on. Otherwise it will not work as expected.

SQL_TIMEOUT

Use this configuration variable to set an upper limiti, in seconds, for how long the squelch is allowed to be open. If the timeout value is exceeded the squelch is forced to closed. If the squelch close for real, everything is back to normal. When it opens the next time a squelch open will be signalled. For example, use this feature to make sure that a faulty receiver cannot block the system indefinitly.

VOX_FILTER_DEPTH

The number of milliseconds to create the mean value over. A small value will make the vox react quicker (<200) and larger values will make it a little bit more sluggish. A small value is often better.

VOX_THRESH

The threshold that the mean value of the samples must exceed for the squlech to be considered open. It’s hard to say what is a good value. Something around 1000 is probably a good value. Set it as low as possible without getting the vox to false trigger.

CTCSS detection mode
CTCSS_MODE

This configuration variable set the CTCSS detection method used. These are the ones to choose from:


  • 0 (Default) Will choose the detection mode that is the default in the software. At the moment this is the "Estimated SNR" mode.
  • 1 (Neighbour bins) This detection mode will use three narrow frequency bands (~8Hz) to do the detection. One band is centered around the tone to be detected and then there are one band above and one below the tone. These bands are used to estimate the noise floor. This is the detector that have been used in SvxLink for a long time. It is however rather slow with its detection time of about 450ms. There is no good reason to use this detector anymore but it is kept in case the new detector does not work for some hardware setup.
  • 2 (Estimated SNR) This is a newer detector implementation which have some improvements. The most notable difference is that it is faster. The mean detection time will be around 200ms. This is the default detection mode if not specified. This detector will use a larger passband to estimate the noise floor which make it more stable. The default config use the whole CTCSS passband but this can be customized using the CTCSS_BPF_LOW and CTCSS_BPF_HIGH config variables.
  • 3 (Estimated SNR+Phase) This detector is a bit experimental. It is even faster and more narrow than the other detection modes. The mean detection time will be something like 150ms. The detection bandwidth is very narrow and very sharp so that no adjacent tones will trigger the detector. The price to pay for these improvements is that is it a bit less sensitive.
CTCSS_FQ

If CTCSS (PL,subtone) squelch is used (SQL_DET is set to CTCSS), this config variable sets the frequency of the tone to use. The tone frequency ranges from 67.0 to 254.1 Hz. There actually is nothing that will stop you from setting the frequency to something outside this range but there is no guarantee that it will work.

CTCSS_OPEN_THRESH

If CTCSS (PL, subtone) squelch is used (SQL_DET is set to CTCSS), this config variable sets the required tone level to indicate squelch open. The value is some kind of estimated signal to noise dB value. If using CTCSS mode 2 or 3 it is helpful to set up the CTCSS_SNR_OFFSET config variable. This will make the SNR estimation pretty good. Default threshold is 15dB.

CTCSS_CLOSE_THRESH

If CTCSS (PL, subtone) squelch is used (SQL_DET is set to CTCSS), this config variable sets the required tone level to indicate squelch close. The value is some kind of estimated signal to noise dB value. If using CTCSS mode 2 or 3 it is helpful to set up the CTCSS_SNR_OFFSET config variable. This will make the SNR estimation pretty good. Default threshold is 9dB.

CTCSS_SNR_OFFSET

This config variable is used when CTCSS_MODE is set to 0, 2 or 3. It will adjust the estimated SNR value so that it becomes very close to a real SNR value. This value will have to be adjusted if CTCSS_FQ, CTCSS_MODE, CTCSS_BPF_LOW or CTCSS_BPF_HIGH changes. Use the siglevdetcal utility to find out what to set this config variable to. There is no requirement to set this config variable up. The downside is that you will then need to experiment more with the CTCSS_OPEN_THRESH and CTCSS_CLOSE_THRESH config variables to find the correct squelch level.

CTCSS_BPF_LOW

When CTCSS_MODE is set to 0, 2 or 3, this config variable will set the low cutoff frequency for the passband filter. It normally should not have to be adjusted but could improve the detector if some interference falls within the passband (e.g. mains hum). Note however that the more narrow you make the passband, the less stable the detector will be. You may need to compensate by increasing the open/close thresholds or by setting up SQL_DELAY and SQL_HANGTIME. Default is 60Hz.

CTCSS_BPF_HIGH

When CTCSS_MODE is set to 0, 2 or 3, this config variable will set the high cutoff frequency for the passband filter. It normally should not have to be adjusted but could improve the detector if some interference falls within the passband. Note however that the more narrow you make the passband, the less stable the detector will be. You may need to compensate by increasing the open/close thresholds or by setting up SQL_DELAY and SQL_HANGTIME. Default is 270Hz.

SERIAL_PORT

If SQL_DET is set to SERIAL, this config variable determines which serial port should be used for hardware squelch input (COS - Carrier Operated Squelch). Note: If the same serial port is used for the PTT, make sure you specify exactly the same device name. Otherwise the RX and TX will not be able to share the port. Example: SQL_PORT=/dev/ttyS0

SERIAL_PIN

If SQL_DET is set to SERIAL, this config variable determines which pin in the serial port that should be used for hardware squelch input (COS - Carrier Operated Squelch). It is possible to use the DCD, CTS, DSR or RI pin. If inverted operation is desired, prefix the pin name with an exclamation mark (!).

Example: SQL_PIN=!CTS

SERIAL_SET_PINS

Set the specified serial port pins to a static state. This can be good if using a pin for reference voltage or if a pin have to be in a certain state to not interfere with the operation of some equipment. There are two pins that are possible to use, RTS and DTR. If prefixed with an exclamation mark (!), the pin will be cleared and if not it will be set.

Example: SERIAL_SET_PINS=RTS!DTR will set RTS and clear DTR.

EVDEV_DEVNAME

Specify which /dev/input device node to use for the EVDEV squelch detector. To find out which device node and event codes to use, install the evtest utility. Find a candidate device node under /dev/input/ or /dev/input/by-id/ and try the evtest utility on it. Press some keys on the device you want to read events from. If you’re in luck, events will be printed on the screen.

EVDEV_OPEN

Use the evtest utility, as described above, to find out type, code and value for the event you want to use to open the squelch. For example if type is 1, code is 163 and value is 1, set this config variable to 1,163,1.

EVDEV_CLOSE

Use the evtest utility, as described above, to find out type, code and value for the event you want to use to close the squelch. For example if type is 1, code is 163 and value is 0, set this config variable to 1,163,0. If you set the same type,code,value combination for both EVDEV_OPEN and EVDEV_CLOSE, that event will toggle the squelch.

GPIO_PATH

Use this configuration variable to set the path to the sys control devices for GPIO. This normally is /sys/class/gpio but on some hardware, like the Orange Pi, the path is /sys/class/gpio_sw.

GPIO_SQL_PIN

If SQL_DET is set to GPIO this configuration variable is used to choose which GPIO pin to use for squelch input. The most common name is gpio<number>, like gpio4. Some GPIO drivers use more complex names, like gpio33_pe11. If inverted operation is desired, prefix the pin name with an exclamation mark (!).

Example: GPIO_SQL_PIN=!gpio4

Signal level detection mode
SIGLEV_DET

Choose which type of signal level detector to use. The available choices are: "NONE", "NOISE", "TONE" or "SIM". Depending on other configuration there may be more choices available. For example, if a Ddr receiver is used there will also be a DDR signal level detector available. The signal level detector is only needed when using multiple receivers in a voter configuration or when using the SIGLEV squelch type.

  • NONE

Type NONE disable the signal level detector. This may be used if no signal level detector is needed.

  • NOISE

Type NOISE use a bandpass filter in the range of 5 - 5.5kHz (CARD_SAMPLE_RATE >= 16000) or a highpass filter at 3.5kHz (CARD_SAMPLE_RATE = 8000) to estimate the amount of noise present on the signal. If the passband contain a small amount of energy, a strong signal is assumed. If the passband contain more energy, a weaker signal is assumed. The noise detector must be calibrated for the receiver and audio levels you use. This is done using the SIGLEV_SLOPE and SIGLEV_OFFSET configuration variables. See chapter CALIBRATING THE SIGNAL LEVEL DETECTOR below for more information.

  • TONE

Type TONE is not really a signal level detector but rather a transport mechanism for getting signal level measurements from a remote receiver site, linked in via RF, to the main SvxLink site. It is using ten tones, one for each signal level step, in the high audio frequency spektrum (5.5 - 6.4kHz, 100Hz step) to indicate one of ten signal levels. Only the receiving part have been implemented in SvxLink at the moment. On the remote receiver side an Atmel AVR ATmega8 is used to map the signal level voltage to tone frequencies. Use the TONE_SIGLEV_MAP configuration variable to map each tone to a corresponding signal level value in between 0 - 100.

  • SIM

Type SIM is a simulated signal level detector that can be used to debug problems in the SvxLink software. Use the SIGLEV_MIN, SIGLEV_MAX, SIGLEV_DEFAULT, SIGLEV_TOGGLE_INTERVAL and SIGLEV_RAND_INTERVAL configuration variables to configure the simulator.

HID_DEVICE

This parameter defines the device your hidraw adapter is connected to. This port is created by the linux/hidraw driver. e.g. HID_DEVICE=/dev/hidraw3

HID_SQL_PIN

Define the pin your hardware squelch (from RX) is connected to. Valid values are VOL_UP, VOL_DN, MUTE_PLAY or MUTE_REC.

Example: HID_SQL_PIN=VOL_UP

SIGLEV_SLOPE

The slope (or gain) of the signal level detector. See chapter CALIBRATING THE SIGNAL LEVEL DETECTOR below for more information.

SIGLEV_OFFSET

The offset of the signal level detector. See chapter CALIBRATING THE SIGNAL LEVEL DETECTOR below for more information.

SIGLEV_BOGUS_THRESH

This configuration variable set an upper threshold for the estimated signal level when using the noise signal level detector. If the estimation goes over the given threshold, a signal level of 0 will be reported. This can be used as a workaround when using a receiver with squelched audio output. When the squelch is closed, the receiver audio is silent. The signal level estimator will interpret this as a very strong signal. Setting up the bogus signal level threshold will counteract this behavior but a better solution is to use unsquelched audio if possible.

By default this feature is disabled. If enabling it, start with a value somewhere around 120.

TONE_SIGLEV_MAP

This configuration variable is used to map tones to signal level values when SIGLEV_DET=TONE. It is a comma separated list of ten values in the 0 - 100 range. The first value map to the 5500Hz tone, the second to the 5600Hz tone and so on. The last value map to the 6400Hz tone. What levels the tones should be mapped to depends on the tone sender implementation. The default tone map is 10,20,30...,100.

The Atmel AVR processor used by the author have a reverse mapping so that the first tone (5500Hz) indicate the highest signal strength and the last tone (6400Hz) indicate the lowest signal strength. It is also not linear since it’s more important to have fine measurement granularity in the lower signal strength range. This is how the mapping look for the AVR: 100,84,60,50,37,32,28,23,19,8.

SIGLEV_OPEN_THRESH

This is the squelch open threshold for the SIGLEV squelch detector. If using the NOISE signal level detector, make sure to first calibrate the signal level detector using the SIGLEV_SLOPE and SIGLEV_OFFSET configuration variables. The signal level detector should normally be calibrated so that full signal strength is 100 and no signal is 0. Depending on your background noise level a good value for this configuration variable is between 5 and 20.

SIGLEV_CLOSE_THRESH

This is the squelch close threshold for the SIGLEV squelch detector. If using the NOISE signal level detector, make sure to first calibrate the signal level detector using the SIGLEV_SLOPE and SIGLEV_OFFSET configuration variables. The signal level detector should normally be calibrated so that full signal strength is 100 and no signal is 0. Depending on your background noise level a good value for this configuration variable is between 1 and 10.

SIGLEV_MIN

The minimum signal level used by SIM signal level detector.

SIGLEV_MAX

The maximum signal level used by SIM signal level detector.

SIGLEV_DEFAULT

The default signal level set on startup by the SIM signal level detector.

SIGLEV_TOGGLE_INTERVAL

The interval, in millisecods, that the SIM signal level detector will use to toggle between the maximum and the minimum signal levels.

SIGLEV_RAND_INTERVAL

The interval, in milliseconds, that the SIM signal level detector will use between randomizing a new signal level value. At each interval, the simulator will randomly either increase or decrease the signal level with one step.

DEEMPHASIS

Apply a deemphasis filter on received audio. The deemphasis filter is used when taking audio directly from the detector in the receiver, like when using a 9k6 packet radio connector. If not using a deemphasis filter the high frequencies will be amplified resulting in a very bright (tinny) sound.

SQL_TAIL_ELIM

Squelch tail elimination is used to remove noise from the end of a received transmission. This is of most use when using CTCSS or SIGLEV squelch with unsquelched input audio. A normal value is a couple of hundred milliseconds. Note that the audio will be delayed by the same amount of milliseconds. This does not matter much for a simplex link but for a repeater the delay might be annoying since you risk hearing the end of your own transmission.


PREAMP


The incoming signal will be amplified by the specified number of dB. This can be used as a last measure if the input audio level can’t be set high enough on the analogue side. A value of 6dB will double the signal level. Note that this is a digital amplification. Hence it will reduce the dynamic range of the signal so usage should be avoided if possible. It’s always better to correct the audio level before sampling it.

PEAK_METER

This is a help to adjust the incoming audio level. If enabled it will output a message when distorsion occurs. To adjust the audio level, first open the squelch. Then increase the audio level until warning messages are printed. Decrease the audio level until no warning messages are printed. After the adjustment has been done, the peak meter can be disabled. 0=disabled, 1=enabled.

DTMF_DEC_TYPE

Specify the DTMF decoder type. Set it to INTERNAL to use the internal software DTMF decoder. To use the S54S interface featuring a hardware DTMF decoder, set it to S54S. To control it over a pseudo tty device set it to PTY. Setting it to PTY will install the PTY dtmf decoder. SvxLink creates a symlink linked to a slave pty device on runtime. The name has to be defined with DTMF_PTY. NONE or commenting it out will disable DTMF detection.

DTMF_MUTING

Mute the audio during the time when a DTMF digit is being received. Note that the audio will be delayed 75ms to give the DTMF detector time to do its work. This does not matter much on a simplex link but on a repeater it could be annoying since you will hear the last 75 milliseconds of your own transmission. To counteract the added delay one can set up the SQL_TAIL_ELIM configuration variable to at least 75 milliseconds. Legal values for DTMF_MUTING are 0=disabled, 1=enabled.

DTMF_HANGTIME

This configuration variable can be used if the DTMF decoder is too quick to indicate digit idle. That does not matter at high signal strengths but for weaker signals and mobile flutter it’s not good at all. Each DTMF digit will be detected multiple times. Using this configuration variable, the time (ms) a tone must be missing to be indicated as off can be extended. Setting this value too high will cause the decoder to be a bit sluggish and it might consider two digits as one. The hang time only affect consecutive digits of the same value (e.g. 1 1). If a detected digit differs from the previously detected digit (e.g 1 2), the hang time is immediately canceled and the detected digit is considered as a new one. A good default value is 50-100ms.

DTMF_SERIAL

When using an external hardware DTMF decoder this config variable is used to specify a serial port (e.g. /dev/ttyS0).

DTMF_PTY

When using the PTY DTMF "decoder" this configuration variable will set the path to the PTY slave softlink that the external interface script use to communicate to SvxLink. Over this symlink a very easy communication protocol is used to tell SvxLink received DTMF digits: 0-9, A-F, *, #. "E" is the same as "*" and "F" is the same as "#". Sending a digit tell SvxLink when it starts. To tell SvxLink that the digit has ended, send a space character.

The PTY DTMF "decoder" can be used by an external script to interface custom devices, modems or other hardware to SvxLink. Look for nhrcx.pl to see an example.

Example: /tmp/rx1_dtmf.

DTMF_MAX_FWD_TWIST

DTMF use two tones to encode digits 0-9, A-F. These two tones should normally have the sample amplitude. The difference in amplitude is called twist. Forward twist is when the higher frequency tone is lower in amplitude than the lower frequency tone. According to the standards, 8dB forward twist should be allowed. Some transmitters do not correctly modulate the DTMF tones to get zero twist. The most common situation is that the forward twist is too large. Increasing this configuration variable above 8dB might allow DTMF from these transmitters to be detected. When doing this, the DTMF detector will be more sensitive to noise and might cause more false triggers.

DTMF_MAX_REV_TWIST

DTMF use two tones to encode digits 0-9, A-F. These two tones should normally have the sample amplitude. The difference in amplitude is called twist. Reverse twist is when the lower frequency tone is lower in amplitude than the higher frequency tone. According to the standards, 4dB reverse twist should be allowed but SvxLink will allow 6dB by default. The most common reason for getting reverse twist is a bad de-emphasis filter or that none at all is used, like when taking audio directly from the FM discriminator. Have a look at the DEEMPHASIS configuration variable before starting to modify this configuration variable.

DTMF_DEBUG

Set to 1 to continuously print software DTMF decoder decision parameters. This should only be used for a short while to pinpoint problems with the DTMF decoding since it will print one row of analysis parameters 100 times per second. The following parameters are printed.


  • pwr - The power in the audio signal. Must be over about -50dB.
  • q - Quality. Should be close to 1.00 for a good detection. If the signal is strong but the value is low anyway, the signal probably is distorted for some reason. The input audio level may be too high for example.
  • twist - The amplitude difference between the two tones. Should be around 0dB, which means the tones should ideally be of the same strength. By default, values between -6dB to +8dB are accepted but the thresholds can be set using the DTMF_MAX_FWD_TWIST and DTMF_MAX_REV_TWIST configuration variables.
  • rowq - Quality of the row (low group) tone. Should be close to one.
  • colq - Quality of the column (high group) tone. Should be close to one.
  • digit - The digit mapped to the two detected tones.
  • row3rd - The row tone relation to its third overtone. Should be close to zero. If it’s not, the signal is probably distorted.
  • col3rd - The column tone relation to its third overtone. Should be close to zero. If it’s not, the signal is probably distorted.
  • im - The relation of the two tones to their intermodulation product. Should be close to zero. If it’s not, the signal is probably distorted.
1750_MUTING

Mute the audio during a call tone of 1750Hz is received. Note that the audio will be delayed 75ms to give the tone detector time to do its work. This does not matter much on a simplex link but on a repeater it could be annoying since you will hear the last 75 milliseconds of your own transmission. To counteract the added delay one can set up the SQL_TAIL_ELIM configuration variable to at least 75 milliseconds. Legal values for 1750_MUTING are 0=disabled, 1=enabled.

SEL5_TYPE

Define here your selective tone call system. You have the choice of the following types: ZVEI1, ZVEI2, ZVEI3, PZVEI, PDZVEI, DZVEI, CCITT, EEA, CCIR1, CCIR2, NATEL, EURO, VDEW, AUTO-A, MODAT, PCCIR and EIA. Only one system can be used at the same time. Please take into consideration that some Sel5 standards are using the same or similar tones so it may have some unwanted effects if you define ZVEI1 for SvxLink and a (e.g.) ZVEI3 sequence is received.

SEL5_DEC_TYPE

At the moment only SEL5_DEC_TYPE=INTERNAL is valid. Maybe we have support for some external tone detectors later. To disable SEL5 tone decoding, specify NONE or just comment the configuration variable out.

RAW_AUDIO_UDP_DEST

Setting this configuration variable makes it possible to stream the raw audio from the sound device to an UDP socket. The sample format is the one used internally in SvxLink, that is each sample is represented by a 32 bit float. The sample rate is the same as the one chosen for the audio device. The destination is specified as ip-address:port.

Example: RAW_AUDIO_UDP_DEST=127.0.0.1:10000

Ddr Receiver Section

A special kind of local receiver is the Digital Drop Receiver (DDR). It will use either the rtl_tcp utility or a direct USB connection to interface to a RTL2832U based DVB-T USB dongle and use that as a wideband receiver. These USB dongles can be bought cheeply from an Internet shop (~$10). The radio performance may not be great but better than one might think. Usage as a cheap local coverage receiver or as a link receiver may work very well.

One big advantage of using a wideband receiver is that it is possible to monitor more than one narrow band channel at a time. The only limit is the CPU power and the bandwidth of the wideband tuner. You probably need a Pentium4 or better to fulfill the CPU demands.

Getting the DVB-T dongle running is out of scope for this document but what you absolutely need to do is to find out the frequency error on your specific dongle. When you have figured out what the frequency error is, set up the FQ_CORR configuration variable in the wideband receiver configuration section.

The rtl_tcp utility is in a package named similar to something like rtl-sdr. When you have the rtl-sdr stuff installed, just start rtl_tcp. No command line arguments are needed. Then configure a Ddr receiver in SvxLink. All configuration variables that are available for an ordinary local receiver is also available for a Ddr receiver, except the audio device related ones which are just ignored. The following configuration variables are available in addition to the ordinary ones.

FQ

The narrowband channel frequency to tune to.

MODULATION

The modulation used on the channel. Legal values are: "FM" (two-way radio frequency modulation), "NBFM" (two-way radio narrow frequency modulation), "WBFM" (broadcast wideband frequency modulation), "AM" (two-way radio amplitude modulation), "NBAM" (two-way radio narrow band amplitude modulation), "USB" (Upper Sideband), "LSB" (Lower Sideband), "CW" (Continuous Wave, e.g. Morse), "WBCW" (CW wide).

WBRX

The configuration section for the wideband receiver to connect this DDR to. See "Wideband Receiver Section" below.

SIGLEV_DET

For a Ddr there also is a special signal level detector available, DDR, that will measure the RF power before demodulation. This is much more reliable than estimating the signal power through the audio which is normally done in SvxLink. The drawback is that the Ddr signal level is not completely comparable to the ordinary SvxLink signal level measurements since it have a larger dynamic range. Set SIGLEV_DET=DDR to activate the Ddr signal level detector.

Wideband Receiver Section

A wideband receiver section is used to configure access to a wideband receiver which can be used by a Digital Drop Receiver (DDR), described above, to handle multiple narrowband channels using the same hardware. The only hardware supported at the moment is RTL2832U based DVB-T USB dongles. SvxLink access the dongle directly via USB or through the rtl_tcp utility, which make the dongle available on a TCP network port. The following configuration variables are available:

TYPE

The type of wideband receiver used. The only supported values right now are "RtlTcp" and "RtlUsb".

DEV_MATCH

When using RtlUsb, this configuration variable is used to select the dongle to use if there are multiple dongles connected to the computer. When looking for dongles, SvxLink will try to match the string given in this configuration variable in different ways. First, if it’s a digit, a match against the device index is tried. The device index is just a number, zero and up, that is given to a dongle when it’s inserted.

If the device index does not match, a match against the beginning, end or the whole serial number will be tried.

Default: 0 (first device found)

HOST

The name of the host that the rtl_tcp utility is running on (Default: localhost).

PORT

The TCP port that rtl_tcp is listening on (Default: 1234).

SAMPLE_RATE

The sample rate used by the dongle. Legal values are 960000 and 2400000 (Default: 960000).

FQ_CORR

This is probably the most important configuration variable. Most dongles are far off in frequency so they need to be calibrated. Calibrating the dongle can be done in multiple ways. The recommended way is to use the devcal utility that is distributed along with SvxLink. The calibration procedure is described in the devcal (1) manual page.

The end result should be a correction value for how far off the dongle is in frequency counted in parts per million (PPM). That is, how many Hz per MHz is the tuner off by. Typical values are in the range -100 to 100.

CENTER_FQ

The frequency, in Hz, that the wideband tuner should be placed at. This configuration variable should normally be left unset since SvxLink will try to place the wideband tuner to cover all set up Ddr frequencies. SvxLink will also try to avoid placing a Ddr on the center frequency of the wideband spectrum since there is usually some noise there. Only use this configuration variable if you need to override the automatic placement for some reason.

XVRTR_OFFSET

If a transverter is used, this configuration variable can be set to the frequency offset that the transverter introduce. The frequency set here will be added to the center frequency of the wideband receiver.

GAIN

If unset, automatic gain is used. Do not use automatic gain control if using the DDR signal level detector. That may mess up the measurements. Finding a good gain setting may be hard. Too little and you will not hear the signals you want to hear. Too much and the tuner will be driven into distorsion. One way to decide the maximum usable gain is to use the PEAK_METER explained below. When there are no distorsion warning messages printed or just a single one now and then you have found the max gain. You should probably back at least one step down from this value. If the signals you want to receive are very strong, set the gain as low as possible.

What gain values that are available is tuner dependent. SvxLink will print the available gain values when it establishes the connection to the tuner. Typical values are in the range -10 to 50dB.

PEAK_METER

If PEAK_METER is set to 1, a warning will be printed every time the tuner is driven into distorsion. If it happens too often the gain should be lowered. At most, one warning per second will be printed.

LocalSim Receiver Section

A simulated local receiver can be used to debug problems in the SvxLink software. The only thing that this very simple simulator does is to play a tone. The generated tone can be controlled using some configuration variables.

SIM_WAVEFORM

Set the waveform to use; SIN=sine wave, SQUARE=square wave.

SIM_TONE_FQ

Set the frequency of the tone in Hz.

SIM_TONE_PWR

Set the tone power in dB. 0dB corresponds to the power in a full-scale sine wave.

Voter Section

Receiver type "Voter" is a "receiver" that combines multiple receivers and selects one of them to take audio from when the squelch opens. Which receiver to use is selected directly after squelch open. It is possible to set up a voting delay which will make the voter wait a while before choosing which RX to use. This will give all receivers some time to report their signal strengths. After the initial choice have been made a periodic check is done to see if any of the other receivers receive a stronger signal. In the default configuration file there is a voter section called Voter.

TYPE

Always "Voter" for a voter.

RECEIVERS

Specify a comma separated list of receivers that the voter should use. Example: RECEIVERS=Rx1,Rx2,Rx3

VOTING_DELAY

Specify the delay in milliseconds that the voter will wait after the first sqeulch open detection until the decision of which receiver to use is made. This time must be set sufficiently high to allow all receivers to calculate and report the signal level. Incoming audio and DTMF digits will be buffered for all receivers during the delay time so nothing will be lost, but of course the audio will be delayed the specified amount of time. This is most noticeble when using a repeater logic. Use the BUFFER_LENGTH configuration variable to adjust the buffer length. The default voting delay is 0.

BUFFER_LENGTH

Use this configuration variable to adjust the length of the voting delay buffer. If not specified, the buffer length will be the same as the voting delay. When using the voter with a repeater logic, try to keep this variable at 0 to reduce the latency. Only increase it if you feel audio is lost in the beginning of transmissions.

REVOTE_INTERVAL

This is the interval time in milliseconds with which the voter will check if another receiver is receiving a stronger signal. If that is the case, a receiver switch will be initiated. Default is 1000 milliseconds.

HYSTERESIS

The hysteresis setting will prevent the voter from switching back and forth between two receivers that are equal in signal strength. For a switch to occur, the other receivers signal strength must exceed the current receivers signal strength by the percent specified in this configuration variable. So if the hysteresis is set to 50% and the received signal strength on the current receiver is 40, a signal strength of 40*1.5=60 is required on another receiver to initiate a switch. At squelch open, if the received signal strength plus hysteresis is larger than 100, the voting delay will be skipped. The default hysteresis is 50 percent.

RX_SWITCH_DELAY

When a receiver switch is initiated by the voter, it will wait the number of milliseconds specified in this configuration variable before actually performing the switch. The switch will only occur if the other receivers signal strength is still higher. Default is 500 milliseconds.

SQL_CLOSE_REVOTE_DELAY

The voter will wait the number of milliseconds specified in this config variable after a squelch close before voting in another receiver. There are two reasons for using this delay. The first is to prevent the voter from going into idle state immediately when the squelch close for a fluttery signal. If it goes to idle, the procedure with voting delay may cause longer dropouts than necessary. The second reason to use this config variable is if different receivers have different hang times (explicitly or implicitly). If both a slow and fast receiver is receiving the same signal and the faster is currently chosen, when the PTT is released the slower receiver will be voted before closing. This will cause a double squelch tail and double roger beep. Default is 500 milliseconds.

COMMAND_PTY

Specify the path to a PTY that can be used to control the voter from the operating system. Available commands:

  • ENABLE rx_name - Enable the given receiver
  • DISABLE rx_name - Disable the given receiver

Commands can be issued using a simple echo command from the shell. Example: echo "DISABLE Rx1" >/dev/shm/voter_ctrl

Networked Receiver Section

A networked receiver section is used to specify the configuration for a receiver connected through a TCP/IP network. In the default configuration file there is a networked receiver configuration section called NetRx. The section name could be anything. It should match the RX configuration variable in the logic core where the receiver is to be used. The available configuration variables are described below. How to use a networked receiver is further described in the remotetrx(1) manual page.

TYPE

Always "Net" for a networked receiver.

HOST

The hostname or IP address of the remote receiver host.

TCP_PORT

The TCP port that RemoteTrx listen on. The default is 5210.

LOG_DISCONNECTS_ONCE

Set this configuration variable to 1 to suppress logging of multiple disconnect messages in a row, like when there is no RemoteTrx running on the other side. Thus, failed reconnect attempts will not be logged at all. This may be of use if a RemoteTrx is missing for a long time or if it’s only used from time to time. The default is 0 which means that all reconnect attempts will be logged.

AUTH_KEY

This is the authentication key (password) to use to connect to the RemoteTrx server. The same key have to be specified in the RemoteTrx configuration. If no key is specified in the RemoteTrx config, the login will be unauthenticated. A good authentication key should be 20 characters long. If the same RemoteTrx is used for both RX and TX, the same key must be specified in the RX as well as in the TX configuration section. The key will never be transmitted over the network. A HMAC-SHA1 challenge-response procedure will be used for authentication.

CODEC

The audio codec to use when transferring audio from this remote receiver. Available codecs are: RAW (512kbps), S16 (256kbps), GSM (13.2kbps), SPEEX (8-25kbps), OPUS (8-64kbps). These are raw bitrate values. There will be some overhead added to this so the real bitrates on the wire are a little bit higher. The OPUS codec is the most modern one and it also have the best quality for a given bitrate.

SPEEX_ENC_FRAMES_PER_PACKET

Speex encoder setting. Each Speex frame contains 20ms audio. If using a low bitrate configuration, the network overhead will be quite noticeable if sending each frame in its own packet. One way to lower the overhead is to send multiple frames in each network packet. The drawback with doing this is that you get more delay. If setting this option to something like 4 (default), the delay will be about 4x20=80ms.

SPEEX_ENC_QUALITY

Speex encoder setting. Specify the encoder quality using a number between 0-10. Lower values give poorer quality and lower bitrates.

SPEEX_ENC_BITRATE

Speex encoder setting. Specify the bitrate to use. Speex will snap to the nearest lower possible bitrate. Possible values range from 2150 to 24600 bps. You should probably not specify quality at the same time as bitrate. Not sure though...

SPEEX_ENC_COMPLEXITY

Speex encoder setting. The complexity setting (0-10) tells the encoder how much CPU time it should spend on doing a good job. The difference in SNR between the lowest and highest value is about 2dB. Set it as high as possible without overloading the CPU on the encoding computer (check CPU usage using command "top").

SPEEX_ENC_VBR

Speex encoder setting. Enable (1) or disable (0) variable bitrate encoding. If enabled, the encoder will try to keep a constant quality by increasing the bitrate when needed.

SPEEX_ENC_VBR_QUALITY

Speex encoder setting. The quality (0-10) to use in variable bitrate mode.

SPEEX_ENC_ABR

Speex encoder setting. The average bitrate encoding will try to keep a target bitrate by continuously adjusting the quality. This configuration variable specify the target bitrate and enable ABR. It also need to have VBR enabled so don’t force it to off.

SPEEX_DEC_ENHANCER

Speex decoder setting. Enable (1) or disable (0) the perceptual enhancer in the decoder. Perceptual enhancement is a part of the decoder which, when turned on, attempts to reduce the perception of the noise/distortion produced by the encoding/decoding process. In most cases, perceptual enhancement brings the sound further from the original objectively (e.g. considering only SNR), but in the end it still sounds better (subjective improvement).

OPUS_ENC_FRAME_SIZE

Opus encoder setting. Specify how large, in milliseconds, each audio packet should be. Default: 20ms.

OPUS_ENC_COMPLEXITY

Opus encoder setting. The complexity setting (0-10) tells the encoder how much CPU time it should spend on doing a good job. Set it as high as possible without overloading the CPU on the encoding computer (check CPU usage using command "top"). Default: 10.

OPUS_ENC_BITRATE

Opus encoder setting. This is the bitrate that the encoder will encode for. Rates from about 8000 to 64000 bits per second are meaningful but the codec can handle from like 2500 to 512000 bps. Default: 20000bps.

OPUS_ENC_VBR

Opus encoder setting. Enable (1) or disable (0) variable bitrate encoding. If enabled, the encoder will try to keep a constant quality by increasing the bitrate when needed and decrease it when the quality can be assured with a lower bitrate. The target average bitrate is the one set by OPUS_ENC_BITRATE. Default: 1.

Local Transmitter Section [tx1]

A local transmitter section is used to specify the configuration for a local transmitter. In the default configuration file there is a configuration section called Tx1. The section name could be anything. It should match the TX configuration variable in the logic core where the transmitter is to be used. The available configuration variables are described below.

 TYPE

Always "Local" for a local transmitter.

AUDIO_DEV

Specify the audio device to use. Normally alsa:plughw:0. Have a look at the AUDIO DEVICE SPECIFICATIONS chapter for more information.

AUDIO_CHANNEL

Specify the audio channel to use. SvxLink can use the left/right stereo channels as two mono channels. Legal values are 0 or 1.

PTT_TYPE

Use this configuration variable to specify which type of hardware to use to control the PTT. Specify "SerialPin" for using a pin in the serial port, "GPIO" to use a pin in a GPIO port, "PTY" if you want to use an external interface script via a pseudo tty port or "Hidraw" to use the linux/hidraw driver to support hidraw devices like CM108 sound card, e.g. URI device from DMK.

Set PTT_TYPE to "Dummy" or "NONE" to not use any PTT hardware at all. It is an error to not specify PTT_TYPE.

Use PTT_PIN to specify the pin to use for "SerialPin" or "GPIO".

PTT_PORT

Specify the serial port that the PTT is connected to. E.g. /dev/ttyS0 for COM1.

PTT_PIN

If PTT_TYPE is set to "SerialPin", specify the pin(s) in the serial port that the PTT is connected to. It is possible to specify one or two serial port pins. Some interface boards require that you specify two pins since one pin does not provide enough drive power to the circuit. A "!" in front of the pin name indicates inverted operation. Some of the possible values are RTS, DTRRTS, !DTR!RTS or even DTR!RTS.

If GPIO was specified in PTT_TYPE, set the PTT_PIN config variable to the pin name of the GPIO-pin to use. The most common name is gpio<number>, like gpio3. Some GPIO drivers use more complex pin names like gpio33_pe11. Have a look at the USING GPIO section for information on how to set up the operating system. Normally, the pin will be active high but if the pin name is prefixed with an exclamation mark it will be active low instead. For some hardware platforms you may need to also set the GPIO_PATH configuration variable.

GPIO_PATH

Use this configuration variable to set the path to the sys control devices for GPIO. This normally is /sys/class/gpio but on some hardware, like the Orange Pi, the path is /sys/class/gpio_sw.

PTT_PTY

If PTT_TYPE is set to "PTY" this configuration variable will set the path for the PTY slave softlink that is used by the external script to communicate to SvxLink.

SvxLink sends a ’T’ to start transmitting and a ’R’ to turn the transmitter off. This can be used by an external script to interface custom devices, modems or other hardware to SvxLink. Look for nhrcx.pl to see an example.

HID_DEVICE

Define the device node where your hidraw device is accessible at.

Example: HID_DEVICE=/dev/hidraw3

HID_PTT_PIN

Define the pin your ptt control is connected to. Valid parameters are are GPIO1,GPIO2,GPIO3,GPIO4. Note that some sound cards like SSS1621 may not support GPIO3 and GPIO4! You can invert the behaviour with a "!" in front of the name. Only one value is supported.

SERIAL_SET_PINS

Set the specified serial port pins to a static state. This can be good if using a pin for reference voltage or if a pin have to be in a certain state to not interfere with the operation of some equipment. There are two pins that are possible to use, RTS and DTR. If prefixed with an exclamation mark (!), the pin will be cleared and if not it will be set. This configuration variable can only be used when PTT_TYPE is set to "SerialPin".

Example: SERIAL_SET_PINS=RTS!DTR will set RTS and clear DTR.

PTT_HANGTIME

Use this configuration variable to set a PTT hangtime. This can be good to have on a transmitter in combination with using a tone squelch. When the transmitter is ordered to stop transmitting, the tone is immediately turned off, causing the squelch to close on the other side. Since the transmitter keeps transmitting for a while, no squelch tail will be heard.

Another use is on a remote receiver link transmitter where you don’t want the transmitter to turn on and off between transmissions or if the squelch close and open quickly due to for example mobile flutter.

TIMEOUT

This is a feature that will prevent the transmitter from getting stuck transmitting. Specify the number of seconds before the transmitter is turned off. Note that this is a low level security mechanism that is meant to only kick in if there is a software bug in SvxLink. Just so that the transmitter will not transmit indefinately. It is not meant to be used to keep people from talking too long.

TX_DELAY

The number of milliseconds (0-1000) to wait after the transmitter has been turned on until audio is starting to be transmitted. This can be used to compensate for slow TX reaction or remote stations with slow reacting squelches.

CTCSS_FQ

The frequency in Hz of the CTCSS tone to transmit. It is possible to specify fractions using "." as decimal comma (e.g. 136.5). For the tone to be transmitted the CTCSS_LEVEL variable must also be setup and also the TX_CTCSS variable in the logic core configuration section.

CTCSS_LEVEL

The level in percent (0-100) of the CTCSS tone to transmit. What level to set is hard to say. The FM modulation swing of the tone should be in between 500-800 Hz. That is a bit hard to measure if you don’t have the right equipment. A normal FM station have a maximum swing of 5kHz so if you manage to calibrate everything so that you get maximum swing when the sound card audio is at peak level, the tone level should be in between 10-16%. However, most often the audio settings are configured a bit higher than max since the audio seldom reaches maximum level. Then the level of the CTCSS tone should be reduced. The default in the configuration file is 9%. For the tone to be transmitted the CTCSS_FQ variable must also be setup and also the TX_CTCSS variable in the logic core configuration section.

PREEMPHASIS

[EXPERIMENTAL] Enable this feature if you are modulating the FM modulator directly, like through a 9k6 packet radio input. If no preemphasis filter is applied to the audio, it will sound very dark when received. If you modulate the transmitter through the microphone input the radio will apply a preemphasis filter so this feature should be disabled. 0=disabled, 1=enabled.

DTMF_TONE_LENGTH

The duration, in milliseconds, of DTMF digits transmitted on this transmitter. 100ms is the default.

DTMF_TONE_SPACING

The spacing, in milliseconds, between DTMF digits transmitted on this transmitter. 50ms is the default.

DTMF_DIGIT_PWR

The power, in dB, of DTMF digits transmitted on this transmitter. Zero dB will give the same power in the generated signal as there is in a maximum amplitude (full scale) sine wave. −15dB is the default.

TONE_SIGLEV_MAP

It is possible to transmit one of ten tones along with the normal transmission to indicate a signal strength value to the receiver. This is of most use when using a local transmitter as a link transmitter in a RemoteTrx. It is not implemented, and probably not useful, in SvxLink Server. Another requirement is that SvxLink has been compiled in 16kHz mode. Otherwise this feature is disabled.

The TONE_SIGLEV_MAP configuration variable is used to map tones to signal level values. It is a comma separated list of exactly ten values in the 0 - 100 range. The first value map to the 5500Hz tone, the second to the 5600Hz tone and so on. The last value map to the 6400Hz tone. What levels the tones should be mapped to depends on the tone receiver implementation. Typically, if using a SvxLink application as a receiver, the TONE_SIGLEV_MAP should be the same in the RX configuration for that node.

TONE_SIGLEV_LEVEL

It is possible to transmit one of ten tones along with the normal transmission to indicate a signal strength value to the receiver. This is of most use when using a local transmitter as a link transmitter in a RemoteTrx. It is not implemented, and probably not useful, in SvxLink Server. Another requirement is that SvxLink has been compiled in 16kHz mode. Otherwise this feature is disabled.

The TONE_SIGLEV_LEVEL configuration variable is used to set the tone level. It is a value in the 1-100 range which indicate the output level in percent of the maximum possible level. The default is 10.

MASTER_GAIN

This configuration variable can be used to fine tune or increase the audio gain for all transmitted sound if it’s not possible to do using the normal sound card hardware gain controls. The gain should be given in dB and can be both positive and negative.

Networked Transmitter Section

A networked transmitter section is used to specify the configuration for a transmitter connected through a TCP/IP network. In the default configuration file there is a networked transceiver configuration section called NetTx. The section name could be anything. It should match the TX configuration variable in the logic core where the transmitter is to be used. The available configuration variables are described below. How to use a networked transmitter is further described in the remotetrx(1) manual page.

TYPE

Always "Net" for a networked transmitter.

HOST

The hostname or IP address of the remote transmitter host.

TCP_PORT

The TCP port that RemoteTrx listen on. The default is 5210.

LOG_DISCONNECTS_ONCE

Set this configuration variable to 1 to suppress logging of multiple disconnect messages in a row, like when there is no RemoteTrx running on the other side. Thus, failed reconnect attempts will not be logged at all. This may be of use if a RemoteTrx is missing for a long time or if it’s only used from time to time. The default is 0 which means that all reconnect attempts will be logged.

AUTH_KEY

This is the authentication key (password) to use to connect to the RemoteTrx server. The same key have to be specified in the RemoteTrx configuration. If no key is specified in the RemoteTrx config, the login will be unauthenticated. A good authentication key should be 20 characters long. If the same RemoteTrx is used for both RX and TX, the same key must be specified in the RX as well as in the TX configuration section. The key will never be transmitted over the network. A HMAC-SHA1 challenge-response procedure will be used for authentication.

CODEC

The audio codec to use when transferring audio to this remote transmitter. Available codecs are: RAW (512kbps), S16 (256kbps), GSM (13.2kbps), SPEEX (8-25kbps), OPUS (8-64kbps). These are raw bitrate values. There will be some overhead added to this so the real bitrates on the wire are a little bit higher. The OPUS codec is the most modern one and it also have the best quality for a given bitrate. There also is a NULL codec that will just throw away samples which can be used in special situations when the audio is sent through another audio path.

SPEEX_ENC_FRAMES_PER_PACKET

Speex encoder setting. Each Speex frame contains 20ms audio. If using a low bitrate configuration, the network overhead will be quite noticeable if sending each frame in its own packet. One way to lower the overhead is to send multiple frames in each network packet. The drawback with doing this is that you get more delay. If setting this option to something like 4 (default), the delay will be about 4x20=80ms.

SPEEX_ENC_QUALITY

Speex encoder setting. Specify the encoder quality using a number between 0-10. Lower values give poorer quality and lower bitrates.

SPEEX_ENC_BITRATE

Speex encoder setting. Specify the bitrate to use. Speex will snap to the nearest lower possible bitrate. Possible values range from 2150 to 24600 bps. You should probably not specify quality at the same time as bitrate. Not sure though...

SPEEX_ENC_COMPLEXITY

Speex encoder setting. The complexity setting (0-10) tells the encoder how much CPU time it should spend on doing a good job. The difference in SNR between the lowest and highest value is about 2dB. Set it as high as possible without overloading the CPU on the encoding computer (check CPU usage using command "top").

SPEEX_ENC_VBR

Speex encoder setting. Enable (1) or disable (0) variable bitrate encoding. If enabled, the encoder will try to keep a constant quality by increasing the bitrate when needed.

SPEEX_ENC_VBR_QUALITY

Speex encoder setting. The quality (0-10) to use in variable bitrate mode.

SPEEX_ENC_ABR

Speex encoder setting. The average bitrate encoding will try to keep a target bitrate by continuously adjusting the quality. This configuration variable specify the target bitrate and enable ABR. It also need to have VBR enabled so don’t force it to off.

SPEEX_DEC_ENHANCER

Speex decoder setting. Enable (1) or disable (0) the perceptual enhancer in the decoder. Perceptual enhancement is a part of the decoder which, when turned on, attempts to reduce the perception of the noise/distortion produced by the encoding/decoding process. In most cases, perceptual enhancement brings the sound further from the original objectively (e.g. considering only SNR), but in the end it still sounds better (subjective improvement).

OPUS_ENC_FRAME_SIZE

Opus encoder setting. Specify how large, in milliseconds, each audio packet should be. Default: 20ms.

OPUS_ENC_COMPLEXITY

Opus encoder setting. The complexity setting (0-10) tells the encoder how much CPU time it should spend on doing a good job. Set it as high as possible without overloading the CPU on the encoding computer (check CPU usage using command "top"). Default: 10.

OPUS_ENC_BITRATE

Opus encoder setting. This is the bitrate that the encoder will encode for. Rates from about 8000 to 64000 bits per second are meaningful but the codec can handle from like 2500 to 512000 bps. Default: 20000bps.

OPUS_ENC_VBR

Opus encoder setting. Enable (1) or disable (0) variable bitrate encoding. If enabled, the encoder will try to keep a constant quality by increasing the bitrate when needed and decrease it when the quality can be assured with a lower bitrate. The target average bitrate is the one set by OPUS_ENC_BITRATE. Default: 1.

Multi Transmitter Section

A multi transmitter section is used if one wants to transmit on multiple transmitters simulaneously. The name of the section can be anything. Just point it out from another transmitter specification like the TX variable in a Logic core configuration.

TYPE

Always "Multi" for a multi transmitter section.

TRANSMITTERS

A comma separated list of transmitters.

Module Section

A module section contain the configuration for a specific module. It have some general configuration variables and some module specific configuration variables. The general configuration variables are listed below.

NAME

The name of the module. This name must match the namespace used in the TCL event handling script. If not set, NAME will be set to the section name.

PLUGIN_NAME

The base name of the plugin. For example if this configuration variable is set to Foo, the core will look for a plugin called ModuleFoo.so. If not set, PLUGIN_NAME will be set to the same value as NAME.

ID

Specify the module identification number. This is the number used to access the module from the radio interface.

TIMEOUT

Specify the timeout time, in seconds, after which a module will be automatically deactivated if there has been no activity.

Module specific configuration variables are described in the man page for that module. The documentation for the Parrot module can for example be found in the ModuleParrot.conf(5) manual page.

LocationInfo

STATUS_SERVER_LIST

Enter a space separated list of EchoLink status servers that should be used to send node status beacons. Your node information can be found on http://www.echolink.org/links.jsp. The format is host:port. Host - hostname or IP address, port - UDP port. Don’t change the default unless you know what you are doing. If you don’t want to update the EchoLink status server, comment out this configuration variable.

Example:

STATUS_SERVER_LIST=aprs.echolink.org:5199
APRS_SERVER_LIST

This configuration variable specifies connection parameters for connecting to an APRS server network using the TCP protocol. In this case, the positioning information is forwarded to the worldwide APRS network. Have a look at http://aprs.fi/.

To choose a suitable APRS server from the so called tier 2 network, have a look at http://www.aprs2.net/. Either choose a specific server or one of the regional addresses. The regional addresses bundle all APRS servers within a region so that a random tier 2 server is chosen within the region. There are five regions defined: noam.aprs2.net - North America, euro.aprs2.net - Europe, asia.aprs2.net - Asia, soam.aprs2.net - South America and Africa, aunz.aprs2.net - Austrailia and New Zeeland. The format is a space separated list of host:port entries. Host - hostname or IP address, port - TCP port.

Example:

APRS_SERVER_LIST=euro.aprs2.net:14580
LON_POSITION

The longitude of the station position, entered as "degrees.arcminutes.arcseconds"

Example:

LON_POSITION=09.02.20E
LAT_POSITION

The latitude of the station position, entered as "degrees.arcminutes.arcseconds"

Example:

LAT_POSITION=51.02.22N
CALLSIGN

Enter your callsign for the APRS network with a prefix that indicates the type of station, (ER- for repeaters, EL- for links).

Examples:

CALLSIGN=EL-DL1ABC # callsign for a link
CALLSIGN=ER-DB0ABC # callsign for a repeater
FREQUENCY

The tx-frequency of the link/repeater in MHz. For repeaters, information about the RX/TX shift in the COMMENT configuration variable may be useful.

Example:

FREQUENCY=430.050 # tx-frequency is 430.050 MHz
TX_POWER

The power of your transmitter in watts.

Example:

TX_POWER=10 # tx output is 10 watts
ANTENNA_GAIN

The gain of your antenna in dBd.

Example:

ANTENNA_GAIN=5 # antenna gain is 5 dBd
ANTENNA_HEIGHT

The height of the link-/repeater antenna in meters or feet above the terrain, not sealevel.

Example:

ANTENNA_HEIGHT=10m # 10 meters above the ground
ANTENNA_HEIGHT=90 # 90 feet
ANTENNA_DIR

Main beam direction of the antenna in degrees. If an omni direction antenna is used, specify −1 as the direction.

Example:

ANTENNA_DIR=-1 # an omni directional antenna is used
ANTENNA_DIR=128 # main beam direction is 128 degrees


PATH


The PATH variable controls the way of forwarding your beacon inside the APRS network if it is gated by a local APRS digipeater. In some cases it has to be changed according to local requirements. Please contact your local APRS sysop for further information. Changes should be made only according to the NEWn-N paradigm. Leave this variable untouched if you are unsure of its setting. No spaces or control characters are allowed. PATH has no influence on the propagation on non-RF networks.

Examples:

PATH=WIDE1-1
PATH=WIDE1-1,WIDE2-2
BEACON_INTERVAL

The interval, in minutes, with which beacons will be sent to the APRS network. A good value is 10 minutes. If your beacon is gated via RF, please increase the interval a bit to keep the APRS traffic on RF produced by the APRS RF gate as low as possible. Intervals shorter than 10 minutes will be changed to 10.

Example:

BEACON_INTERVAL=30 # APRS-beacons will be sent every 30 minutes.


TONE


The CTCSS subaudible tone that is to be used for operation over your link or repeater. If you don’t use tone control set it to 0.

Examples:

TONE=136 # we are using a CTCSS-tone of 136.5 Hz
TONE=0 # we don’t use CTCSS subaudible or call tones
TONE=1750 # the link/repeater use a tone burst of 1750 Hz
STATISTICS_INTERVAL

Defines the interval in minutes in that a aprs statistic is sent into the aprs network. Range: 5-60, default is 10 minutes

COMMENT

Specify a short comment here, maybe a link to your website or information that could be interesting for others. The length should not exceed 255 characters and may not have control characters like "Carriage Return" (\r) or "Line Feed" (\n) inside. Make your comment as short as you can to give users with a small display (TH-D7) the chance to display the full comment text.

Example:

COMMENT=[svx] Running SvxLink by SM0SVX
PTY_PATH

Specify a path to a communications PTY that can be used by external applications to inject APRS packets into the APRS-IS network.

Audio device specification

The AUDIO_DEV configuration variables specify which audio device to use for a receiver or transmitter. SvxLink support a number of different audio input and output devices. The format of the configuration variable is "type:dev_spec". There are three different types of audio devices supported, "alsa", "oss" and "udp".

ALSA

The "alsa" type will use the specified Alsa device. Example: "alsa:plughw:0". Describing the format of Alsa device names is outside the scope for this document.

OSS

The "oss" type will use the specified OSS audio device. Example "oss:/dev/dsp". OSS is the old sound system used by Linux. Alsa should be used when possible.

UDP

The "udp" type is not really an audio device but instead will read and write audio from/to a UDP socket. This can be used to interface SvxLink to all sorts of audio sources/sinks capable of streaming raw audio through UDP. One example usage is to interface SvxLink with GNU Radio. Example: "udp:127.0.0.1:10000". Note however that the only supported format is raw 16 bit signed samples, two interleved channels. Sampling frequency can be chosen using the CARD_SAMPLE_RATE config variable as usual.

USING GPIO

GPIO (General Purpose IO) is used to access hardware pins that are made available for example on an embedded system. Before starting to use a pin in SvxLink some setup need to be done in the operating system. With the standard distribution of SvxLink there is a pair of scripts that help with setting up and taking down the GPIO pins. The scripts are named svxlink_gpio_up and svxlink_gpio_down. The configuration file, which can be found among the other SvxLink configuration files (typically in /etc/svxlink), is called gpio.conf.

Calibrating the signal level detector

The signal level detector is used when using multiple receivers or when using the SIGLEV squelch. The signal level is used by a voter to choose the receiver with the highest signal strength. The choice is made directly after squelch open. For the voter to make a correct choice, the signal level detector must be calibrated on each receiver.

To use the noise signal level detector, first set SIGLEV_DET=NOISE. There are two configuration variables that is used to calibrate the detector. They are SIGLEV_SLOPE and SIGLEV_OFFSET in a local receiver section. The slope is the gain of the detector and the offset is used to adjust the detector so that when there is no input signal, the detector will return 0. The goal is to adjust the detector so that when no signal is received, a value of 0 is produced and when full signal strength is received, a value of 100 is produced. It will never be exakt but that does not matter.

The calibration is normally done by using the siglevdetcal(1) application. To be able to do a correct calibration, it must be possible to open the squelch so that only noise is received. The antenna cable should be disconnected or a dummy load should be used. WARNING: Before starting the siglevdetcal application, pull the PTT cable since the PTT might get triggered during the calibration procedure.

The siglevdetcal utility will also measure the CTCSS tone SNR offset so that the CTCSS_SNR_OFFSET config variable can be set up to a proper value.

If the siglevdetcal application cannot be used for some reason, the manual procedure below might be used. This procedure will only work for a receiver with unsquelched audio. Note: To calibrate a remote receiver it must be connected to the SvxLink server. Otherwise the squelch will not open.


1 Connect a dummy load or disconnect the antenna from the transceiver. If you disconnect the antenna, make sure to also disconnect the PTT. 2 Set SIGLEV_SLOPE=1 and SIGLEV_OFFSET=0 and restart SvxLink. 3 Open the squelch so that there is only noise coming into SvxLink. 4 Use a second transceiver to make a short, unmodulated transmission. Release the PTT when the "Squech OPEN" message is printed. Repeat this for about five times. 5 Calculate the mean diff (open level - close level) and the mean lower (squelch close) value. Make sure to use at least four significant digits in your calculations. 6 SIGLEV_SLOPE = 100 / (mean diff) 7 SIGLEV_OFFSET = - (mean lower) * SIGLEV_SLOPE 8 After changing SIGLEV_SLOPE and SIGLEV_OFFSET, restart SvxLink and check to see that the squelch open value is now around 100 and the squelch close value is around 0.

STATE PTY FORMAT

The format of the output from the state PTY is:

<timestamp> <context>:<event name> <event data>

where the different parts mean:

timestamp = <seconds since 1 jan 1970>.<milliseconds> context = Name of context event_name = Name of event event data = Event specific data

The following specific events exist. Voter:sql_state

Report the state of all squelches for all receivers. The format of the event specific data is:

<rx name><state><siglev> [<rx_name><state><siglev> ...]

where the different parts mean:

rx_name = Configuration file section name for receiver state = _ (sql closed), : (sql open), * (sql open and rx selected) siglev = The measured signal level

FILES

/etc/svxlink/svxlink.conf (or deprecated /etc/svxlink.conf)

The system wide configuration file.

~/.svxlink/svxlink.conf

Per user configuration file.

/etc/svxlink/svxlink.d/*

Additional configuration files. Typically one configuration file per module. AUTHOR

Tobias Blomberg (SM0SVX) <sm0svx at users dot sourceforge dot net> copied from svxlink.org modfied by F4VSJ

Orange Pi Networking

Network Setup — Orange Pi


NMTUI: simple text-"graphical" interface

NMCLI: text interface only

Another surprise: There appears to be a much better way to set up a virgin installation to a wifi network. Instead of modifying the contents of /etc/network/interfaces, you can also use the

$ nmtui
or
$ nmcli commands. 

The nmtui command is particularly easy to use. Follow the prompts, select your network, type in a password when prompted to do so. From what I can see, this command installs a separate connection data stored in the directory:

/etc/NetworkManager/system-connections. 

Each connection gets its own file. The attached image shows three different screens from the $ nmtui function.

Nmtui.png

Note the simple text based wifi power strength meter.

Network priority instellen:

install ifmetric with

sudo apt-get install ifmetric


Also you can edit /etc/network/interfaces and set metric permanent for interface.

lower metric = higher priority

example:

metric eth0 10
metric wlan0 20 

connects first to lan, when not available to wlan


auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address xxx.xxx.xxx.xxx  (fix ip adress )
netmask xxx.xxx.xxx.xxx
network xxx.xxx.xxx.xxx
broadcast xxx.xxx.xxx.xxx
metric XXX

Expand Orange Pi image

Inleiding:

Als we de officiele image (V2.00en) op een SD kaartje zetten neemt die 1,6 Gb van een 2 Gb partitie in. Het maakt daarbij niet uit welke SD kaart gebruikt word. Omdat het systeem een logfile bijhoud , wat er gebeurd op het spotnik systeem, word deze partitie steeds voller... Na een paar weken, maanden is de partitie vol en kan het systeem simpel niets meer schrijven op de kaart. We kunnen dan eenvoudig niet meer inloggen op het netwerk.

Daar is een oplossing voor:

1) de partitie vergroten naar het SD kaart formaat (8,16...Gb).
2) automatisch bij het booten de oude logfile deleten.
3) de logfile op een bepaalde maat houden en de oudste data reglematig deleten.

1) Partitie vergroten

Rechtstreeks op de spotnik
* een SSH verbinding maken naar de spotnik
* inloggen als root
* dan de volgende commando in één keer ingeven (zie:copy/paste**)
* /etc/init.d/resize2fs start
* wacht 15-20 secondes
* reboot
* weer een SSH verbinding maken naar de spotnik
* inloggen als root
* verifie f-disk -l
* dan zie je dat de partitie even groot is als de SD kaart
**hoe doe je Copy/Paste
Van WEB/TEXTDOC/MAIL naar TERMINAL
* CTRL+C = copy
* SHIFT+INSERT = paste in terminal
Van TERMINAL naar TERMINAL of TEXTDOC/MAIL
* cursor op begin text
* met CTRL+SHIFT+LEFT MOUSE de text activeren
* CTRL+SHIFT+C = copy
* CTRL+SHIFT+V = paste in TERMINAL
* of
* CTRL+V = paste in textdocument/mail enz
Op een externe linux computer

Resizing partition using GParted - installation informations

Next we can load the device using GParted:

$ sudo gparted /dev/sdx  # choose your sd card

This should show a window similar to the following:

Gparted-01.png

Now notice a few things:

*There is one partition.
*The partition allocates the entire disk/device/image.
*The partition is filled partly.

We want to resize this partition so that is fits it content, but not more than that.

Select the partition and click Resize/Move. A window similar to the following will popup:

Gparted-02.png


Drag the right bar to the left as much as possible.

Note that sometimes GParted will need a few MB extra to place some filesystem-related data. You can press the up-arrow at the New size-box a few times to do so. For example, I pressed it 10 times (=10MiB) for FAT32 to work. For NTFS you might not need to at all.

Finally press Resize/Move. You will return to the GParted window. This time it will look similar to the following:

Gparted-03.png

Press Apply in GParted.

It will now move files and finally shrink the partition, so it can take a minute or two, most of the time it finishes quickly. Afterwards close GParted.

2) automatisch bij het booten de oude logfile deleten.

nog niet gedocumenteerd

3) de logfile op een bepaalde maat houden en de oudste data reglematig deleten.

nog niet gedocumenteerd

Howto localise a Spotnik V3.0

Spotv3001.png


The Spotnik is in origine a French project and therefor everything is in French. See https://f5nlg.wordpress.com

The use of the Spotnik in the Netherlands made me to localise everything to English.


Where to begin?

I found out a logical order and the way you don't forget anything

The Orange Pi Himself

On the Orange Pi runs the Linux Debian Buster distribution.

When you connect via a SSH session, you can run the following utilities:

Change the original password with:

passwd

Change to the localised language, p.ex. German

armbian-config
choose personal
choose locales
choose the local language (p.ex. German in Germany)
de_DE.utf8, always take the *.utf8 submodules
click OK
choose the entire system language
(I would leave it in English to easier troubleshoot afterwards)
click OK, then the local submodules are created
when finished set the needed Timezone
exit the armbian-config
reboot

When you are in the terminal and you type

date

you will see your localised date/time settings

And when you type a wrong command, p.ex.

lss

instead of ls

You get your localised error messages

The Webinterface-Spotnik GUI

Already almost done by the Developper Team

Some personalisations for the PG540 Group

  • open 1 page and make a backup!
  • save the original p.ex. as home.js.orig
  • change the content 1 page per time
  • recompile the modified webpage
  • check if all is ok and start the next page

How?:

make etc yes

///-------------------------how----------------

Home-(index.js)

Add you local Network, in the list of the different networks

In this case I added the PG.540 Network, and choose an extension like "mcc"

You have to use it later on, take it in mind (can also be letters, like rrf or el)


-><option value="default">Parrot Mode</option>
-><option value="rrf">RRF Réseau des Répéteurs Francophones</option>
-><option value="int">INT International Network</option>
-><option value="el">EL EchoLink Network</option>
-><option value="mcc">Mellionnec Contest Club</option>

Keypad/DTMF commands

  • Add the DTMF code in the text
  • and in logic.tcl


///------------------where is the file-----------

Configuration

You can change/personalise the placeholders for the following fields:

GENERAL:

  • Call Sign
  • Department/Country
  • Language

////************************add language pack**************

SQUELCH:

  • CTCSS frequency

LOCATION:

  • Latitude (in your area)
  • Logitude (in your area)

Airport ICAO Code:

  • A close airport
  • Choose a link to a webpage where you find the airports in you country (wikipedia...)

SA818:

  • Local/radio-club frequency

Status

  • nothing to change

The version number you give it can be shown here, p.ex. V4.0 German

///--------------------------check version file!!-----------------------

Admin

  • nothing to do

///--------------new ideas???---------------

About

  • Added myself for translation and bug reports

header.js

  • title:
  • <title>MCC Spotnik</title>
  • favicon changed: logo MCC


///------------favicon place---------------

layout.js

  • padding 25px
  • background-image


///--------background image file where-------------

navigation.js

  • nav bar brand
  • <img src="../static/sputnik.png" height="30" /> Spotnik V3.0

Configuration files

svxlink.xyz

  • Copy/paste svxlink.rrf to svxlink.bcc (p.ex. Network for Mellionnec Contest Club)
  • edit the svxlink.mcc as needed
  • see all details above: the svxlink.conf manpage [[1]]

restart.xyz

  • copy/paste restart.rrf to restart.mcc file (p.ex. Network for Mellionnec Contest Club)
  • edit the reflector settings
  • replace the restart.rrf by restart.mcc
  • 6 files to change , don't forget the last one in line 33!!

spotnik version

  • when you want to personalise the version number or add text
  • p.ex. V3.0ge for MCC


///-----------------where is the file************


Howto create a redistributable image

  • Test the created version, all functions during a couple of time
  • save the image on a linux computer
  • reduce the partition to a minimum (2Gb for the moment)
  • compress the file with 7z
  • upload to the right download page
  • distribute the image to a few testers
  • distribute to all ham's in the area
  • have fun!!


  • not yet the end
  • F4VSJ

OPI Boot explained

The colored celles are corresponding a same logic to understand the whole booting process
please report errors and changes to me: f4vsj@florhans.bzh
1 Action Command File More info
2 Power on OPI After power-up, the A10/A20 boots from an integrated, non-replaceable 32 KiB ROM chip (Boot ROM or BROM). This could be considered the primary program-loader.
3 1. FEL Mode See:http://linux-sunxi.org/BROM
4 2. eGON.PRM
5 boot loader on SD-Card (MBR) boot
6 grub /boot/grub
7 load kernel Initrd.img*-4.19-05-amd64
8 initramfs Abbreviated from “initial RAM file system”
9 read /etc/rc0.d
10 starts applications
11 i.e. lighttpd is the webserver etc/rc0.d/@K01lighttpd
12 And here it gets interresting
13 Execute rc.local /etc/rc.local
14 1. Starts restart /etc/spotnik/restart
15 Restart reads last used network ID /etc/spotnik/network Which is pg540
16 and launch restart.540 /etc/spotnik/restart.540 Switch to the requested network/reflector
17 1. Connect to reflector Host,Key,Port=... /etc/spotnik/restart.540
18 2. clear all logfiles > /tmp/svxlink.log
19 3. launch svxlink svxlink
20 1. writes logfile to --logfile=/tmp/svxlink.log /etc/spotnik/restart.540
23 from here you can read the logfile or via pg540 program:
24 2. you can read config in viewsvx /etc/spotnik/*viewsvx Line 03. See the Spotnik logfile,
25 4. read the config for svxlink -config=/etc/spotnik/svxlink.540 /etc/spotnik/svxlink.540
26 insert Call,Location etc /etc/spotnik/svxlink.540
27 2. Starts GUI make start /opt/spotnik/gui
28 Waits 10 secondes to publish website Sleep 10
29 5. Say connected to …
30 6. say the IP address sayip /usr/share/svxlink/event.d/logic.tcl Line 416


Howto see the total boot log?

in a terminal:
journalctl

Spotnik2hmi: Nextion touchscreen on the spotnik

Copy/paste/vertaald van frans naar engels, nog zonder korrectie , er staan nog wat onbegrijpelijke vertalingen in...
voorbeeld: Nous avions (wij hebben) in het engels: we airplanes...avions is ook vliegtuigen...
ik zal de tijd nemen om alles te korrigeren


Hmi001.png

Hamradio RRF Network Software for Nextion and Spotnik

Hmi002.jpeg

HISTORICAL

The project was born on an idea of ​​Dimitri F5SWB, Toufik F0DEI came to help Dimitri by proposing the first scripts to communicate with the Nextion screen. The project was to add an Nextion screen to the distribution of the Spotnik distributed by F5NLG. I joined the group to give a hand to finalize the project. A great experience of a collaborative work, which after 2 weeks already offered 90% of the final features.

Spotnik2hmi is used to manage an Nextion type screen on a Spotnik (RRF network analog hotspot). For more information visit: https://f5nlg.wordpress.com/category/hotspot/


Operating manual

The necessary equipment:

An Nextion screen that can be connected directly to the GPIO or USB port through a connection. A dedicated page will soon be available to explain the connections of the installation. The project started on a 3.5 "screen. Other screens will soon be available, it remains a big work of graphic adaptation for the different format and for the smaller screen of 2.4 "a remodeling of the interface.

Presentation of the HMI interface ( H uman M achine I nterface)

The Boot Page:


Hmiboot.jpg


It starts when powered on or during a restart. It's the script that makes it disappear. If it does not disappear, it means that your script is not correctly set.

The Traffic page:

Hmi000.png

This is the first page at the start of the system, on the top you will find your call sign, here (987) FK8ABC V, the lounge on which you are connected and the station heard, here (999) FR8HM V. We find everything in down the last 2 stations heard. Green LED network reception, LED red local reception To access the menu simply press the screen on your callsign.

The Menu page:

Hmimenu.jpg

This menu page will allow you to access different functions: The #RRF #FON #TEC buttons allow you to change the SALON. The change will be made as soon as it is supported and you will switch to the traffic page.

ECHOLINK will allow you to go to Echolink so far, there are problems connecting to integrate this function. It will not be available immediately.

Weather will send you directly to the weather page and send the DTMF code for the bulletin broadcast. Description later in the article.

Dashboard will show you the last 12 stations heard

WIFI Allows you to enter directly on the screen your wifi access and password

Screen Icon Will show you the system page.

Icon will show you the system information

The parrot launches the parrot option, so far, it is not validated on the different RRF show.

The echolink page:

Hmiecho.png

This is just a preview, but it is not available on the current version. The Echolink button will be dimmed and inactive.

The Meteo page:

Hmimeteo.jpg

This page displays the weather data, resulting from the information you filled in the Spotnik GUI, configuration tab. He will automatically search for the name of the corresponding city to display it and the associated weather data. The icon at the bottom right allows to choose between 4 wallpapers, I'll let you discover

Hmiairp.png

The dashboard:

Hmidash.jpg

You will see on this page, the 12 stations heard by the Hotspot on the network. A tap on the screen will return you to the traffic page.

The info page:

Hminfo.jpeg

On this page you will find Hotspot info with the frequency (frequency rx of the web page Spotnik 1.9) and especially the IP address. This can be useful if you want to connect in ssh or web on the Hotspot. We find the use of the SD card and the temperature of the processor. By pressing the QRcode you will have additional information. By pressing the screen you will return to the menu page.

The wifi page:

Hmiwifi.png

When viewing this page, it will search for the current codes and display them. By clicking on the pencils on the side you will have access to a keyboard to write your new wifi access point and password.

Here is the preview of the typing keyboard.

Hmikeyb.png

It is important to emphasize that the seizure system behaves exactly like the web interface and writes in the same place in the system configuration. The change will be immediate after the passage of a confirmation page.

The system page:

Hmisystem.png

On this system page you will be able to perform software restart operations with the Restart button , complete reboot with the reboot button , and total shutdown with the stop button. Followed by a confirmation page.

The Home button brings you back to the menu page.

You can adjust the backlight level of the display with the linear potentiometer .

The ON / OFF button allows you to set the time of the screen saver followed by its activation. Just select the time and it will be activated. The backlight will turn off, a simple press will reactivate it.

Hmitim.png

Conclusion: Some Oms will now receive the necessary files, to do the different tests. We will then communicate in an article the complete tutorial to realize the installation.

I wanted to thank the Team: F0DEI for Python + Nextion code support F5SWB who realized all the graphic part of the Nextion.

Thanks also to F5NLG for the work done on the RRF.

This collaborative project shows the power of group work, finalization of the project in less than 3 weeks, it is a pity that it is not more common among OMs. There are often photos or images of achievements without a complete description of the project.

As for me, I am neither an electronics engineer nor a programmer ... other Oms are much more competent than me, and yet .... I would like this experience to give ideas to other working groups.

All the codes will be made available, as soon as the tests are validated. Nextion files will be available in .tft until finalization of all screen formats.

Het project en Installatie

Het project en installatie

Hmi001.png

Hamradio RRF Network Software for Nextion and Spotnik

Hmi002.jpeg

HISTORICAL

The project was born on an idea of ​​Dimitri F5SWB, Toufik F0DEI came to help Dimitri by proposing the first scripts to communicate with the Nextion screen. The project was to add an Nextion screen to the distribution of the Spotnik distributed by F5NLG. I joined the group to give a hand to finalize the project. A great experience of a collaborative work, which after 2 weeks already offered 90% of the final features.

Spotnik2hmi is used to manage an Nextion type screen on a Spotnik (RRF network analog hotspot). For more information visit: https://f5nlg.wordpress.com/category/hotspot/

ENJOY;)

THE TEAM

[[Bestand:Hmi003.jpeg|500px


THE WIRING

Raspberry Pi Wiring:

Hmi004.jpeg


Orange Pi Zero cabling:

Hmi005.jpeg

There are 2 pins with 5V, for you to choose the one you want to use

On USB port:

Hmi006.jpeg

On SVXCARD card:

[[Bestand:Hmi007.jpeg|500px]

SOFTWARE INSTALLATION

This documentation considers that you are leaving from the installation of an image of Spotnik 1.9 available on the F5NLG website and functional on Raspberry or Orange Pi.

Download the install.sh file

ask hans for the link...it is still in beta version.

Make it executable with the command:

chmod +x install.sh

type:

./install.sh 

It remains only to be guided, to choose, use the arrows and the spacebar to select then the enter key to validate.

First part installation of the script: Choose SPOTNIK2HMI with the space bar and validate by pressing the tab key to select Ok then the Enter key. The installation of the script will be done.

Restart the ./install.sh and this time choose NEXTION

The Nextion choice allows programming the Nextion screen directly from the script, the loading takes about 10min. The simple protocol used for file transfer can lead to transmission interruptions. You can also choose to put the .tft file directly into an SD card and put it on the screen reader. It is absolutely necessary to know the port on which is connected the screen and the type of screen (see on the back of this one)

Once everything is done, reboot the system by typing:

reboot

INSTALLATION SOFTWARE INTERFACE

Hmi008.png


Hmi009.png


Hmi010.png


FAQ

It does not work.

Read carefully, the lines that follow are made for you, understand that with only three words, it will be difficult for us to help you. During the installation, I have information that tells me that I do not have enough space available.

Check that you have extended the image: type raspi-config -> choice 7 advanced option -> 1 expand Filesystem. Use an appropriate SD card. My screen is still on the first boot page.

Check in the file /etc/rc.local (startup file) that the launch of the script is there. Start the script by hand to see if the communication is operational.

sudo python /opt/spotnik/spotnik2hmi/spotnik2hmi.py (choix du com) (vitesse)

How can I check which error is causing the spotnik2hmi script to crash?

You have to run the script manually in ssh from a console. Enter the command

sudo python /opt/spotnik/spotnik2hmi/spotnik2hmi.py (choix du com) (vitesse)

You will have all the controls in monitoring. I enter the information through the ssh menu but they do not appear in the Nextion or they are different.

The information displayed on the Nextion is taken from what is entered in the GUI web interface of the spotnik 1.9 distribution. The script crashes or does not work when I change my living room (tec / fon):

Check that the dashboards are functional:

  RRF: http://rrf.f5nlg.ovh
  TEC: https: // IP address of the hotspot or on http://rrf.f5nlg.ovh:82
  FON: http://fon.f1tzo.com:81 

What is the loading time of the file on the Nextion screen?

If we use the menu the loading time is about 10min depending on the type of screen.The interest of this installation is that it is simple and that it allows you to validate that the screen communicates well with your system. To save time, it is possible to copy the .tft file to a micro SD card and insert it on the card reader. The installation will start automatically. The .tft files are in the directory / opt / spotnik / spotnik2hmi / nextion / after installation. You can also find them on Github or the project is hosted there (directory nextion). My screen does not react or the commands are not taken into account?

There may be a scripting problem, rebooting your installation. The simple way is to look at the time on the page, the script updates it, if it is not in phase, it is that the script is stopped. I'm on a Raspberry Pi 3B or B + and I can not program the screen despite all the wiring is good.

The bluetooth takes over the link and prevents the use of the port.It must turn off the bluetooth. Here is the command:

sudo echo "dtoverlay=pi3-disable-bt" >> /boot/config.txt<br

followed by

sudo reboot

I am on Orange Pi Zero, the screen has been programmed, but it remains on the start page

It is likely that the problem is related to the fact that the GUI is not launched. If in doubt, enter the following commands:

cd /opt/spotnik/gui make restart

I run the script by hand and I receive an error

Hmi011.png

When you start the script the port and speed are variables that must be specified. the port can be ttyS0 (Orange Pi) or ttyAMA0 (Raspberry Pi) or ttyUSB0 (USB / serial adapter). An example in the image above for launching on Raspberry wiring on GPIO.

How to update my spotnik2hmi script and my screen?

Just go to the directory of the script / opt / spotnik / spotnik2hmi / and start the command

git pull

However it will be necessary to update the program of the screen if it has evolved. To do this restart the installation procedure and choose only the part nextion. This will overwrite the old automatic version when loading into it. I see a latency before the code appears on the screen.

The script will read the page of the Dashboard to extract the call sign, your quality of Internet connection and the processing time explains this latency

Copied and translated from F8ASB blog



Are there wishes?

• The impossible I do immediately,
• miracles take a little bit longer
• and on request I do some magic tricks
• Hans F4VSJ@florhans.bzh

helps for wiki setup

Hier staan wat help texten enz om de wiki paginas aan te passen

De laatste stand van de wiki site :

  • Experia Box V10 rubriek toegevoegd:18 Okt 2018
  • Teamviewer rubriek toegevoegd:16 Okt 2018:
  • pg540 menu toegevoegd/aangepast:11 Okt 2018:
  • ssh verbinding
  • Temperatuur/CPU speed instellen
  • Toegevoegd svxlink.conf : 10 dec 2018
  • Toegevoegd spotnik files: 13 dec 2018
  • peter CDY toegevoegd
  • spotnik2hmi toegevoegd: 3 feb 2019
  • Over Spotnik V3 en 2HMI V2: 18 September 2019


Todos:

  • H3consumtion
  • resize2fs
  • testen Spotniklogonew3.jpg met plaatje icon
  • nextion scherm voor op orange pi: software aanpassen na de beta tests...
  • image 2.1en maken met mogelijkheid voor Nextion scherm.
  • printplaat: motherboard en moduleboard maken
  • V3 en V2 2hmi publiceren

UNDERLINE


Underline

spotnikfiles

to add to pages :


INFOBLOK:

INFO
De regels die beginnen met een sterretje, * opties word aan gewerkt

Dit zijn wat memo's voor de pagina's

Tables maken: http://www.tablesgenerator.com/mediawiki_tables


INFOBLOK:

INFO
Dit gebeurd alléén de EERSTE keer als je een SSH verbinding maakt,

de volgende keer kent je computer de Spotnik al en ga hij gelijk naar het inlogscherm

info webgallery alleen namen invullen...enz


HalloVetgedrukte tekstSchuingedrukte tekstOnderwerpkleurentext


spiekbriefje: https://nl.wikipedia.org/wiki/Wikipedia:Spiekbriefje

The Spocket V0.1

Nieuw projectje van F4VSJ

  • begin sept 2019: het idee
  • 10 sept 2019 UV5R gehad en alles uitgebouwd
  • 20 may 2020 audio amp test, result ok
  • dec 2020 reinvent audio out

Spotnik V3

Image op florhans.bzh/PG540/ Ask for password @F4VSJ


Een paar dingetjes die nog te verbeteren zijn aan de V3image

TODO:

  • make executable 818-prog
  • make executable 818cli-prog
  • locales en_US
  • dwagent preinstall
  • duplicates on webpage

Spotnik Notfunk-Team EDQH V3.1dl

(base for V3.1en for PG540)

Start 31.01.2021: Project EDQH (DC1NF, Dieter)

Updated: --F4VSJ (overleg) 3 feb 2021 07:48 (CET)


What is going on:

31.01:(LX) LX2KW S (S fuer Spezial) aktiv on Orange Pi Zero 7 Black 42
31.01:logged in into INT, QSO over INT with DC1NF
01.02:EDQH-Reflector is running, ask F4VSJ for access
????: First over reflector with Dieter or?

Pictures

Opi7-42.jpg

Testing computer: Opi7-42


Lxint2.png

Logged in INT-room


Edqhref.png

EDQH Reflector up and running

Questions:

  • Name of the project: Notfunk-Team EDQH
  • Reflector name EDQH
  • Dokumentation auf english: ok!
  • frequency 430.050/71.9

Phases

Phase 1:(testing phase)

   1) Default Mode = EchoLink
 

Phase 2:

   1) (auto) Default Mode = EDQH-Reflector
   2) Alternativ Mode = Echolink


Images for Orange Pi:(V3.1dl)

   1) Main station WITH EDQH-Reflector: EDQH-Refl
   2) Other users, No Reflector       : EDQH-User

Todo:

   1) Dokumentation auf english: ok
   2) Echolink and 1 Reflector------------------------------>
   3) Reflector aktivate and config:ok
   4) Port:ok
   5) 818 exec:ok
   6) Important dw/off !!!!-------------------------------->todo on delivery !
   7) del salontimer off:ok 
   8) sudo mc dw:ok
   9) Quasselsperre time 10min?: unlimited
  10) Frequency, ctcss? 430.050/71.9: ok
  11) system english localised: ok
  12) announcements? sh/15 lo/0??ok?????------------------->
  13) meteo EDQH airfield??: not known
  14) English sounds??:ok
  15) Raptor off!!----------------------------------------->!ok
  16) DTMF 112:EDQH ok
  17) DTMF 100 EL:ok
  18) spot menu rework EDQH only
       - webui on/off spot
       - config EL/EDQH
  19) Passwd
       - Ref:S0:ok
       - Svx:so
  20) Hostname
       - EDQH-Refl:ok
       - EDQH-User

Changes ,bugs, ideas:

  • GV3.16 no duplicates evm, done
  • No GUI needed
  • simple config
  • connect and run
  • configure @ distance possible dwa
  • reflector up and running


EDQH User Guide

Switching ON the system
  • Switch on you handhald
  • Set the EDQH Frequency and enc. CTCSS
  • Connect the antenna to your hotspot
  • Connect your Hotspot to the network
  • Connect the 5V power supply
  • Wait until hotspot boots
  • Listen until "Activated" is announced
  • Your system is up and running
  • Push to talk
  • When you release the PTT button, wait until the 'k' before talking again!
  • Leave a short, 2 second BLANK, between the next transmission!
Switching OFF the system
  • Wait until no transmission on the network
  • disconnect the 5V power supply from the EDQH-Hotspot
  • Switch off you handheld

Memo

Quand tu enregistres, avec "save", les différents paramètres sont enregistrés dans /etc/spotnik/config.json et dans les différents fichiers concernés. En l'occurence pour le CTCSS, il y a donc le fichier config.json, et le fichier svxlink.cfg pour les paramètres concernés.

C'est à partir du /etc/spotnik/config.json qu'est remplie la page configuration du GUI.

C'est pour cela que, quand on fait des modifs manuellement, il faut les faire dans svxlink.cfg ET config.json. Mais le mieux est d'utiliser l'interface graphique.

En plus avec la version 4 il y a des fichiers supplémentaires pour le numérique.

Le traitement commence avec la page du GUI : /opt/spotnik/gui/pages/configuration.js

Ensuite le traitement et les enregistrements se font dans l'api/configuration (voir server.js) qui correspond au fichier /opt/spotnik/gui/lib/config.js fonction set.

Je crois me souvenir que c'est dans le fichier gui/lib/fsm.js ou gui/lib/svxlink/fsm.js

C'est à jour sur le GitHub dans la version 3.1.

Spotnik V4

  • 29042020: spotnik-4.0rc1_opi0.img spot22
  • 17052020: V4rc4

on spocket*-board


jitsi meeting

meet.jit.si/.540

Mods for the Spotnik Delta Interface

By HB9CVG (jan 2021)


GPS and Spotnik

New nov 2024:from scatch

https://github.com/semuconsulting/PyGPSClient?tab=readme-ov-file#installation

python3 -m pip install --upgrade pygpsclient
pygpsclient

By HB9CVG & F4VSJ

First approach and testing:

linux Debian Buster 10.7

on the laptop:

sudo dmesg | grep -i usb
Result:
Product: u-blox 7 - GPS/GNSS Receiver
Manufacturer: u-blox AG - www.u-blox.com
new high-speed USB device number 5 using ehci-pci
New USB device found, idVendor=04f2, idProduct=b230, bcdDevice=51.71
New USB device strings: Mfr=2, Product=1, SerialNumber=3
check if /dev/ttyACM0 is esxsisting
then
sudo cat /dev/ttyACM0
Result:
$GPTXT,01,01,02,u-blox ag - www.u-blox.com*50
$GPTXT,01,01,02,HW  UBX-G70xx   00070000 *77
$GPTXT,01,01,02,ROM CORE 1.00 (59842) Jun 27 2012 17:43:52*59
$GPTXT,01,01,02,PROTVER 14.00*1E
$GPTXT,01,01,02,ANTSUPERV=AC SD PDoS SR*20
$GPTXT,01,01,02,ANTSTATUS=OK*3B
$GPTXT,01,01,02,LLC FFFFFFFF-FFFFFFFD-FFFFFFFF-FFFFFFFF-FFFFFFF9*53
$GPRMC,180825.00,A,4811.18246,N,00316.12448,W,0.090,,050221,,,A*63
$GPVTG,,T,,M,0.090,N,0.166,K,A*2B
$GPGGA,180825.00,4811.18246,N,00316.12448,W,1,05,1.60,212.8,M,49.4,M,,*40
$GPGSA,A,3,31,29,26,04,18,,,,,,,,2.99,1.60,2.52*02
$GPGSV,3,1,10,04,14,305,25,05,11,058,13,09,03,338,,16,27,293,22*78
$GPGSV,3,2,10,18,46,152,21,25,26,109,17,26,58,298,31,27,04,244,*71
$GPGSV,3,3,10,29,55,056,33,31,56,210,31*70
$GPGLL,4811.18246,N,00316.12448,W,180825.00,A,A*77
$GPRMC,180826.00,A,4811.18246,N,00316.12445,W,0.098,,050221,,,A*65
$GPVTG,,T,,M,0.098,N,0.182,K,A*29
$GPGGA,180826.00,4811.18246,N,00316.12445,W,1,05,1.60,213.0,M,49.4,M,,*47
...

now further...the mouse is communicating with linux

Starting gpsmon:( insert how to install)...

sudo apt-get install gpsd-clients gpsd


run:

gpsmon: gpsmon


Gpsmon001.png

The first data in linux...

https://snapcraft.io/install/viking-gps/debian nstall vikibg gps

On the spotnik:

Howto do:(Heino)

* dmesg | grep -i usb
* sudo cat /dev/ttyACM0
* sudo stty -F /dev/ttyACM0 ispeed 4800 && cat </dev/ttyACM0
* apt-get update, upgrade
* sudo apt-get install gpsd-clients gpsd
* sudo gpsd /dev/ttyACM0 -F /var/run/gpsd.sock
* reboot!!
* gpsmon

next step:

And then extract the NMAE data from the GPS

* GPSMON (http://manpages.ubuntu.com/manpages/bionic/man1/gpsmon.1.html)
* The -l option sets up logging to a specified file to start immediately on device open.
  This may be useful is, for example, you want to capture the startup message from a device
  that displays firmware version information there.
* The -n option forces gpsmon to request NMEA0183 packets instead of the raw datastream from
  gpsd.
* install marble, not!!
* install gpsman

Write the data in the configfile

??

IT STARTS HERE...

f4vsj@LinWin6570:~$ awk -F"," '/GLL/ {print $2,$3,$4,$5}' /dev/ttyACM0 
4811.18290 N 00316.12381 W
4811.18282 N 00316.12383 W
4811.18275 N 00316.12382 W
4811.18273 N 00316.12387 W

deze data hebben we nodig...!


https://stackoverflow.com/questions/18557656/how-to-execute-awk-command-by-python-code

You can use triple quotes to define the command and then shell=True in subprocess.

#!/usr/bin/env python
import subprocess as sp
cmd = """awk '{print $2"\t"$4"\t"$5"\t"$6}' B3LYPD.txt"""
p = sp.Popen(cmd, stdin=sp.PIPE, stdout = sp.PIPE, stderr = sp.PIPE,shell=True)
for l in p.stdout:
print (l.decode())


Automatic location based on GPS You can also use gpsd to automatically determine your GPS location and use it as an input for Redshift. Create the following script and pass $lat and $lon to redshift -l $lat;$lon:

#!/bin/bash
date
#gpsdata=$( gpspipe -w -n 10 |   grep -m 1 lon )
gpsdata=$( gpspipe -w | grep -m 1 TPV )
lat=$( echo "$gpsdata"  | jsawk 'return this.lat' )
lon=$( echo "$gpsdata"  | jsawk 'return this.lon' )
alt=$( echo "$gpsdata"  | jsawk 'return this.alt' )
dt=$( echo "$gpsdata" | jsawk 'return this.time' )
echo "$dt"
echo "You are here: $lat, $lon at $alt"


much easier solution:

$ gpspipe -w -n 10 |   grep -m 1 lon
{"class":"TPV","device":"tcp://localhost:4352","mode":2,"lat":11.1111110000,"lon":22.222222222}

Use the command dmesg or check your console messages to know WHICH USB device is attached your GPS. In MY CASE was ACM0 (hans)

After that play with this code,?? how???

import serial
import socket
ser = serial.Serial('/dev/ttyUSB0', 4800, timeout=1)
latitude = 
longitude = 
def readgps(latitude,longitude):
    """Read the GPG LINE using the NMEA standard"""
    while True:
        line = ser.readline()
        if "GPGGA" in line:
            latitude = line[18:26] #Yes it is positional info for lattitude
            longitude = line[31:39] #do it again
            return(latitude,longitude)
    print "Finished"

next this works!!!

(https://stackoverflow.com/questions/28387230/use-gpsd-or-cgps-to-return-latitude-and-longitude-then-quit/66086972#66086972)

You can use my script : gps.sh return "x,y"

#!/bin/bash
x=$(gpspipe -w -n 10 |grep lon|tail -n1|cut -d":" -f9|cut -d"," -f1)
y=$(gpspipe -w -n 10 |grep lon|tail -n1|cut -d":" -f10|cut -d"," -f1)
echo "$x,$y" 
sh gps.sh 43.xx4092000,6.xx1269167

Result: (YES...)

Gpssh.png

eenvoudig... boot the spotnik

create the script, p.ex. in /usr/local/sbin

make it executable with

chmod +c gps.sh


Run the script...

thats it Heino!


how?:(hans info)

  • run gpsmon to check if valid data, not needed really
  • run the script every minute or 2???
  • howto calculate in degrees,minutes,seconds?
  • send the data to the config file for svx

very First run on spotnik:

Gpsmon003.png

gpsctl - control the modes of a GPS

https://manpages.debian.org/buster/gpsd-clients/gpsctl.1.en.html


Gpsctl001.png

first infos

GPSD:

Under Linux, gpsd normally runs with zero configuration. Binary packages for this program install hotplug scripts that do the right thing when a USB device goes active, launching gpsd if needed and telling gpsd which device to read data from. Then, gpsd deduces a baud rate and GPS/AIS type by looking at the data stream. If you are using a Debian-based distribution (including Ubuntu) you can probably install gpsd through your regular package manager or by typing "sudo apt-get install gpsd" at the command line. https://gpsd.gitlab.io/gpsd/index.html


infos: https://sandervandevelde.wordpress.com/2019/08/21/linux-support-for-gps-receiver-over-serial-port/

https://sandervandevelde.wordpress.com/2019/08/21/linux-support-for-gps-receiver-over-serial-port/#more-5821

GPSCTL: http://manpages.ubuntu.com/manpages/bionic/man1/gpsctl.1.html

using-gps-with-linux-output-only-certain-data https://unix.stackexchange.com/questions/105388/using-gps-with-linux-output-only-certain-data

Windows 10

On the Ubox site download:

https://www.u-blox.com/en/product/u-center

u-center for Windows, v20.10

Install and run

connect the gps mouse to the usb port and "connect" in software

Spotnik2hmi

even als reserve link...