Showing posts with label How To. Show all posts
Showing posts with label How To. Show all posts

Thursday, June 19, 2025

DVSwitch DMR Bridge Dashboard not working after latest update


Image:  DVSwitch DMR Bridge Dashboard  (Click on image for larger view.)

You know sometimes they say that if something is working, do not change or update it.  Well I decided to update the ASL3 firmware via the web console.  The updates loaded where after status was update to -  System is up do date  Last checked: about 17 hours ago. Great now I have the latest and greatest version running.  However when I wanted to open the DMR Bridge Dashboard I ran into issues with the dashboard not loading.  I looked at Apache2 and the ports but everything seamed fine.  I then thought it could be my DDNS setup but running all the test and pinging NO-IP returned no issues.  Well all that is left is to search for similar issues that someone experienced.

I found the commands to solve the issue and the DMR Dashboard is now up and running again.

Run the following commands using Terminal in the ASL3 Web Console. 

sudo cp -r /usr/share/dvswitch/* /var/www/html/  (Enter)

sudo systemctl restart apache2  (Enter)

Click on the link beneath to view the DMR Dashboard.

https://dmrbridge.ddns.net/index.php

Monday, May 19, 2025

How I setup my Yaesu FT817 Radio and Homebrew Arduino Soundcard Interface (SignalLink Clone) to work Digital Modes


During the PEARS VHF/UHF Contest that took place in January 2025 I decided to setup my trusted Yaesu FT 817 Radio using my Homebrew  Arduino Soundcard Interface to work a few digital mode stations.  In a previous article available HERE I explained another type of homebrew interface that includes the CAT control.

The Arduino Soundcard Interface I am going to describe can be used with many types of radios.  This interface function the same as the commercial available SignalLink Interface, therefor the reason that it is called a SignalLink Clone.

The FT817, 857 and 897 radios have a few settings that must be setup correctly,  if not then you will not be able to play with digital modes.

Please take note that the setup explained worked for me. 

My Setup:  ( Yours might differ depending on the equipment you use)

Setting up the Computer and Software:

DO NOT switch the Yaesu FT817 or the computer ON.  
We first need to plug in all the cables.
Plug the USB cable coming from the Soundcard Interface into a USB port on the computer.
Plug the FT817 Mic Cable coming from the Soundcard Interface into the mic socket of the FT817
Plug the 3.5 mm Extension plug into the SP Ext. Socket on the FT817
The switch next to the 3.5 mm socket must be set to SP = Speaker
Plug antenna and radio power cord in
Ensure the correct antenna port is selected.  Either front or rear.  (Menu #7)
Now power up the computer and the FT817 Radio
Radio and Interface should now be ON
Set frequency on radio.  In this case we start with VHF and FT8 = 144.174 MHz USB
Now start the WSJT-X Program 

WSJT-X Setup:

Go to file settings - Radio
CAT must be OFF if you not going to use CAT = Rig:  NONE
PTT Method = VOX
Click on Audio TAB

Soundcard:

Input:  Microphone (32-USB PNP Sound Device)
Output:  Speakers (32-USB PNP Sound Device)
Input = Mono
Output = Mono
Click OK

In WSJT-X:

Monitor Button should be green and  O next to the band should also be green.  Radio and WSJT-X are talking to each other.  If not then check Hardware and Sound.
Control Panel =  Hardware and Sound.  Select Manage Audio Devices in Windows computer
New window will open named:  Sound with playback displayed
Double click on Speakers
Speaker Properties will open
Go to Levels

Speakers 98 Balance
Microphone 68

Click OK

Go to Recording TAB
Double click Microphone
Microphone Properties will open
Go custom. AGC must not be selected
Go to Levels

Microphone 50
Click OK

All other Playback and Recording devices must be DISABLED!
Voicemeeter Banana must not run at all if you have it installed!

That should be it for the computer audio settings.

Now for the Yaesu FT817 Radio Setup:

Press F for more than 2 seconds
We are now in the MENU of the FT817
Rotate teh SEL knob on radio (left side) to select menu 1 - 57

Setup the following MENUS for the Arduino Soundcard Interface as follows:

# 3  9600 Mic = 50
# 7  Antenna = Front or Rear
#14  Cat Rate = 9600  (If used)
#24  Dig Disp = 0 hz
#25  Dig Mic = 70
#26  Dig Mode = user-u
#27  Dig Shift = 0 hz
#29  FM Mic = 50
#38  OP Filter =  OFF (CW or SSB Filter)
#39  PKT Mic = 50
#40  PKT Rate = 1200
#45  SQL/RF-G = SQL (VHF) (RF Gain for HF)
#46  SSB Mic = 50
#51  Vox Gain = 50 (If used)
#52  Extend = ON
 
MODE =VHF/UHF = FT8 144.174 Mhz USB (USB work in VHF)
To check if equipment is setup correctly we are going to use an SDR Receiver Dongle installed on another computer.  Start the SDR computer with the RTL plugged into a USB port.  Open OpenWegRX program.  Once open select RTL-DDR 2m Voice Repeaters.  The 2m band will be displayed.  If you can hear white noise and signal meter works, go back to the computer with WSJT on it.  Click on the Tune button in WSJT-X.  Radio should TX and a line will appear on the window (waterfall)  Move the yellow ^ marker exactly on the line in the waterfall.  You will hear the tune signal clearly and your RX bar will go to red.  This means you are on the frequency of your radio that is in TX mode.  Stop Tune.
Select USB in Modes and click on the down arrow.
 
Select FT8 and two screens will open while DIG in the modes will turn yellow.  On screen = waterfall and other display station info.   Now enable TX on WSJT-X using FT8.  You should hear FT8 clearly in OpenWebRX.  Decode box in OpenWebRX will display CQ info:
 
UTC               dB    DT        Freq       Message
 
08:58:00         1      0.2     144.175    CQ ZS1I KF15
 
That's it your TX signal is now going out on the airwaves and being received by OpenWebRX
 
You are now ready to make your first QSO on VHF with the Yaesu FT817 Radio and the Arduino Soundcard Interface.
 
As said previously the above settings worked for my setup.  Your setup might differ but I am sure that some of the information in this article will be useful in setting up your Yaesu FT817, 857 or 897 radio to work digital modes.
 
You should now be able to work digital modes with the Yaesu FT817 Radio.  

Enjoy working digital modes in amateur radio!!           

General Checks and Settings:
 
1.  Set MTR ALC  Press F once, select MTR ALC by pressing B.  This will reflect ALC when in TX mode.
2.  Check antenna Input = Front or Rear  MENU =  #7  (Select socket where your antenna is plugged in.)
3.  Check SWR Meter (PWR and SWR)
4.  Check receiving meter (WSJT-X)  Must be in the green between 40 - 60 dB.  If in the red adjust recording level - microphone to a lower setting until meter is in the green.
5.  Add  Fan to the back o the Yaesu FT817 to prevent the radio from overheating.
6.  From time to time the FT817 screen will warn you of high SWR = SWR High.  If your antenna is tuned correctly check all other connections that they are tight.  Check also all patch leads for good connectivity.  Check if the radio is cutting power and if the warning comes up between voltage and mode.  You can also try to use the other antenna socket on the radio (Front or Rear)  This anomaly happens from time to time especially if the radio is moved around or used in portable mode.
7.  Never forget to have the FT817 Operating Manual in close proximity.  You will need it more than you think.
 
Images:  Click on images for larger view.
 
NOTE:  The Arduino Soundcard Interface needs an urgent facelift.  Hopefully I will find some time to re-spray and label it properly.
 
 
 

Monday, March 3, 2025

How I setup my Yaesu FT817 Radio and Homebrew Soundcard Interface to work Digital Modes

Image:  ZS1I Yaesu FT817 Radio

Image:  ZS1I Homebrew Yaesu FT817 Soundcard Interface

During the PEARS VHF/UHF Contest that took place in January 2025 I decided to setup my trusted Yaesu FT 817 Radio using my homebrew soundcard interface to work a few digital mode stations.  The FT817, 857 and 897 radios have a few settings that must be setup correctly,  if not then you will not be able to play with digital modes.

Please take note that the setup explained worked for me.  I did not use the CAT on this occasion as I need to buy the necessary accessory plug before I can use CAT. 

My Setup:  ( Yours might differ depending on the equipment you use)

Setting up the Computer and Software:

DO NOT switch the Yaesu FT817 or the computer ON.  
We first need to plug in all the cables.
Plug the USB cable coming from the Soundcard Interface into a USB port on the computer.
Plug the data cable coming from the Soundcard Interface into the Data socket of the Yaesu FT817. (Back of the radio.)
Now we can switch the radio on and then the computer.
The radio, computer and interface will now be be ON.
Start WSJT-X by clicking on the icon in your desktop or program start menu.
Go to File and then click on Settings then Radio.
CAT must be OFF  -  Rig = NONE
PTT Method = DTR Port:  Com3
Next click on Audio 
Here we will setup the Soundcard to be used

Soundcard:

Input:  Microphone (19-USB Headphone Set)  -  Left
Output: Speakers (19-USB Headphone Set)  -  Both

Click OK

Monitor Button should be green and round   0 should be green.  Radio and WSJT-X are now talking to each other.  If not check your hardware and sound on the computer.

Select:  Go to Control Panel. Click  on Hardware and Sound and then on Manage Audio Devices.  Sound window will open with Playback displayed.  Note: If you do not use VoiceMeeter then ignore those settings.

Playback:

Speakers:  19-USB Headphone -  Ready
Speakers:  Behringer USB - Disabled
VoiceMeeter Aux Input - Default Device

All others disabled

Recording:

Microphone: 19-USB Headphone - Ready
Line In:  Behringer USB - Disabled
VoiceMeeter Aux Output - Default Device

All others disabled

Managing Devices:

To set the level of the devices go back to Playback and double click on Speakers.  
Select Levels.  
 
Set levels as:

Speakers 83 
Main volume 83
 
To set the level of the devices go back to Recording and double click on Microphone (or Line In)  Select Levels.
 
Set levels as:
 
Microphone 82 
AGC MUST BE OFF!!

Go back to Playback
Select VoiceMeeter Aux Input (Double Click) 
Select Levels

Set levels as:
 
VoiceMeeter Aux Input = 100
Main Volume = 93
 
Click OK

Go to Recording and double click on Voice Meeter Aux Output
Select Levels

Set levels as:

VoiceMeeter Aux Output = 89
Wave in Volume = 100

Click OK

We completed the setup of sound on the computer.  Now we need to setup VoiceMeeter Banana

Open the VoiceMeeter program
 
Hardware Input 1 =  Behringer USB Audio
Hardware Out = Behringer USB Audio
 
Select the above if not displayed in VoiceMeeter.  Restart VoiceMeeter once selected.
 
Setting up WSJT-X Program:
 
I am not going to explain setting up the WSJT-X software as there is a complete manual explaining how to install and setup WSJT-X.  Please use the manual.

Setting up the Yaesu FT817 Radio to work digital modes:

Press F for more than 2 seconds
When in MENU rotate the SEL knob on radio to select menu 1 - 57
Set the following Menus:

# 3  9600 Mic = 50
# 7  Antenna = Front or Rear
#14  Cat Rate = 9600  (If used)
#24  Dig Disp = 0 hz
#25  Dig Mic = 70
#26  Dig Mode = user-u
#27  Dig Shift = 0 hz
#29  FM Mic = 50
#38  OP Filter =  OFF (CW or SSB Filter)
#39  PKT Mic = 50
#40  PKT Rate = 1200
#45  RF Gain/SQL = RF Gain (Digital)  SQL FM
#46  SSB Mic = 50
#51  Vox Gain = 50 (If used)
#52  Extend = ON
 
MODE =  DIG in SSB
             =  PKT in VHF/UHF

General Checks and Settings:
 
1.  Set MTR ALC  Press F once, select MTR ALC by pressing B.  This will reflect ALC when in TX mode.
2.  Check antenna Input = Front or Rear  MENU =  #7  (Select socket where your antenna is plugged in.)
3.  Check SWR Meter (PWR and SWR)
4.  Check receiving meter (WSJT-X)  Must be in the green between 40 - 60 dB.  If in the red adjust recording level - microphone to a lower setting until meter is in the green.
5.  Add  Fan to the back o the Yaesu FT817 to prevent the radio from overheating.

As said previously the above settings worked for my setup.  Your setup might differ but I am sure that some of the information in this article will be useful in setting up your Yaesu FT817, 857 or 897 radio to work digital modes.
 
You should now be able to work digital modes with the Yaesu FT817 Radio.  

Enjoy working digital modes in amateur radio!!
 
 
Images:  (Click on images for larger view.)




Sunday, March 2, 2025

My Son Plaas in die Vrystaat - Christi ZS4CGR

 

Hier volg interessante inligting rondom die gebruik van hernubare energie soos verskaf deur Christi ZS4CGR.  Soos gesien kan word het hy die "doen dit self" rigting gevolg en wek hy genoeg krag op om sy hele huishouding en amateur radio hok van krag te voorsien.  Dankie Christi dat jy die besonderhede rondom jou "son plaas" en opbou na son energie en onafhanklikheid met ons gedeel het.


Opbou na Sonenergie en Onafhanklikheid – Christi ZS4CGR

My pad na sonenergie het in 2004 begin. Ons was van plan om op die banke van die Oranjerivier bokant Aggenys ’n plaas te koop. Op die grond was nog nooit twee bakstene op mekaar nie. Kaal landelike grond. 6500Ha groot.

Ek het my eerste panele 2 x 70W gekoop teen R2500, drie tweedehandse 104 Ah batterye en ’n 400W 'ou tipe' omsetter. Vir ’n jaar was dit ons enigste energie. Daarmee het ons een rekenaar kon bedryf vir maks. een uur per dag. Drie florescent 8W kar 'lead lights' was ons lig in die drie army tente wat ons 'huis' was. Stoof en karavaan vries kassie was op gas. Warm water uit die donkie was net wintertyd nodig. Terloops, somer temperature in die skaduwee het 48°C bereik en in die tente tot 57°C. So teen 3h soggens het die temperatuur onder 32° gedaal en kon ons gou bietjie slaap voor die son weer opkom.

Hierna het ek vir drie jaar in die landbou gewerk en toe stuk-stuk getrek na die familieplaas waar ons nou voltyds woon.

In 2006 het ek begin speel met alternatiewe warm water stelsels (wat ons nou nog gebruik). Swart PVC klas drie 25mm pyp, 200m lank, opgerol en bedek met tonnel plastiek (teen wind -wat so 4j hou - sien foto). Geen opgaar houer nie, die druk van die watertenk voer die pyp en ons moet sorg dat ons voor sononder klaar bad en stort. Dag temperatuur van die water is byna konstant op 75°C, heel bruikbaar, heel jaar deur, behalwe op swaar bewolkte dae (omtrent 7 dae per jaar), dan gebruik ons warm water uit ’n 50â„“ geysertjie wat van die sonstelsel af warm gemaak word. Ons het tans ook 'blou pype' vir die kombuis en veldstort. Warm water is hier volop.

Dit is die agtergrond.

Net eers hoe al my son panele werk.

Ons panele is in 'bondeltjies' gebou oortyd, op ’n middel paal (pivot) sodat as die paneel regop staan die onderkant so 300mm van die grond af is. Hulle kan dus roteer. Dan kan die rame waarop hulle gebou is ook vertikaal gekantel word. As hierdie dubbel beweegbare metode gebruik word, lewer elke paneel tot 160% van ’n vas gemonteerde paneel se krag (dus eintlik ’n besparing is panele). Tans het ek agt individuele 'bondels'.

En ja ek verstel hulle met die hand omdat ek die tyd het en die oefening nodig het. As ons weggaan, draai ek hulle Noord tot ons terugkom.

Hier is my huidige 8 + 3 bondels:

2x 70W 12V Voer lood-suur batterye vir radio’s en ander 12V toerusting
2x 80W 12V Voer LiPO batterye en 5kW omsetter
2x 80W 12V Voer LiPO batterye en 5kW omsetter
6x 80W 12V Voer LiPO batterye en 5kW omsetter
6x 80W 12V Voer LiPO batterye en 5kW omsetter
2x 325W 24V Voer LiPO batterye en 5kW omsetter
4x 180W 12V Voer LiPO batterye en 5kW omsetter
2x 170W 12V Voer lood-suur batterye vir radio’s en ander 12V toerusting
1x 335W 24V Op karavaan dak foto
1x 225W 24V Op bakkie 'canopy'
1x 170W 12V Op bakkie 'canopy'


Hierdie 'bondels' was een-een aangeskaf, nie alles gelyk nie. Op die oomblik is die maks. lewering so 2.2kW.

Ek het baie lank gewerk met ’n motor battery bank van tot 15 batterye. So 3 jaar terug het ek ’n ou lood-suur 48V stelsel geskenk gekry, maar die 2V selle (24 selle) het nie ’n jaar gehou nie, waarna ek besluit het om oor te gaan op LiPO batterye. Omdat ek nie die LiPO batterye geken het nie, was ek geadviseer om 2x 3.7kW batterye te installeer, maar toe ek gaan sit en my somme maak, het ek die verskaffer gekontak en dit vermeerder na vier. En net ’n maand later het ek nog twee by gekoop, dus ses batterye van 3.7kW. Totaal nou 22kW. Terloops, 2.2kW bron vir 22kW batterye? Dit werk,
so 3½ uur se vol son en my laaier skakel af, alles is vol. En in bewolkte weer hou alles so drie dae voordat ek die Lister se hulp moet inroep.

Nou hier kom ’n interessante punt. Ek het gou agtergekom dat ek steeds nie genoeg rugsteun krag het na my sin nie, maar nog twee batterye sou meer as R30k kos, wat ek nie wou uitgee nie. Lank geloop en dink. Sien, ek het ’n gas yskas wat teen 300W konstant loop (die koste van gas was ’n groot deel van die motivering om oor te gaan op LiPO). Dit beteken 19kg gas per maand teen ongeveer R500/m. Maar die ou yskas kom al amper 15j saam met my en werk goed. Na heelwat dink het ek besef dat die uitweg was om die yskas te vervang i.p.v. batterye te koop. Die nuwe yskas gebruik net 80W en is nie konstant aan nie. Dit het 'veroorsaak' dat ek ook ’n kas vrieskas by gekoop het wat ook net 80W benodig. Die twee saam het minder as een battery gekos en verder nog R500/m se gas bespaar. ’n Goeie kompromie en my krag benodig het omtrent halveer.

Al ons gedagtes moet die volgende patroon volg: as jy nie jou inkomste kan vermeerder nie moet jy jou uitgawes verminder en as ek om my rondkyk, sny sal ons moet SNY.

Vir ’n stoof gebruik ons meestal ’n twee plaat stofie, ’n Elektriese plastiese ketel gebruik minder energie as ’n glas/metaal ketel omdat ek nie die glas/metaal hoef te verhit nie.

En hier is ’n wenner. Koop vit jou LV ’n nuwe druk-kook-pot die elektroniese soort. Hoekom? Want hy werk op 2bar druk (i.v.m. die oues wat op 1.2bar werk), maak taai vleis binne minute sag en gaar en gebruik baie minder krag en tyd as enige ander metode. Voordeel? Die LV 'smile'. Wat wil ’n LV hê? Warm water in die badkamer (en kombuis) en ’n gerieflike kombuis (en baie tyd vir haarself).

Nou kom ons by beligting.

Op Swartbas (plaas) het on 'lead lights' gebruik teen 8W elk.
Op Klein Kortlaagte (plaas) kon ons nie die 'luxury' bekostig nie. (tussen die twee het ek al my kapitaal 'verloor' deur 'diefstal').

Hier, het ek begin met een loodsuur battery (hier is ’n Lister, maar diesel kos geld) en kon dus nie die gewone ligte aandryf nie. Ek het ligte 'gemaak', ek het plastiese versierings-balle met fasette gekoop (O.D. 30mm), ’n gaatjie in geboor en ’n wit LED daarin monteer, drie in ’n ry met ’n weerstand vir stroom beheer en siedaar, hy werk van 12V af en gebruik 20mA. Gou was die hele huis 'belig'. Toe die 'strip LEDs' op die mark kom (of het ek dit ontdek?), het ek sistematies al die ou LED-balle vervang. Teen 50mA per lig. Ons het lank so gewerk, ons kon alles sien en doen wat nodig was. Laas jaar het ek op ’n verbetering afgekom. ’n Vriend wou sy neon lig vervanging (LED strip) waarvan die glas gebreek het weggooi, gou het ek hom oortuig om dit vir my te gee. By die huis het ek die krok met 'cable ties' op ’n 'dowel rod' vasgetrek nadat ek dit getoets het en hy werk nou nog in ons werkkamer (18W). Dit het my weer op ’n ander idee gebring. Ek het vir my van die neon vervangings buise (8W) gaan koop, ou geblaasde lampe se bajonet stert afgehaal en bedraad op die LED buis. Nou hang hulle vertikaal in die plek van gewone lamp aanhegtings en dit werk goed.
Nou-ja, dit alles kom oor die verloop van 18 jaar, sien, dis nie nodig om ’n hoop geld op een slag uit te gee nie, maar maak net ’n begin, dit sal self kleintjies kry, nes radio’s en antennas.

73

Christi ZS4CGR 

 

Fotos  (Klik op fotos om te vergroot.)



 



Wednesday, February 28, 2024

AllStar Experimentation - South Africa (Part 2)


In part 2 of AllStar Experimentation - South Africa I will publish how I succeeded in using the GPIO pins of the Raspberry Pi 3 b Ver 1.2 to key / PTT a transceiver using a 3.3 v Relay Module. 

This short manual discuss the method using the GPIO pins on the Rpi.

  • to indicate TX / RX LED status on an AllStar Node

  • to key PTT via a 3.3v Relay on an AllStar Node.


Warning: Ensure that you connect the LED’s to the correct pins. The GPIO pins are 3.3 volts maximum and output pins have a limited current capability of 16 mA. When interfacing be aware of this because you can damage the PI if you exceed the ratings!! I am not responsible if you damage or destroy your Raspberry Pi!!

I use a 2 Channel Relay - Module Opto Isolated 3.3V Logic 10A Load. See image below.


I highlighted the changes in black for keying the PTT Relay using the GPIO pins.


Go to and open MobaXterm


Check to see if the rc.allstar file is in /usr/local/etc/


cd /usr/local/etc


enter


ls or dir


enter

sudo nano rc.allstar


enter


File will open. Add bold typed info as listed below.


#########################################

#!/bin/bash

#

# This is the startup rc script for allstar asterisk

#

# Rather than changing anything here

# please use the /usr/local/etc/allstar.env file

# for configuration changes.


#Makes gpio pins go to output upon startup

/etc/asterisk/local/write_gpio.sh


# If root profile missing, replace it.

if [ ! -f /root/.bash_profile ] ; then

/usr/bin/cp -f /etc/.bash_profile.backup /root/.bash_profile

fi


# source the allstar variables

if [ -f /usr/local/etc/allstar.env ] ; then

. /usr/local/etc/allstar.env

else

echo " Unable to read /usr/local/etc/allstar.env file."

echo " Asterisk will not start"

exit 1

################################################


Once the bold info is entered


save


ctrl + x


yes


cd


enter


cd /etc/asterisk/local/


enter


sudo nano write_gpio.sh


then type the following script


####################################


#!/bin/bash

#script name - write_gpio

gpio mode 7 out ; makes gpio 7 pin 7 an output

gpio mode 2 out ; makes gpio 2 pin 13 an output

gpio mode 4 out ; makes gpio 4 pin 16 an output


#####################################


(Real Pin 7 = COS or RX node receiving voice from the Internet.)

(Real Pin 13 = TX or PTT node transmitting your voice into the Internet.)

(Real Pin 16 = PTT radio using 3.3 v Relay to key your radio transmitter.)


save


ctrl x yes enter


Check if write_gpio.sh file was created using ls enter or dir enter


Make write_gpio.sh file executable


chmod +x write_gpio.sh


cd


cd /etc/asterisk


enter


sudo nano rpt.conf


Under “Events” add the following:


########################################


; EVENTS


[events467652]


sudo /usr/local/sbin/7high.sh = s|t|RPT_TXKEYED

sudo /usr/local/sbin/7low.sh = s|f|RPT_TXKEYED

sudo /usr/local/sbin/2high.sh = s|t|RPT_RXKEYED

sudo /usr/local/sbin/2low.sh = s|f|RPT_RXKEYED

sudo /usr/local/sbin/4high.sh = s|f|RPT_TXKEYED

sudo /usr/local/sbin/4low.sh = s|t|RPT_TXKEYED


; Commands for FOB COS indicator when available

; For this to work you must also add - gpio4 = out,0 - to simpleusb.conf

; Uncomment (remove ;) on next two lines to activate

;cop,62,GPIO4:1 = c|t|RPT_RXKEYED

;cop,62,GPIO4:0 = c|f|RPT_RXKEYED


[events1999]


; FUNCTIONS


##########################################


save

ctrl x

Yes

enter

cd

cd /usr/local/sbin/

enter


Create 6 script files (Example: sudo nano 7high.sh enter)

7high.sh

7low.sh

2high.sh

2low.sh

4high.sh

4low.sh


In each script put:

 

7high.sh

#################

#!/bin/bash

gpio write 7 1

#################

7low.sh

#################

#!/bin/bash

gpio write 7 0

#################

2high.sh

#################

#!/bin/bash

gpio write 2 1

#################

2low.sh

#################

#!/bin/bash

gpio write 2 0

#################

4high.sh

#################

#!/bin/bash

gpio write 4 1

#################

4low.sh

#################

#!/bin/bash

gpio write 4 0

#################

save each one

ctrl x

Yes

enter

still in cd /usr/local/sbin/

make all 4 executable using the command

sudo chmod +x /usr/local/sbin/xxxxxx.sh

chmod +x 7high.sh

chmod +x 7low.sh

chmod +x 2high.sh

chmod +x 2low.sh

chmod +x 4high.sh

chmod +x 4low.sh


cd

sudo reboot


TX / RX LED’s and Relay PTT will now be working!!


Note: The one LED will light to show that the radioless node is receiving voice from the Internet. The other LED will light to show that the radioless node is transmitting your voice into the Internet. The LED on the relay board will light-up to indicate that the PTT is active.

Download Manual  HERE (PDF)

Recognition:  

AllStarLink Discussion Groups
HamVoip

Manual compiled by: 

Johan Terblanche ZS1I

Mossel Bay

Date: 24 February 2024

GPIO outlay diagram and photos related to the Raspberry Pi 3 B Ver 1.2 below as well as 2 x videos (in afrikaans) of the operational relay and connected radio:






 



Monday, February 19, 2024

Kosbare Battery Wenke deur Christi ZS4CGR

So tydjie gelede  was die klank opname op die Amateur Radio 101 groep geplaas. Die opname bevat kosbare wenke oor hoe jy die leeftydperk van sekere battery kan verleng asook talle belangrike voorstelle rondom verskillende batterye vir sonkrag gebruik deur radio amateurs.  Luister gerus na die opname en leer meer oor die hantering en instandhouding van batterye.

Ek wil van die geleentheid gebruik maak om vir OK Christi ZS4CGR te bedank vir die beskikbaarstelling van die klank opname en ook die manier hoe hy praktiese inligting met ons deel.  Nie 'n klop teoretiese retoriek nie maar inligting wat verstaanbaar is ook vir beginners.  Ek is seker dat julle sal saamstem dat hierdie opname baie nuttige inligting bevat.

Thursday, February 8, 2024

SVXLink using a Raspberry Pi 3 Model B Computer (Latest: Revision 1)

Download the PDF file that contains the manual/guide HERE


How to install/setup:


  1. Raspberry PI OS – Bullseye

  2. SVXLink

  3. USB Sound Card

  4. Alsamixer

  5. GPIO

  6. Radio Interface


This guide will show you how to setup SVXLink on a Raspberry Pi computer. This guide assumes that you have limited knowledge of the Linux based Raspberry Pi OS.  (Click on images for larger view.)

 


We will install the Debian operating system to the Raspberry Pi and then the SVXLink firmware. Yes I know there are hundreds of videos and examples of how to install and setup a PI and SVXLink. I am going to explain what worked for me that resulted in a successful installation and working setup.

Please note this setup resulted in a fully working node running on a Raspberry Pi 3 (b) with Debian version: 11. (Bullseye)

 


To write the OS to an SD Card for the Raspberry Pi, I used a very nice and versatile piece of software called Raspberry Pi Imager. Using the imager is a simple way to image your microSD card with Raspbian, the official Raspberry Pi operating system, and other operating systems.

Note: You will need to be connected to the Internet the first time for the Raspberry Pi Imager to download the OS that you choose.

Download and install Raspberry Pi Imager to a computer with an SD card reader. Put the SD card you'll use with your Raspberry Pi into the reader and run Raspberry Pi Imager. Watch this 45-second video to learn how to install an operating system using Raspberry Pi Imager. Take note that I changed the settings of Pi Imager to include the following:

Image customization options - to always use

  • Enable SSH (Use Password authentication)

  • Set username and password - Username: pi Password: xxxxxx (you choose)

  • Set locale settings – Time Zone: You choose Keyboard Layout: You choose

Note: I did not configure wireless LAN as I use the Ethernet connection.

Persistant Settings

  • Play sound when finished

  • Eject media when finished

  • Enable telemetry

All selected.

Click Save

You are now ready to write the image to the SDCard. Ensure that you selected the correct storage (SDCard) as choosing the wrong drive will erase everthing on the drive you choose. Click on write. The image will now be written to the selected SDCard. After writing it will verified the firmware and then you will get a message that the write is completed and you can remove the SDCard. 




Before continuing install the following two programs to your windows computer:

I take a shortcut route and do not install a keyboard, mouse or HDMI screen to the Raspberry Pi. Insert the Ethernet cable to the Ethernet port.

You can now insert the SDCard into the slot of the Raspberry Pi. Bootup the Pi and wait till its finished. Ensure that your Windows computer is on the same Router as the Raspberry Pi. Open the Advanced Port Scanner program and set the correct IP scanning range just below the Scan button. Leave other settings as is. Click the Scan Button. The scanning will start. Wait till the program stops scanning. Now look for the columns Manufacturer and MAC Address. Under the Manufacturer column you will see Raspberry Pi Foundation and the MAC Address next to it. To the left in the IP column will be your raspberry pi’s IP address. Write it down as you will need the address for PuTTY to access the Pi headless.

Now open PuTTY and enter the IP address in the slot named Host Name or IP Address. Leave the port setting 22 and click Open. You will be greated with a new screen asking for your Login as: and Password: Enter the Username and Password that you set in settings of the Raspberry Pi Image. Once you logged in we can now change a few settings for the Raspberry Pi. At the command prompt type:

sudo raspi-config

enter

The configuration menu will open. I only make changes to two headings. You can always later access the config menu again and make changes. The two headings are Interfaces and Localisation. I selected the following settings:

Interfaces

Select VNC

Remote GPIO or Serial depending on how you going to interface your radio.

Localisation

Change -

  • Set Locale

  • Set Timezone

  • Set Keyboard

  • Set WLAN Country

The above settings is straight forward and I am not going to go into detail here.

Click OK and the menu will close.

Now open a terminal and type:

sudo reboot

enter

This will reboot the Raspberry Pi.

It is now time to access the Pi via Real VNC client from your Windows computer.

 


I use “VNC Connect” by Real VNC. Once installed open the program and a VNC viewer screen will appear. Right click and select New Connection. A new window will open. Just add your Raspberry Pi IP address in the VNC Server column. Leave the other setting as is. Click OK. A new window will open asking for your Raspberry Pi Username and Password. This is the same username and password that you used in PuTTY. Click OK. Another screen either Red or Yellow will open just click OK and you will see your Raspberry Pi main screen on you Windows Computer.

But the resolution and screen size of the Pi might not be correct. Lets fix this quickly.

Set VNC resolution for the Raspberry Pi

Step 1:

sudo nano /boot/config.txt

enter

as this file needs root permission to edit we use the command sudo. Nano is used for editing.

To run the Pi headless using VNC, I changed this in the boot config file.

# uncomment to force a console size. By default it will be display's size minus

# overscan.

framebuffer_width=1900

framebuffer_height=1024

Step 2:

With the frame buffer set comment the following line out:

#dtoverlay=vc4-kms-v3d

Commenting out and rebooting got me full resolution via VNC. Use “ctrl+x” “y” “enter” to exit nano and save your changes. Now reboot the Pi.

sudo reboot

enter

Once rebooted it is not a bad time to set a static IP- address for the Pi, if you so wish. I did not setup a Static IP Address.

Set Static IP-Address (Optional)

Open a new Terminal window. We will setup a static IP- address by editing the dhcpcd.conf file. See the example near the bottom of the file. You can use "nano" editor. To save and exit the editor, press ctrl-x and answer Y to save:

sudo nano /etc/dhcpcd.conf

enter

# Example static IP configuration:

interface eth0

static ip_address=192.168.0.10/24

#static ip6_address=fd51:42f8:caae:d92e::ff/64

static routers=192.168.0.1

static domain_name_servers=192.168.0.1 8.8.8.8

Enter the IP address allocated to the PI by your router under {static ip address=}

Enter your routers IP address under {static routers =}

Enter you routers IP address under {static domain_name_servers=}

Now is a good time to reboot your Raspberry.

sudo reboot

enter

Your Raspberry Pi is now ready to use once the reboot has been completed.

However it is always a good thing to keep your OS up to date. On the top right side of you Pi screen an icon will show up from time to time to inform you that there are updates for your Pi. Click on the icon and install the updates. However you can also use a terminal.

sudo apt-get update

sudo apt-get upgrade ;( Optional - You going to need a big cup of coffee for this one to finish.)

enter

Updates / Upgrades will start. Reboot once finished.

sudo reboot

enter

Congratulations you should now have a working Raspberry Pi with Bullseye (32 bit) OS installed!!

 


We can now install SVXLink. Open a Terminal Window. First we need to update apt and then install the SVXLink packages and server. Lets get cracking!!

Load Packages

sudo apt update

sudo apt install g++ cmake make libsigc++-2.0-dev libgsm1-dev libpopt-dev tcl-dev libgcrypt20-dev libspeex-dev libasound2-dev libopus-dev librtlsdr-dev doxygen groff alsa-utils vorbis-tools curl libcurl4-openssl-dev git rtl-sdr libcurl4-openssl-dev cmake libjsoncpp-dev

Create SVXLink user and add to groups

sudo useradd -rG audio,plugdev,gpio,dialout svxlink

Download the software from Github and compile ( Note: Takes 30 - 45 min to compile)

git clone http://github.com/sm0svx/svxlink.git
mkdir svxlink/src/build
cd svxlink/src/build
cmake -DUSE_QT=OFF -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONF_INSTALL_DIR=/etc -DLOCAL_STATE_DIR=/var -DWITH_SYSTEMD=ON ..

make -j4
make doc
sudo make install
sudo ldconfig

Download Sounds files and install 

Change to directory:

cd /usr/share/svxlink/sounds/

Enter

sudo curl -LO https://github.com/sm0svx/svxlink-sounds-en_US-heather/releases/download/18.03.1/svxlink-sounds-en_US-heather-16k-18.03.1.tar.bz2

Enter

sudo tar xvjf svxlink-sounds-en_US-heather-16k-18.03.1.tar.bz2

Enter

sudo ln -s en_US-heather-16k en_US

Note:  I used 18.03.1 as the version 19.09.99.1 would not tar with tar.bz2.  Important:  Ensure that the download using curl downloads  the sound files.  It takes a least 50 seconds.  If it ends after just 10 seconds you will get and error.  If this happens go to  cd /usr/share/svxlink/sounds/ and delete the file in the folder with sudo rm svxlink-sounds-en_US-heather-16k-18.03.1.tar.bz2  Once deleted go back to using the sudo curl -LO...................  command and try the download again.  I was successful on the second attempt. 

That’s it you have SVXLink installed as well as the sound files.

 


Time now for some blacklisting:

Open a new terminal

Create a file using nano or any text editor and save in /etc/modprobe.d

cd /etc/modprobe.d

sudo nano alsa-blacklist.conf

enter

Enter the following line

blacklist snd_bcm2835

Save the file

Shutdown the machine

sudo shutdown now

enter

Switch everything OFF.  It is now time to connect your USB Soundcard dongle to one of the USB ports of the Raspberry Pi. We need to set it as the default audio device. First we need to configure the Raspberry Pi NOT to load Broadcom’s Sound Chip (BCM2835)

It is now time to set the USB Sound Card as the default audio device. First we need to find the USB Sound Card device ID. Then we will edit the alsa.conf file.

Start your Raspberry Pi. with the new USB Souncard dongle fitted.

Once the Pi has booted, open a new terminal

sudo arecord -l

enter

The output in the terminal window should be:


**** List of CAPTURE Hardware Devices ****

card 0: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio]

Subdevices: 0/1

Subdevice #0: subdevice #0

open nano and edit the alsa.conf

I use nano to edit the alsa.conf file:

sudo nano /usr/share/alsa/alsa.conf

enter

Edit the lines defaults.ctl.card and defaults.pcm.card. In my case I had to change the number at the end of the line from “0” to “1” as arecord listed my sound card as Card 1, Device 0 and changed it when I removed the BCM2835 sound chip setting explained supra.  Depending on the sound card you use you might not have to change anything. 

default1.ctl.card 1

default.pcm.card 1

Use “ctrl + x” | “y” | “enter” to exit nano and save your changes.

Now reboot the Pi

sudo reboot

enter

After the reboot, head back to terminal and run alsamixer, verify the USB Audio device is set as the default playback/recording device. You can connect speaker/headphones to the USB Sound card and played an audio file in Chronium to verify that the audio output is working.

sudo alsamixer

enter

Once alsamixer opens press F5 to show all the volume controls. I set the Speaker / Mic / Mic (Capture slides to 19 and ensure that all three slides reflect 00.  If it shows MM then just click on MM and it will go to 00.  The Auto Gain Contol must be turned off (MM) muted. In my case I experienced a distortion error with the Auto Gain Control on. (00) 

Now press F6 to bring up Sound Card listing and select 0 or 1 USB  Audio Device  depending on your card number.  Mine was 1 but yours might be 0. Move to 1 or 0 and press enter to select your card.

Once selected press Esc to exit the mixer.

Now it is time to save the alsamixer settings

sudo alsactl store

enter

Next we’ll edit the svxlink.conf file for the initial setup. It is always a good idea to make a copy of the svxlink.conf as backup in case you want to revert back later to the unedited file.  This is optional.  I did not make a backup.

sudo nano /etc/svxlink/svxlink.conf

enter

Under the [GLOBAL] section:

uncomment: “CARD_CHANNELS=1”

Under the [SimplexLogic] section:

RX=NONE (this is temporary)

CALLSIGN=YOUR CALLSIGN

DEFAULT_LANG=en_US 

Under the [Rx] section:

AUDIO_DEV=also:plugw:0 ;(recall our USB Sound card was Card 0)

Under the [Tx] section:

AUDIO_DEV=also:plugw:0 ;(recall our USB Sound card was Card 0)

Save your changes and exit nano Using“ctrl + x” | “y” | “enter”

Next we need to edit the ModuleEchoLink.conf file once again using nano. It is always a good idea to make a copy of the ModuleEchoLink.conf as backup in case you want to revert back later to the unedited file.  This is optional.  I did not make a backup.


sudo nano /etc/svxlink/svxlink.d/ModuleEchoLink.conf

enter

Make the following changes to the ModuleEchoLink.conf file

Uncomment line 5 “Allow_IP=192.168.1.0/24“

;You may need to adjust the IP for your network subnet as used by your router

 CALLSIGN=CALLSIGN

PASSWORD=ECHOLINK PASS WORD

SYSOPNAME=CALLSIGN

LOCATION=CITY, STATE

Lastly uncomment the line “DEAFULT_LANG=en_US” to set the language to English

We also need to change the SERVERS setting.

SERVERS=europe.echolink.org ;(IMPORTANT: SVXLink will not connect or allow other stations so connect with servers.echolink.org. Change the address to europe.echolink.org or an Echolink server closest to your location)

Other changes in this file relates to you station information. You can change this to suite your needs.

Save your changes and exit nano Using“ctrl + x” | “y” | “enter”

sudo reboot

enter

Next on the list is to configure the ports on your router for your router/firewall for the Raspberry Pi. Due to the wide variety of Routers I will not go into detail on how to configure the ports and firewall. You need to consult your owners manual for you specific router as well as the Echolink manual. Echolink relies on the following ports:

5198 UDP, 5199 UDP, 5200 TCP

Check open Ports

sudo lsof -i -P -n

enter

More info on the opening of ports can be found further down in this manual.

We are now ready to connect everything together to do some basic tests of the SVXLink installation.

  • The USB Sound Card should already be connected

  • Connect Power Cables to the Raspberry Pi and the Radio if you have one connected to he Pi

  • Optional: Connect your interface board between the radio and the Raspberry Pi if you have installed an interface board

  • Optional: Connect the Radio Cable from the Interface board to the radio

Open up a new Terminal window. We are going to provisionally start SVXLink with the following command. The command hereunder will only be used to test start SVXLink.

Enter in a terminal window

sudo -u svxlink svxlink

enter

If all went well you should get a message “event handler script successfully loaded” and SVXLink should be waiting for input or a connection. Go ahead and tune a second transceiver if an interface and radio is connected, to the same simplex frequency the SVXLink radio is set to. If no interface or radio is connected you can use a set of earphones that is plugged into the speaker socket of the USB Sound Card dongle. In SVXLink use this command to have the server ID itself (*#).  Note the command *# at this stage will not work via the radio as we must still setup the GPIO pins.  You will see Tx1 Turning the transmitter On and after a few seconds Tx1 Turning the transmitter off.

*#

enter

SVXLink should key up the SVXLink Radio and you should hear the identification transmission on your second monitoring transceiver. If using headphones you should hear the ID on the phones. You may need to go back and adjust the speaker level using alsamixer. For me setting the speakers to approx 55% seems to work well.

Do the test below only if you have and interface and radio installed.  If it does not work just go ahead to the setting up the receive Rx.

Now open Echolink on your cell phone using a proxy and connect to your Echolink station. If all went well you should hear the Echolink ID the incoming connection on your monitoring transceiver. Additionally, you should be able to key up Echolink on your cell phone, transmit, and hear the transmission on your monitoring transceiver.

You now have SVXLink with the Echolink module setup and working on the transmit (TX) side of SVXLink. We still need to setup the receive (RX) side of SVXLink.

Setting up SVXLink is not difficult. Your need to be accurate in executing commands and not be in a hurry.

Now onto setting up the receiver (RX) side of SVXLink but first a few handy commands to use.

Remember that we always start and stop SVXLink the correct way.

Start and Stop SVXLink and Start and Shutdown the Raspberry PI

sudo systemctl start svxlink

sudo systemctl stop svxlink

Now I am sure you will get tired of starting svxlink manually every time. Lets fix this to allow svxlink to start automatically always after rebooting the Pi. Once you entered this command you must not start svxlink with the command: sudo -u svxlink svxlink anymore!

Select a new terminal and enter the command underneath at the command prompt

sudo systemctl enable --now svxlink

enter

sudo reboot

enter

The pi will reboot and svxlink will automatically startup after the Pi has finished rebooted.

Now let’s look at how to shutdown the Pi

Once you stopped SVXLink and you want to switch off the raspberry pi you need to shut down the Pi as prescribed. Never just pull the plug!! You have been warned.

Here is the correct way to shut-down your Raspberry Pi in a terminal window.

When using the command line or a terminal window, you can enter the following to do a clean shutdown:

sudo shutdown -h now

enter

or

sudo halt

enter

or

sudo poweroff

enter

If you use the GIU option click on the Pi emblem (left top corner) Click on Shutdown. New window will open. Click on Shutdown. The Pi will now shutdown.

Now lets shut-down SVXLink and then reboot the Raspberry Pi.

Were you successful in shutting down SVXLink and rebooting the Pi. If not, try again.

Setup the final receive (RX) side of SVXLink

We need to go back to svxlink.conf and enable RX under die Simplex section. Remember we put in None when we first edited the svxlink.conf file. We need to change the none now to Rx1.

sudo nano /etc/svxlink/svxlink.conf

enter

Under [Simplex]:

Rx=Rx1

Save the changes and exit nano using“ctrl + x” | “y” | “enter”

Go ahead and reboot the Pi

sudo reboot

enter

Once the Raspberry Pi reboot open a terminal and start svxlink as we have done before

sudo -u svxlink svxlink

enter

You might receive the following error:

Starting logic: SimplexLogic

Loading RX: Rx1

*** ERROR: Open capture audio device failed: Device or resource busy

*** ERROR: Could not open audio device for receiver “Rx1”

*** ERROR: Could not initialize RX “Rx1”

*** ERROR: Could not initialize Logic object “SimplexLogic”. Skipping…

*** ERROR: No logics available. Bailing out…

Why do you receive this error? Svxlink.service was starting when the Pi booted and already opened the Mic port on the USB Sound Card. Issuing the “sudo -u svxlink svxlink” command was starting a second svxlink processes. That’s why I earlier indicated that you must not use the “sudo -u svxlink svxlink” command once SVXLink auto starts from boot. Lets reboot the Pi.

sudo reboot

enter

Open a terminal window and lets check the svxlink service. The service should be listed as “active” in green. Here is the command to check the service.

sudo systemctl status svxlink

enter

Once you confirm that the service is “active” press “q” to quit when you are done reviewing the service status.

Now lets “tail” the svxlink log and see if the service is running and the Echolink Module is loaded.

tail -f /var/log/svxlink

enter

Use “ctrl + c” to stop the tail process.

If you’re lucky you will see the EchoLink Module load and connect to the EchoLink server:

Tue Nov 29 15:37:38 2022: SimplexLogic: Loading module "ModuleTclVoiceMail"

Tue Nov 29 15:37:38 2022: Found /usr/lib/arm-linux-gnueabihf/svxlink/ModuleTcl.so

Tue Nov 29 15:37:38 2022: Module Tcl v1.0.1 starting...

Tue Nov 29 15:37:38 2022: SimplexLogic: Event handler script successfully loaded.

Tue Nov 29 15:37:39 2022: EchoLink directory status changed to ON

Tue Nov 29 15:37:40 2022: --- EchoLink directory server message: ---

Tue Nov 29 15:37:40 2022: EchoLink Server v2.6.105

Tue Nov 29 15:37:40 2022:

Tue Nov 29 15:37:40 2022: ECHO4: Frankfurt, Germany

Tue Nov 29 15:37:40 2022:

Now you might find that you have a lot of errors relating to DNS and failed lookups for the EchoLink servers. The log would show the Pi eventually connecting to EchoLink and then disconnecting. Lets see if we can fix it by editing the svxlink.service file and adding a ‘sleep’ delay of 30 seconds resolved the issues. This will allow the Pi to complete the boot process before starting the svxlink service. Now lets stop the svxlink service.

sudo systemctl stop svxlink

enter

Now edit the svxlink.service file. Important:  Change/add the BOLD lines as below. Be sure you add the ExecStartPre=/bin/sleep 30 BEFORE THE OTHER ExecStartPre lines. Else the sleep delay won’t be effective.

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

enter

[Unit]

Description=SvxLink repeater control software

Documentation=man:svxlink(1)

Requires=svxlink_gpio_setup.service

After=network.online.target remote-fs.target time.target

After=svxlink_gpio_setup.service

[Service]

EnvironmentFile=/etc/default/svxlink

PIDFile=/run/svxlink.pid

ExecStartPre=/bin/sleep 30

ExecStartPre=-/bin/touch /var/log/svxlink

ExecStartPre=-/bin/chown $RUNASUSER /var/log/svxlink

ExecStart=/bin/sh -c ‘/usr/bin/svxlink –logfile=/var/log/svxlink –config=$CFG$

ExecReload=/bin/kill -s HUP $MAINPID

Restart=on-failure

TimeoutStartSec=60

#WatchdogSec=

#NotifyAccess=main

LimitCORE=infinity

WorkingDirectory=/etc/svxlink

[Install]

WantedBy=multi-user.target

Save the changes to the file and exit nano using“ctrl + x” | “y” | “enter”.

Now reload the systemctl daemon, start the svxlink service, and reboot the Pi.

sudo systemctl daemon-reload

enter

sudo systemctl start svxlink  (Might take a while to execute)

enter

sudo systemctl status svxlink (To check if svxlink is loaded)

enter

To exit use Ctrl Z

sudo reboot

enter

After the Pi reboots. Open up the terminal again and tail the svxlink log. It should have successfully connected to EchoLink.

tail -f /var/log/svxlink

enter

pi@raspberrypi:~ $ tail -f /var/log/svxlink

Tue Nov 29 15:49:30 2022: SimplexLogic: Loading module "ModuleTclVoiceMail"

Tue Nov 29 15:49:30 2022: Found /usr/lib/arm-linux-gnueabihf/svxlink/ModuleTcl.so

Tue Nov 29 15:49:30 2022: Module Tcl v1.0.1 starting...

Tue Nov 29 15:49:30 2022: SimplexLogic: Event handler script successfully loaded.

Tue Nov 29 15:49:31 2022: EchoLink directory status changed to ON

Tue Nov 29 15:49:32 2022: --- EchoLink directory server message: ---

Tue Nov 29 15:49:32 2022: EchoLink Server v2.6.105

Tue Nov 29 15:49:32 2022:

Tue Nov 29 15:49:32 2022: ECHO4: Frankfurt, Germany

Tue Nov 29 15:49:32 2022:

Tue Nov 29 16:00:00 2022: SimplexLogic: Sending long identification...

Tue Nov 29 16:00:00 2022: Playing Long voice ID

Tue Nov 29 16:00:00 2022: Tx1: Turning the transmitter ON

Tue Nov 29 16:00:06 2022: Tx1: Turning the transmitter OFF

Tue Nov 29 16:18:47 2022:

Fine tuning Alsamixer to get the best RX and TX Audio

 

00 = Unmuted  MM = Muted

Go ahead and make some test transmissions. Make small adjustments to the speaker and mic volume level on the Pi using “alsamixer”.

I found that I got an error stating that I was over modulating - ect ect.

I had to change the settings in alsamixer. Well this did not solve anything until I noticed that the automatic gain control in alsamixer was on.

Lets fix this!

alsamixer

enter

Press F6: Select Sound Card, and choose yours from the list, the bcm2835 ALSA we disabled and should not be present. I use a USB Device and this was listed as:

USB PnP Sound Device Select and press enter

You can play around with the settings but the main culprit was the on audio gain control. The Auto Gain Control wants to be off, select the gain control and press M (or click on 00)  to toggle so it displays [MM] for mute. Press Esc to exit and save the settings with:

sudo alsactl store

enter

This will store your settings until the next time you changed them.

As always when you make changes to files or the alsamixer it is a good practise to reboot the raspberry Pi.

sudo reboot

enter

After rebooting the error was no more and the audio quality both incoming and outgoing was good.

Congratulations! You have successfully installed SVXLink!

Now the fun begins. You will need to configure SVXLink to match the interface you use between the node and the radio. That’s if you going to connect an interface and radio to your node. This could be either via serial port or GPIO via the Raspberry Pi.


Raspberry Pi GPIO Configuration for Radio Interfacing using SVXLink Software

 

GPIO (General Purpose IO) is used to access hardware pins that are made available for example on and 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 talking 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.

We have successfully installed the OS (Bullseye) and SVXLink and SVXLink Sounds. It is now time to setup the GPIO connection pins.

Ensure that you have the following hardware equipment connected:

  • Reliable Internet Connection (I use an Ethernet Connection)

  • Raspberry Pi 3 b

  • Compatible USB Sound Card

  • Interface between the Raspberry Pi and Radio

  • Some circuitry to interface PTT from 3V TTL GPIO on the Pi for your specific radio.

  • Preferably some “carrier-detect” (COS) output from the radio, and a 3V level shifter circuit to tell the Pi when a signal is received. (VOX type detection is possible but less reliable and not a good option if you going to connect this node to a Hub Network.)

First we need permission to access the gpio file

sudo gpasswd -a svxlink gpio

enter

Now let’s edit the gpio file

Before you make changes to the gpio.conf file, you must stop svxlink and stop the gpio setup.

sudo systemctl stop svxlink

enter

sudo systemctl stop svxlink_gpio_setup

enter

Below is an example how to configure gpio17 for PTT and gpio10 for COS in:

sudo nano /etc/svxlink/gpio.conf

enter

###############################################################################

#

# Configuration file for the SvxLink server GPIO Pins

#

###############################################################################


# GPIO system pin path

# RPi/odroid/nanopi/pine64 = /sys/class/gpio, orangpi = /sys/class/gpio_sw

GPIO_PATH=/sys/class/gpio

# Space separated list of GPIO pins that point IN and have an

# Active HIGH state (3.3v = ON, 0v = OFF)

#GPIO_IN_HIGH=""

# Space separated list of GPIO pins that point IN and have an

# Active LOW state (0v = ON, 3.3v = OFF)

# COS SETUP INTERFACE BOARD:

GPIO_IN_LOW="gpio10"

# Space separated list of GPIO pins that point OUT and have an

# Active HIGH state (3.3v = ON, 0v = OFF)

# PTT SETUP INTERFACE BOARD:

GPIO_OUT_HIGH="gpio17"

# Space separated list of GPIO pins that point OUT and have an

# Active LOW state (0v = ON, 3.3v = OFF)

#GPIO_OUT_LOW=""

# User that should own the GPIO device files

#GPIO_USER="svxlink"

# Group for the GPIO device files

#GPIO_GROUP="svxlink"

# File access mode for the GPIO device files

#GPIO_MODE="0664"

 

Important Note: Take specific note of the # sign in front of statements. If there are open (no #) in front of statements. You will receive errors and Svxlink will not start. 

Save the gpio.conf file.

Save the changes to the file and exit nano using“ctrl + x” | “y” | “enter”.

Another file that needs to be configured for GPIO is the svxlink.conf file. Below is an example how to configure GPIO in [Tx1] and [Rx1]in:

sudo nano /etc/svxlink/svxlink.conf

enter

[Tx1]

TYPE=Local

TX_ID=T

AUDIO_DEV=alsa:plughw:1

AUDIO_CHANNEL=0

#AUDIO_DEV_KEEP_OPEN=0

LIMITER_THRESH=-6

PTT_TYPE=GPIO

PTT_PORT=/dev/ttyS0

PTT_PIN=gpio17

 

[Rx1]

TYPE=Local

#RX_ID=?

AUDIO_DEV=alsa:plughw:1

AUDIO_CHANNEL=0

#AUDIO_DEV_KEEP_OPEN=0

LIMITER_THRESH=-6

SQL_DET=GPIO

GPIO_SQL_PIN=gpio10

SQL_START_DELAY=100

 

Save the svxlink.conf file.

Save the changes to the file and exit nano using“ctrl + x” | “y” | “enter”.

Reboot svxlink (the svxlink_gpio_setup will be started automatically).

sudo reboot

enter

Ensure that SVXLink has started:

sudo systemctl status svxlink

enter

If SVXLink has not started start it with the following command:

sudo systemctl start svxlink

enter

The PTT and COS will now be active and the relevant LED’s on the interface board will be active in TX and RX.

FUNCTION      RASPI PIN      GPIO

PTT =                11 (real pin)      17     

COS =               19 (real pin)      10

Basic SVXLink Commands

The following comments have been used supra.

How to start and stop SvxLink in Raspbian

sudo systemctl start svxlink

enter

sudo systemctl stop svxlink

enter

Monitor the system via the svxlink log

tail -f /var/log/svxlink

enter

Check the Status of SVXLink

sudo systemctl status svxlink

enter 

Ctrl Z (to exit)

 

Useful Commands:

Start and Stop SVXLink now and always after reboot

Note: This has been set. If not then you can use these commands to enable and disable SVXlink after reboot to automatically enable and disable SVXLink Only use these commands if they have never been set.

Enable

sudo systemctl enable - - now svxlink

enter

Disable

sudo systemctl disable - - now svxlink

enter

Save Alsamixer Settings

sudo alsactl store

enter

Check open Ports

sudo lsof -i -P -n

enter

The options used here are:

  • -i: If no IP address is specified, this option selects the listing of all network files

  • -P: inhibits the conversion of port numbers to port names for network files

  • -n: inhibits the conversion of network numbers to host names for network files

This way, it will list open ports in the Linux terminal:


But, this also shows us a lot of extra ports that the computer does not actually listen to.

You can list the listening ports by piping this output to the grep command and matching the pattern "LISTEN", like this:

sudo lsof -i -P -n | grep LISTEN

enter

This will only show the ports our computer is actively listening to and which service is using said open port.

Congratulations!! You have now installed and setup the following:

  • Raspberry Pi OS Firmware

  • SVXLink Firmware

  • USB Sound Card Firmware

  • Alsamixer Sound

  • GPIO Pin Setup

  • Interface between the Radio and Raspberry Pi

The basic installation to run SVXLink on a Raspberry Pi is now done.

The SvxLink Server is a general purpose voice services system, which when connected to a transceiver, can act as both an advanced repeater system and can also operate on a simplex channel. One could call it a radio operating system since it sits between the hardware (transceiver) and the applications (modules) and handle basic system services as well as input and output.

SvxLink is very extensible and modular. Voice services are implemented as modules which are isolated from each other. Modules can be implemented in either C++ or TCL. Examples of modules are:

  • Help – A help system

  • Parrot – Play back everything that is received

  • EchoLink – Connect to other EchoLink stations

  • DtmfRepeater – Repeater received DTMF digits

  • TclVoiceMail – Send voice mail to other local users

  • PropagationMonitor – Announce propagation warnings from dxmaps.com

  • SelCall – Send selective calling sequences by entering DTMF codes

Hope to hear you soon via SvxLink.

Enjoy SvxLink!!


PS/ There might be future post updates related to SVXLink. Feel free to return to the GRHub Network Blog to view them.

 

 

Recognition and References:

Contents for this manual comes from several web-sites that assisted me in getting the SVXLink Server up and running. It worked for me!

I would like to mention the following people/websites:

  1. Raspberry Pi Site

  2. PuTTY Site

  3. Advanced Port Scanner Site

  4. Real VNC Site

  5. PacHams.com

  6. SVXLink GitHub

  7. Tobias Blomberg SM0SVX

  8. Justin Wilson NP2WJ

  9. Peter Lindquist SM5GXQ

  10. John Pumford-Green GM4SLV

  11. linuxhandbook.com

  12. Curtis ZS6CMO

  13. Pakistan Amateur Radio Society

  14. g7smy.co.uk

  1. Thys ZS1TBP

  2. Various Forums – to many to mention here.


Please visit the GRHub Network Blog by clicking HERE


Compiled by Johan ZS1I

Mossel Bay

South Africa

8 February 2024


Closure of this ZS Link Network Blog - 29 April 2026

This will be the final posting on the ZS Link Network Blog. This blog will no longer be updated but will remain available for research an...