¿ªÔÆÌåÓý

ctrl + shift + ? for shortcuts
© 2025 Groups.io

Qradiolink for Fedora

 

Hello everyone!

I have not been able to find an installation package for Fedora so I have decided to create and maintain the installer in Copr

For those interested:


Re: QRadioLink connect to SVXReflector /SVXLink network

SP2ONG Waldek
 

Hi Adrian,

OK no problem

Thanks for info

73 Waldek


Re: QRadioLink connect to SVXReflector /SVXLink network

 

However, if it helps you, I've pushed a small temporary change for the UDP
client here: on branch next.
Hi Waldek,

Actually, please don't use that commit. It is very stupid and will not work,
because it also tries to bind and listen to the remote IP address.
I will write something that actually works when I have some time, hopefully
sometimes this week.

Adrian


Re: QRadioLink connect to SVXReflector /SVXLink network

SP2ONG Waldek
 

Hi Adrian,

Yes Orange Pi Zero has not enough memory to run QRadioLink , maybe when we use Orange Pi Zero 3 with 2 or 4Gb RAM and OZPI Zero v3 has faster CPU it is possible run QradioLink but I use Orange Pi Zero v1.x which has 512 Mb RAM is not good for QRadioLink for this reason I am looking to connect audio svxlink via UDP across network :-)

73 Waldek


Re: QRadioLink connect to SVXReflector /SVXLink network

 

On Sunday, 17 September 2023 09:31:18 EEST you wrote:
Hi Adrian,

Nothing, or rather the fact that I have my FM hotspot permanently running on
Orange Pi Zero, which runs svxlink connected to FM POLND (
), so I decided that since I already have svxlink,
it would be enough to add audio support to it via UDP and connect it to
QRadioLink
I understand. It would be interesting to try to run qradiolink on the Orange
Pi zero. There is an USB 2.0 port, the CPU seems powerful enough, the only
possible problem could be the amount of memory. I've never tried to run it on
such a small board, but it is possible by starting in headless mode, where
none of the GUI stuff will use up CPU.
If you do try that, let me know how it works, I might use the information in
future efficiency optimizations.

Otherwise, if you build now the "next" branch on codeberg, the IP address of
the VOIP server is used for UDP networking too. Good luck and let me know how
it goes. I currently run it on the Rolink network and the performance seems
ok.

Best regards,
Adrian


Re: QRadioLink connect to SVXReflector /SVXLink network

SP2ONG Waldek
 

Hi Adrian,

Nothing, or rather the fact that I have my FM hotspot permanently running on Orange Pi Zero, which runs svxlink connected to FM POLND
( ), so I decided that since I already have svxlink, it would be enough to add audio support to it via UDP and connect it to QRadioLink

On Sat, Sep 16, 2023 at 06:05 PM, Adrian M wrote:
Obviously yes, you won't be able to use PTY squelch if running on separate
machines. You can use CTCSS though.
But just out of curiosity, what is preventing you from running svxlink on the
same machine as qradiolink?


Re: QRadioLink connect to SVXReflector /SVXLink network

 

On Saturday, 16 September 2023 19:01:40 EEST you wrote:
Hi Adrian,

Ok thanks, it will be useful to use UDP svxlink across network not only on
local computer But I see you are defined "SVXLINK SQL path" in "General
Setting" so if I will be use UDP via network not local machine it is not
possible to use SQL PTY in QRadioLink so
Hi Waldek,
Obviously yes, you won't be able to use PTY squelch if running on separate
machines. You can use CTCSS though.
But just out of curiosity, what is preventing you from running svxlink on the
same machine as qradiolink?

Adrian

I must use VOX in [Rx1] I know that it is not useful solution VOX
and I need to spend more time to adjust parameters VOX like
SQl_HANGTIME=2500
VOX_FILTER_DEPTH=40
VOX_THRESH=600



Re: QRadioLink connect to SVXReflector /SVXLink network

SP2ONG Waldek
 

Hi Adrian,

