RPi 3 & RTL-SDR/OP25?

Status
Not open for further replies.

ScanYak

Member
Feed Provider
Joined
Apr 22, 2009
Messages
149
Location
Eastern Washington
I'm sorry if I was implying that I was having problems, in fact, all is working perfect and as expected. Yes, the second line did not have the "-w". I was unable to make an edit to my post. My intent for posting was to report the Raspi 4 was handling two instances of op25 with low CPU and temperature with no problems on my end. Others had reported difficulties. I needed the ability to be able to monitor two systems at the same time and by following boatbod's recommendations (link above) I was able to accomplish it according to his instructions. I appreciate your comments and questions as it is helping me to better understand the audio system in Raspberry Pi as it is still a mystery to me. So what's happening in my case is that audio is being loopbacked to the onboard earphone jack so from there it is routed to Broadcastify through another device.
 

wgbecks

Member
Joined
Jan 17, 2005
Messages
377
Location
Porterfield, Wisconsin
OK, ScanYak. It sounds like your taking the analog audio from the headphone jack and sending it to BCFY. Are you aware that you can
accomplish this on the same RPI-4B using liquidsoap? It works very well and frees up use of a separate computer or external device to push your stream(s) up to BCFY. Were you aware that your can add talkgroup (alpha tags) information to your feeds from op25 as well?

Well, glad to hear all is working fine!

Bill
 

nick0909

Antenna flicker
Feed Provider
Joined
Jan 4, 2003
Messages
115
Boatbod, for the trunk priority option you added, does it only work if OP25 is able to shift to the monitored (lower priority) trunk channel while still within the range of monitoring the control channel at the same time? I read through these posts and seemed to see that you had to be within the software monitoring bandwidth and if the SDR did a hardware retune out of range of the control channel then it would not be able to change if a higher priority trunk channel became active. Just wanting to clarify, if it is going to be hit or miss I'll use it less sparingly, but if the higher priority channel will always preempt a lower priority no matter how far apart they are then I'll load it up with a lot of low priority stuff that will probably be preempted often.

Thanks for this great project, really enjoying getting it working on a Pi 3 as a test, hoping to get it on a Pi 4 as a real solution soon.
 

boatbod

Member
Joined
Mar 3, 2007
Messages
2,755
Location
Talbot Co, MD
Boatbod, for the trunk priority option you added, does it only work if OP25 is able to shift to the monitored (lower priority) trunk channel while still within the range of monitoring the control channel at the same time? I read through these posts and seemed to see that you had to be within the software monitoring bandwidth and if the SDR did a hardware retune out of range of the control channel then it would not be able to change if a higher priority trunk channel became active. Just wanting to clarify, if it is going to be hit or miss I'll use it less sparingly, but if the higher priority channel will always preempt a lower priority no matter how far apart they are then I'll load it up with a lot of low priority stuff that will probably be preempted often.

Thanks for this great project, really enjoying getting it working on a Pi 3 as a test, hoping to get it on a Pi 4 as a real solution soon.
OP25's P25 Trunking implementation is not constrained by SDR hardware sample width as it will retune when necessary. Also, the ability to prioritize between calls in progress does not depend on being able to monitor the control channel because the P25 specs define messaging that takes place in between voice frames on the traffic channels. In other words, as long as op25 can see either a control channel or voice channel it knows what tgids have active traffic and can make the appropriate tuning decisions.
 

nick0909

Antenna flicker
Feed Provider
Joined
Jan 4, 2003
Messages
115
Boatbod, one more question, on the TG priority in the TGID-tags.tsv file, the readme talks about 1,2,3 values, but can I use any number, or how large is the range? I was starting to add priorities to my channels as a way to replace turning on/off banks in a more traditional scanner setup, but I was up to about 7 or 8 as far as low priority items. Just want to make sure it isn't just 1-3 and anything lower priority/higher value will not actually have an impact.
 

boatbod

Member
Joined
Mar 3, 2007
Messages
2,755
Location
Talbot Co, MD
You can use any value and they don't have to be unique. i.e. 1, 2, 3, 3, 3, 3, 3, 4, 4
Bear in mind the default is 3 if you don't explicitly specify a value.
 

kdttocs

Newbie
Joined
Apr 15, 2013
Messages
3
Location
San Diego, CA
I'm being plagued by OP25 Audio stopping. I've seen others with this issue but haven't found a definitive cause or solution. Running BlackIce, uploading to Broadcastify, outputing to mout0 so I can also listen locally without delay. Everything works perfectly. Alpha tags as well dialed in with proper delay.

