Skip to content

f5vmr/svxlinkbuilder

Repository files navigation

SvxlinkBuilder

Menu build for Raspberry Pi - Repeater or Hotspot node. EchoLink MetarInfo and SVXReflector Options

Pour l'instruction en Français, README_FR.md. Para instrucción en español README_ES.md.

Introduction

This SVXLink build presently contains a connection only to the svxportal-uk (SvxReflector) only . If this changes then so will this introduction. You can leave it without, and install an svxreflector later through the Dashboard.

The connection to the svxreflector provides connectivity using pseudo-talkgroups to other nodes and repeaters on the network. for more information select this link http://svxportal-uk.ddns.net:81.

This build now contains an automatic three minute timeout for RF users. This is to educate users to keep their speech from being too long.

This timeout mechanism does not block the user whilst speaking, but superimposes a series of pip-tones with the emission, that are terminated, when the speaker releases the PTT. The squelch mechanism detects this, and sends "Time-out" verbally on the transmission, before issuing a "K" for continued use of the repeater.

Your First Steps

The Requirements: A Raspberry Pi of any mark, a USB Soundcard, and an interface card (or a modified USB Soundcard and no interface). One or two transceivers. Experience with Shell Commands will help, but is not essential.

If you are suitably experienced, you will be able to modify the installation once it is complete. But this system will provide you with a working system, and you can then modify it to your own needs should you want to.

There are very few other raspberry images that work succesfully for this type of build, where there is a potential for using the application in several directions. An image is fixed, leaving you with a lot of puzzling. This is not an image, but a menu-driven easy build.

This New SVXLINKBUILDER uses an apt install, especially created to avoid the long and tedious approach of a compilation.

Always use Raspberry OS Bookworm Lite (Debian 12) 32 Bit then you won't go wrong.

Using Raspberry Pi Imager, select the Raspberry Pi OS (32-bit) Lite image. But ensure your user name is 'pi' and nothing else.

The Imager will also allow you to configure your password, and WiFi if required. Ensure that the tab permitting SSH is enabled.

Before running the software

There are a number of available interface boards that have a variety of uses, either as a hotspot or a repeater, or even a fill-in receiver/transceiver for an existing SVXLink repeater. The settings in this build are for a homebrew interface board using GPIOD 23/17/8 for the Receive COS and GPIOD 24/18/7 for the PTT controller, or alternative a fully modified CM-108 that can use 'udev' and drive the PTT and COS from the modification components. There is an also intermediate version for the CM-108 where only the transmit modification has been done that will you use 'udev' for the transmit, and give you options for the receive GPIOD 23/17/8. There is also an option for your own GPIO port selection.

When using the GPIO and GPIOD Pins, an earth pin is also require, so using this combination for example, pins 14,16 and 18 are all adjacent and ideally placed for these functions. Pin 14 is the Earth, Pin 16 is GPIO 23 and Pin 18 is GPIO 24.

For a second set of transceivers, you can consider GPIO 17 and 18 as COS & PTT for those.

A copy of the design for an interface can be found on g4nab.co.uk. There is also a link to a web page showing the modification instructions for a CM-108 USB Sound Card.

The programming of the SDCard

As discussed, start with a download of Raspberry OS Bookworm Lite from RaspberryPi.org. Use a 8 or 16 GB MicroSD Card and transfer the image to the card, best using the Raspberry Pi Image builder from the same source.

You MUST make the user 'pi' - PLEASE DO NOT DEVIATE from this advice, as you will get issues. You can however use your own password. There are versions of Raspberry Pi Imager for all operating systems. It allows for full WiFi usage. Do not forget the SSH tab in 'Services'.

In the first box device select 'No Filtering'

In the second box Choose OS select 'Raspberry Pi OS (Other)' then 'Raspberry Pi Os 32 Bit' under which you will see 'Debian Bookworm with no desktop environment'. Select this

Now select Choose Storage where you will be invited to select the sdcard.

In Next Complete the 'edit' box, but pi must be the user. If this is not correct, then your install will fail. You can have any password you like.

You can set your Wi-Fi settings here if your wish.

Always check the SSH box on the second tab of the next box, otherwise that will also cause your installation to fail. you can use a password or set a key if you wish.

Once complete, eject the card and install it in the raspberry pi and power it up. Enter the user pi and your password.

The Build

Do Not update/upgrade the system at this stage.

This script will install a dummy sound card for the use of Darkice and Icecast2.

Step 1: sudo apt install -y git as without this you cannot download from the GitHub.

Step 2: sudo git clone https://github.com/f5vmr/svxlinkbuilder.git .

Step 3: At the prompt type ./svxlinkbuilder/preinstall.sh

You need no input at this stage, until the system shutsdown for a reboot. It will take a while to complete - 20 - 30 minutes.

Step 4: Login again and at the prompt type ./svxlinkbuilder/install.sh

Here you will be required to respond to a number of questions in the menu.

They will guide you through the installation, all the way to run-time.

You will need to know before you begin

1. The status of your transceiver, whether the PTT and COS are Active High or Active Low.

2. The status and type of your USB soundcard, modified, partly modified or unmodified. With a fully modified usb soundcard, there is no reason that would prevent this installation on another Linux based computer running Debian 12. It has to be Debian 12, or some of the features will fail.

3. Decide The callsign of your node.

Do not use additional symbols or numbers at this stage. The callsign should be of standard notation.