Ok thanks, it will be useful to use UDP svxlink across network not only on local computer
But I see you are defined "SVXLINK SQL path" in "General Setting" so if I will be use UDP via network not local machine
it is not possible to use SQL PTY in QRadioLink so
I must use VOX in [Rx1] I know that it is not useful solution VOX
and I need to spend more time to adjust parameters VOX like
SQl_HANGTIME=2500
VOX_FILTER_DEPTH=40
VOX_THRESH=600


Re: QRadioLink connect to SVXReflector /SVXLink network

 

On Saturday, 16 September 2023 12:32:08 EEST you wrote:
Hello Adrian,

Sorry I haven't replied but I've been busy lately.
Today I tried, but I understand that it is not possible to download audio
via UDP from an address other than the local 127.0.0.1?
Hi Waldek,

You're right, in the latest release it's only possible to use UDP audio from
localhost.
However, if it helps you, I've pushed a small temporary change for the UDP
client here: on branch next.

This will allow you to use the config file setting "voip_server" as the address
for UDP audio. Or if you prefer from the Qt interface it's the address of the
Mumble server. Just make sure to click Save in Settings after modifying that
address.
In a later release this address will be a separate setting to allow using
different hosts for Mumble and UDP.

Cheers,
Adrian


Re: QRadioLink connect to SVXReflector /SVXLink network

SP2ONG Waldek
 

Hello Adrian,

Sorry I haven't replied but I've been busy lately.
Today I tried, but I understand that it is not possible to download audio via UDP from an address other than the local 127.0.0.1? I'm asking because I have my hostspt on OZPI and I also set it to support audio via UDP on an external address, but I don't see any way to set the IP address for UDP RX and TX
I wanted to make sure that I have QradioLink on my other PC and I have communication via UDP audio with svxlink, which is on another PC.

In Radio Setting I have UDP RX and TX audio ports set, can I set Ip addresses to SVXLINK in General Setting in RX audio args? I just don't know what the syntax is

73 Waldek


Re: QRadioLink connect to SVXReflector /SVXLink network

 

Hi Waldek,

So the svxlink connection feature was released in version 0.8.10, but I was
not satisfied with the carrier drops at the start of the transmission caused by
flowgraph underruns. That issue should be fixed now in version 0.8.11 released
today and the svxlink documentation in docs/ is updated.

Note that network latency issues and packet loss can still cause carrier drops
as there is no continuous carrier like on a real radio.

Best,
Adrian


Re: QRadioLink connect to SVXReflector /SVXLink network

 

On Tuesday, 15 August 2023 12:53:06 EEST you wrote:
Please note that the MUTE_TX_ON_RX option is used in part and must be
specified in [SmplexLogic] This option is not used in the [GLOBAL] section
The issue was not in svxlink (I think). It's more of a problem when using
SQL_DET=VOX with UDP audio, because UDP datagrams stop arriving as soon as
squelch is closed in qradiolink, and svxlink doesn't have a chance to do a vox
detect on zero value samples.

Anyway I've solved this now by setting SQL_DET=PTY and
hooking qradiolink to this pseudo-tty. Hence a new setting in the General tab
for SVXlink squelch PTY file path (needs to match PTY_PATH in svxlink.conf)
Other important settings in svxlink are matching UDP ports, matching card
sample rate and using CARD_CHANNELS=1 (mono audio).

I think it works pretty well now, except for the short carrier drops in the
first second or so of TX due to GNU radio underruns. I'm looking for ways to fix
that.

Below are some of my config values which you can use to test with the svxlink
branch. If you confirm everything works fine I'll merge and release a new
version.

Start qradiolink headless with this command:
qradiolink --headless --udp

Or use the "UDP audio" button in the "Base station" tab while TX and RX are
enabled. For simplex mode you need to disable Duplex in qradiolink and have a
TX shift of zero Hz.


=============

[GLOBAL]
MODULE_PATH=/usr/lib/x86_64-linux-gnu/svxlink
LOGICS=SimplexLogic,ReflectorLogic
CFG_DIR=/etc/svxlink/svxlink.d
TIMESTAMP_FORMAT="%c"
CARD_SAMPLE_RATE=16000
CARD_CHANNELS=1
#LOCATION_INFO=LocationInfo
LINKS=ReflectorUplink

