OP25 Boatbod Success! Almost...

DMBFireman

Member
Premium Subscriber
Joined
Dec 19, 2002
Messages
124
Location
Flower Mound, TX
Let me preface this by saying that I have no experience with Raspberry Pi's, Linux, OP25 or SDR radio until just today. LOL - Thanks to a couple of excellent guides including the OP25 for dummies guide I am successfully decoding P25 Phase II audio on a Pi 3B with an old NooElec R820T dongle that I purchased years ago. My next step will be to setup streaming the audio as my ultimate goal with this project is to replace one of my streaming scanners with the SDR to solve the simulcast issues on my live audio broadcast.

I'm slowly working my way through this but there are a couple of things that concern me right now:

1 - I am using a q value of 46 when launching OP25 to get my dongle on the right control channel frequency - It has been running now for several hours and it's decoding properly but this number seems way too high to me based on what I've seen in tutorials and the minimal knowledge I have. Is this a problem?

2 - I am unable to launch gqrx on the Raspberry Pi. I have installed everything correctly as far as I can tell but when I try to launch from a command line or double clicking the executable it does nothing at all. No error or anything, it just never launches. So far I have not needed this but it seems that it could be useful. Is this a problem?

I am sure I will run into more issues and questions.

Thanks for any help,

Brandon
 
S

simpilo

Guest
You're dong well. I am happy to hear people are using some variant of Linux using OP25 for their hobby. Took me many weeks to figure it out on a Dell Lattitude Intel Pentium M. Had help from here and ##rtlsdr Freenode IRC. Works well. I hope you can extend a helping hand to others the same you learnt as me. I need to get into better practice of knowing Linux lingo better because I am still Windows spoilt.

GQRX from installation sometimes it's config file needs to be deleted. I do not own a Rspi 3B but on my Lubuntu it is located in/home/user/.config/gqrx/default.conf

rm -rf /home/user/.config/gqrx/default.conf

replace user with your user account name

after deleted just load GQRX then it should pop up a dialogue for you to set it. Pick the second RTL-SDR entry not the first.
 
Last edited:

boatbod

Member
Premium Subscriber
Joined
Mar 3, 2007
Messages
1,785
Location
Talbot Co, MD
If you have a non-temperature compensated dongle (i.e. not a TCXO device) then a "q" value of 46 is perfectly reasonable. OTOH, most of the TXCO dongles operate with q in the range 0-1.
 
S

simpilo

Guest
If you have a non-temperature compensated dongle (i.e. not a TCXO device) then a "q" value of 46 is perfectly reasonable. OTOH, most of the TXCO dongles operate with q in the range 0-1.
I totally remove -q from args. works well too.
 

DMBFireman

Member
Premium Subscriber
Joined
Dec 19, 2002
Messages
124
Location
Flower Mound, TX
If you have a non-temperature compensated dongle (i.e. not a TCXO device) then a "q" value of 46 is perfectly reasonable. OTOH, most of the TXCO dongles operate with q in the range 0-1.
ok, yes this dongle is several years old. It's a NooElec R820T SDR & DVB-T NESDR Mini - I seriously doubt it has any temperature compensation. I was thinking of getting a newer dongle that has it if I could get this to run since I am going to try to run a 24/7 audio feed with this. However if this one stays working for awhile I may not worry too much about it. Its going to be running all the time so the temperature hopefully will stay pretty even.

I just left it running all night and when I came in this morning I see a few tuning errors that happened on the screen however it's still decoding audio just fine so it must have gone off frequency for a short time but it's working again without me having done anything. I guess I will see how that continues. I am amazed at how the audio sounds with this setup and how it has no issues with the simulcast LSM problem that plagues my other scanner that runs the current audio feed.

This is awesome!

Brandon
 

DMBFireman

Member
Premium Subscriber
Joined
Dec 19, 2002
Messages
124
Location
Flower Mound, TX
Just figured out another question concerning control channels. Right now I just have the primary control channel in my trunk.tsv file - The system I am monitoring has backup control channels however I think it usually stays on the primary control channel. Would I just add those frequencies into my trunk.tsv file in the event that the control channel switches? Then OP25 would also switch to the backup control channel without me doing anything?

Also since I am using a q value of +26 to find the current control channel that it's tracking would this value be different if the control channel changes and then I would lose the control channel all together? That may be a good reason to get a temperature compensated dongle...

