SvxLink Beginners Guide: Difference between revisions
Line 177: | Line 177: | ||
For a Raspberry (Raspbian) version go to: | For a Raspberry (Raspbian) version go to: | ||
New install: | |||
<pre> | |||
sudo git clone -b tetra-contrib https://github.com/dl1hrc/svxlink | |||
cd svxlink | |||
sudo apt-get update | |||
sudo apt-get upgrade | |||
sudo apt-get -yq install gcc g++ make cmake | |||
sudo apt-get -yq install libgcrypt-dev libgsm1-dev libsigc++-2.0-dev tcl-dev | |||
sudo apt-get -yq install libspeex-dev libasound2-dev libpopt-dev libssl-dev | |||
sudo apt-get -yq install libopus-dev groff libcurl4- | |||
sudo apt-get -yq install openssl-dev | |||
sudo apt-get -yq install git mc libjsoncpp-dev doxygen | |||
sudo apt-get -yq install ligpiod-dev gpiod | |||
sudo adduser svxlink | |||
sudo usermod -a -G daemon svxlink | |||
cd src | |||
sudo mkdir build | |||
cd build | |||
sudo cmake -DUSE_QT=OFF -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONF_INSTALL_DIR=/etc - DLOCAL_STATE_DIR=/var -DCMAKE_BUILD_TYPE=Release -DWITH_CONTRIB_TETRA_LOGIC=ON .. | |||
sudo make | |||
sudo make doc | |||
sudo ldconfig | |||
sudo make install | |||
sudo chmod -R 777 /var/spool/svxlink/voice_mail | |||
</pre> | |||
Add "dwc_otg.fiq_split_enable = 0" at the end of the line in: | |||
<pre> | |||
sudo nano /boot/cmdline.txt | |||
</pre> | |||
Add the line snd-usb-audio in: | |||
<pre> | |||
/etc/modules | |||
</pre> | |||
Modify | |||
<pre> | |||
/lib/modprobe.d/aliases.conf | |||
</pre> | |||
and change: | |||
<pre> | |||
snd-usb-audio index from -2 to 0 | |||
<pre> | |||
Add at the end of the file options | |||
<pre> | |||
snd-usb-audio nrpacks=1 | |||
</pre> | |||
<pre> | |||
sudo reboot | |||
</pre> | |||
Test Sound Card is connected: | |||
<pre> | |||
lsusb | |||
</pre> | |||
<pre> | |||
arecord –l | |||
</pre> | |||
<pre> | |||
aplay -l | |||
</pre> | |||
All the configuration (except modules) is in the file | |||
<pre> | |||
/etc/svxlink/svxlink.conf | |||
</pre> | |||
== Update Svxlink to the latest version == | == Update Svxlink to the latest version == |
Revision as of 15:43, 6 February 2023
Introduction
Terestrial Trunked Radio (TETRA)
Terrestrial Trunked Radio (TETRA) is a four slot TDMA radio technology that fits in a standard 25khz channel. It supports voice, text, and data from up to four talkers (called terminals) simultaneously. It even supports phone calls bridged to the public switched telephone network (think private autopatch). The audio codec is patented, but the code is open source... so experimentation is at least technically possible. Some of the designed applications are public service, emergency response, and railroads. It is very popular in Europe and South America.
Some of it's cooler features include a "gateway" mode, where if one radio can't reach the infrastructure (repeater), but it can communicate with a radio that can, the radio in the middle can act as a bridge. Similarly, the radios can act as virtual repeaters in the total lack of any infrastructure at all: you can talk simplex to any radio you can hear, and through it, any radio it can hear, etc. Imagine being at an event with no repeater coverage, but being able to have a self expanding network of radios on a simplex network.
Here I will explain using DMO mode only, as TMO very expensive.
How to
There are two options, if you are located in an area with repeater/node coverage you only need a TETRA radio. I there is no repeater/node in your area you can setup one an link it to the TETRA Mexico network.
To use an existing repeater you will need:
- 01 TETRA Radio 430-440 MHz.
- Programming periferials (PC, cable, CPS, etc).
Radio Programming
To access the TETRA Mexico radio network you will need to program your radio as follows:
Subscriber Unit Parameters
- Radio ISSI = 1234567 (request your ID from tetraid.wodielite.com)
DMO Parameters>DMO Group Call Timers
- DMO Reservation Time, sec = 1
DMO Parameters>DMO Address Extension
- MCC 901
- MNC 16383
TalkGroups>DMO>DMO Folders List
DMO Folders List | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Name | Status | Transmision Timeout Timer, sec | Transmision Timeout Warning Timer, sec | Number of Talkgroups in Range | Receive Only | |||||||||||
DMO Ham | On | 120 | 110 | 2 |
En la sección Talk Groups>DMO>DMO Talkgroup List necesitarás programar dos canales con la frecuencia del repetidor/nodo que utilizarás.
DMO Talkgroup List | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Name | ID | Status | DMO Folder List | Communication type | Gateway Selection | Gateway Address | Frequency Channel | Receive Call to DMO Partnership Networks | Network MCC | Network MNC | TMO Mapping | Key Group | Incoming Call Minimum Security Class | Outing Call Security Class | Status/Alarm/Addressing | GPS LIP Addressing |
Channel 1 | 1 | Programmed | 1:DMO Ham | Direct | None | 433.650 | User Defined | 901 | 16383 | NO_KG | Security Class 1 | Security Class 1 | None | None | ||
Channel 2 | 1 | Programmed | 1:DMO Ham | Repeater | None | 433.650 | User Defined | 901 | 16383 | NO_KG | Security Class 1 | Security Class 1 | None | None |
Data Services>Status ID List
Add the following messages to the table. These messages will allow you to connect and disconnect from different Reflectors or Nodes.
GPS>GPS Settings>GPS
If your radio have a GPS, you can program it. Remember to use LIP, as it it the supported protocol.
- GPS>GPS Settings>GPS Location Protocol = LIP
- GPS>LIP Configuration/Destination ISSI = 9999
Regresar a Radioafición en Español
Linking to a Reflector
To link a Repeater/Node to a reflector, on your radio press Menu then Messages then Send Status, select the Reflector/Node you want to connect and send a Group Message.
Here is a link to the nodes dashboard.
Programming a Repeater/Node
If you want to set up your own Repeater/Node, you will need the following stuff:
- 01 Motorola MTM800e or MTM5400 for 430-440 MHz (Gateway).
- 01 Raspberry Pi 2B or 3B with PSU, etc.
- 01 FTDI cable for 3.3 Volts RS232 to USB.
- 01 URIxB interface or Signalink or R1 2020.
- 01 UHF antenna with cable, etc.
- 01 12 Volts PSU
- 01 Micro SD card with at least 8 Gb.
- Internet.
- Programming periferials (PC, cable, CPS, etc).
Request a Password for your Node
Entra al siguiente link y solicita una cuenta para solicitar una cuenta nueva para accesar al reflector.
La respuesta te llegará en unas 24 horas.
Download SVXLink
For a Raspberry (Raspbian) version go to:
New install:
sudo git clone -b tetra-contrib https://github.com/dl1hrc/svxlink cd svxlink sudo apt-get update sudo apt-get upgrade sudo apt-get -yq install gcc g++ make cmake sudo apt-get -yq install libgcrypt-dev libgsm1-dev libsigc++-2.0-dev tcl-dev sudo apt-get -yq install libspeex-dev libasound2-dev libpopt-dev libssl-dev sudo apt-get -yq install libopus-dev groff libcurl4- sudo apt-get -yq install openssl-dev sudo apt-get -yq install git mc libjsoncpp-dev doxygen sudo apt-get -yq install ligpiod-dev gpiod sudo adduser svxlink sudo usermod -a -G daemon svxlink cd src sudo mkdir build cd build sudo cmake -DUSE_QT=OFF -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONF_INSTALL_DIR=/etc - DLOCAL_STATE_DIR=/var -DCMAKE_BUILD_TYPE=Release -DWITH_CONTRIB_TETRA_LOGIC=ON .. sudo make sudo make doc sudo ldconfig sudo make install sudo chmod -R 777 /var/spool/svxlink/voice_mail
Add "dwc_otg.fiq_split_enable = 0" at the end of the line in:
sudo nano /boot/cmdline.txt
Add the line snd-usb-audio in:
/etc/modules
Modify
/lib/modprobe.d/aliases.conf
and change:
snd-usb-audio index from -2 to 0 <pre> Add at the end of the file options <pre> snd-usb-audio nrpacks=1
sudo reboot
Test Sound Card is connected:
lsusb
arecord –l
aplay -l
All the configuration (except modules) is in the file
/etc/svxlink/svxlink.conf
Update Svxlink to the latest version
Login to your Raspberry and run the following commands:
sudo systemctl stop svxlink cd /home/pi/svxlink/src/build sudo git pull sudo make install sudo systemctl start svxlink
Configure SVXLink
You will need to edit the svxlink.conf file as follows
nano /etc/svxlink/svxlink.conf
Global
If you are using a R1 2020 change te value to 2, if not, leave it as 1.
CARD_CHANNELS=1
ReflectorLogic
HOST=dashboard.vktetra.com
Replace your YourCallSign with your callsign.
CALLSIGN="YourCallSign-L"
Add your ReflectorPasswordHere
AUTH_KEY="ReflectorPasswordHere"
TetraLogic
Replace your YourCallSign with your callsign.
CALLSIGN=YourCallsign
Replace your YourCallSign with your callsign.
APRSPATH=APRS,qAR,YourCallsign-10:
SdsOnUserActivity
Replace your YourCallSign with your callsign.
0=Hello from YourCallSign-L! Refer to vktetra.com for more info.
Tetra_Users
Replace your YourCallSign with your callsign.
0901163830YourRadioISSI=YourCallsign-1,YourName,/1,Tetra DMO Your Gateway Frequency vktetra.com
LocationInfo
Replace 33.12.12S with your Lat using degreens.minutes.seconds
LAT_POSITION=33.12.12S
Replace 151.12.45E with your Long using degrees.minutes.seconds
LON_POSITION=151.12.45E
Replace your YourCallSign with your callsign.
CALLSIGN=EL-YourCallSign
Replace Your Frequency with the one you will be using on your Gateway, i.e. 433.650
FREQUENCY=Your Frequency
Replace Your Suburb with your suburb’s name.
COMMENT=TETRA DMO - Your Suburb Your Gateway Frequency vktetra.com
To save changes press <CTRL> + <X> followed by <Y> and then <Enter>.
Restart to apply all changes.
sudo reboot
Linking you Raspberry to the radio
You will ned to use the rear accessory port.
For the MTM800 the RAP is a 20 pin header.
MTM800 | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PTT | Pin 3 | |||||||||||||
Tx audio | Pin 5 | |||||||||||||
Analog Ground | Pin 7 | |||||||||||||
Rx audio | Pin 11 |
For the MTM5400 the RAP is a 26 pin header.
MTM5400 | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Digital Gnd | Pin 16 | |||||||||||||
PTT | Pin 17 | |||||||||||||
Tx Audio | Pin 11 | |||||||||||||
Analog Ground | Pin 12 | |||||||||||||
Rx Audio | Pin 14 | |||||||||||||
RXD (serial) | Pin 20 | |||||||||||||
TXD (serial) | Pin 25 |
Programming the Repeater/Node radio
Subscriber Unit Parameters
- Radio ISSI = 9999
DMO Parameters>DMO Group Call Timers
- DMO Reservation Time, sec = 1
DMO Parameters>DMO Address Extension
- MCC 901
- MNC 16383
TalkGroups>DMO>DMO Folders List
DMO Folders List | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Name | Status | Transmision Timeout Timer, sec | Transmision Timeout Warning Timer, sec | Number of Talkgroups in Range | Receive Only | |||||||||
DMO Ham | On | 120 | 110 | 1 |
Talk Groups>DMO>DMO Talkgroup List
Type the frequency you will be using.
DMO Talkgroup List | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Name | ID | Status | DMO Folder List | Communication type | Gateway Selection | Gateway Address | Frequency Channel | Receive Call to DMO Partnership Networks | Network MCC | Network MNC | TMO Mapping | Key Group | Incoming Call Minimum Security Class | Outing Call Security Class | Status/Alarm/Addressing | GPS LIP Addressing |
Repetidor | 1 | Programmed | 1:DMO Ham | Repeater | None | 433.650 | User Defined | 901 | 16383 | NO_KG | Security Class 1 | Security Class 1 | None | None |
DMO Repeater Mode
This is a work in progress...
If you are going to use your MTM5400 in DMO Repeater mode is used, you must use the wired PTT via raspberry Pi GPIO 16 and modify the Tx section accordingly, it is not possible to use the PEI interface to key the transmitter on when a broadcast from the network needs to be transmitted by the MTM5x00.
Wired PTT via GPIO16 and modify the Tx section accordingly.
TBD
Install Phyton Serial
sudo apt-get install python-serial
sudo nano /home/pi/serial_write-CR.py
#!/usr/bin/env python import serial ser = serial.Serial(port='/dev/ttyUSB0', baudrate=9600, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS, timeout=1 ) ser.write(13) ser.close
sudo chmod +x /home/pi/serial_write-CR.py
Test with
/home/pi/serial_write-CR.py
You will need to edit the rc.local file:
sudo nano /etc/rc.local
Add the following lines to the file:
#!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. # Print the IP address _IP=$(hostname -I) || true if [ "$_IP" ]; then printf "My IP address is %s\n" "$_IP" fi # GPIO 16 = PTT echo "16" >/sys/class/gpio/export sleep 1 echo "out" >/sys/class/gpio/gpio16/direction sleep 1 echo 1 >/sys/class/gpio/gpio16/value; # GPIO 19 = SQL echo "19" >/sys/class/gpio/export sleep 1 echo "in" >/sys/class/gpio/gpio19/direction # GPIO 18 = Utility echo "18" >/sys/class/gpio/export sleep 1 echo "out" >/sys/class/gpio/gpio18/direction # GPIO 23 = Stop button directly handling in python script. # Clears the MTM buffer by sending a CR # /home/pi/serial_write-CR.py (…) exit 0
Press <CTRL> + <X> then <Y> and last <Enter>.
sudo nano /usr/share/svxlink/events.d/TetraLogic.tcl
# Executed each time the squelch is opened or closed # proc squelch_open {rx_id is_open} { Logic::squelch_open $rx_id $is_open; puts "Le squelch change: $is_open"; if {$is_open==0} { exec echo 0 >sudo /sys/class/gpio/gpio18/value; } if {$is_open==1} { exec echo 1 >sudo /sys/class/gpio/gpio18/value; } }
Test Serial Port
sudo apt-get install minicom minicom -b 9600 -o -D /dev/ttyUSB0
Restart to apply changes.
sudo reboot
Audio leveling
On the command line type:
sudo alsamixer
Choose your external sound card (the one you qre using to talk to the radio). Adjust the input and output levels. For that, you can use the Parrot Reflector 9990.
Finally, save your audio change with the following command:
sudo alsactl store 0
Connecting to Echolink (optional)
Run the following commands, watch the upper case and lowercase “L” on Echolink word.
sudo mv /usr/lib/arm-linux-gnueabihf/svxlink/ModuleEchoLink.so /usr/lib/arm-linux-gnueabihf/svxlink/ModuleModuleEcholink.so sudo cp /etc/svxlink/svxlink.d/ModuleEchoLink.conf /etc/svxlink/svxlink.d/ModuleEcholink.conf
Edit the following file with your Echolink information.
sudo nano /etc/svxlink/svxlink.d/ModuleEcholink.conf
Notice that the first line need to be modified as follows (watch the “l” on Echolink.
[ModuleEcholink]
Edit the following lines with your Echolink account information.
if 0 then Echolink transmits to the gateway otherwise no!
MUTE_LOGIC_LINKING=0
CALLSIGN=MYCALL PASSWORD=Password SYSOPNAME=Tu Nombre LOCATION=[Svx] Frecuencia, Ciudad 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: My_QTH\n" "QRG: Simplex link on 433.650 MHz\n" "CTCSS: 901-16383\n" "Trx: TETRA DMO\n" "Antenna: Comet/Omni/GP-3\n"
Press <CTRL> + <X> then <Y> and last <Enter>.
Restart to apply changes.
sudo reboot