Showing posts with label Manuals. Show all posts
Showing posts with label Manuals. Show all posts

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:






 



Thursday, February 8, 2024

Wat 'n vet gemors!!


Die afgelope paar dae was baie frusterend gewees. Ek het 'n dure les geleer.  Luister gerus maar na die audio insetsel.

As die aanlyn speler nie wil werk nie kan die audio insetsel HIER afgelaai word.

Wednesday, October 4, 2023

Mossel Bay ZS1I GRHub Network Flowchart/Diagram now available


This is a project that I wanted to undertake several times in the past but I was always looking up to learning how to use a software program to compile such a flowchart.  My excuse of not having time was thrown out the window and I started yesterday (3 October 2023) to compile one of a few flowcharts / diagrams  I intend creating:

The ZS1I GRHub Network flowchart is now available for download by clicking HERE (Pdf)

I am busy with the ZS1I AREDN flowchart and will also make it available when finalized. 

The ZS - Link Network flowchart will take some time and the co-operation of all the roll-players involved.  I will compile a questionnaire and once I received it back, I will add the info to the flowchart.  I will soon correspond with the custodians of Repeaters, Links, Nodes, Networks that link to the GRHub Network.  By creating flowcharts I hope that users of the ZS - Link Network will have a better understanding of the working, outlay and size of the system. 

Saturday, July 22, 2023

Bringing "Hulk" the 3D Printer to life! An Amateur Radio Project by Curtis ZS6CMO


(Click on image for larger view.)

3D- Printer Project for Ham Radio by Curtis ZS6CMO

Model in this Project is the “Mendel Prusa RepRap i2”

Reference : Prusa Mendel - RepRap

Introduction
This was an inspiration from a fellow HAM David - ZR6DLG

Process
I was inspired by David when I saw the machine he had built and it was using basic items from a hardware store to put together.

He helped me to print all the items required to build the structure with his homemade 3d-printer. The printer he used was made from yellow filament and he called his printer “Bumble Bee” 🙂

The hardware is 8mm SS Threaded rods,(see Reference page show all Hardware required)

ED.  Want to read all about this project?  From hereon I will let Curtis do the talking.  HERE is the PDF file describing - "How "HULK came to life".  Do not miss this very interesting article by Curtis ZS6CMO.  A big thank you to Curtis and David for bringing "HULK" to life as well as for all the information and images.  Highly appreciated!

As can be seen Curtis is already using "Hulk" do produce amateur radio project cabinets.  A great asset to the amateur radio shack today.

Images:  (Click on images for larger view.)






Tuesday, June 20, 2023

Requests to assist in setting up an AllStar to DMR Bridge Network

I received several requests to assist radio amateurs in various areas of South Africa to setup a AllStar to DMR Bridge Network in their area.  I am more than willing to assist in providing the links on how to setup such a Bridge.  Please note I am not the person who compiled the software.  Far more clever radio amateurs were responsible for this great DMR feature.  I only used their "How to" manuals to setup the ZS1I DMR Bridge.  I would like to thank each and every person who contributed to this "project".

Please take note of the following:

  • This project is not for Linux O/S beginners.  If you do not have experience in using Linux and AllStar then you first need to learn how to use the relevant firmware.
  • There is quite a bit of reading involved in setting up the Bridge.  Take time to read through the manuals.
  • You will also need a few minutes or hours to get  the Bridge up and running depending on your experience level.
  • It is very difficult to do fault finding via a telephone, WhatsApp, email etc.  If you follow the manuals you should be able to get the Bridge up and running without any outside help.
  • Who can assist me when I get stuck?  Well I had nobody to assist me and I got stuck several times.  As this is a first for the Garden Route Area I had to rely on "Google" to find solutions for my error messages.  Do not forget Google is your problem solving assistent here!!

Here is the links that I used to setup the AllStar to DMR Bridge Network:

AllStarLink = https://wiki.allstarlink.org/wiki/Downloads 

Allstar to DMR Bridge:

