[op25-dev] OP25 for noobs by a noob (long)

John Ackermann N8UR jra@febo.com [op25-dev] op25-dev at yahoogroups.com
Wed Jun 28 12:13:00 UTC 2017

Thanks, flkmrz!  I recently posted something similar on my blog 
(https://blog.febo.com) and I'm going to edit those posts based on some 
of what you've said below.

I strongly prefer using the "build-gnuradio" script 
(http://sbrac.org/files/build-gnuradio) to build the system from 
sources.  It requires very little user intervention, makes sure you have 
all the required .deb or .rpm packages installed, and gives you the 
latest version of the code base.  But as of right now (28 June 2017) the 
rtlsdr components don't build properly due to upstream code changes.  I 
have a good feeling that it will be fixed very soon, but over the last 
week I've been tearing my hair out.

A couple of other points about op25 install:

1.  The point about no trailing spaces in the trunk.tsv file is really 
important -- I ran into a bunch of problems until I got that file 
*exactly* right.

2.  If you use the "-T trunk.tsv" parameter, the -f parameter for 
frequency becomes a placeholder; it needs to be set to something, but 
the control channel set in trunk.tsv overrides.

3. Don't blindly trust the accuracy of the information from Radio 
Reference or other sources.  It turns out my local site on the OMARCS-IP 
network uses a different NAC than the published one.  I'd recommend 
first running op25 without the trunk.tsv file, tuned to the control 
channel.  In the "traffic" window you should see all sorts of useful 
information like the control frequencies, the system NAC, etc. and you 
can use that to populate trunk.tsv more accurately.

4.  Also check on the modulation for your system.  Again there is 
confusing information about whether some sites use C4FM and CQPSK. 
Getting the modulation wrong pretty much stops everything else from 
working correctly.

5.  The layout of the GUI is a little awkward and I've brute-forced some 
changes that make it easier to read the talkgroup tags.  My changes 
aren't clean enough yet to warrant pushing to the repository, but 
contact me by email and I'll send you my modified scope.py file.

On 06/27/2017 08:58 PM, flkmrz at gmail.com [op25-dev] wrote:
> Trying to get op25 running was pretty much an exercise in frustration 
> and annoyance. I've been doing computers for quite a few years, but I'm 
> not a linux power user.  After quite a bit of trial and error, wading 
> through multiple forum posts, and doing more trial and error, I came up 
> with a (hopefully) complete set of step by step instructions for getting 
> op25 up and running. These instructions assume that you have just done a 
> clean install of ubuntu 14.04 32bit linux.  I ran into multiple problems 
> with the 64 bit version.  While I'm sure that they could be overcome, it 
> seems the 32 bit version is easier.
> There are also probably other easier and/or faster ways of doing some of 
> this stuff. Some of the stuff may be redundant.  The bottom line is this 
> is what worked for me. Your mileage may vary.  Batteries not included.
> So, without further ado....
> Make sure you have a working internet connection.
> C lick on the settings icon on the left.  When the system settings 
> window opens, click on "software and updates".
> The first tab (ubuntu software) should have everything checked.
> Click on the second tab (other software).
> The first two options should be unchecked.  Check them.  You may be 
> asked for your password to authenticate after checking the first one.  
> Give it, then check on the second one.
> Click close on the lower right.
> You'll be told that the software needs to be updated.  Let it.
> x out of the system settings window.
> Open a terminal window by typing <CTRL><ALT>t
> type in the following sequence of commands, pressing the enter key after 
> each line.  Anything in parentheses is a comment.
> sudo apt-get update
> sudo apt-get update
> sudo apt-get install aptitude
> sudo apt-get install aptitude
> sudo aptitude update
> (Yes, some of the commands are issued twi ce.  I found that it makes it 
> work. )
> sudo apt-get update
> sudo apt-get build-dep gnuradio
> (hum the theme from Final Jeopardy.  Make a sandwich. Get some chips to 
> go with the sandwich. Get a cold drink to go with the sandwich and 
> chips.  Eat the sandwich and chips, and drink the cold drink.  Quietly 
> hum In A Gadda Da Vida.  The long version. You're going to be here a while.)
> sudo apt-get install gnuradio gnuradio-dev gr-osmosdr librtlsdr-dev 
> libuhd-dev  libhackrf-dev libitpp-dev libpcap-dev git
> (go refill the cold drink and get some cookies for dessert.  Eat the 
> cookies slowly, and drink your cold drink.)
> cd ~
> sudo git clone git://op25.osmocom.org/op25.git
> cd op25
> sudo mkdir build
> cd build
> sudo cmake ../
> sudo make
> sudo make install
> sudo ldconfig
> Now, we're going to blacklist the standard rtlsdr driver. To do this, 
> use the following series of commands:
> cd /etc
> cd modprobe.d
> sudo gedit blacklist.conf
> Go to the end of the file, hit enter to add a blank line (for 
> readability) and type in the following two lines:
> # this line prevents the standard dvb driver from loading
> blacklist dvb_usb_rtl28xxu
> At this point, you should have gnuradio and op25 installed. The next 
> thing to do is to edit the files invoking op25 so you can listen to your 
> system of interest.
> use the following sequence of commands to create a shell file to invoke 
> op25 on your system of interest:
> cd ~
> sudo gedit op25
> Now, type in the following lines.  We're going to assume that you want 
> to listen to a P25 Phase II system.
> #!/bin/bash
> cd ~/op25/op25/gr-op25_repeater/apps
> python scope.py --args 'rtl' -g 65 -f 851.200e6 -N 'LNA:49' -2 -V -v 0 
> -S 1000000 -q 2 -T trunk.tsv
> cd ~
> Save the file, and x out of gedit.
> An explanation of each of the command line arguments is available in the 
> documentation.  For now, we'll point out that the number following -f is 
> the frequency of the control channel of interest, and the number 
> following -q is the correction factor in ppm for the sdr stick that 
> you're using.
> Next, we have to edit the trunking control files.  Do the following 
> series of commands:
> cd ~/op25/op25/gr-op25_repeater/apps
> sudo gedit trunk.tsv
> The default file that comes with the install lists a number of systems.  
> Delete everything after the double quotes around "Center Frequency".  
> Hit enter to get to the beginning of a new line.  Type in the following 
> line:
> "Kokomo"<tab>"851.200"<tab>"0"<tab>"0x734"<tab>"CQPSK"<tab>"trunkk.tsv"
> where <tab> is the tab key.  Do not insert any spaces -- use tab only.
> By way of explanation, the first is the name of the system. Then comes 
> the frequency of the control channel.  You could insert several control 
> channel frequencies separated by commas between the quotes, but I've 
> found that this gives less than optimal performance. The remaining 
> fields are offset, then the system ID (which you can find on 
> RadioReference.com), the modulation type, and a file listing 
> talkgroups.  Substitute the appropriate data for your system.  There is 
> also a provision for whitelisting and blacklisting particular 
> talkgroups, which I won't cover here.
> *** Make sure that there is absolutely nothing after the final quotes.  
> Any spaces will make the program crash. ***
> At this point, save the file, and x out of gedit.
> Almost there.....
> Finally, we need to create a listing of talkgroups and names.  This is 
> actually optional, but it's much better listening when you can see what 
> talkgroup is active, rather than just a number.
> While there are several ways of getting a talkgr oup listing into a 
> file, I'm only going to cover manually entering talkgroups.  Talkgroups 
> are in a tab delimited file, without quotes around the talkgroup numbers 
> and tag names.  For the example file, I'm only going to put in a couple 
> of talkgroups -- just enough that the idea is obvious.
> If you've been following, you should still be in the 
> ~/op25/op25/gr-op25_repeater/apps directory.
> Perform the following series of commands:
> sudo gedit trunkk.tsv
> Then, enter the following lines.  Press the <tab> key between the 
> talkgroup number and talkgroup name, and press enter after the talkgroup 
> name.
> 10008    County All-Talk
> 10022    EMS Dispatch
> After you've entered your desired talkgroups, save the file, and x out 
> of gedit.
> Go back to your home directory by typing:
> cd ~
> To start op25, type the following
> bash op25
> The operation of the program has been documented elsewhere, and it's 
> mostly self-explanatory.
> A couple of hints:  If you're getting choppy audio, turn off the 
> displays for the tabs from spectrum through symbols.  A Celeron 530 at 
> 1.73 GHz would barely handle the audio with the displays turned off.
> If you get a NAC error when trying to start the program, check for 
> trailing spaces in your trunk.tsv file.  *Any* spaces at the end will 
> crash the program.
> Hopefully, this will make it easier for people to get op25 up and 
> running.  Enjoy!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/op25-dev/attachments/20170628/3d2a0cfa/attachment.html>

More information about the op25-dev mailing list