Life of RPi, using svxlink as Echolink node in RPi

 

A new article introduces svxlink 14.08.1 as an Echolink node was uploaded. Please click: Here for detail.

 

This article is the English Edition of my Blog article, hope to share my experience to the ham all over the world.

image

 

What is Echolink

Simply to say, the Echolink via the Internet connection across the world to link up the ham radio station together. The technology used on Internet connection is VoIP, and the reset is the traditional method.

 

image

Topology of Echolink network (courtesy of K1RA Power point)

 

The mode of Echolink operation:

PC to PC

The ham use the Echolink software installed on the PC to communicate to each other.

image

Courtesy of K1RA Power point

Sys Op Mode

The Ham communicates between PC and transreceiver. There are 2 modes: simplex and Repeater.

image

Courtesy of K1RA Power point

Simplex Link

An Echolink user connected to a node via Internet connection, and a ham operator connect the same node though the air. The simplex node callsign format is Callsign-L .

image

Courtesy of K1RA Power point

Repeater Link

It similar to simplex link, and the node was connected to a repeater. The format of the repeater node is Callsign-R.

image

Courtesy of K1RA Power point

There are a few articles to describe how to use Raspberry Pi as an echolink server. A valuable article is from German magazine. But some of the information not details enough. Now I describe the procedure.

Hardware requirement:

  • Raspberry Pi which removed the USB port protection fuse, or later ver 1.0, or ver2.0 .
  • A USB Sound card, not all the USB sound card are compatible
  • USB to RS232 cord, the chip inside is PL2032
  • Sound Modem, the one used for APRS signal handling, but I modify some value to optimize the performance.
  • USB Hub, The RPi equipped 2 USB port only, so we need add a Hub
  • USB Keyboard, for command enter

Software Requirement:

The Audio setting of Raspberry Pi

When install the OS (16-dec-2012), It install the PulseAudio as the Audio driver. However, it is NOT compatible with the one we use which named alsamixer. Please remove the PulseAudio by the following command:

sudo apt-get purge pulseaudio gstreamer0.10-pulseaudio pulseaudio-utils

image

If you see the warning message, you should remove the PulseAudio

Please reboot after the removal, the warning message should disappear.

 

Echolink software used in RPi: Svxlink, a free open source program.

 

Introduction of svxlink

Svxlink is a ham ware used under Linux environment. It designed in modular bias.

It mainly used on repeater control and it also support multi transceiver. The module we used here is the Echolink.

The features of the Echolink module:

  • Echolink contact by voice & text mode
  • Support APRS map, the format of the Echolink station is EL-yourcallsign
  • Software decodes DTMF signals & PL tone, no need extra hardware
  • No more CW, use human voice to report station callsign, PL tone and time reporting every 15min.
  • Support Echolink enabled repeater

 

Let’s register the Echolink service

If you got an Android phone, I propose you download the Echolink app & process the validation first; we need it for the future testing. If you consider setup an Echolink node, please also registry callsign-L. Please be remind that the validation process was completed before your echolink node test.

Reminder on the Hardware used:

I got 2 USB Sound Card.

image

 

The blue is an old one which used few years ago for the APRS test. And the black one was bought recently.

Test result shows that the blue one is not compatible with RPi. The volume of the MIC of the alsamixer will always reset to 0 and mute after run svxlink.

But the black one is OK.

Sound Modem

image

Courtesy of VE3ELB Website

Although information from web mentioned the 600Ω : 600Ω Audio isolation Transformer suitable on vehicle /Desktop transceiver, Handheld should consider the speaker impedance matching issue. However, my test shown the result of using 600Ω or 32Ω : 1200Ω (ST-32) is similar.

image

In order to reduce components type, Both TX/ RX Audio use 600Ω : 600Ω.

Please be remind that the resistance of 600Ω audio transformer primary and secondary are different. For primary, the resistance should around 51 Ω. For secondary, the resistance should around 70 Ω.

image

Echolink connection Diagram

 

The installation of svxlink

Before the installation, please plug in all the related hardware to the RPi.

Step 1

Updated the OS & library to latest by the following commands:

sudo apt-get update && sudo apt-get upgrade

Please reboot afterward. If you are upgrade from an older version. The PulseAudio may be installed. Please remove it.

Step 2

Please install the prerequisite file, ensure no typo of the commands:

sudo apt-get install g++ make libsigc++-1.2-dev libgsm1-dev libpopt-dev tcl8.5-dev libgcrypt-dev libspeex-dev libasound2-dev alsa-utils libqt4-dev

Step 3

Download the svxlink, the latest version is 11.11.1, commands:

