An RTL2832U is an inexpensive software-defined radio (SDR) dongle available for $30 or less. A Chromebook is a relatively inexpensive laptop running Chrome OS. Together you can monitor P25 trunked radio systems.
This guide assumes a base level of knowledge, including:
There are a few prerequisites that must be fulfilled prior to installing, namely Linux software packages. Open your terminal application on your Chromebook and install them.
sudo apt install -y git python
If you're not already,
cd to your home directory, or whatever directory you wish to use for the installation.
cd ~ git clone https://github.com/boatbod/op25.git cd op25 ./install.sh
If all went well you should have a working binary. But as The Carpenters once said we've only just begun.
When you plug in your dongle, your Chromebook will ask you grant permission for the computer to access the dongle. You will have to do this each time you plug it in.
Before we get too in depth, let's verify things are working. Since I live in Austin, I will use the Greater Austin/Travis Regional Radio System (GATRRS) as my example.
The best way to confirm your installation is to monitor the control channel frequency of a local system. And the easiest way to find that information is from the good folks over at RadioReference.com.
I happen to know the two frequencies highlighted in red are always the control channels. If you're unsure, I recommend reading the article that inspired this one on how to find the current control channel. For this exercise I'll use 851.2875 MHz.
All commands should be run from the
apps directory. So let's
cd into that directory and go from there. If you installed your software in a different location I have to assume you know how to find it.
This is the command that will launch the software and start tracking.
./rx.py --args 'rtl' -N 'LNA:47' -S 2500000 -x 2 -f 851.2875e6 -o 17e3 -q 0
Here's an explanation of that line.
| ||The python script you're running|
| ||You're using an RTL device|
| ||Gain setting, 47 should be fine|
| ||Sample rate, 2500000 should be fine|
| ||Audio gain, 2 should be fine|
| ||Control channel frequency in scientific notation|
| ||Offset, 17e3 should be fine|
| ||Frequency correction and this will likely need to be changed|
If you selected the correct
q value, you should see a screen similar to this after a few seconds.
If you get something like this, your
q value isn't correct. Try a different one, an integer between -5 and +5 inclusive.
You probably noticed you're not hearing anything. This is because we haven't told the software to do this. Now we will tell the computer to give us some audio.
cd ~/op25/op25/gr-op25_repeater/apps ./rx.py --args 'rtl' -N 'LNA:47' -x 2 -o 17e3 -q 0 -f 851.2875e6 -V -2 -U -n 2> stderr-stream0.2
Wait, all I see are talkgroup numbers? Have I gone back in time to the original Uniden Trunktracker scanner? We need data and the best source of this data is, again, RadioReference.com. You need to be a premium member to be able to download files. It's well worth it, and keeps the crew who run the site fed. If you're not a member, you'll have to enter this info by hand or copy and paste.
Also note, you might not even get audio from this line, FYI.
Click on Download
On the following screen click on both of the files with the Microsoft Excel logo.
Both of these files will download into your Chromebook's Downloads folder.
You cannot simply copy them over to your
apps directory. You could create a simple perl script to do the conversion (I'm working on one and will make it available soon). Or you could use Excel or OpenOffice/LibreOffice. You need to end up with two files that look like this:
The site file contains information about the site(s) for your system along with control channel frequencies. The tg file has the talkgroup information.
The software will scan through the control channels until it finds one. If there's a site you prefer to monitor, then list that line first. If you prefer to monitor each site individually then create unique site files. They can all reference the same tg file.
In all honesty this is the hardest part and I hope my perl script eases some of the pain.
cd ~/op25/op25/gr-op25_repeater/apps ~/op25/op25/gr-op25_repeater/apps/rx.py --args 'rtl' -N 'LNA:47' -x 2 -o 17e3 -q 0 -T ~/op25/op25/gr-op25_repeater/apps/trs_site_2.tsv -V -2 -U -n 2> stderr-stream0.2
I hope this helped. If something isn't clear, feel free to email me about it. Also please, please read John's (not me) article that I reference below. It's written for installing on Ubuntu and gives a broader explanation than I give.