Thanks,

Brandon
 

DMBFireman

Member
Premium Subscriber
Joined
Dec 19, 2002
Messages
124
Location
Flower Mound, TX
You're dong well. I am happy to hear people are using some variant of Linux using OP25 for their hobby. Took me many weeks to figure it out on a Dell Lattitude Intel Pentium M. Had help from here and ##rtlsdr Freenode IRC. Works well. I hope you can extend a helping hand to others the same you learnt as me. I need to get into better practice of knowing Linux lingo better because I am still Windows spoilt.

GQRX from installation sometimes it's config file needs to be deleted. I do not own a Rspi 3B but on my Lubuntu it is located in/home/user/.config/gqrx/default.conf

rm -rf /home/user/.config/gqrx/default.conf

replace user with your user account name

after deleted just load GQRX then it should pop up a dialogue for you to set it. Pick the second RTL-SDR entry not the first.
Thanks for the help. I've tried and I can't locate the folder or config file on the Raspberry Pi. It must be in a different place. I don't have a user folder or any folder that would be my username under home

I'll look around on google and see if I can find it.
 

boatbod

Member
Premium Subscriber
Joined
Mar 3, 2007
Messages
1,785
Location
Talbot Co, MD
Just figured out another question concerning control channels. Right now I just have the primary control channel in my trunk.tsv file - The system I am monitoring has backup control channels however I think it usually stays on the primary control channel. Would I just add those frequencies into my trunk.tsv file in the event that the control channel switches? Then OP25 would also switch to the backup control channel without me doing anything?

Also since I am using a q value of +26 to find the current control channel that it's tracking would this value be different if the control channel changes and then I would lose the control channel all together? That may be a good reason to get a temperature compensated dongle...

Thanks,

Brandon
If "q" is correct it should stay the same regardless of frequency tuned.
Backup control channels can be added to a comma-separated list in trunk.tsv. op25 uses them sequentially in the order listed.
 

DMBFireman

Member
Premium Subscriber
Joined
Dec 19, 2002
Messages
124
Location
Flower Mound, TX
If "q" is correct it should stay the same regardless of frequency tuned.
Backup control channels can be added to a comma-separated list in trunk.tsv. op25 uses them sequentially in the order listed.
Thanks! That was what I was thinking but I was not sure. I went ahead and ordered a dongle today with a TCXO to hopefully prevent the slight drift I am experiencing. Now I am struggling to get liquidsoap set up for streaming. LOL
 
S

simpilo

Guest
Thanks! That was what I was thinking but I was not sure. I went ahead and ordered a dongle today with a TCXO to hopefully prevent the slight drift I am experiencing. Now I am struggling to get liquidsoap set up for streaming. LOL
I have a Nooelec SDR Smart with 0.5 ppm TCXO. Feel assured you can use ppm of 0 on all apps compatible to RTL-SDR. Very stable. Same with the Flightaware dongles.
 

DMBFireman

Member
Premium Subscriber
Joined
Dec 19, 2002
Messages
124
Location
Flower Mound, TX
Well I am for sure stuck on trying to stream this thing. I have a working OP25 decoding Phase 2 audio and it sounds great. Here is my command line for OP25 that I am using to play through just a connected speaker:

./rx.py -- args 'rtl' -N 'LNA:47' -S 2400000 -f 859.2125e6 -o 25000 -q 47 -T trunk.tsv -F -2 -U

I started out trying to use darkice and following the OP25 for dummies blog but I soon figured out that liquidsoap was supposed to be easier.

I have read through the README-rpi3-liquidsoap and configured my op25.liq script file. I have not edited the Icecast.xml file because when I have tried it says that I don't have permissions and I have read that it's not needed anyway. My OP25.liq file looks correct as far as my broadcastify settings are concerned. I couldn't get the OP25.liq to launch from a command line so I double clicked on it in the folder explorer and chose the option to launch in a terminal. It never does anything but sit there with a single square on the screen. I'm kinda lost I guess as to what my problem is.

I also within the past few hours have had the digital audio slow down to where it sounds like a very slow robot talking. After a few minutes it clears up and sounds fine again for awhile. I already purchased a newer dongle to use that has a TCXO to prevent the drift I am seeing hopefully. I guess when I get that in over the next few days I will try to tackle this again because I know some of my current configuration is going to change. I will post my OP25.liq file here as well...