[SimplexLogic]
TYPE=Simplex
RX=Rx1
TX=Tx1
MODULES=
CALLSIGN=YO8RZZ
SHORT_IDENT_INTERVAL=10
LONG_IDENT_INTERVAL=30
#IDENT_ONLY_AFTER_TX=4
#EXEC_CMD_ON_SQL_CLOSE=500
EVENT_HANDLER=/usr/share/svxlink/events.tcl
DEFAULT_LANG=en_US
RGR_SOUND_DELAY=10
RGR_SOUND_ALWAYS=0
REPORT_CTCSS=103.5
#TX_CTCSS=ALWAYS
MACROS=Macros
FX_GAIN_NORMAL=0
FX_GAIN_LOW=-12
#ACTIVATE_MODULE_ON_LONG_CMD=4:EchoLink
#QSO_RECORDER=8:QsoRecorder
#ONLINE_CMD=998877
MUTE_RX_ON_TX=1
MUTE_TX_ON_RX=1

[ReflectorLogic]
TYPE=Reflector
HOST=localhost
PORT=5302
CALLSIGN="yo8rzz"
AUTH_KEY="password"
JITTER_BUFFER_DELAY=500
DEFAULT_TG=226
MONITOR_TGS=226
TG_SELECT_TIMEOUT=99999

[ReflectorUplink]
CONNECT_LOGICS=SimplexLogic:99:YO8RZZ,ReflectorLogic
DEFAULT_ACTIVE=1
TIMEOUT=10

[Rx1]
TYPE=Local
#RX_ID=?
AUDIO_DEV=udp:127.0.0.1:4937
AUDIO_CHANNEL=0
AUDIO_DEV_KEEP_OPEN=0
SQL_DET=PTY
SQL_START_DELAY=100
SQL_DELAY=0
SQL_HANGTIME=0
#SQL_EXTENDED_HANGTIME=1000
#SQL_EXTENDED_HANGTIME_THRESH=15
SQL_TIMEOUT=1000
VOX_FILTER_DEPTH=10
VOX_THRESH=1
#CTCSS_MODE=2
CTCSS_FQ=103.5
#CTCSS_SNR_OFFSET=0
#CTCSS_OPEN_THRESH=15
#CTCSS_CLOSE_THRESH=9
#CTCSS_BPF_LOW=60
#CTCSS_BPF_HIGH=270
#SERIAL_PORT=/dev/ttyS0
SERIAL_PIN=CTS
#SERIAL_SET_PINS=DTR!RTS
#EVDEV_DEVNAME=/dev/input/by-id/usb-SYNIC_SYNIC_Wireless_Audio-event-if03
#EVDEV_OPEN=1,163,1
#EVDEV_CLOSE=1,163,0
#GPIO_PATH=/sys/class/gpio
#GPIO_SQL_PIN=gpio30
PTY_PATH=/tmp/sql_pty
#HID_DEVICE=/dev/hidraw3
#HID_SQL_PIN=VOL_UP
SIGLEV_DET=NOISE
SIGLEV_SLOPE=1
SIGLEV_OFFSET=0
#SIGLEV_BOGUS_THRESH=120
#TONE_SIGLEV_MAP=100,84,60,50,37,32,28,23,19,8
SIGLEV_OPEN_THRESH=30
SIGLEV_CLOSE_THRESH=10
DEEMPHASIS=0
#SQL_TAIL_ELIM=300
#PREAMP=6
PEAK_METER=1
DTMF_DEC_TYPE=INTERNAL
DTMF_MUTING=1
DTMF_HANGTIME=40
DTMF_SERIAL=/dev/ttyS0
#DTMF_PTY=/tmp/rx1_dtmf
#DTMF_MAX_FWD_TWIST=8
#DTMF_MAX_REV_TWIST=4
#1750_MUTING=1
#SEL5_DEC_TYPE=INTERNAL
#SEL5_TYPE=ZVEI1
#FQ=433475000
#MODULATION=FM
#WBRX=WbRx1
#OB_AFSK_ENABLE=0
#OB_AFSK_VOICE_GAIN=6
#IB_AFSK_ENABLE=0