After anywhere from an hour to a day, audio stops (local audio and stream upload). OP25 web UI shows it as functioning but no audio. Ctrl C and rerun rx.py fixes immediately. When this happens, there's nothing in stderr.2, though I do have -v set to 1.

Anyone have any steps I can take to troubleshoot?


./rx.py --nocrypt --args "rtl" --gains 'lna:36' -S 57600 -q -1 -O mout0 -d 0 -v 1 -2 -V -U -T trunk.tsv 2> stderr.2 -l 'http:0.0.0.0:8080' -x 9.0 -M meta.json
 

boatbod

Member
Joined
Mar 3, 2007
Messages
2,755
Location
Talbot Co, MD
I'm being plagued by OP25 Audio stopping. I've seen others with this issue but haven't found a definitive cause or solution. Running BlackIce, uploading to Broadcastify, outputing to mout0 so I can also listen locally without delay. Everything works perfectly. Alpha tags as well dialed in with proper delay.

After anywhere from an hour to a day, audio stops (local audio and stream upload). OP25 web UI shows it as functioning but no audio. Ctrl C and rerun rx.py fixes immediately. When this happens, there's nothing in stderr.2, though I do have -v set to 1.

Anyone have any steps I can take to troubleshoot?


./rx.py --nocrypt --args "rtl" --gains 'lna:36' -S 57600 -q -1 -O mout0 -d 0 -v 1 -2 -V -U -T trunk.tsv 2> stderr.2 -l 'http:0.0.0.0:8080' -x 9.0 -M meta.json
Dump darkice and switch to liquidsoap. There are known issues keeping the loopback driver running on the rpi3.
 

nick0909

Antenna flicker
Feed Provider
Joined
Jan 4, 2003
Messages
115
Also doesn't the stderr.2 redirect have to be the very last command on the line, since it isn't an rx.py argument but actually a shell command?
 

brad2388

Member
Feed Provider
Joined
May 3, 2019
Messages
52
Location
Climax, NC
does anyone have a image for the pi 3+ ready to input your own stuff? i have stopped my testing but want to put my stream back online.
 

mtindor

OH/WV DB Admin
Database Admin
Joined
Dec 5, 2006
Messages
8,922
Location
Carroll Co OH / EN90LN
These commands should work as well on the PI as on ubuntu (with raspbian, tested on a PI 3 "B")

First install the OP25 prerequisites
Code:
sudo apt-get update
sudo apt-get build-dep gnuradio
sudo apt-get install gnuradio gnuradio-dev gr-osmosdr librtlsdr-dev libuhd-dev  libhackrf-dev libitpp-dev libpcap-dev git
then to build/install op25

Code:
cd ~
git clone https://git.osmocom.org/op25
git checkout max

cd op25
mkdir build
cd build
cmake ../
make
sudo make install
sudo ldconfig
The new rx.py app is discussed in the file
Code:
op25/gr-op25_repeater/apps/README
Max,

