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
  #1121 (permalink)  
Old 05-27-2017, 9:47 AM
Member
  Premium Subscriber
Premium Subscriber
 
Join Date: Mar 2007
Location: Talbot Co, MD
Posts: 343
Default

Quote:
Originally Posted by flkmrz View Post
Hi Adcockfred,

Thanks for replying. I don't quite understand your post. I looked at the page you specified with the corrected git url, but the primary problem I'm having is getting the gnuradio dependencies to install. For some reason, I'm unable to get it to function.

Thanks for your help!
Dependency info here:
http://op25.osmocom.org/trac/wiki.pn...structionsPage

Also, go find the "new recipie" thread over at the "op25-dev" group on yahoo.com.
Reply With Quote
Sponsored links
  #1122 (permalink)  
Old 05-27-2017, 11:08 AM
Member
   
Join Date: May 2017
Location: Coatesville,PA
Posts: 8
Default

Quote:
Originally Posted by boatbod View Post
If it helps any, I ditched Windoze as my primary OS years ago and switched to Lint Mint (17.1 back then, currently 18.1). For the rare occasions where I absolutely must run something in the Win environment, I have Win10 installed in a virtualbox session under Mint.

Depending which version of Mint (or straight Ubuntu) you install will steer you towards either of the scope.py or rx.py variant of OP25. The earlier scope.py version only really runs under ubuntu 14.04 derivatives (i.e. Mint 17.3) whereas the newer rx.py runs under either but is still being tweaked/improved. Another consideration is if you have up-to-the-minute pc hardware, in which case you may be forced to go with the latest version of Mint so that you have driver support for things like wireless cards etc. (I didn't initially and it was a glorious PITA to get the machine installed properly).
Thanks for the reply. I am so reluctant to wipe my machine. I ordered a pretty speed USB thumb drive and it should be here by tuesday. Thanks for the heads up on the drivers as well. I do have an additional question will OP25 work with newer releases of Linux or should I install an earlier version?
Reply With Quote
  #1123 (permalink)  
Old 05-28-2017, 8:56 AM
Member
  Premium Subscriber
Premium Subscriber
 
Join Date: Mar 2007
Location: Talbot Co, MD
Posts: 343
Default

Depends which version you want to run. If you're looking at the head of the repository, scopy.py require ubuntu 14.04. If you're looking at max branch, rx.py works fine on later versions (16.04).
Reply With Quote
  #1124 (permalink)  
Old 05-29-2017, 10:12 PM
Member
  Premium Subscriber
Premium Subscriber
 
Join Date: Mar 2007
Location: Talbot Co, MD
Posts: 343
Default

For the 'max' branch (rx.py) I have written a pure python module (sockaudio.py) that integrates into op25 to capture udp audio frames and plays them through an ALSA device so you no longer need to run the separate "nc" and "aplay" tools.

Probably the easiest way to give it a try is to download the changed versions of the following files from my google drive. https://drive.google.com/open?id=0B-...DFrTGx4Vkh3em8
rx.py
sockaudio.py
gr_gnuplot.py
README

Curiously I've found I get far smoother audio when it's playing through a Pulse Audio device (e.g. "default") than direct to ALSA. Its an underrun thing, but I haven't figured out exactly why or what I can do about it yet.

Normally I would publish this as a git.diff patch, but my version of rx.py is tracking a little ahead of the max branch due to some other changes I've been experimenting with.
Reply With Quote
  #1125 (permalink)  
Old 05-30-2017, 7:22 PM
scan18's Avatar
Member
  Premium Subscriber
Premium Subscriber
 
Join Date: Dec 2004
Location: Honoka'a, HI
Posts: 157
Default

Quote:
Originally Posted by boatbod View Post
For the 'max' branch (rx.py) I have written a pure python module (sockaudio.py) that integrates into op25 to capture udp audio frames and plays them through an ALSA device so you no longer need to run the separate "nc" and "aplay" tools.

Probably the easiest way to give it a try is to download the changed versions of the following files from my google drive. https://drive.google.com/open?id=0B-...DFrTGx4Vkh3em8
rx.py
sockaudio.py
gr_gnuplot.py
README

Curiously I've found I get far smoother audio when it's playing through a Pulse Audio device (e.g. "default") than direct to ALSA. Its an underrun thing, but I haven't figured out exactly why or what I can do about it yet.

Normally I would publish this as a git.diff patch, but my version of rx.py is tracking a little ahead of the max branch due to some other changes I've been experimenting with.
Hi there... wanted to give this a try, but running into an issue. I copied over the 4 new files, but when I execute the rx.py now nothing seems to happen at all, the program doesn't launch and I get no error or anything. I guess I should confirm the following, apologies if these are dumb questions:

1. sockaudio.py appears to be new, does that go in the gr-op25-repeater\apps directory or somewhere else?

2. Are there additional packages that need to be installed?

3. Do I need to do a make and make install after copying over the files?

And to clarify, I am attempting this from a currently installed "max" branch version which I have been running using the separate nc and aplay tools.

Thanks!
Reply With Quote
Sponsored links
  #1126 (permalink)  
Old 05-30-2017, 7:38 PM
Member
  Premium Subscriber
Premium Subscriber
 
Join Date: Mar 2007
Location: Talbot Co, MD
Posts: 343
Default

Quote:
Originally Posted by scan18 View Post
Hi there... wanted to give this a try, but running into an issue. I copied over the 4 new files, but when I execute the rx.py now nothing seems to happen at all, the program doesn't launch and I get no error or anything. I guess I should confirm the following, apologies if these are dumb questions:

1. sockaudio.py appears to be new, does that go in the gr-op25-repeater\apps directory or somewhere else?

2. Are there additional packages that need to be installed?

3. Do I need to do a make and make install after copying over the files?

And to clarify, I am attempting this from a currently installed "max" branch version which I have been running using the separate nc and aplay tools.

Thanks!
Does anything get written to the file stderr.2 ? If you followed the README and used output redirection, this is where any errors will be shown.

The sockaudio.py file should be put in the gr-op25-repeater\apps directory. Please note that I just uploaded an updated version with some better error handling and increased buffer count (works better on ALSA devices)

If you have previously used rx.py then there is no need to do a make/make install to bring my changes in, but if you are converting over from scope.py then you will need to make uninstall the old version first and then make/make install the new version before running it.

As long as your system has the libasound2 package installed you shouldn't need anything beyond what the README lists for prerequisites. When moving from scope.py to rx.py, the only additional package required is gnuplot. (Note that you need version 5 or greater)

Last edited by boatbod; 05-30-2017 at 7:42 PM..
Reply With Quote
  #1127 (permalink)  
Old 05-30-2017, 8:15 PM
scan18's Avatar
Member
  Premium Subscriber
Premium Subscriber
 
Join Date: Dec 2004
Location: Honoka'a, HI
Posts: 157
Default

Quote:
Originally Posted by boatbod View Post
Does anything get written to the file stderr.2 ? If you followed the README and used output redirection, this is where any errors will be shown.

The sockaudio.py file should be put in the gr-op25-repeater\apps directory. Please note that I just uploaded an updated version with some better error handling and increased buffer count (works better on ALSA devices)

If you have previously used rx.py then there is no need to do a make/make install to bring my changes in, but if you are converting over from scope.py then you will need to make uninstall the old version first and then make/make install the new version before running it.

As long as your system has the libasound2 package installed you shouldn't need anything beyond what the README lists for prerequisites. When moving from scope.py to rx.py, the only additional package required is gnuplot. (Note that you need version 5 or greater)
Ah yes, forgot about the errors being written to stderr.2. That's why I wasn't seeing any errors pop up.

Looks like it was a permission denied error for rx.py. I set it to allow executing as a program, and it is launching successfully now. Strange, I didn't think I had to do that previously for any .py files, but maybe I did.

Not much traffic on my local system right now, but will keep testing to see how well the audio is working.

Thanks!
Reply With Quote
  #1128 (permalink)  
Old 05-30-2017, 8:17 PM
PiccoIntegra's Avatar
Member
   
Join Date: Dec 2002
Location: North Texas
Posts: 478
Default

If you over-wrote the original file with boatbod's "rx.py" file, you probably have to change the file permissions to allow execution.

sudo chmod 755 rx.py

edit, you figured that out...
Reply With Quote
  #1129 (permalink)  
Old 05-30-2017, 8:32 PM
Member
  Premium Subscriber
Premium Subscriber
 
Join Date: Mar 2007
Location: Talbot Co, MD
Posts: 343
Default

Quote:
Originally Posted by scan18 View Post
Ah yes, forgot about the errors being written to stderr.2. That's why I wasn't seeing any errors pop up.

Looks like it was a permission denied error for rx.py. I set it to allow executing as a program, and it is launching successfully now. Strange, I didn't think I had to do that previously for any .py files, but maybe I did.

Not much traffic on my local system right now, but will keep testing to see how well the audio is working.

Thanks!
Quote:
Originally Posted by PiccoIntegra View Post
If you over-wrote the original file with boatbod's "rx.py" file, you probably have to change the file permissions to allow execution.

sudo chmod 755 rx.py

edit, you figured that out...
Ah yes, not sure there is a way around that permissions problem with google drive.

By the way, if you experience stuttering it's probably caused by audio underruns. You can try playing with the snd_pcm_hw_params_set_periods() function call and experiment with the number of periods to increase or decrease the buffer size. On my system I cannot set it any higher than 32 with a native alsa device, but it will go up to 120 or more with pulse audio.

The other critical parameter is snd_pcm_hw_params_set_period_size() which has to be 32 for compatibility with both phase 1 and phase 2 audio streaming. Larger period_size would be better (at expense of increased latency) but it causes issues when the data you are writing isn't large enough to consume a full period and gets hung in the buffer without being played.

ETA: I updated sockaudio.py to put the tunable audio parameters up at the top of the file. The constants PCM_PERIODS and PCM_PERIOD_SIZE can be tweaked, but usually within modest limits before the ALSA driver refuses the operation and you get no sound at all.

Last edited by boatbod; 05-30-2017 at 8:48 PM..
Reply With Quote
Sponsored links
  #1130 (permalink)  
Old 06-03-2017, 2:49 PM
Member
  Premium Subscriber
Premium Subscriber
 
Join Date: Apr 2010
Location: houston tx.
Posts: 261
Default

This op-25 seems to have very good reception qualities. So I brought all the audio levels down in the program and pc, ran feed out to external amp and got excellent audio. I must try this on these 900 mzh systems around and see if it works as good as the 800.
Reply With Quote
  #1131 (permalink)  
Old 06-12-2017, 5:54 AM
Newbie
   
Join Date: Dec 2016
Posts: 4
Default

Max is it possible to decode a private call in OP25?
Reply With Quote
  #1132 (permalink)  
Old 06-12-2017, 8:45 PM
Member
  Premium Subscriber
Premium Subscriber
 
Join Date: Mar 2007
Location: Talbot Co, MD
Posts: 343
Default

Quote:
Originally Posted by Alex1275 View Post
Max is it possible to decode a private call in OP25?
I'm not familiar with the exact protocol for a private call, but if the audio is unencrypted and broadcast by the base station then there is no technical reason that OP25 could not decode it. The only question is whether the trunking module (trunking.py) correctly interprets the voice grant and switches to the voice channel.

Unfortunately the P25 spec is not public domain. I'd love to have a copy, but not for what they are charging for it.
Reply With Quote
  #1133 (permalink)  
Old 06-13-2017, 2:46 AM
Member
   
Join Date: May 2017
Location: Coatesville,PA
Posts: 8
Default

OK Im slowly nearing the finish line and hit a snag. I cannot find the NAC or the offset for Chester County Emergency Services P25 P2 system.I am trying to build the trunk.tsv file. I even tried the analyze feature on my 436 its giving me "Ah" which converted to hex is 4168 but I know life isnt that simple
Reply With Quote
  #1134 (permalink)  
Old 06-13-2017, 11:34 AM
Member
  Premium Subscriber
Premium Subscriber
 
Join Date: Mar 2007
Location: Talbot Co, MD
Posts: 343
Default

Quote:
Originally Posted by Falcon4 View Post
OK Im slowly nearing the finish line and hit a snag. I cannot find the NAC or the offset for Chester County Emergency Services P25 P2 system.I am trying to build the trunk.tsv file. I even tried the analyze feature on my 436 its giving me "Ah" which converted to hex is 4168 but I know life isnt that simple
To find the NAC, simply run OP25 without the "-T" option and tune it to the control channel. The NAC should start scrolling in the terminal window once it locks on to the control channel signal.
Reply With Quote
  #1135 (permalink)  
Old 06-13-2017, 12:00 PM
Member
   
Join Date: May 2017
Location: Coatesville,PA
Posts: 8
Default

Ok I tried to run it I got the following error:

chrisising@ubuntu:~/op25/op25/gr-op25_repeater/apps$ ./scope.sh
Traceback (most recent call last):
File "./scope.py", line 54, in <module>
import op25
ImportError: No module named op25

I also found another post to compile my "./scope.py" please let me know if this looks right to find the NAC

./scope.py --args 'rtl=0' -N 'LNA:35' -f 769.5132e6 -S 2400000 -o 12500 -q 46 -v 0
Reply With Quote
Sponsored links
  #1136 (permalink)  
Old 06-13-2017, 6:26 PM
Member
  Premium Subscriber
Premium Subscriber
 
Join Date: Mar 2007
Location: Talbot Co, MD
Posts: 343
Default

Quote:
Originally Posted by Falcon4 View Post
Ok I tried to run it I got the following error:

chrisising@ubuntu:~/op25/op25/gr-op25_repeater/apps$ ./scope.sh
Traceback (most recent call last):
File "./scope.py", line 54, in <module>
import op25
ImportError: No module named op25

I also found another post to compile my "./scope.py" please let me know if this looks right to find the NAC

./scope.py --args 'rtl=0' -N 'LNA:35' -f 769.5132e6 -S 2400000 -o 12500 -q 46 -v 0
I'd bet that you forgot the "sudo make install" step from within the ~/op25/build directory. The ImportError is telling you that python cannot find the module named op25 from /usr/local/lib/python2.7/dist-packages
Reply With Quote
  #1137 (permalink)  
Old 06-14-2017, 2:06 AM
Member
   
Join Date: Sep 2002
Location: Toronto, Ontario
Posts: 3,939
Default

Quote:
Originally Posted by Falcon4 View Post
I even tried the analyze feature on my 436 its giving me "Ah" which converted to hex is 4168 but I know life isnt that simple
Ah sounds like it's already in hex, namely 00A. Or doesn't a 436 display NACs in hex?
Reply With Quote
  #1138 (permalink)  
Old 06-14-2017, 3:59 PM
Member
   
Join Date: May 2017
Location: Coatesville,PA
Posts: 8
Default

Thanks for all the help I ran the sudo make install and it made it more unhappy. Im taking the azscanner route and wiping my virtual machine and starting from the top tonight. I know im close. I was doing this over the course of two days if i do it in one sit down I doubt ill miss something. Here's the instructions Im following please let me know if any steps are missing. Again,thank you for all the help!!!

https://www.youtube.com/watch?v=s2iJMtPJu-I
Reply With Quote
  #1139 (permalink)  
Old 06-14-2017, 7:26 PM
Member
  Premium Subscriber
Premium Subscriber
 
Join Date: Mar 2007
Location: Talbot Co, MD
Posts: 343
Default

Quote:
Originally Posted by Falcon4 View Post
Thanks for all the help I ran the sudo make install and it made it more unhappy. Im taking the azscanner route and wiping my virtual machine and starting from the top tonight. I know im close. I was doing this over the course of two days if i do it in one sit down I doubt ill miss something. Here's the instructions Im following please let me know if any steps are missing. Again,thank you for all the help!!!

https://www.youtube.com/watch?v=s2iJMtPJu-I
Generally I use the "new recipe for building OP25" method of installing OP25. It's documented over in the OP25-DEV yahoo group, but here are the main steps:
https://groups.yahoo.com/neo/groups/.../messages/1560

Code:
First, use these commands to install the pre-reqs

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

Second, use these commands to build and install OP25:   [Note, the mkdir build; cd build; cmake ../; make; sudo make install sequence is a bog-standard form when source-building apps that utilize cmake.]


cd ~
git clone git://op25.osmocom.org/op25.git
cd op25
mkdir build
cd build
cmake ../
make
sudo make install
sudo ldconfig


Finally you may need to use the command

sudo rmmod dvb_usb_rtl28xxu

to remove the DVB kernel module that conflicts with the RTL USB SDR.  You may also need to edit the system udev rules for the RTL -both are common issues and you can search for the needed resources if the RTL isn't getting recognized...  Once this is all done (no longer a need to source any env commands into the shell) you should be ready to invoke scope.py,  which is the principal OP25 GUI app...  As a pre-check, you can also run the osmocom_fft application (which should install as part of the pre-reqs) to test basic RTL connectivity and rule out related problems before invoking scope.py...
Reply With Quote
  #1140 (permalink)  
Old 06-22-2017, 2:47 AM
Member
  Premium Subscriber
Premium Subscriber
 
Join Date: Apr 2010
Location: houston tx.
Posts: 261
Default

yeah, I have kicked all these vm machines around now for well a couple of weeks. and really do not understand what all the voice problems are. I see a lot of problems being made by not waiting on the machine. just like my famous domino buddy says "even the snake will let you pick him up when he is ready"
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 12:40 PM.


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