https://4x5mg.net/wp-content/uploads/ASL%20to%20DMR%20Bridge.pdf

https://icemanjeep.blogspot.com/2019/09/allstarlink-echolink-brandmeister-dmr_18.html

https://4x5mg.net/2018/07/16/allstar-to-dmr-bridge/

I trust that the above will assist you in setting up an AllStar to DMR Bridge successfully.


Monday, January 23, 2023

Feedback: "Lippeklap" Net 22 January 2023 15h30 SAST


Images:  Power Delay Controller  (Click on image for larger view.)

As loadshedding continues, amateur radio also bear the brunt.  Many radio amateurs are not geared to operate their stations during loadshedding periods.  Well it is not going to get better soon.  Thankfully the GRHub Net and other links/repeaters operate as usual.  The Internet connection for the GRHub Network has been stable and thus far the node and radio has operated above expectations.  The only real problem comes in when loadshedding moves to Stage 6.  The batteries does not charge fully between the shedding stages.  During such events the RF Link on 145.550 Mhz might now and again be switched off to give the batteries some breathing space to charge.  This seems to have worked very well.  Thus far our bulletin broadcasts and nets were not affected.  Well we once again had a great net gathering this past Sunday.  A big thank you to all those that participated in the "Lippeklap" Net. You make the Net!!

Yesterday's net was an "Open Net".  This means that anything amateur radio, technology, inventions etc. can be discussed or questions being asked.

The following "subjects" were discussed:

  • Participation in the PEARS VHF/UHF Contest this past weekend.
  • Promotion of the RAE Coarse to be presented by Jannie ZS1JKF on behalf of the Boland Amateur Radio Club.
  • Internet Router failure due to loadshedding.
  • Assisting fellow radio amateurs with backup loadshedding power units.
  • Using FT8 and accessing band conditions
  • Eden Radio Club  2023 events
  • Digital Repeaters in the Garden Route Area
  • DIY Electricity Input Time Delay Controller (Prevent over- and under voltage to protect householde electrical equipment) 
  • DIY 4 Element VHF Quad Antenna
  • Future extensions for the GRHub Network
  • Icom Radio Dry Joints
  • 1958 ARRL Handbook
  • Other Amateur Radio Books
  • Swop Shops
  • Loadshedding is here to stay!
  • The way forward for amateur radio during Loadshedding
  • "Murphy" in the Shack
  • Working Amateur Radio Satellites
  • Starlink Satellite Internet
  • Wireless Internet Problems due to Loadshedding
  • Importance of belonging to the SARL and Radio Club/s
  • Thanks and Appreciation


 As promised HERE is the download link iro ARRL Handbooks.

I am sure that there are many radio amateurs that will find this link useful and interesting. The ARRL Handbook is a great reference book for amateur radio and every shack must have a place on the shelf for this book.

The next "Lippeklap"  Net will take place on Sunday, 29 January 2023 at 15h30 SAST. Connect to ZS1I-L via Echolink or 49355 AllStar Node or any of the other nodes connected to the GRHub Network. 

Hope to hear you on the Lippeklap Net. 

Come join in on the fun!!


 

Tuesday, December 27, 2022

Playing custom message on AllStar Node

 


Background:

I wanted to play a custom message on my Allstar Node, not just the pre recorded files. I found an easy way to do it.

Create it:

Create and audio file using Audacity or an audio editor of your choice. It you already have and audio file that you would like to play on AllStar then Import the file using Audacity. Find your audio file and open it or if you use Import the file will be opened in the Audacity as an audio track.

The file should be Mono, 8000 Hz 16-bit PCM with Project Rate set at 8000 Hz. Export as WAV. Give the file a name (short as possible) Save as type must be WAV. Encoding can either be Unsigned 8-bit PCM or Signed 16-bit PCM.

Go ahead save it / export it. In Audacity we use Export

Upload it:

Open WinSCP (Windows Program) or any other software and connect to your Raspberry Pi. Upload your WAV file to /var/lib/asterisk/sounds

