RPi 3 & RTL-SDR/OP25?

Status
Not open for further replies.

bigRoN18

Member
Premium Subscriber
Joined
Aug 12, 2001
Messages
141
Location
Roseville, CA
I'm curious to know if the RPi3 has enough "horsepower" to use Gnuradio/OP25 to decode a p25 trunked system using RTL-SDR. I haven't been able to find minimum hardware requirements and curious if this would work.
 

mtindor

OH/WV DB Admin
Database Admin
Joined
Dec 5, 2006
Messages
10,362
Location
Carroll Co OH / EN90LN
I'm curious to know if the RPi3 has enough "horsepower" to use Gnuradio/OP25 to decode a p25 trunked system using RTL-SDR. I haven't been able to find minimum hardware requirements and curious if this would work.

I'd have to suggest "no way in hell", especially once you are trying to use it via GUI instead of CLI -- but Max KA1RBI might feel differently, so I'll defer to him. I have PI3s, and really I'm not impressed by performance at all. Even what I consider rudimentary applications seem to take up more CPU than I would have suspected.

Pretty damned good devices for the price though.

mike
 

KA1RBI

Member
Joined
Aug 15, 2008
Messages
799
Location
Portage Escarpment
I'd have to suggest "no way in hell",

haha, just finished a session running OP25 on the RPI - it's a "3" model "B" if that means anything. It works perfectly. I used the new rx.py version in straight CLI mode, with audio piped over UDP to an audio server running on a nearby PC. The speaker output port of the RPI requires a special type of audio connector (4-pole) that I haven't played with yet, but there's no reason it shouldn't work. Load average (keep in mind this is a 4-core unit) was around 1.5 or 1.6, with the RPI GUI running and 'top' running in another window...

Max
 

kb9mwr

Member
Joined
Apr 8, 2003
Messages
263
Location
Green Bay, WI
Thanks for this report Max, and I appreciate the work you are doing on the project. Do you take donations?

You should only need the 4 pole connector if you are trying to get the composite video out. In my experiences, a normal 1/8" audio cable works.
 
Last edited:

mtindor

OH/WV DB Admin
Database Admin
Joined
Dec 5, 2006
Messages
10,362
Location
Carroll Co OH / EN90LN
haha, just finished a session running OP25 on the RPI - it's a "3" model "B" if that means anything. It works perfectly. I used the new rx.py version in straight CLI mode, with audio piped over UDP to an audio server running on a nearby PC. The speaker output port of the RPI requires a special type of audio connector (4-pole) that I haven't played with yet, but there's no reason it shouldn't work. Load average (keep in mind this is a 4-core unit) was around 1.5 or 1.6, with the RPI GUI running and 'top' running in another window...

Max

I'm glad I deferred to you :) Talking out of my *** -- what's new about that ! I wasn't aware of rx.py, UDP to an audio server, or any possibilities like that.

Mike
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,316
Location
Talbot Co, MD
I'm glad I deferred to you :) Talking out of my *** -- what's new about that ! I wasn't aware of rx.py, UDP to an audio server, or any possibilities like that.

Mike
The "max" branch of the op25 repository has the rx.py version. It doesn't require the gui so it's cpu utilization is a bit lower.
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,316
Location
Talbot Co, MD
Very nice. I have max branch installed, but of course I never update it. I guess I need to. Thanks!

Mike
Depending on how long ago you last updated, you'll find that the original "max" code moved up to the main line of the repository and then the max branch became what is known as "rx.py". I've been working with Max on some enhancements, so keep an eye out for upcoming changes as they get integrated.
 

kb9mwr

Member
Joined
Apr 8, 2003
Messages
263
Location
Green Bay, WI
What is the least painful way to get gnu-radio on the Raspberry Pi?

My normal stress free method is to use the sbrac build-gnuradio script, but that sadly doesn't support Debian 8.

Kind of surprised there isn't a pre-built image for at least gnuradio, as that is likely going to take a while to build even with an automated install script..
 

KA1RBI

Member
Joined
Aug 15, 2008
Messages
799
Location
Portage Escarpment
What is the least painful way to get gnu-radio on the Raspberry Pi?

The PI that I bought came with bootable system that lets you install Raspbian, and from there it's basically the same procedure as a desktop for installing OP25. In my install I haven't yet tried running the GUI option (which utilizes gnuplot). Otherwise the commands are identical with the Ubuntu install.

I'll put together a list of commands that I used to get running.

Kind of surprised there isn't a pre-built image for at least gnuradio

There isn't?? once you have raspbian installed, gnuradio install is basically trivial
Code:
apt-get update
apt-get install gnuradio

Max
 

KA1RBI

Member
Joined
Aug 15, 2008
Messages
799
Location
Portage Escarpment
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
 

gskroll

Member
Premium Subscriber
Joined
Jun 17, 2005
Messages
96
Location
Portland, ME
I am really looking forward to using my RPi3 to run OP25. I am new to Linux but have significant experience with Windows (Desktop and Server). I bought the Pi to gain some experience with Linux.

I had run the first commands suggested:
apt-get update
apt-get install gnuradio
with no apparent errors.

When starting down the list of additional commands, the first:
sudo apt-get update
works without issue but the next:
sudo apt-get build-dep gnuradio
yields
E: You must put some 'source' URIs in your sources.list