sudo wget http://sourceforge.net/projects/svxlink/files/svxlink/11.11/svxlink-11.11.1.tar.gz

Step 4

Untar the svxlink file

tar xvzf svxlink-11.11.1.tar.gz

Then enter the folder, and compile the svxlink

cd svxlink-11.11.1

sudo make

If the installation of the prerequisite files is correct, this step should process at least 30min. if it complete around several minutes, it means the installation of the prerequisite files was incorrect. You should delete the svxlink folder, and re-install the prerequisite files again.

If compile files are OK, now we install by the following command:

sudo make install

The installation of svxlink was complete.

 

Installation of the sound clips files

As mention above, svxlink provides voice announcement for callsign, time, PL tone information. The sound clips files have 2 versions: 8k and 16k. We use 8k because RPi did not compatible to 16k.

Download the sound clips by the following command:

wget http://sourceforge.net/projects/svxlink/files/sounds/11.11/sounds-en_US-heather-11.11.tar.bz2

Untar the file to folder:

tar -jxvf sounds-en_US-heather-11.11.tar.bz2

Build up the destination folder:

sudo mkdir –p /usr/share/svxlink/sounds/en_US

Enter the folder, and copy all the contents to the destination folder:

cd en_US-heather-11.11

sudo cp –r * /usr/share/svxlink/sounds/en_US

The installation of sound clips files complete.

 

Edit configuration files

We need edit the following files:

/etc/modprobe.d/alsa-base.conf

/etc/svxlink/svxlink.d/ModuleEchoLink.conf

/etc/svxlink/svxlink.conf

/etc/asound.conf

 

Edit the file alsa-base.conf, command:

sudo nano /etc/modprobe.d/alsa-base.conf

options snd-usb-audio index=-2 Please change the value from -2 to 0

Press ctrl + x save & quit the editor.

 

Edit the file ModuleEchoLink.conf, commands:

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

#ALLOW_IP=192.168.1.0/24 Remove the #

CALLSIGN=yourcallsign-L Enter your callsign with –L prefix

PASSWORD=your_password Enter your password

SYSOPNAME=VR2XKP Your callsign for the echolink list

LOCATION= 144.640MHz, Hong Kong Brief describe your location

 

The following description used to describe your equipment:

DESCRIPTION=”You have connected to a SvxLink node,\n”

“a voice services system for Linux with EchoLink\n”

“support.\n”

“Check out http://svxlink.sf.net/ for more info\n”

“\n”

“QTH: Hong Kong\n”

“QRG: Simplex link on 144.640 MHz\n”

“CTCSS: 110.9Hz \n”

“Trx: FT-51R\n”

“Antenna: Ducky\n”

Press ctrl + x save & quit the editor.

 

Edit the file svxlink.conf by the following command:

sudo nano /etc/svxlink/svxlink.conf

We need handle the section: [GLOBAL][SimplexLogic][Rx1][Tx1][LocationInfo]

[GLOBAL]

LOCATION_INFO=LocationInfo   If your decide to display your echolink node in APRS.fi, your need change it to LocationInfo

[SimplexLogic]

MODULES=ModuleEchoLink The module used is “ModuleEchoLink”, you may remove the rest modules

CALLSIGN=VR2XKP      Please input your callsign

[Rx1]

AUDIO_DEV=alsa:plughw:0 The AUDIO_DEV change to 0 for the USB sound card

SQL_DET=VOX     Set to VOX

SERIAL_PORT=/dev/ttyUSB0       Set to value for the USB to RS232 cord

[Tx1]

AUDIO_DEV=alsa:plughw:0   The AUDIO_DEV change to 0 for the USB sound card

PTT_PORT=/dev/ttyUSB0       set to value for the USB to RS232 cord

[LocationInfo]

APRS_SERVER_LIST=rotate.aprs.net:14580      Update the server list to to rotate type

CALLSIGN=EL-YourCallSign         Input your callsign shown on aprs.fi, format is EL-YourCallSign

Press ctrl + x save & quit the editor.

 

Please be reminding that the SQL_DET should set to VOX, not CTCSS. It is because the audio isolation transformer ‘s frequency response is starting from 200-300Hz which higher than the tone used locally.

If want to use CTCSS detection, you may need direct connection method for the HT & sound card. However, I do not recommend use this method for long term operation. And the sound quality was poor than audio transformer.

 

image

Courtesy of www.svxlink.de

Edit the file asound.conf by the following command:

sudo nano asound.conf

pcm.mmap0 {

type mmap_emul;

slave {

pcm “hw:0,0”;

}

}