Convert it:

We will use sox for converting. Open PuTTY (Windows Program) and connect to the Raspberry Pi, Change directory to “/var/lib/asterisk/sounds” and enter the following.

For a GSM File:

sox YOURFILENAME.wav -r 8000 -c 1 YOURFILENAME.gsm

Note sox and YOURFILENAME in small letters.

For a U-Law File:

sox YOURFILENAME.wav -r 8000 -c 1 -t ul YOURFILENAME.ul

Note: sox and YOURFILENAME in small letters.

Now we should have a new file with either a GSM or U-Law Codec extension. Your choice!! Please note you cannot have the same file name for gsm or u-law. Choose a different YOURFILENAME for each Codec.

All we have to do now is to restart Asterisk Server by using the AllStar dashboard or calling astres.sh script at the command prompt. After Restart we can test the file.

Test the File:

Now we can test it on Asterisk by entering to the CLI:

In PUTTY you should be in the following directory “/var/lib/asterisk/sounds”. At the command prompt type :

asterisk -r

enter

PUTTY will now be in the CLI mode.

In MobaXterm log into your node and the AllStar dashboard will appear. Select 11 – Run Asterisk CLI Client. Once enter is pressed you should be at the CLI prompt.

For World Wide play type:

rpt playback 49355 YOURFILENAME

enter

This will play the file to all the nodes that you are connected and also on RF Links / Repeaters

49355 is your node number.

Please note that you don’t need to add the extension after your file’s name.

For Local play type:

rpt localplay 49355 YOURFILENAME

enter

This will play the file to only your node and your RF Links / Repeaters

49355 is your node number.

Please note that you don’t need to add the extension after your file’s name.

I prefer to play the File while using MobiXterm in Windows.

Playing the file via CRON:

If you want to play it via CRON on scheduled time or just play it outside of the CLI just use:

asterisk -r -x "rpt playback 12345 YOURFILENAME"

Hope this short script will be of benefit to you on how to play custom or already created audio files on your AllStar Node.


Compiled by:


Johan ZS1I

Mossel Bay

27 December 2022

Wednesday, December 21, 2022

How to convert an IRLP (Internet Radio Linking Project) Node into an AllStar, SVXLink or Echolink Node


I have just completed the install/build/modification of an SVXLink Server on a Raspberry Pi 3 b connected to a modified IRLP Board which is then connected to a amateur radio VHF Transceiver.  Lets take a closer look at the main "ingredients" of this  project.

Overview of the Project:

What is an SVXLink Server? 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.  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

    MetarInformation  — Play airport weather information

    Frn  — Connect to Free Radio Network (FRN) servers

What is a Raspberry Pi 3 b? The Raspberry Pi 3 b is a low cost high performance single-board computer. The Raspberry Pi was developed in the UK by the Raspberry Pi Foundation. The Raspberry Pi Foundation's goal is to "advance the education of adults and children, particularly in the field of computers, computer science and related subjects." Many people have used Raspberry Pi’s to make things like cameras, video game consoles, robots, web servers and media centres.

What is IRLP (Internet Radio Linking Project) about? The aim of this project is to reliably and inexpensively link amateur radio systems without the use of RF links, leased lines, or satellites. The IRLP uses Voice-Over-IP (VoIP) custom software and hardware. Coupled with the power of the Internet, IRLP will link your repeater site or simplex station to the world in a simple and cost effective way. IRLP operates a worldwide network.

What is AllStar? AllStarLink is a world wide network of Amateur Radio repeaters, remote base stations, and hot spots accessible to each other via the Internet and/or private IP networks. AllStar software runs on a dedicated Linux computer (including the Raspberry Pi) that you host at your home, radio site, clubhouse, school, university, workplace, or computer center. AllStar is based on the open source Asterisk PBX and is released under the GNU GPL and is free for anyone to use. The core of AllStar and AllStarLink is the powerful app_rpt application and associated modules that load into the Asterisk PBX system.

