$20 P25 Trunking Scanner (Part 3)


The info in this and in part 4 was aided tremendously by several folks on the “op25-dev” mailing list. Without their help, I would not have even known where to start in getting my system running. I hope that what I’m documenting here will be helpful for others going down this path.


If you’ve successfully installed Linux, Gnuradio, and op25 on your computer, you are ready to test the system, and then configure it for trunking.

The scanner application is buried several directories down, and you need to change to that directory and run the program there. So do this:


cd ~/op25/op25/gr-op25_repeater/apps

In that directory, you’ll find the main program, scope.py, and several configuration files with .tsv suffixes — most are examples for specific systems.

Assuming you’re using a RTL dongle, plug that puppy in to your USB port and then issue this command:


./scope.py --args 'rtl' -f 853.600e6 -g 65 -o 17e3 -N 'LNA:35' -V -v 0 -S 250000 -q '-1'

Change the value following the -f to the control channel frequency of the P25 site. (The e6 is scientific notiation and indicates to multiply the value by one million.)

If all is well, you’ll see a box open on your screen showing a spectrum display, with tabs to several other displays as well.

What does the gibberish in the command line mean?

--args 'rtl' indicates that you’re using a RTL dongle receiver.

-f 853.600e6 indicates the frequency to monitor. 853.600 MHz is the primary control panel for the Mongtomery County, Ohio P25 site.

-g 65 sets the audio gain; I’m not sure just what effect it has.

-o 17e3 sets a tuning offset — it’s a little like a local oscillator, and it avoids system-generated noise that appears at the center of the RF tuning. Here, I am moving the channel frequency 17 kHz from the tuned frequency.

-N 'LNA:35' sets the RTL gain.

-V turns on the audio vocoder so you can hear the traffic.

-v 0 sets the verbosity of the console logging. Set to 255 to see everything.

-S 250000 sets the sample rate. We only need to receive one NBFM channel at a time, so setting this to a small number reduces unnecessary CPU load. 250000 samples/second is the slowest rate the RTL-SDR.com dongle supports.

-q -1 adjusts for any frequency error in the dongle. Mine is pretty close, so I only need to adjust down by 1 PPM.

When you run this command, you should see the program open a window showing a spectrum display tab with the control frequency just about centered. If you click on the “traffic” tab you should see site information at the top, and then individual commands coming from the system controller.

If you’ve gotten this far, the system works. All you need to do now is set up the scanning/trunking capability. That’s in part 4.