4. If you have decided to install EchoLink, then have ready your registration information.

5. If you wish to use ModuleMetarInfo, the Airport Weather application, then read about the ICAO codes, and discover the major airports around you. It will not work for airports that do not provide a weather service in real time.

6. If you wish to explore the ModulePropagationMonitor, then this can be installed later.

Remember note everything down before you proceed.

Everything else will be constructed for you

Beginning the install

The script will compile the running configuration as you proceed. It can only be run once, due to the nature of the program.

Allow yourself an uninterupted period of 30 minutes, to answer the questions put to you, and the accompanying install.

A Raspberry Pi 3 or 4 will take less time, and a Raspberry Pi zero possibly slightly longer. However the Raspberry Pi Zero will present a challenge due to the lack of an external USB socket.

I have NOT included the installation of the waveshare sound system, if you are using a Pi-Hat interface.

Hopefully there should be no reported error. I have just completed a build on a raspberry pi 3A from card format to working node in about 25 minutes, with no errors.

For the American User, the en_US Voice files will be pulled if you select 'English - USA' from the menu.

I hope that there will be someone out there that can add to the code for Portuguese.

During the compilation, you will be notified of the Active IP Address of your node. Make a note of it. You will need it to proceed.

At the end of the compilation, the system will ready to use. You may now 'exit' the terminal.

The next step will be to open an internet browser such as 'Chrome' or 'Firefox' and type in the IP Address and enter. The dashboard will be displayed. If your USB soundcard is flashing then the node should be fully operational.

Troubleshooting

You will need to understand the svxlink.conf file and how to make adjustments for Simplex or Repeater operation. In any case you may need to refer to the svxlink.org main page, or svxlink amateur radio users page on facebook, or contact me. For further information also consult the svxlink pages on g4nab.co.uk. In the terminal, type 'man svxlink.conf' and the on-board documentation will be displayed.

To stop svxlink running type in the terminal sudo systemctl stop svxlink.service and to restart it type sudo systemctl restart svxlink.service You can also do this if authorised in the Dashboard at the POWER menu. You do not need to reboot the system at any time.

If you wish to modify the Svxlink.conf, EchoLink, MetarInfo and NodeInfo files, you can do so, if authorised, from the dashboard. Saving the changes immediately restarts the svxlink with the new setting, with the new changes show after a click on the button in the dashboard.

Be careful whilst editing, as to change the structure, can cause the node to fail. However a copy of the last working configuration can be found in the /var/www/html/backups folder with a time and date.

To obtain information for the node_info.json go to a PC Browser and enter http://svxportal-uk.ddns.net:81 where you will find a dashboard.

Click Register at the top, completing the information. This information is held only to enable you to complete the next stage. Log in with the information you have just supplied, click on My Stations, and click on Generate node_info.json

By completing all the information, ignoring any reference to CTCSS at this time, this will generate a file called node_info.json. Save it in a location in your computer. You can copy and paste from it later to the file in the node.

Open the terminal of the Raspberry Pi, and type cd /etc/svxlink followed by return. Then type sudo nano node_info.json and edit the information with the content of the file you have just saved on your PC. You can open the file with a text editor or notepad.

In the Raspberry Terminal or in the Dashboard if you have opened the NodeInfo file there, and delete all the contents. Go to the Notepad or text Editor and select all the text there, and copy (cntrl-c). Highlight the terminal (or the dashboard window) and paste (cntrl-v).

When the editing is complete type cntrl-o and return at the keyboard for the terminal followed by cntrl-x.

In the Dashboard, simply use the save button. The new information will be saved to the file in the node.

Check the content and importantly complete your location information near the bottom of the file. type cntrl-o and return then cntrl-x when finished to save your changes.

If you have not yet enabled Echolink in the svxlink.conf to may need to do this now, and remove the # comment header from the relevant lines simply by clicking on the check box. You can do this in the Svxlink Configurator

The restart of the svxlink.service is automatic on saving changes.

Do not make changes to the gpio.conf. The old methods of adding the gpio configuration and setting a daemon start in /etc/rc.local are deprecated (no longer required). We are using GPIOD or udev and they are set in the menus.

EchoLink

To modify the Echolink information, you can make your changes to your EchoLink Configurator here. then save the file as you did above with svxlink.conf.

The usual rules apply with the outgoing ports for your RaspberryPi IP address set in the Router to which you are connected

You can only have one EchoLink set up on your own home IP Address.

You will need to set up the callsign and password with which you registered in EchoLink.

If you did not set up EchoLink during the building phase, then you can add it the MODULES= line in the [SimplexLogic] section of the Svxlink Configurator and you must include ModuleEchoLink within the line. For the Repeater user the same will apply except the MODULES= line will be in [RepeaterLogic]

Finally the important step is to set the correct level of audio. This is now set using amixer in the menu at the top.

Alsamixer cannot be used by the dashboard so instead we address the amixer directly.

For best results, set 'Loudspeaker' to around 75, 'Mic' as 0 'Mic with Capture' at 19-38 and 'Autogain' should be 'OFF'. Simply adjust the values in the Configurator.

'Loudspeaker' is your transmitter volume, and 'Mic with capture' is the volume from the receiver. It is a little contra-intuitive.

Have an interesting day

73 - Chris G4NAB

Everything introduced here is directly from the original presentation by Tobias SM0SVX.