OP25 OP25 update 12/20/2020

Status
Not open for further replies.

boatbod

Member
Joined
Mar 3, 2007
Messages
3,316
Location
Talbot Co, MD
I have overhauled the boatbod op25 install script and cmake build environment to auto-detect available gnuradio package version (3.7 vs 3.8) and make the corresponding python selection. The previous method of apply gr3.8 patches has been eliminated so there will no longer be locally modified files to get in the way of updates.

While I have personally tested this under Ubuntu 16.04 (Mint 19), Ubuntu 20.04 (Mint 20) and Raspbian Buster, I'm sure someone will be along shortly to test/break it in new and inventive ways! Feedback is appreciated as always - either post here in the forum or PM me.
 

R0am3r

Salt Water Conch
Premium Subscriber
Joined
Apr 13, 2014
Messages
724
Location
Oneida County, NY
The rebuild.sh script updated as advertised and OP25 is working great on my Pi4 running Buster. Thank you.
 

WX4JCW

Member
Premium Subscriber
Joined
Jun 26, 2006
Messages
3,403
Location
Stow, Ohio
i decided to go with Linux mint in virtual box, OP25 ran well in Ubuntu
but I'm getting these errors on install, any ideas?
Code:
make[2]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/liborc-0.4.so', needed by 'op25/gr-op25/lib/libgnuradio-op25.so'.  Stop.
make[1]: *** [CMakeFiles/Makefile2:496: op25/gr-op25/lib/CMakeFiles/gnuradio-op25.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
make[2]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/liborc-0.4.so', needed by 'op25/gr-op25/lib/libgnuradio-op25.so'.  Stop.
make[1]: *** [CMakeFiles/Makefile2:496: op25/gr-op25/lib/CMakeFiles/gnuradio-op25.dir/all] Error 2
make: *** [Makefile:141: all] Error 2

this is a fresh Mint 20 install on Virtual box
 
Last edited:

WX4JCW

Member
Premium Subscriber
Joined
Jun 26, 2006
Messages
3,403
Location
Stow, Ohio
well got it installed had to add the gnuradio repository

but here is a new one

Code:
Using Python /usr/bin/python3
gr-osmosdr 0.2.0.0 (0.2.0) gnuradio 3.8.1.0
built-in source types: file osmosdr fcd rtl rtl_tcp uhd miri hackrf bladerf rfspace airspy airspyhf soapy redpitaya freesrp
Using device #0 Realtek RTL2838UHIDIR SN: 00000001
Found Rafael Micro R820T tuner
[R82XX] PLL not locked!
gain: name: LNA range: start 0 stop 0 step 0
setting gain lna to 36
supported sample rates 250000-2560000 step 24000
[R82XX] PLL not locked!
Using two-stage decimator for speed=960000, decim=10/4 if1=96000 if2=24000
op25_audio::open_socket(): enabled udp host(127.0.0.1), wireshark(23456), audio(23456)
p25_frame_assembler_impl: do_imbe[1], do_output[0], do_audio_output[1], do_phase2_tdma[1], do_nocrypt[0]
12/20/20 20:07:39.876563 set control channel=851.412500
12/20/20 20:07:39.876614 [0] p25p1_fdma::set_nac: 0x000
metadata update not enabled
using ALSA sound system
audio device: default
Listening on 127.0.0.1:23456
python version detected: 3.8.5 (default, Jul 28 2020, 12:59:40)
[GCC 9.3.0]
main: exception occurred
main: exception:
Traceback (most recent call last):
  File "./rx.py", line 986, in run
    self.tb.start()
  File "/usr/lib/python3/dist-packages/gnuradio/gr/top_block.py", line 111, in start
    top_block_start_unlocked(self._impl, max_noutput_items)
  File "/usr/lib/python3/dist-packages/gnuradio/gr/runtime_swig.py", line 4832, in top_block_start_unlocked
    return _runtime_swig.top_block_start_unlocked(r, max_noutput_items)
RuntimeError: list contains invalid format!
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,316
Location
Talbot Co, MD
i think i really broke it
As predicted :)

So the weird thing is I'm running Mint 20 and never came across a liborc problem because it installed that package automatically. When you say you have to add the gnuradio repository what exactly are you referring to? On my system the gnuradio packages were available direct from the main apt list. Did you run ~/op25/install.sh or manually invoke "cmake ../" from the build directory?