Add # to disable the following rows:

#pcm.!default {

# type plug;

# slave {

# pcm mmap0;

# }

#}

And add the following code to the bottom:

pcm.lowrec {

type plug

slave {

pcm “hw:1,0”

}

}

Press ctrl + x save & quit the editor.

 

All the configuration & setup was completed, please reboot your system.

 

The setup of your broadband router

The FAQ of the Echolink official site mentioned TCP port 5200, UDP 5198,5199 should be open.

If those ports was closed, the other cannot connect your node via internet.

image

 

To test does your home’s network setup to fulfill Echolink requirements, please install Echolink client software to your computer at home. Run it after installation, then Tools => Firewall / RouterTest.

image

image

The above test result shown that UDP protocol was unsucessful, while TCP is OK.

Login to the BB router, Enter the Port forwarding section, forwarding the Port 5198,5199 UDP packets to your RPi’s IP address.

image

Port Forwarding setup (for reference)

 

image

Virtual Server setup (for reference)

Also register the RPi’s IP address for the virtual server.

 

System tuning

For the RPi audio volume setup, please enter the following command:

alsamixer

The default setting of the MIC was mute & volume is 0. Use Tab to select the mic, and then press m button. It will unmute the Microphone input. Use upper arrow key to increase it’s volume to the same level of speaker. Then press ESC save & exit.

image

 

image

 

Adjustment the VR of the sound modem

According my testing result, the sound card to Handheld side use the default value (middle) is OK. For the input side, we need enter svxlink to tune the VR value.

Please enter command svxlink to enter the program, key the PTT on the handheld, if the screen shows “Distorsion detected! Please lower the Input volume “, adjust the VR to the GND side slowly. Retry until the message did not show.

image

The adjustment was complete. We can trial run now.

 

Trial Run

We can run svxlink in 2 ways:

Enter command: svxlink. It will shown detail operation status. It suitable for the new beginner.

Enter svxlink –daemon. It runs the program on daemon.

We enter svxlink to start the trail run. It will prompt to login echolink server. As we activated the location info feature, you will see your station in aprs.fi .

image

When press * in the handheld, the echolink node will play your callsign, PL tone message.

If the above step was success, Please press 9999# to login the Echolink Testing server. It used to simulate the situation of QSO, it is a sound recorder, and will replay your voice afterward your release the PTT a while. The QSO status will be shown on the message detail of your station in aprs.fi

image

Please be reminding that the DTMF is software decoding, so do not enter the key too fast. If svxlink success decodes the key, the corresponded key will be display on the screen. If your handheld do not equipped with DTMF feature, you may direct enter the key by your USB keyboard.

After the Echolink test, please press # logout the server. You may launch your node for production.

Problem found in the production phase

It founds the svxlink will not respond after run 6 – 17 hours, the RPi hang up, all the LED light, not flash as usual. You may also found your station disappear in the aprs.fi map.

I used a RPi ver2.0 which RAM size was doubled to proceed test again, the operating time increase to 2-3 days and then hangup, too. So far I cannot find any solution to fix it.

 

Experience sharing to use svxlink as an Echolink Node

It always found the svxlink cannot login to the Echolink server successfully on the first time, it prompt it need wait several minutes. If you do not want to wait; simply reboot the RPi and run svxlink again, it always success to do so on second time.

image

There are 2 ways to contact with Echolink node. The first is entering the destination node number, and the other one is enter the callsign.

The Callsign is combined by DTMF signal according the following table.

1 = Other Character2 = A B C3 = D E F
4 = G H I5 = J K L6 = M N O
7 = P Q R S 8 = T U V9 = W X Y Z
* = Start / Wildcard# = End

If there are one more callsign according the DTMF combination, it will shows in a list

Here are some examples:

Example 1:

If want talk to node No. 788906 (VR2XKP), please enter:

*649118#

Example 2:

If want search local (VR2) online echolink station, please enter:

6*872*#

image

 

Example 3:

Want to QSO with VR2VOI-L, please enter:

6 *87286415#

As the DTMF combination of VR2VOI-L and VR2UNG-L is identical, if both of them are online, svxlink will list their callsign. You can press 1 or 2 to select talk to whom.

Here is my demo in YouTube:

 

Conclusion

Although the svxlink cannot operate in RPi for long term, but it should be the cheapest costs to play echolink.

As the OS of RPi always release update version, I hope the problem will be solve soon.

This entry was posted in English Articles and tagged , . Bookmark the permalink.

56 Responses to Life of RPi, using svxlink as Echolink node in RPi

  1. administrator says: