RadioReference on Facebook   RadioReference on Twitter   RadioReference Blog
 

Go Back   The RadioReference.com Forums > Computer Aided Monitoring and Programming > Software Defined Radio


Software Defined Radio - A forum for general discussion of software defined radio (SDR) receiver equipment.

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1 (permalink)  
Old 10-10-2017, 10:44 AM
Member
   
Join Date: Oct 2017
Posts: 11
Default OP25 in vmware workstation-Works!

I think I read just about every page in that op25 in virtualbox thread.

Just wanted to share with the community that I have OP25 running on ubuntu 14.04 that is a VM on vmware workstation on my window 10 laptop. I have op25 scanning 2 systems. One is p25 phase 1 and the other is p25 phase 2. No choppy audio, and its doing really well. The VM has 1 vcpu and 4 gigs of vram. Watching the ubuntu system monitor I am seeing 30-50% cpu usage and pretty steady 1 gig ram used.

I am using the current max version (oct-2017) of op25 with rx.py

For the noobs out there that might stumble across this post in the future, OP25 is not easy. It takes lots of reading, learning, and tinkering to get it to work right. Keep at it and take lots of breaks to ease the frustration that will build.
Attached Images
 
Reply With Quote
Sponsored links
  #2 (permalink)  
Old 10-10-2017, 8:02 PM
Member
  Premium Subscriber
Premium Subscriber
 
Join Date: Mar 2007
Location: Talbot Co, MD
Posts: 520
Default

Quote:
Originally Posted by tubular031 View Post
I think I read just about every page in that op25 in virtualbox thread.

Just wanted to share with the community that I have OP25 running on ubuntu 14.04 that is a VM on vmware workstation on my window 10 laptop. I have op25 scanning 2 systems. One is p25 phase 1 and the other is p25 phase 2. No choppy audio, and its doing really well. The VM has 1 vcpu and 4 gigs of vram. Watching the ubuntu system monitor I am seeing 30-50% cpu usage and pretty steady 1 gig ram used.

I am using the current max version (oct-2017) of op25 with rx.py

For the noobs out there that might stumble across this post in the future, OP25 is not easy. It takes lots of reading, learning, and tinkering to get it to work right. Keep at it and take lots of breaks to ease the frustration that will build.
Glad you were able to get it working successfully. I'm curious whether you are using the built-in audio decoder or nc | aplay? The version of sockaudio.py found in max's branch is out of date; my current version has reworked buffer handling to make it more tolerant of different kernels with their varying sizes of default buffer memory.
Reply With Quote
  #3 (permalink)  
Old 10-11-2017, 9:05 AM
Member
   
Join Date: Oct 2017
Posts: 11
Default

I am using the built in audio. When I run rx.py I use the -U command to send the auto out my speakers. Seems to work ok. I am not a linux guy at all so that was some of the challenge. I also had issues with the offset and correction. I ended up removing both to get it to work and tune correctly. My rtl-sdr v3 is spot on for tuning I guess

Do you know if OP25 can listen to non trunked p25? I have quite a few frequencies I want to listen to that are p25 but not trunked. I can get them with SDRTrunk currently

Here are some examples
https://www.radioreference.com/apps/db/?ctid=2613
Reply With Quote
  #4 (permalink)  
Old 10-12-2017, 9:38 AM
Member
  Premium Subscriber
Premium Subscriber
 
Join Date: Mar 2007
Location: Talbot Co, MD
Posts: 520
Default

Quote:
Originally Posted by tubular031 View Post
I am using the built in audio. When I run rx.py I use the -U command to send the auto out my speakers. Seems to work ok. I am not a linux guy at all so that was some of the challenge. I also had issues with the offset and correction. I ended up removing both to get it to work and tune correctly. My rtl-sdr v3 is spot on for tuning I guess

Do you know if OP25 can listen to non trunked p25? I have quite a few frequencies I want to listen to that are p25 but not trunked. I can get them with SDRTrunk currently

Here are some examples
https://www.radioreference.com/apps/db/?ctid=2613
I've never tried tuning to a non-trunked P25. The lower level c++ code should be ok with demodulating and decoding audio from the bitstream, but the higher level python trunking.py module is almost certainly going to have some indigestion when it doesn't "see" a control channel. I'd guess it'd need some extra work including a new set of command line options & configuration parameters.

