{"id":252,"date":"2017-11-06T18:13:49","date_gmt":"2017-11-06T18:13:49","guid":{"rendered":"https:\/\/geekblog.febo.com\/wp\/?p=252"},"modified":"2017-11-07T00:14:48","modified_gmt":"2017-11-07T00:14:48","slug":"update-on-p25-scanner-new-version-and-new-installation-instructions","status":"publish","type":"post","link":"https:\/\/blog.febo.com\/?p=252","title":{"rendered":"Update on P25 scanner &#8212; new version, and new installation instructions"},"content":{"rendered":"<p>Since I posted my original articles on configuring the Gnuradio-based op25 P25 trunking scanner, there&#8217;s been a lot of progress in the code.  In particular, there is a new fork that changes the program to a command-line version, which saves a lot of CPU resources and also offers added features.  The new version will run nicely on a Raspberry Pi 3, and probably on an RPi 2 as well.  Following are instructions to install it from scratch on the PI.<\/p>\n<p>Download the &#8220;raspian-stretch&#8221; image from <A HREF=\"https:\/\/www.raspberrypi.org\/downloads\/raspbian\/\">raspberrypi.org<\/A> and copy the image to an 8GB SD card.  There&#8217;s a very nice free tool to do that called <A HREF=\"https:\/\/etcher.io\/\">Etcher<\/A>.  Install the card in your Raspberry Pi, and connect the Pi to the internet.<\/p>\n<p>Open a terminal window to run all the following steps.<\/p>\n<p>First, update the system and add the &#8220;sources&#8221; repository:<br \/>\n<UL><br \/>\n<LI><code>sudo nano \/etc\/apt\/sources.list<\/code> and remove the &#8220;#&#8221; from the beginning of the line that includes &#8220;deb-src&#8221;.<\/LI><br \/>\n<LI><code>sudo apt-get update<\/code><\/LI><br \/>\n<LI><code>sudo apt-get dist-upgrade<\/code><\/LI><br \/>\n<UL><br \/>\nReboot the system before the next step.<\/p>\n<p>Now, download and build the op25 code:<br \/>\n<UL><br \/>\n<LI><code>cd \/home\/pi<\/code><\/LI><br \/>\n<LI><code>git clone https:\/\/github.com\/boatbod\/op25.git<\/code><\/LI><br \/>\n<LI><code>cd op25<\/code><\/LI><br \/>\n<LI><code>.\/install.sh<\/code><\/LI><br \/>\n<\/UL><\/p>\n<p>It will take a while to download and install all the packages, and then compile the op25 code.  But when the installation finishes, you should be all set to go.  But there are a couple of additional things that I do on my system to make life a little easier:<br \/>\n<UL><br \/>\n<LI>The program and config files are buried several layers down in the op25 directory.  I make a symbolic link called &#8220;scanner&#8221; to that directory:<br \/>\n<code><br \/>\nln -s \/home\/pi\/op25\/op25\/gr-op25_repeater\/apps \/home\/pi\/scanner<br \/>\n<\/code><br \/>\n<\/LI><\/p>\n<p><LI>The program command line requires a whole bunch of parameters that are hard to type (and to remember!).  I create a shell script to start the program:<br \/>\n<code><br \/>\n#!\/bin\/bash<br \/>\n\/home\/pi\/scanner\/rx.py --args 'rtl' --gains 'lna:35' -S 250000 -f 853.6e6 \\<br \/>\n-g 100 -q -1 -o 50000 -T \/home\/pi\/scanner\/trunk.tsv --udp-player -v 5 2>stderr.2<br \/>\n<\/code><br \/>\n<\/LI><br \/>\n<\/UL><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Since I posted my original articles on configuring the Gnuradio-based op25 P25 trunking scanner, there&#8217;s been a lot of progress in the code. In particular, there is a new fork&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"","_lmt_disable":"","ngg_post_thumbnail":0,"footnotes":""},"categories":[9],"tags":[15,29,12,30],"class_list":["post-252","post","type-post","status-publish","format-standard","hentry","category-sdr","tag-p25","tag-scanner","tag-sdr","tag-trunking"],"_links":{"self":[{"href":"https:\/\/blog.febo.com\/index.php?rest_route=\/wp\/v2\/posts\/252","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.febo.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.febo.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.febo.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.febo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=252"}],"version-history":[{"count":9,"href":"https:\/\/blog.febo.com\/index.php?rest_route=\/wp\/v2\/posts\/252\/revisions"}],"predecessor-version":[{"id":262,"href":"https:\/\/blog.febo.com\/index.php?rest_route=\/wp\/v2\/posts\/252\/revisions\/262"}],"wp:attachment":[{"href":"https:\/\/blog.febo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=252"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.febo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=252"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.febo.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=252"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}