[Tx1]
TYPE=Local
AUDIO_DEV=udp:127.0.0.1:4938
AUDIO_CHANNEL=0
AUDIO_DEV_KEEP_OPEN=1
PTT_TYPE=NONE
PTT_PORT=/dev/ttyS0
PTT_PIN=DTRRTS
#HID_DEVICE=/dev/hidraw3
#HID_PTT_PIN=GPIO3
#SERIAL_SET_PINS=DTR!RTS
#GPIO_PATH=/sys/class/gpio
#PTT_HANGTIME=1000
TIMEOUT=1000
TX_DELAY=0
#CTCSS_FQ=136.5
#CTCSS_LEVEL=9
PREEMPHASIS=0
DTMF_TONE_LENGTH=100
DTMF_TONE_SPACING=50
DTMF_DIGIT_PWR=-15
#MASTER_GAIN=0.0
#OB_AFSK_ENABLE=0
#OB_AFSK_VOICE_GAIN=-6
#OB_AFSK_LEVEL=-12
#OB_AFSK_TX_DELAY=100
#IB_AFSK_ENABLE=0
#IB_AFSK_LEVEL=-6
#IB_AFSK_TX_DELAY=100


Re: QRadioLink connect to SVXReflector /SVXLink network

SP2ONG Waldek
 

Please note that the MUTE_TX_ON_RX option is used in part and must be specified in [SmplexLogic]
This option is not used in the [GLOBAL] section

See descriptions at

MUTE_RX_ON_TX

Set to 1 to mute the receiver when the transmitter is transmitting (default) or set it to 0 to make the RX active during transmissions. One might want to set this to 0 if the link is operating on a split frequency. Then the link can accept commands even when it¡¯s transmitting. The normal setting is 1, to mute the RX when transmitting.

MUTE_TX_ON_RX

Set to 1 to mute the transmitter when the squelch is open (default) or set it to 0 to make the TX active during squelch open. One might want to set this to 0 if the link is operating on a split frequency or if it¡¯s connected to some full duplex device. The normal setting is 1, to mute the TX when the squelch is open.


Re: QRadioLink connect to SVXReflector /SVXLink network

SP2ONG Waldek
 

Yes but CARD_SAMPLE_RATE only supported sampling rates are: 16000 and 48000 it is not possible in this option select 8000 Hz
Internally svxlink use 16 kHz (if I remember)

On Tue, Aug 15, 2023 at 10:02 AM, Adrian M wrote:


CARD_SAMPLE_RATE=


Re: QRadioLink connect to SVXReflector /SVXLink network

 

It's already possible, I tested this by setting:
CARD_SAMPLE_RATE=16000
in the [GLOBAL] settings.
As far as I can tell, svxlink can do either 16000 or 48000. qradiolink now
has a dropdown for UDP sample rate with the options 8000, 16000, or 48000
so it should work fine with either.
Screenshot attached.
One other important thing I noticed: in the [GLOBAL] section there is this
config option:
MUTE_TX_ON_RX=0

What I see on my svxlink version is that if I enable this (which makes sense
for a simplex node) right after getting samples from the radio, the svxlink TX
logic won't get enabled anymore when getting audio from svxreflector.
So this means this option has to stay disabled otherwise the SDR won't
transmit anything.
The reason I'm sure this is svxlink, is that I can check that I don't receive
any UDP datagrams anymore after the rx logic is activated via a radio PTT.

Pretty important to note. Might be worth a bug report.

Adrian


Re: QRadioLink connect to SVXReflector /SVXLink network

 

On Tuesday, 15 August 2023 10:54:10 EEST you wrote:
Hi Adrian,

In svxlink, it would be useful to be able to, for example, select the
sampling frequency for the UDP stream
It's already possible, I tested this by setting:
CARD_SAMPLE_RATE=16000
in the [GLOBAL] settings.
As far as I can tell, svxlink can do either 16000 or 48000. qradiolink now has
a dropdown for UDP sample rate with the options 8000, 16000, or 48000 so it
should work fine with either.
Screenshot attached.