Do I have something out of sequence? What URIs would a add to the sources.list file (and where would I look for it)?

Thanks

Glenn
 

KA1RBI

Member
Joined
Aug 15, 2008
Messages
799
Location
Portage Escarpment
sudo apt-get build-dep gnuradio
yields
E: You must put some 'source' URIs in your sources.list

OK, that's an oversight in the instructions. They should be edited to add the note that the /etc/apt/sources.list file contains the needed "deb-src" line in it, but it's commented out. To fix, edit the file and remove the '#' so the 'deb-src' appears in column one of the file. Save the file, then run
Code:
sudo apt-get update
to pull in the updates. Once this is done the rest of the install should be OK...

Max
 

gskroll

Member
Premium Subscriber
Joined
Jun 17, 2005
Messages
96
Location
Portland, ME
OK - I think I got considerably farther along. I didn't notice anything that looked like a error message while completing the sequence of commands until the "git checkout max".

That returns:

pi@raspberrypi:~ $ git checkout max
fatal: Not a git repository (or any of the parent directories): .git

What do you suggest to resume the installation?

Thanks for your help (and patience).

Glenn
 

kb9mwr

Member
Joined
Apr 8, 2003
Messages
263
Location
Green Bay, WI
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

I found you have to do change to the op25 directory before doing git checkout max, else you get that error.
So:

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

mkdir build
cd build
cmake ../
make
sudo make install
sudo ldconfig

So I have it all installed, but am still poking around on how to use it :)
I found some usage examples here, but some of the syntax must be a little different:
http://blog.febo.com/wp/?p=158
 
Last edited:

gskroll

Member
Premium Subscriber
Joined
Jun 17, 2005
Messages
96
Location
Portland, ME
Thanks for the suggestion I have now completed the install.

There were warnings. Should I be concerned about these:

Warning: Tag `SYMBOL_CACHE_SIZE' at line 289 of file `/home/pi/op25/build/op25/gr-op25_repeater/swig/op25_repeater_swig_doc_swig_docs/Doxyfile' has become obsolete.
To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u"
Warning: Tag `SHOW_DIRECTORIES' at line 477 of file `/home/pi/op25/build/op25/gr-op25_repeater/swig/op25_repeater_swig_doc_swig_docs/Doxyfile' has become obsolete.
To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u"
Warning: Tag `HTML_ALIGN_MEMBERS' at line 803 of file `/home/pi/op25/build/op25/gr-op25_repeater/swig/op25_repeater_swig_doc_swig_docs/Doxyfile' has become obsolete.
To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u"
Warning: Tag `USE_INLINE_TREES' at line 956 of file `/home/pi/op25/build/op25/gr-op25_repeater/swig/op25_repeater_swig_doc_swig_docs/Doxyfile' has become obsolete.
To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u"
Warning: Tag `XML_SCHEMA' at line 1149 of file `/home/pi/op25/build/op25/gr-op25_repeater/swig/op25_repeater_swig_doc_swig_docs/Doxyfile' has become obsolete.
To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u"
Warning: Tag `XML_DTD' at line 1155 of file `/home/pi/op25/build/op25/gr-op25_repeater/swig/op25_repeater_swig_doc_swig_docs/Doxyfile' has become obsolete.
To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u"
Warning: doxygen no longer ships with the FreeSans font.
You may want to clear or change DOT_FONTNAME.
Otherwise you run the risk that the wrong font is being used for dot generated graphs.

I also noticed when trying to find the README that I had somehow ended up with a directory structure of:

~/op25/op25/gr-op25_repeater

duplicating the /op25 levels. I assume this is incorrect and I should mv the contents from /op25/op25 (and subdirectories) to /op25 (I am enough of a Linux noob that I will have to research the proper syntax to accomplish that if appropriate). Or does that signify some broader issue?

Thanks for your help,

Glenn
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,316
Location
Talbot Co, MD
Don't worry about the Doxy warnings.

Directory structure will be along these lines:
~/op25/op25/gr-op25_repeater/...
~/op25/build

Once you've done the 'make' and 'sudo make install', you cd into the ./apps directory and create yourself a shell script with the correct command line args to start rx.py.
 

gskroll

Member
Premium Subscriber
Joined
Jun 17, 2005
Messages
96
Location
Portland, ME
Don't worry about the Doxy warnings.



Directory structure will be along these lines:

~/op25/op25/gr-op25_repeater/...

~/op25/build



Once you've done the 'make' and 'sudo make install', you cd into the ./apps directory and create yourself a shell script with the correct command line args to start rx.py.



Ah, ok, so the op25 directory within another op25 directory is not a mistake.

I will dig deeper in the README to gain an idea of what the rx.py command line options should include.

I will likely be out of pocket for the next week vacationing in Maine. Someday soon I hope to be able to use the RPi to scan while away.

In the meantime I will use my 436 but will have to suspend my op25 efforts.

Thanks for the help and I look forward to resuming when back in Connecticut.

Glenn


Sent from my iPhone using Tapatalk
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,316
Location
Talbot Co, MD
Be aware there is an error in the README. If you wish to monitor p25 phase ii, you must set the "-2" command line option.
 
Status
Not open for further replies.
Top