Best suggestion is to try configuring the "control channel" frequency to match one of your P25 non-trunked channels and see what happens. It'll either work or it won't...
Reply With Quote
  #5 (permalink)  
Old 10-12-2017, 2:09 PM
Member
  Premium Subscriber
Premium Subscriber
 
Join Date: Mar 2007
Location: Talbot Co, MD
Posts: 520
Default

Quote:
Originally Posted by boatbod View Post
I've never tried tuning to a non-trunked P25. The lower level c++ code should be ok with demodulating and decoding audio from the bitstream, but the higher level python trunking.py module is almost certainly going to have some indigestion when it doesn't "see" a control channel. I'd guess it'd need some extra work including a new set of command line options & configuration parameters.

Best suggestion is to try configuring the "control channel" frequency to match one of your P25 non-trunked channels and see what happens. It'll either work or it won't...
For grins I went ahead and tried it on one of our local phase 2 sites with no success.
Reply With Quote
Sponsored links
  #6 (permalink)  
Old 10-16-2017, 3:06 PM
Member
   
Join Date: Oct 2017
Posts: 11
Default

Quote:
Originally Posted by boatbod View Post
For grins I went ahead and tried it on one of our local phase 2 sites with no success.
I tried it over the weekend and it also did not work for me. Guess Ill stick to sdrtrunk for those.
Reply With Quote
  #7 (permalink)  
Old 10-16-2017, 3:33 PM
Member
  Premium Subscriber
Premium Subscriber
 
Join Date: Mar 2007
Location: Talbot Co, MD
Posts: 520
Default

Quote:
Originally Posted by tubular031 View Post
I tried it over the weekend and it also did not work for me. Guess Ill stick to sdrtrunk for those.
I working on it... Will know more tonight.
Reply With Quote
  #8 (permalink)  
Old 10-16-2017, 6:17 PM
Member
  Premium Subscriber
Premium Subscriber
 
Join Date: Mar 2007
Location: Talbot Co, MD
Posts: 520
Default

Quote:
Originally Posted by boatbod View Post
I working on it... Will know more tonight.
I made another attempt to see if I could get stand-alone audio working, but my efforts are being hampered by a lack of Phase 1 traffic in my area - either trunked or conventional. Everything I have access to is Phase 2, except for really rare occasions when an old radio associates with a tgid and causes it to fall back into compatibility mode.

Making sure you have pulled my latest github repo update, try running rx.py with the following parameters:

./rx.py -P fft --args "rtl=0" --gains 'lna:36' -O 'default' -f 770.21875e6 -S 960000 -q 10 -v 10 -U 2> stderr.2

You'll need to edit the "-f <freq>" to match the frequency of the P25 channel you are trying to decode. You will also need to add in "-q <ppm>" for any ppm correction etc.

The rx.py terminal console will stay blank; this is normal because there are no messages coming back from trunking.py to update it.

I don't see anything in the code path that looks like it requires a nac to be configured, but it may be that I just missed it. At the least, if the system locks on to the channel and starts decoding frames, you should get some meaningful output in stderr.2 over and above rx_sym() timeout errors.
Reply With Quote
  #9 (permalink)  
Old 10-16-2017, 6:49 PM
Member
   
Join Date: Oct 2017
Posts: 11
Default

Quote:
Originally Posted by boatbod View Post

Making sure you have pulled my latest github repo update, try running rx.py with the following parameters:
What is the steps/process to update my install?

I am a linux noob so sorry for the question

I used the command "git checkout max" when I pulled it and did the cmake/make/install commands. Dont know if that changes anything
Reply With Quote
  #10 (permalink)  
Old 10-16-2017, 7:22 PM
Member
  Premium Subscriber
Premium Subscriber
 
Join Date: Mar 2007
Location: Talbot Co, MD
Posts: 520
Default

Quote:
Originally Posted by tubular031 View Post
What is the steps/process to update my install?

I am a linux noob so sorry for the question

I used the command "git checkout max" when I pulled it and did the cmake/make/install commands. Dont know if that changes anything
Ah right, you're on the official osmocom 'max' branch at the moment. My stuff has moved on a little from there and some of the recent fixes affect what you are trying to accomplish.

I recommend you clone my repo and install that one instead of max. I sync'd Max's latest into my repo about a week ago so you shouldn't be loosing anything along the way.