As can be seen from the above each one of the building blocks are fairly complex and powerful tools that can be used by radio amateurs.  In this post I will skip AllStar and will later provide info in a future posting.  Lookout for the posting!

Background of this Project:

My first VOIP AllStar Node was build way back then and it consisted mainly of a Raspberry Pi 3 b, Hamvoip AllStar Software, modified USB Soundcard Dongle and a UHF Handheld Radio.  I modified the USB Soundcard Dongle to obtain PTT and COS from the onboard chip.  I stuffed up 2 dongles and was successful with the third board.  See my eyesight is bad and this resulted in bridges on the surface mount chip.  Be as it may the node is still running and used as the GRHub Network Node.

After establishing the GRHub Network in Mossel Bay it soon became apparent that we need a few more nodes in this area.  I did not look forward to modify another USB Soundcard Dongle or to import ready made URI (USB Radio Interface) or any of the other boards as our currency would push cost through the ceiling.  I looked at several alternative options relating to the USB Radio Interface Boards/Units.

Now this is where I ran into IRLP. (Internet Radio Linking Project)   I considered obtaining an  IRLP setup locally as I knew there was a few IRLP nodes up and running in the past.  I would run an  IRLP node and link that to the existing GRHub Network Node.  However I had one big problem!  IRLP is not opensource and is not compatible with other networks.  This would mean that I will have to go through a registration process to obtain all the necessary "goodies", pay the prescribed fee which once again would push the cost up due to the Rand / Dollar currency exchange.  Once again not a viable option.  Another hurtle was the fact that IRLP can only support half-duplex audio.

During my browsing of the Internet regarding IRLP I looked at the PCB interface closely and noticed that it still uses a 25 pin parallel connector (no problem) however my eye noticed that provision has been made for several indicating LED's example, COS, PTT, DTMF, AUX1, AUX2, AUX3. This raised the question why can this PCB not be used as a radio interface for SVXLink,  Echolink or AllStar or for that matter any other radio interface module.

I started to gather more information.  Remember IRLP was used on a way-back Desktop Computer.  I did not want to go that route.  My thought was to use a Raspberry Pi with SVXLink installed, attach a Syba USB Sound Card and connect the computer and the sound card to the IRLP PCB and finally to the Radio.  But will this work?  Well I had to give it a try!  I obtained two of the IRLP boards after advertising on the Pretoria Amateur Radio Swop Shop page.  This was risky as if it does not work then I can throw the boards in the Junkbox to be used as spare parts.

I looked for similar projects but could not find any concrete information.  I would have to rely on the bits and pieces I gathered from the IRLP, Raspberry Pi and SVXLink sites.  I found enough info regarding the IRLP  Project that enabled me to use the interface with the Raspberry Pi but no info on using the IRLP board with other software for which it was never intended.  I was determined to get this project to work.  The end result it is working great.  I received several reports that the node sounds great.  Of great benefit is the fact that SVXLink gives me several choices as mentioned supra.  

I am not going to go into much detail here as this will lead to a very large posting.   Ok lets start with all the parts you going to need:

Parts List:

     Raspberry Pi 3 b
     5v Power Supply Module
     5v Buck Converter Power Module
     Power Socket
     Modified Power Cable (USB)
     On/Off Switch
     Fuse Holder
     Ethernet Extension Cable
     9 Pin Ribbed Serial Cable (Comes with IRLP Kit)
      25 Pin Modified GPIO Cable (Make Up)
      Syba CM119 Soundcard Dongle
      7 Leds (Green, Blue, Red, Yellow)
      7 x 330 Ohm 1/4 watt Resistors
      Scrap copper connecting wire
      7 x LED Holders
      Cabinet
      Red and Black Twin Flex Wire + odds and sodds


Construction/Modification:

As stated before I will not go into detail here but I will however provide you with all the links and some images how to construct and modify this great working node.

IRLP Information:  Manual  +  Images GPIO Cable, Board Mods and Complete Setup