Brandon
 

DMBFireman

Member
Premium Subscriber
Joined
Dec 19, 2002
Messages
124
Location
Flower Mound, TX
My OP25.liq file contents - I have changed my mountpoint and password to x's for this post but they are correct in the file

#!/usr/bin/liquidsoap

# Example liquidsoap streaming from op25 to icecast
# (c) 2019, gnorbury@bondcar.com
#

set("log.stdout", true)
set("log.file", false)
set("log.level", 1)

# Make the native sample rate compatible with op25
set("frame.audio.samplerate", 8000)

input = mksafe(input.external(buffer=0.02, channels=2, samplerate=8000, restart_on_error=false, "./audio.py -s"))
# Consider increasing the buffer value on slow systems such as RPi3. e.g. buffer=0.25
# Longer buffer results in less choppy audio but at the expense of increased latency.

# LOCAL AUDIO
# Uncomment the appropriate line below to enable local sound
#
# Default audio subsystem
out (input)
#
# PulseAudio
#output.pulseaudio(input)
#
# ALSA
#output.alsa(input)


# ICECAST STREAMING
# Uncomment to enable output to an icecast server
# Change the "host", "password", and "mount" strings appropriately first!
# For metadata to work properly, the host address given here MUST MATCH the address in op25's meta.json file
#
output.icecast(%mp3(bitrate=16, samplerate=22050, stereo=false), description="Lewisville Fire", genre="Public Safety", url="", fallible=false, icy_metadata="false", host="audio9.broadcastify.com", port=80, mount="/xxxxxxxxxxxxx", password="xxxxxxxxxx", mean(default))
 

sqlgeek

Member
Premium Subscriber
Joined
Jun 21, 2014
Messages
32
Location
Griffin, GA
Let me preface this by saying that I have no experience with Raspberry Pi's, Linux, OP25 or SDR radio until just today. LOL - Thanks to a couple of excellent guides including the OP25 for dummies guide I am successfully decoding P25 Phase II audio on a Pi 3B with an old NooElec R820T dongle that I purchased years ago. My next step will be to setup streaming the audio as my ultimate goal with this project is to replace one of my streaming scanners with the SDR to solve the simulcast issues on my live audio broadcast.

I'm slowly working my way through this but there are a couple of things that concern me right now:

1 - I am using a q value of 46 when launching OP25 to get my dongle on the right control channel frequency - It has been running now for several hours and it's decoding properly but this number seems way too high to me based on what I've seen in tutorials and the minimal knowledge I have. Is this a problem?

2 - I am unable to launch gqrx on the Raspberry Pi. I have installed everything correctly as far as I can tell but when I try to launch from a command line or double clicking the executable it does nothing at all. No error or anything, it just never launches. So far I have not needed this but it seems that it could be useful. Is this a problem?

I am sure I will run into more issues and questions.

Thanks for any help,

Brandon
Are you using Raspbian Buster or some other flavor of Linux on your Pi? I am still having issues with the internal audio on mine. I just got my feed approved through Broadcastify and I can't get it working...

For gqrx, I wound up having to follow the specific instructions below from Install Gqrx SDR on Ubuntu LTS – Gqrx SDR and it worked OK for me:

sudo apt-get install gqrx-sdr

sudo apt-get install libvolk1-bin
volk_profile
 

DMBFireman

Member
Premium Subscriber
Joined
Dec 19, 2002
Messages
124
Location
Flower Mound, TX
So, I received my new NESDR Smart dongle and it was working however I still could not get the streaming to work and the audio was starting to sound slow and sluggish as others have reported here with the new Raspbian Buster. I also realized I had done a full NOOBS install since I have no experience with Linux and my SD card was almost completely full. I thought maybe that had something to do with the audio so I decided to re-install everything from scratch again and only install the Raspbian Buster for Raspberry Pi without all the extra fluff to save space.

Since I have done that I now cannot get OP25 to run at all. I have been using this tutorial all along: OP25 on Raspberry Pi Part 1

The first time it worked fine and I could get audio to decode and play over the speakers. Now after trying again I can't get OP25 to do anything. When I put in the command: ./rx.py –args ‘rtl’ -N ‘LNA:47’ -S 2400000 -f 852.9750e6 -o 25000 -q 1