I really have to commend you and/or those who maintain all that stuff. Installing gnuradio and op25 has come a long long way over the course of a handful of years. This was such a no-brainer (although I haven't gotten as far as using my Airspy). Thanks for making this so easy !

Mike
 

kanila

Member
Joined
Jan 6, 2020
Messages
13
Location
Oakville, ON
Planning on trying it, but first I've got to find somewhere with the 4GB model in stock :)
I am using it with Raspberry Pi 4 -4GB model. CPU load is about 65-75%. Annotation 2020-01-20 103524.png
Interesthing, though, the CPU Usage monitor in the task bar only shows about 20% usage. I am guessing it displays average of all cores.

I have active cooling and CPU temp is 39-40 degrees.
 

nickajeglin

Member
Premium Subscriber
Joined
Mar 17, 2013
Messages
26
Hey boatbod! Just dropping in to say thanks. I spent 5 hours yesterday following an out of date tutorial, messing with attr settings etc. Finally I just read the readme, fired up the script, and everything was perfect.

Last time I had a p25 scanner set up was in about 2015, with dsdplus and 2 dongles. Decode was only about 80% and temp drift was an insurmountable problem. Straight from your script decode is like 100%, audio is crystal clear, and the -X setting magically fixes temp drift. That's even with my impromptu antenna made from a stripped chunk of coax. Only problem I had was that I was on the wrong control channel so I only got one utility worker talkgroup. That one took up most of the 5 hours. There was also an intermittent pulseaudio stutter problem, but that's apparently a known issue with the pi3.

Moral of the story, as per usual, is to RTFM.

One question on blacklisting. When I use the "B" command, does that blist the talkgroup for that session only? I haven't set up a blacklist file to test yet, but it would be amazing if the "B" command appended to the file specified in trunk.tsv.
 

boatbod

Member
Joined
Mar 3, 2007
Messages
2,755
Location
Talbot Co, MD
Hey boatbod! Just dropping in to say thanks. I spent 5 hours yesterday following an out of date tutorial, messing with attr settings etc. Finally I just read the readme, fired up the script, and everything was perfect.

Last time I had a p25 scanner set up was in about 2015, with dsdplus and 2 dongles. Decode was only about 80% and temp drift was an insurmountable problem. Straight from your script decode is like 100%, audio is crystal clear, and the -X setting magically fixes temp drift. That's even with my impromptu antenna made from a stripped chunk of coax. Only problem I had was that I was on the wrong control channel so I only got one utility worker talkgroup. That one took up most of the 5 hours. There was also an intermittent pulseaudio stutter problem, but that's apparently a known issue with the pi3.

Moral of the story, as per usual, is to RTFM.

One question on blacklisting. When I use the "B" command, does that blist the talkgroup for that session only? I haven't set up a blacklist file to test yet, but it would be amazing if the "B" command appended to the file specified in trunk.tsv.
Right now any interactive blacklisting is only retained for the duration of the session as nothing is written back to the config files. The ability to edit/create a config is something I'd like to add in the future, but I'm working on a different feature at present, so don't be too hopeful :)

op25 does natively support pulse audio if you set the '-O pulse' on the command line, but I make no promises that it'll improve your audio output.
 

huskerswon

Member
Joined
May 20, 2020
Messages
5
Thank You for giving some instructions and keeping everything updated for the Pi install. I have a Pi3B+ and the Nooelec Smart. I have everyting up and running with audio. I am having issues with voice groups below the control frequency. I know that there is voice channels below the CC because i can see them on GQRX. I have seen 2 or 3 of these below my CC Freq. My CC is 769.16875. See attached. when I run the "./rx.py --args 'rtl=0' -N 'LNA:36' -S 2400000 -f 769.16875e6 -o 25000 -T trunk.tsv -V -w -2 -U 2> stderr.2" Only the talk group high than the CC show up. I have let this run for hours and never see a Talk group below my CC..
any help?
 

Attachments

boatbod

Member
Joined
Mar 3, 2007
Messages
2,755
Location
Talbot Co, MD
Thank You for giving some instructions and keeping everything updated for the Pi install. I have a Pi3B+ and the Nooelec Smart. I have everyting up and running with audio. I am having issues with voice groups below the control frequency. I know that there is voice channels below the CC because i can see them on GQRX. I have seen 2 or 3 of these below my CC Freq. My CC is 769.16875. See attached. when I run the "./rx.py --args 'rtl=0' -N 'LNA:36' -S 2400000 -f 769.16875e6 -o 25000 -T trunk.tsv -V -w -2 -U 2> stderr.2" Only the talk group high than the CC show up. I have let this run for hours and never see a Talk group below my CC..
any help?
op25 obtains all it's voice frequency info from tsbks sent by the system being monitored. If the RFSS isn't offering voice grants on some frequencies then there is nothing op25 can do about that. Are you sure that the voice channel activity you are seeing in GQRX actually belong to the same p25 system that you are monitoring? What does RRDB listing show?
 

maus92

Member
Premium Subscriber
Joined
Jun 23, 2004
Messages
5,590
Location
Annapolis
Thank You for giving some instructions and keeping everything updated for the Pi install. I have a Pi3B+ and the Nooelec Smart. I have everyting up and running with audio. I am having issues with voice groups below the control frequency. I know that there is voice channels below the CC because i can see them on GQRX. I have seen 2 or 3 of these below my CC Freq. My CC is 769.16875. See attached. when I run the "./rx.py --args 'rtl=0' -N 'LNA:36' -S 2400000 -f 769.16875e6 -o 25000 -T trunk.tsv -V -w -2 -U 2> stderr.2" Only the talk group high than the CC show up. I have let this run for hours and never see a Talk group below my CC..
any help?
What's the system? It's unlikely that there would be traffic channels below 769.16875. Possible, but only 5 channels available though.

The RRDB site data shows the call sign as WPTZ785 , which is a state license. That means that only one freq below the cch is possible: 769.15625

This assumes there is no other FCC license associated with this site.
 
Status
Not open for further replies.
Top