Syba Sound Card Modifications:  Start the conversion by carefully opening the device.   Be careful that you don't cut yourself or run a jeweler's screwdriver through your hand.   This process is much like opening a clam shell - using a pocket knife or small screwdriver with caution.   It might be helpful to grasp one half of the case in a small vice.   Also, be careful not to ram the knife or whatever into the interior of the unit, otherwise damage to the PC board or components can result.

Remove the bias resistor R6 on the CM119 side of the board.   This chip resistor, marked R6 - 1.2k ohm [122], normally supplies voltage to the electret condenser microphone.   These microphones have an internal audio amplifier which requires voltage to operate.   The removal of this resistor does two things: First, it removes the voltage on this lead eliminating the need for another coupling capacitor.   Secondly, it raises the input impedance from 1.2k to the value of the input control potentiometer - 100k ohms.   See the photo below for a detail of the location of this resistor.   

On the Microphone input we need to add a 1K resistor in series to reduce the gain.  There is also a Bias voltage on the mic input so the 1K also protects the radio from this voltage, and in some cases a capacitor will be needed to block the DC voltage. 

How to install/setup:

    1. Raspberry PI OS – Bullseye
    2. SVXLink
    3. USB Sound Card
    4. Alsamixer
    5. GPIO
    6. Radio Interface

Click HERE

Connecting LED'S from the IRLP LED'S to the front panel LED'S on the cabinet:   Connections are also made from the 5v Power Module that powers the Raspberry Pi to the Buck Converter which has been turned down to provide 3.3v to the front panel LED's and for the power LED.  The connection for the power LED comes from the 5v Power Module.  Front panel LED'S (COS, PTT, DTMF, AUX1, AUX2 and AUX3) are pulled down by Pi and IRLP boards through 330 ohm resistors.  The positive side of the LED's goes to 3.3 volts from the Buck Converter.  The power LED indicator is fed from the 5v supply through a 330 ohm resistor.  See the photo below for a hand drawn diagram.

Connecting the node to an amateur radio transceiver:  Refer to the IRLP Information Manual above and also to your Radio's Owners Manual to make the necessary connections.  You will need to make up a cable for this purpose as radio connections differ from radio to radio. 

This new node is as far as I know the first VOIP node in South Africa that uses a modified IRLP interface board that dates back to the 1990's.  Yep you read correctly.  VOIP and IRLP was invented in the late 1990's as a way to connect/link repeaters, simplex links using the Internet,  there are still older equipment that can be used to provide far better performance than new equipment. 

The new node was tested over the past few weeks to ensure that all the current functions work as expected.  Curtis ZS6CMO obliged and connected to the new node.  We did a quick connect and audio  test which was successful.  I would like to thank Curtis for assisting me with the tests.  I decided to connect the new node to the UK Hubnet to see if there is any "fish out there".  Low and behold it was not long before Andy VK6KQ (Australia) called and Marko ZS1NEU returned his call via RF on 2 Meters FM.  The two of them had a great QSO and was later joined by John VK6LWB  (Australia)  and Andrew 2W0INY (UK).  Marko was mobile and I was stationary mobile with only a 2m handheld on hand.  In my opinion the audio quality and reception was just as good as the ZS1I-L  AllStar Node that is currently the main node in operation.

Thus far I am quite impressed with the functionality of the new node.  The node is still in a test phase and I will provide full details in a future post in this regard.  The hardware setup of the node is now completed however I will still play around with the setup of the software.  I have not tested the node with AllStar software but will do so in due coarse.  Hopefully I will be able to burn a new SD Card with the AllStar software on it, make a few changes and run AllStar from this node.  AllStar is after all capable of much better audio quality.  I will provide my findings running AllStar on this node in a future posting.

I would like to invite radio amateurs to use the node when it is reflected in Echolink.  It will be weekdays on test between 09h00 - 16h00 SAST.