cd ~
mv op25 op25.max
git clone https://github.com/boatbod/op25
cd op25
mkdir build
cd build
cmake ../
make
sudo make install

Once the install is completed, copy over your config files from ~/op25.max/op25/gr-op25_repeater/apps into ~/op25/op25/gr-op25_repeater/apps and try the experiment again.

Next time you need to update you can do the following:
cd ~/op25
git pull
Reply With Quote
  #11 (permalink)  
Old 10-17-2017, 12:18 PM
Member
   
Join Date: Oct 2017
Posts: 11
Default

Thanks for the steps and thanks for the changes to the code. I have my VM updated now. I wont be able to try it out for a day or 2. Ill let you know how it works when I can test it out.
Reply With Quote
  #12 (permalink)  
Old 10-18-2017, 1:59 PM
Member
   
Join Date: Oct 2017
Posts: 11
Default

I got home early today and tested it out. I am getting an error and even when I put the frequency of the trunking system I was listening to before I get the same error. Not sure what it all means.


andy@ubuntu:~/op25/op25/gr-op25_repeater/apps$ ./rx.py -P fft --args "rtl=0" --gains 'lna:49' -O 'default' -f 155.445e6 -S 960000 -v 10 -U 2> stderr.2

linux; GNU C++ version 4.8.2; Boost_105400; UHD_003.005.005-0-unknown

gain: name: LNA range: start 0 stop 0 step 0
setting gain lna to 49
supported sample rates 250000-2560000 step 24000
set_center_freq: 155445000
Using Volk machine: avx_64_mmx_orc

andy@ubuntu:~/op25/op25/gr-op25_repeater/apps$ ./rx.py -P fft --args "rtl=0" --gains 'lna:49' -O 'default' -f 155.445e6 -S 960000 -v 10 -U
linux; GNU C++ version 4.8.2; Boost_105400; UHD_003.005.005-0-unknown

gr-osmosdr 0.1.1 (0.1.1) gnuradio 3.7.2.1
built-in source types: file osmosdr fcd rtl rtl_tcp uhd hackrf bladerf rfspace
Using device #0 Realtek RTL2838UHIDIR SN: 00000001
Found Rafael Micro R820T tuner
gain: name: LNA range: start 0 stop 0 step 0
setting gain lna to 49
supported sample rates 250000-2560000 step 24000
set_center_freq: 155445000
Using Volk machine: avx_64_mmx_orc
Traceback (most recent call last):
File "./rx.py", line 671, in <module>
tb = p25_rx_block()
File "./rx.py", line 220, in __init__
self.open_usrp()
File "./rx.py", line 606, in open_usrp
self.__set_rx_from_osmosdr()
File "./rx.py", line 542, in __set_rx_from_osmosdr
self.__build_graph(self.src, capture_rate)
File "./rx.py", line 283, in __build_graph
symbol_rate = self.symbol_rate)
File "/home/andy/op25/op25/gr-op25_repeater/apps/p25_demodulator.py", line 173, in __init__
self.lpf = filter.fft_filter_ccf(decimation, lpf_coeffs)
AttributeError: 'module' object has no attribute 'fft_filter_ccf'
Reply With Quote
  #13 (permalink)  
Old 10-18-2017, 3:10 PM
Member
  Premium Subscriber
Premium Subscriber
 
Join Date: Mar 2007
Location: Talbot Co, MD
Posts: 520
Default

Quote:
Originally Posted by tubular031 View Post
I got home early today and tested it out. I am getting an error and even when I put the frequency of the trunking system I was listening to before I get the same error. Not sure what it all means.


andy@ubuntu:~/op25/op25/gr-op25_repeater/apps$ ./rx.py -P fft --args "rtl=0" --gains 'lna:49' -O 'default' -f 155.445e6 -S 960000 -v 10 -U 2> stderr.2

linux; GNU C++ version 4.8.2; Boost_105400; UHD_003.005.005-0-unknown

gain: name: LNA range: start 0 stop 0 step 0
setting gain lna to 49
supported sample rates 250000-2560000 step 24000
set_center_freq: 155445000
Using Volk machine: avx_64_mmx_orc

andy@ubuntu:~/op25/op25/gr-op25_repeater/apps$ ./rx.py -P fft --args "rtl=0" --gains 'lna:49' -O 'default' -f 155.445e6 -S 960000 -v 10 -U
linux; GNU C++ version 4.8.2; Boost_105400; UHD_003.005.005-0-unknown

