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.
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.
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.
Courtesy of K1RA Power point
Sys Op Mode
The Ham communicates between PC and transreceiver. There are 2 modes: simplex and Repeater.
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 .
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.
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
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.
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
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.
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 Ω.
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.
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.
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.
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.
Port Forwarding setup (for reference)
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.
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.
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 .
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
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.
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 Character | 2 = A B C | 3 = D E F |
4 = G H I | 5 = J K L | 6 = M N O |
7 = P Q R S | 8 = T U V | 9 = 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*#
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.
56 Responses to Life of RPi, using svxlink as Echolink node in RPi