The node particulars are:

  • ZS1I-R GRHub Network, MSB, ZA
  • Node Number:  929614
  • Connect via Echolink or RF 145.550 Mhz  88.5 hz CTCSS
  • This node will be  connected to the GRHub AllStar Network
  • The node timeout after 5 minutes if there is no activity and you need to reconnect.
  • Currently only one station can connect at a time.  This will be changed in future.
  • Further modules with great functionality will be added in future.  One such future is the ability to leave and audio message via the QSO Recorder on the mailing list.

What will the new node be used for?  Well that is an open question that I cannot answer at this stage but I can assure you that this node will be the "heartbeat" of the GRHub Network. I am also working on another experimental VOIP node that will if successful be easy and cheap to build.  I envisage that this node concept will allow fellow radio amateurs to obtain their own node to be used in the shack, mobile or portable.  Lookout for this node.

Finally I would like to thank the following radio amateurs for their support and willingness to assist me in testing this project.  Although I only mentioned a few here you are most welcome to join in on the fun:

Curtis ZS6CMO,  Thys ZS1TBP,  Marko ZS1NEU, Andy VK6KQ, John VK6LWB and Andrew 2W0INY.

Images and Video:  (Click on images for larger view.)




 



















Video Clip:  (I apologize for the quality of the video as I did not have enough hands or a decent camera.)



Monday, December 19, 2022

Installation guideline for Sun Geyser by Heinrich du Plooy

GENERAL WARNING: Never undertake a DIY electrical task or any other modification to you home if your home is insured. Always contact your insurance company and discuss your undertaking with the company. If you do not you will find out the hard way that the company will not cover you house or property if a disaster of some kind occurs. Ensure that you obtain the necessary permission and any certificates required. You have been warned!!

The installation must preferably be done by a qualified electrician and plumber.

The instructions below are a guideline for the modification of any geyser fitted in a house that has
approximately the same weather conditions as Pretoria, South Africa.

The warm water will smell like the PVC pipe for the first month, therefore when you prepare food
rather fill the pot with water from the cold water tap.


1. Fit the circulation pump close to the geyser.
2. Coil the PVC pipe; 100m for a 100-liter and 200m for a 200-liter geyser; and join it parallel
to the geyser, ensure that the flow direction of the pump and valve are aligned so that the water is
drawn from the cold/inlet side of the geyser. (There must be a master flow valve before the geyser
and a safety valve installed on the geyser for the pressure.)
3. Assemble the electrical circuit as in the circuit diagram; the supply voltage is obtained from
the isolator switch before the geyser element.
4. The timer settings:
a. Summer: From 09h00 to 15h30 the timer must activate the circuit for approximately
eight (8) minutes, every hour to circulate the water. (The length of the PVC pipe will
determine the switching time.)
b. Winter: From 12h00 to 15h00 the water can be circulated two (2) or three (3) times,
where after the element of the geyser must be switched on to heat the water to the
desired temperature, this will save on electricity, because the Sun Geyser is assisting
the geyser element during the winter.
5. Selection between geyser element and Sun Geyser:
a. Manual selection: The circuit breakers, of the geyser element and circulation
system, cannot be switched on simultaneously; otherwise the PVC pipe will act as a
radiator, and cool down the water in your geyser. The daily temperature will
determine which circuit will be selected.
b. Automatic selection: The selection as (in paragraph 5.a) can be done
automatically, but will complicate this modification and make more expensive. It can
be done by installing a temperature sensing circuit on the neutral line of the geyser
element and the neutral to the relay of the timer circuit.
 

The total cost of components will be approximately
R2000 (Eskom account for the year 2012), the installation, if done
by an electrician and plumber, will cost extra.

(If you decide to use this concept please make a R100 donation
to the NG Kerk Concordia for each installation) 

The PDF file with larger image is available  HERE

Ed.  With Phase 6 Loadshedding now a regular occurrence in the country the above installation will surely save you money and also provide you with warm water whenever you need it, weather permitting of cause.  Thank you very much to Heinrich du Plooy for making this guideline available.



Monday, December 5, 2022

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...