It just returns all of the options for the command line and never does anything else. I believe my SDR dongle is working but I cannot get past this point. I also still cannot get gqrx to do anything at all so it's difficult for me to see if the SDR dongle is receiving anything and working.

I am at a loss and really wish there was a working image for this Pi that I could use and get on with my life! Lol

Brandon
 

sqlgeek

Member
Premium Subscriber
Joined
Jun 21, 2014
Messages
32
Location
Griffin, GA
So, I received my new NESDR Smart dongle and it was working however I still could not get the streaming to work and the audio was starting to sound slow and sluggish as others have reported here with the new Raspbian Buster. I also realized I had done a full NOOBS install since I have no experience with Linux and my SD card was almost completely full. I thought maybe that had something to do with the audio so I decided to re-install everything from scratch again and only install the Raspbian Buster for Raspberry Pi without all the extra fluff to save space.

Since I have done that I now cannot get OP25 to run at all. I have been using this tutorial all along: OP25 on Raspberry Pi Part 1

The first time it worked fine and I could get audio to decode and play over the speakers. Now after trying again I can't get OP25 to do anything. When I put in the command: ./rx.py –args ‘rtl’ -N ‘LNA:47’ -S 2400000 -f 852.9750e6 -o 25000 -q 1

It just returns all of the options for the command line and never does anything else. I believe my SDR dongle is working but I cannot get past this point. I also still cannot get gqrx to do anything at all so it's difficult for me to see if the SDR dongle is receiving anything and working.

I am at a loss and really wish there was a working image for this Pi that I could use and get on with my life! Lol

Brandon
Do you have 2 dashes in front of args? Are you running gqrx from a terminal or from the gui?
 

DMBFireman

Member
Premium Subscriber
Joined
Dec 19, 2002
Messages
124
Location
Flower Mound, TX
Are you using Raspbian Buster or some other flavor of Linux on your Pi? I am still having issues with the internal audio on mine. I just got my feed approved through Broadcastify and I can't get it working...

For gqrx, I wound up having to follow the specific instructions below from Install Gqrx SDR on Ubuntu LTS – Gqrx SDR and it worked OK for me:

sudo apt-get install gqrx-sdr

sudo apt-get install libvolk1-bin
volk_profile
Yes I am using Raspbian Buster (the latest version), I have still been unable to get gqrx to run at all even using what you posted above. I double click on it and it does absolutely nothing.

Brandon
 

DMBFireman

Member
Premium Subscriber
Joined
Dec 19, 2002
Messages
124
Location
Flower Mound, TX
Do you have 2 dashes in front of args? Are you running gqrx from a terminal or from the gui?
The two dashes was it! It does not look like 2 dashes in the tutorial I was using but that worked. As for gqrx I am running from the GUI. I tried running it from the terminal but the command I was using it says was invalid
 

sqlgeek

Member
Premium Subscriber
Joined
Jun 21, 2014
Messages
32
Location
Griffin, GA
The two dashes was it! It does not look like 2 dashes in the tutorial I was using but that worked. As for gqrx I am running from the GUI. I tried running it from the terminal but the command I was using it says was invalid
Will it let you just type gqrx in the terminal and run it?
 

boatbod

Member
Premium Subscriber
Joined
Mar 3, 2007
Messages
1,785
Location
Talbot Co, MD
./rx.py –args ‘rtl’ -N ‘LNA:47’ -S 2400000 -f 852.9750e6 -o 25000 -q 1


The most obvious error is that "-args" requires two dashes like this --args

Second thing is you probably want to reduce the sample size as 2.4Mhz is at the upper limit of an RTL capability. Suggest "-S 1440000" for most desktop machines. If it's a RPi3 you'll want "-S 100000" or so.

Third thing, you probably don't need "-o 25000" unless you have an old dongle with a DC-spike.

Fourth thing, you've got no trunk.tsv defined so op25 isn't going to trunk track as currently configured. If the -f refers to a control channel then the terminal should start to receive TSBKs when it runs, but that's about it.
 

DMBFireman

Member
Premium Subscriber
Joined
Dec 19, 2002
Messages
124
Location
Flower Mound, TX
Will it let you just type gqrx in the terminal and run it?
no I have tried to just type that command and it still does nothing. For now I have everything working again as far as decoding audio to the speaker output. I will be working on streaming setup tomorrow.
 
Top