Adrian


Re: QRadioLink connect to SVXReflector /SVXLink network

SP2ONG Waldek
 

Hi Adrian,

In svxlink, it would be useful to be able to, for example, select the sampling frequency for the UDP stream

AUDIO_DEV=udp:<ip>:<port>,<sample_rate>

where default sample rate is 16 kHz

AUDIO_DEV=udp:127.0.0.1:4321:8000

In many cases sample rate 8000 is sufficient and in the svxlink code it is possible to go to 8000 because it was done by DL1RHC in UsrpLogic


Re: QRadioLink connect to SVXReflector /SVXLink network

 

Hi Waldek,

I'm doing the direct UDP audio from svxlink to qradiolink. No USRP involved at the moment. I've solved it by adding a config option for UDP audio sample rate and resampling internally with speexdsp.

RF to svxlink is fine now, but svxlink to RF has that issue with short interruptions in the first seconds due to buffer ping pong. I still need to refine the solution. If you want to try it out, check out the "svxlink" branch on codeberg.
The solution will work with general UDP streaming not just svxlink, so aplay | nc will work as well.

Adrian

On 14 August 2023 17:15:27 UTC, SP2ONG Waldek <sp2ong@...> wrote:
Hi Adrian,

Note that UsrpLogic sends audio via UDP in 8 kHz USRP protocol and not 16 kHz ,
Because the standard in USRP used in DVSwitch/ Allstar Link is its own 8 khz audio and
for this reason Adi DL1HRC made that audio via USRP is in 8 kHz

On Sat, Aug 12, 2023 at 09:08 AM, Adrian M wrote:
But there's a couple of snags in the implementation of svxlink streaming which
are causing me some headaches. First of all qradiolink uses a sample rate of
8000 for audio (FM too) while svxlink can only go down to 16000.
carrier drops (not good).




Re: QRadioLink connect to SVXReflector /SVXLink network

SP2ONG Waldek
 

Hi Adrian,

Note that UsrpLogic sends audio via UDP in 8 kHz USRP protocol and not 16 kHz ,
Because the standard in USRP used in DVSwitch/ Allstar Link is its own 8 khz audio and
for this reason Adi DL1HRC made that audio via USRP is in 8 kHz

On Sat, Aug 12, 2023 at 09:08 AM, Adrian M wrote:
But there's a couple of snags in the implementation of svxlink streaming which
are causing me some headaches. First of all qradiolink uses a sample rate of
8000 for audio (FM too) while svxlink can only go down to 16000.
carrier drops (not good).


Re: QRadioLink connect to SVXReflector /SVXLink network

 

On Friday, 11 August 2023 21:13:21 EEST you wrote:
Hi Adrian,

Thanks for info.
I wonder why 100% CPU busy is svxlink. I had such a case when I was using
Alsa loop in svxlink but yes in normal work I have not had such cases
I figured it out eventually. I had a system instance of svxlink which was
started by default (the init script is installed by apt). That was causing a
conflict on the ALSA pulseaudio device. It works fine now, I've tested svxlink
network to qradiolink TX.I need to refine the code and then move on to
qradiolink RX to svxlink network.



Yes connecting svxlink via USRP to USRP2M17 program works and gives you a
pass to M17 network e.g. connecting to M17 Reflector
No, I mean svxlink to the network and M17 to RF. qradiolink now supports M17
RF tx/rx natively, so you can come in via M17 on the SDR RX and get output
audio to a svxlink network. And viceversa, get audio from the svxlink network
and transmit M17 over the air with the SDR.

But there's a couple of snags in the implementation of svxlink streaming which
are causing me some headaches. First of all qradiolink uses a sample rate of
8000 for audio (FM too) while svxlink can only go down to 16000. I've had to
use speexdsp to resample audio internally. The second one is that qradiolink
is designed to work with 40 ms sample packets (320 samples) while svxlink UDP
streaming transmits somewhat arbitrary datagram sizes. This manifests into
some buffer ping-pong at the start of the transmission and therefore some brief
carrier drops (not good).

Adrian