gr-osmosdr 0.1.1 (0.1.1) gnuradio 3.7.2.1
built-in source types: file osmosdr fcd rtl rtl_tcp uhd hackrf bladerf rfspace
Using device #0 Realtek RTL2838UHIDIR SN: 00000001
Found Rafael Micro R820T tuner
gain: name: LNA range: start 0 stop 0 step 0
setting gain lna to 49
supported sample rates 250000-2560000 step 24000
set_center_freq: 155445000
Using Volk machine: avx_64_mmx_orc
Traceback (most recent call last):
File "./rx.py", line 671, in <module>
tb = p25_rx_block()
File "./rx.py", line 220, in __init__
self.open_usrp()
File "./rx.py", line 606, in open_usrp
self.__set_rx_from_osmosdr()
File "./rx.py", line 542, in __set_rx_from_osmosdr
self.__build_graph(self.src, capture_rate)
File "./rx.py", line 283, in __build_graph
symbol_rate = self.symbol_rate)
File "/home/andy/op25/op25/gr-op25_repeater/apps/p25_demodulator.py", line 173, in __init__
self.lpf = filter.fft_filter_ccf(decimation, lpf_coeffs)
AttributeError: 'module' object has no attribute 'fft_filter_ccf'
For some reason your installed gnuradio does not have the fft_filter module that most installations have automatically. The fix is pretty simple - edit p25_demodulator.py and change the text "fft" to "fir". The FIR filter uses more cpu, but it should be installed by default.
Reply With Quote
  #14 (permalink)  
Old 10-18-2017, 5:20 PM
Member
  Premium Subscriber
Premium Subscriber
 
Join Date: Mar 2007
Location: Talbot Co, MD
Posts: 520
Default

I just pushed a fix for the fft_filter_ccf() / fir_filter_ccf() error that a couple of people have experienced. Fundamentally I don't know why some gnuradio installations have both while others only have one, but the p25_demodulator code now falls back to fir if fft is not present.

Anyone who wants the update will need to "git pull" to download the change.
Reply With Quote
  #15 (permalink)  
Old 10-18-2017, 5:23 PM
Member
   
Join Date: Oct 2017
Posts: 11
Default

I changed that line in the config and now its running. When there is nothing on the frequency I get a constant scrolling message that says process_data_unit timeout p25p1_fdma::rx_sym() timeout

I was able to catch some audio but it seemed a little choppy.

I attached 2 screen shots, 1 is when there is no RX and the other is when its receiving.

I am going to watch it some more and see how it sounds. the PD is not too active today. I guess that is a good thing!
Attached Images
  
Reply With Quote
  #16 (permalink)  
Old 10-18-2017, 5:31 PM
Member
   
Join Date: Oct 2017
Posts: 11
Default

listening more I think my choppy audio was due to running sdrtrunk on my windows os and then running the ubuntu vm with op25. I had sdr trunk running but muted for a second opinion on when that frequency was transmitting. Once I closed SDRTrunk the audio became smooth again.
Reply With Quote
  #17 (permalink)  
Old 10-18-2017, 10:08 PM
Member
  Premium Subscriber
Premium Subscriber
 
Join Date: Mar 2007
Location: Talbot Co, MD
Posts: 520
Default

Quote:
Originally Posted by tubular031 View Post
listening more I think my choppy audio was due to running sdrtrunk on my windows os and then running the ubuntu vm with op25. I had sdr trunk running but muted for a second opinion on when that frequency was transmitting. Once I closed SDRTrunk the audio became smooth again.
I think you may have the logging level too high and it's spitting out lots of NAC/DUID messages and eating up too much precious cpu. Try setting "-v 1" or perhaps "-v 0" in the command line parameters and (as you already did) eliminate background activities. You might also try turning the -P plot off.

On my pi3 the audio is acceptable as long as I don't have any plots turned on. If I do that, it gets way less listenable and the number of rx_sym() timeouts increases significantly. You probably have a similar situation going on here with the resources being spread across multiple virtual machines.
Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT -5. The time now is 1:19 AM.


Powered by vBulletin® Version 3.8.2
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
All information here is Copyright 2012 by RadioReference.com LLC and Lindsay C. Blanton III.Ad Management by RedTyger
Copyright 2015 by RadioReference.com LLC Privacy Policy  |  Terms and Conditions