The latest error looks like a possible swig build issue. Just to confirm, this was a complete fresh install with no chance of older op25 libraries hanging around in the /usr/local hierachy? Recommend you try nuking the build directory and re-running the install.sh script.

ETA:
Reverse dependency listing for liborc-0.4-0
Code:
gnorbury@yoga2 ~/op25 $ apt-cache rdepends liborc-0.4-0
liborc-0.4-0
Reverse Depends:
  gstreamer1.0-plugins-base
  pulseaudio
  libspice-server1
  libvolk2.2
  libvips42
  libgnuradio-wavelet3.8.1
  gstreamer1.0-plugins-ugly
  gstreamer1.0-plugins-bad
  pulseaudio
  libspice-server1
  liborc-0.4-dev
  liborc-0.4-0-dbg
  libgstreamer-plugins-base1.0-0
  gstreamer1.0-plugins-good
 
Last edited:

boatbod

Member
Joined
Mar 3, 2007
Messages
3,316
Location
Talbot Co, MD
yes a completely fresh install of the latest mint image with Cinnamon
The error points to a problem with gnuradio swig libraries. If I were you I'd recommend either a complete re-image or purge the gnuradio packages and start the install from the beginning.
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,316
Location
Talbot Co, MD
I have reproduced the liborc problem. Investigating now.
ETA: I have added package "liborc-dev" to the 3.8 build. It puzzles me why this is necessary since I can see liborc-0.4-0 already installed, but at least this way the problem is resolved. @WX4JCW I sugget you nuke the contents of the 'build' directory and then re-run the install.sh script.
 
Last edited:

WX4JCW

Member
Premium Subscriber
Joined
Jun 26, 2006
Messages
3,403
Location
Stow, Ohio
i nuked the whole things, give me a bit to install and lets see what happens, mint can be weird sometimes

and I'm using Cinnamon
 
Last edited:

boatbod

Member
Joined
Mar 3, 2007
Messages
3,316
Location
Talbot Co, MD
i nuked the whole things, give me a bit to install and lets see what happens, mint can be weird sometimes
Tell me about it! I'm presently chasing a weird libpulse-simple problem that causes op25 to crash on some systems when 'pulse' is enabled, but works fine on the other 95% of systems.
 

WX4JCW

Member
Premium Subscriber
Joined
Jun 26, 2006
Messages
3,403
Location
Stow, Ohio
not really a huge issue but in op25_stats it is not logging the encryption algorithms or key id's, I can see them in the main log, but the stats script is not generating them
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,316
Location
Talbot Co, MD
not really a huge issue but in op25_stats it is not logging the encryption algorithms or key id's, I can see them in the main log, but the stats script is not generating them
op25_stats was an adjunct tool that a fellow RR member contributed way back, but not one that I use personally, so it tends to get forgotten when making logging changes such as the recently added enryption algs/keys. I'm sure there is a way to make it work given a little time and patience with the sed/awk/slice utilities. If you'd like to submit an issue in my github page I can track the request and let you know when I get it working.
 

W6HAX

Newbie
Joined
Sep 15, 2016
Messages
1
Location
Irvine, Ca
Thanks for the update, I really appreciate all the time and hard work that has gone into it!

Question, since all the old P25 blocks for GnuRadio (legacy op25, gr-smartnet, gr-baz, etc) are now very out of date and no longer work with any current versions of GnuRadio that I'm aware of, would it be possible at some point to build/convert some of the op25 code back into working blocks for GnuRadio?

I'm sure it's entirely possible to break it all out manually into a massive .grc file to get some basic P25 functionality, but I really wish those old blocks still worked. Converting old .xml blocks to .block.yaml is no big deal, but getting the actual code lined up and working is another story.

Thoughts, ideas? Anyone have any working P25 and/or SmartNet blocks for GnuRadio 3.8 or 3.9?

Much appreciated.
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,316
Location
Talbot Co, MD
A while back I ported the old gr-smartnet code into gnuradio 3.7. It is available from my github repo under gr-smartnet.

In the bigger picture, op25 is a complete gnuradio application not intended to be run under grc. I certainly have no plans to make any .grc definitions for the component blocks.
 
Status
Not open for further replies.
Top