2016-04-01 16:55:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								#!/bin/bash
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#####################################################################################  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#                                  ADS-B RECEIVER                                   #  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#####################################################################################  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#                                                                                   #  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# This script is not meant to be executed directly.                                 #  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Instead execute install.sh to begin the installation process.                     #  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#                                                                                   #  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#                                                                                   #  
						 
					
						
							
								
									
										
										
										
											2017-01-02 22:40:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Copyright (c) 2016-2017, Joseph A. Prochazka & Romeo Golf                         #  
						 
					
						
							
								
									
										
										
										
											2016-04-01 16:55:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								#                                                                                   #  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Permission is hereby granted, free of charge, to any person obtaining a copy      #  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# of this software and associated documentation files (the "Software"), to deal     #  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# in the Software without restriction, including without limitation the rights      #  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell         #  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# copies of the Software, and to permit persons to whom the Software is             #  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# furnished to do so, subject to the following conditions:                          #  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#                                                                                   #  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# The above copyright notice and this permission notice shall be included in all    #  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# copies or substantial portions of the Software.                                   #  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#                                                                                   #  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR        #  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,          #  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE       #  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER            #  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,     #  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE     #  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# SOFTWARE.                                                                         #  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#                                                                                   #  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-12-19 17:50:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								### VARIABLES  
						 
					
						
							
								
									
										
										
										
											2016-04-01 16:55:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-09 14:51:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								RECEIVER_ROOT_DIRECTORY = " ${ PWD } "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								RECEIVER_BASH_DIRECTORY = " ${ RECEIVER_ROOT_DIRECTORY } /bash "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								RECEIVER_BUILD_DIRECTORY = " ${ RECEIVER_ROOT_DIRECTORY } /build "  
						 
					
						
							
								
									
										
										
										
											2016-12-19 17:50:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 19:51:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Decoder specific variables.  
						 
					
						
							
								
									
										
										
										
											2016-12-30 23:56:42 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								DECODER_BUILD_DIRECTORY = " ${ RECEIVER_BUILD_DIRECTORY } /ogn "  
						 
					
						
							
								
									
										
										
										
											2016-12-29 17:36:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								DECODER_GITHUB = "https://github.com/glidernet/ogn-rf"  
						 
					
						
							
								
									
										
										
										
											2016-12-19 17:50:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								DECODER_WEBSITE = "http://wiki.glidernet.org"  
						 
					
						
							
								
									
										
										
										
											2017-01-01 18:48:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								DECODER_NAME = "RTLSDR-OGN"  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								DECODER_DESC = "is the Open Glider Network decoder which focuses on tracking aircraft equipped with FLARM, FLARM-compatible devices or OGN tracker"  
						 
					
						
							
								
									
										
										
										
											2017-01-02 21:02:00 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								DECODER_RADIO = "Please note that a dedicated RTL-SDR dongle is required to use this decoder"  
						 
					
						
							
								
									
										
										
										
											2016-12-19 17:50:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 19:51:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Decoder service script variables.  
						 
					
						
							
								
									
										
										
										
											2017-01-09 11:42:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								DECODER_SERVICE_NAME = "rtlsdr-ogn"  
						 
					
						
							
								
									
										
										
										
											2017-01-02 19:51:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								DECODER_SERVICE_SCRIPT_URL = "http://download.glidernet.org/common/service/rtlsdr-ogn"  
						 
					
						
							
								
									
										
										
										
											2017-01-11 19:18:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								DECODER_SERVICE_SCRIPT_NAME = " ${ DECODER_SERVICE_NAME } "  
						 
					
						
							
								
									
										
										
										
											2017-01-09 11:42:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								DECODER_SERVICE_SCRIPT_PATH = " /etc/init.d/ ${ DECODER_SERVICE_NAME } "  
						 
					
						
							
								
									
										
										
										
											2017-01-08 20:44:46 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								DECODER_SERVICE_CONFIG_PATH = " /etc/ ${ DECODER_SERVICE_SCRIPT_NAME } .conf "  
						 
					
						
							
								
									
										
										
										
											2016-12-28 21:39:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 21:10:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								## INCLUDE EXTERNAL SCRIPTS  
						 
					
						
							
								
									
										
										
										
											2016-12-19 17:50:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-12-28 21:39:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								source  ${ RECEIVER_BASH_DIRECTORY } /variables.sh 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								source  ${ RECEIVER_BASH_DIRECTORY } /functions.sh 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 21:27:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Should be moved to functions.sh.  
						 
					
						
							
								
									
										
										
										
											2017-01-09 15:58:24 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#################################################################################  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Display Done/Error based on return code of last action.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-09 14:38:01 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								function  CheckReturnCode ( )  {  
						 
					
						
							
								
									
										
										
										
											2017-01-09 15:23:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    local  LINE = $(( ` stty size |  awk '{print $1}' `  -  1 )) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    local  COL = $(( ` stty size |  awk '{print $2}' `  -  8 )) 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 19:51:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    tput cup " ${ LINE } "  " ${ COL } " 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 21:27:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    if  [ [  $?  -eq 0  ] ]  ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 20:05:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        echo  -e "\e[97m[\e[32mDone\e[97m]\e[39m\n" 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 21:27:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    else 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 20:05:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        echo  -e "\e[97m[\e[31mError\e[97m]\e[39m\n" 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-03 04:19:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        echo  -e " \e[39m   ${ ACTION } \n " 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-09 15:58:24 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        false 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#################################################################################  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Detect CPU Architecture.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								function  Check_CPU ( )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  [ [  -z " ${ CPU_ARCHITECTURE } "  ] ]  ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        echo  -en "\e[33m  Detecting CPU architecture...\e[97m" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        CPU_ARCHITECTURE = ` uname -m |  tr -d "\n\r" ` 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 21:27:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    fi 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-28 21:39:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
									
										
										
										
											2016-12-19 17:50:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 21:27:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Source the automated install configuration file if this is an automated installation.  
						 
					
						
							
								
									
										
										
										
											2017-01-09 14:51:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  [ [  " ${ RECEIVER_AUTOMATED_INSTALL } "  =  "true"  ] ]  ;  then  
						 
					
						
							
								
									
										
										
										
											2016-12-30 21:27:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    source  ${ RECEIVER_CONFIGURATION_FILE } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								fi  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 21:10:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								## BEGIN SETUP  
						 
					
						
							
								
									
										
										
										
											2016-04-01 16:55:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-09 14:51:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  [ [  " ${ RECEIVER_AUTOMATED_INSTALL } "  =  "false"  ] ]  ;  then  
						 
					
						
							
								
									
										
										
										
											2016-12-30 21:27:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    clear
							 
						 
					
						
							
								
									
										
										
										
											2017-01-01 18:48:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    echo  -e " \n\e[91m    ${ RECEIVER_PROJECT_TITLE } " 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 21:27:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								fi  
						 
					
						
							
								
									
										
										
										
											2016-12-19 17:50:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  -e ""  
						 
					
						
							
								
									
										
										
										
											2017-01-02 21:47:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  -e " \e[92m  Setting up  ${ DECODER_NAME } ...\e[97m "  
						 
					
						
							
								
									
										
										
										
											2017-01-02 20:22:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  -e ""  
						 
					
						
							
								
									
										
										
										
											2017-01-02 20:19:23 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  -e "\e[93m  ------------------------------------------------------------------------------\e[96m"  
						 
					
						
							
								
									
										
										
										
											2016-12-19 17:50:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  -e ""  
						 
					
						
							
								
									
										
										
										
											2017-01-03 00:31:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								#  
						 
					
						
							
								
									
										
										
										
											2017-01-09 14:51:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  [ [  " ${ RECEIVER_AUTOMATED_INSTALL } "  =  "false"  ] ]  ;  then  
						 
					
						
							
								
									
										
										
										
											2017-01-02 21:02:00 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    whiptail --backtitle " ${ RECEIVER_PROJECT_TITLE } "  --title " ${ DECODER_NAME }  Setup "  --yesno " ${ DECODER_NAME }   ${ DECODER_DESC } .\n\n ${ DECODER_RADIO } .\n\n ${ DECODER_WEBSITE } \n\nContinue setup by installing  ${ DECODER_NAME } ? "  14  78 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-31 00:51:12 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    if  [ [  $?  -eq 1  ] ]  ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 22:49:42 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        # Setup has been halted by the user. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        echo  -e "\e[91m  \e[5mINSTALLATION HALTED!\e[25m" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        echo  -e "  Setup has been halted at the request of the user." 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        echo  -e "" 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 20:19:23 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        echo  -e "\e[93m  ------------------------------------------------------------------------------" 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 22:49:42 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        echo  -e " \e[92m   ${ DECODER_NAME }  setup halted.\e[39m " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        echo  -e "" 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-19 17:50:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        read  -p "Press enter to continue..."  CONTINUE
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 22:49:42 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        exit  1 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-19 17:50:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    fi 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-14 01:42:31 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								fi  
						 
					
						
							
								
									
										
										
										
											2016-04-01 16:55:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 21:10:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								## CHECK FOR PREREQUISITE PACKAGES  
						 
					
						
							
								
									
										
										
										
											2016-04-01 16:55:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-12-29 18:35:42 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  -e " \e[95m  Installing packages needed to fulfill dependencies for  ${ DECODER_NAME } ...\e[97m "  
						 
					
						
							
								
									
										
										
										
											2016-12-19 17:50:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  -e ""  
						 
					
						
							
								
									
										
										
										
											2017-01-02 17:19:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Required by install script.  
						 
					
						
							
								
									
										
										
										
											2016-04-01 16:55:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								CheckPackage git
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 03:36:33 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Required for USB SDR devices.  
						 
					
						
							
								
									
										
										
										
											2016-04-01 16:55:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								CheckPackage librtlsdr-dev
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								CheckPackage libusb-1.0-0-dev
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 03:36:33 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								CheckPackage rtl-sdr
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Required for Kalibrate.  
						 
					
						
							
								
									
										
										
										
											2017-01-02 04:55:49 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								CheckPackage autoconf
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								CheckPackage automake
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 04:08:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								CheckPackage libfftw3-3
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 03:36:33 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								CheckPackage libfftw3-dev
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								CheckPackage libtool
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Required for RTLSDR-OGN.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								CheckPackage curl
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								CheckPackage libconfig9
							 
						 
					
						
							
								
									
										
										
										
											2016-04-01 16:55:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								CheckPackage libconfig-dev
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 05:56:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								CheckPackage libcurl3
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 04:08:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								CheckPackage libfftw3-3
							 
						 
					
						
							
								
									
										
										
										
											2016-12-19 17:50:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								CheckPackage libfftw3-dev
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								CheckPackage libjpeg8
							 
						 
					
						
							
								
									
										
										
										
											2016-04-01 16:55:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								CheckPackage libjpeg-dev
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 03:36:33 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								CheckPackage lynx
							 
						 
					
						
							
								
									
										
										
										
											2016-12-19 17:50:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								CheckPackage procserv
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								CheckPackage telnet
							 
						 
					
						
							
								
									
										
										
										
											2017-01-01 18:48:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 17:54:12 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  -e ""  
						 
					
						
							
								
									
										
										
										
											2017-01-01 18:48:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  -e " \e[95m  Configuring this device to run the  ${ DECODER_NAME }  binaries...\e[97m "  
						 
					
						
							
								
									
										
										
										
											2016-12-28 21:39:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  -e ""  
						 
					
						
							
								
									
										
										
										
											2016-04-01 16:55:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 21:10:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								## BLACKLIST UNWANTED RTL-SDR MODULES FROM BEING LOADED  
						 
					
						
							
								
									
										
										
										
											2016-04-01 16:55:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-12-29 17:36:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  [ [  ! -f /etc/modprobe.d/rtlsdr-blacklist.conf ] ]  ;  then  
						 
					
						
							
								
									
										
										
										
											2017-01-02 21:47:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    echo  -en "\e[33m  Stopping unwanted kernel modules from being loaded...\e[97m" 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-28 21:39:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    sudo tee /etc/modprobe.d/rtlsdr-blacklist.conf  > /dev/null <<EOF
							 
						 
					
						
							
								
									
										
										
										
											2016-04-01 16:55:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								blacklist dvb_usb_rtl28xxu
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								blacklist dvb_usb_v2
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								blacklist rtl_2830
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								blacklist rtl_2832
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								blacklist r820t
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								blacklist rtl2830
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								blacklist rtl2832
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								EOF
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 05:18:44 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    CheckReturnCode
							 
						 
					
						
							
								
									
										
										
										
											2016-12-28 21:39:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								fi  
						 
					
						
							
								
									
										
										
										
											2016-04-01 16:55:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 21:10:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								## CHECK FOR EXISTING INSTALL AND IF SO STOP IT  
						 
					
						
							
								
									
										
										
										
											2016-12-19 20:27:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-09 15:01:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  [ [  -f " ${ DECODER_SERVICE_SCRIPT_PATH } "  ] ]  ;  then  
						 
					
						
							
								
									
										
										
										
											2017-01-02 21:47:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    echo  -en " \e[33m  Stopping the  ${ DECODER_NAME }  service...\e[97m " 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-09 11:42:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ACTION = $( sudo ${ DECODER_SERVICE_SCRIPT_PATH }  stop 2>& 1) 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-28 21:39:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    CheckReturnCode
							 
						 
					
						
							
								
									
										
										
										
											2016-12-19 20:27:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								fi  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-11 20:19:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								## FAILSAFE KILL  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-11 21:32:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								PIDS = ` ps -efww |  egrep "(\./ogn-rf\ |\./ogn-decode\ )"  |  awk -vpid= $$  '$2 != pid { print $2 }' `  
						 
					
						
							
								
									
										
										
										
											2017-01-11 20:19:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  [  ! -z " ${ PIDS } "  ] ;  then  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    echo  -en " \e[33m  Killing any running  ${ DECODER_NAME }  processes...\e[97m " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ACTION = $( sudo kill  -9 " ${ PIDS } " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    CheckReturnCode
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								fi  
						 
					
						
							
								
									
										
										
										
											2017-01-11 21:32:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								unset  PIDS 
						 
					
						
							
								
									
										
										
										
											2017-01-11 20:19:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-03 00:20:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								### ASSIGN RTL-SDR DONGLES  
						 
					
						
							
								
									
										
										
										
											2017-01-03 00:31:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Check if the dump1090-mutability package is installed.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo  -e "\e[95m  Checking for existing decoders...\e[97m"  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo  -e ""  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Check if the dump1090-mutability package is installed.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo  -e "\e[94m  Checking if the dump1090-mutability package is installed...\e[97m"  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  [ [  $( dpkg-query -W -f= '${STATUS}'  dump1090-mutability 2>/dev/null |  grep -c "ok installed" )  -eq 1  ] ]  ;  then  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    DUMP1090_IS_INSTALLED = "true" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								else  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    DUMP1090_IS_INSTALLED = "false" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								fi  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Check if the dump978 binaries exist.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo  -e "\e[94m  Checking if the dump978 binaries exist on this device...\e[97m"  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  [ [  -f ${ RECEIVER_BUILD_DIRECTORY } /dump978/dump978 ] ]  &&  [ [  -f ${ RECEIVER_BUILD_DIRECTORY } /dump978/uat2text ] ]  &&  [ [  -f ${ RECEIVER_BUILD_DIRECTORY } /dump978/uat2esnt ] ]  &&  [ [  -f ${ RECEIVER_BUILD_DIRECTORY } /dump978/uat2json ] ]  ;  then  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    DUMP978_IS_INSTALLED = "true" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								else  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    DUMP978_IS_INSTALLED = "false" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								fi  
						 
					
						
							
								
									
										
										
										
											2017-01-03 00:20:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Check for multiple tuners...  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								TUNER_COUNT = ` rtl_eeprom 2>& 1  |  grep -c "^\s*[0-9]*:\s" `  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-03 00:24:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Multiple RTL_SDR tuners found, check if device specified for this decoder is present.  
						 
					
						
							
								
									
										
										
										
											2017-01-09 15:14:44 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  [ [  " ${ TUNER_COUNT } "  -gt 1  ] ]  ;  then  
						 
					
						
							
								
									
										
										
										
											2017-01-03 00:24:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    # If a device has been specified by serial number then try to match that with the currently detected tuners. 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-09 15:01:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    if  [ [  -n " ${ OGN_DEVICE_SERIAL } "  ] ]  ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-03 00:24:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        for  DEVICE_ID in ` seq 0  ${ TUNER_COUNT } `  ;  do 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            if  [ [  ` rtl_eeprom -d ${ DEVICE_ID }  2>& 1  |  grep -c " Serial number:\s* ${ OGN_DEVICE_SERIAL } $"  `  -eq 1  ] ]  ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                echo  -en " \e[33m  RTL-SDR with Serial \" ${ OGN_DEVICE_SERIAL } \" found at device \" ${ OGN_DEVICE_ID } \" and will be assigned to  ${ DECODER_NAME } ...\e[97m " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                OGN_DEVICE_ID = ${ DEVICE_ID } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        done 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # If no match for this serial then assume the highest numbered tuner will be used. 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-09 15:01:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        if  [ [  -z " ${ OGN_DEVICE_ID } "  ] ]  ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-03 00:24:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            echo  -en " \e[33m  RTL-SDR with Serial \" ${ OGN_DEVICE_SERIAL } \" not found, assigning device \" ${ TUNER_COUNT } \" to  ${ DECODER_NAME } ...\e[97m " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            OGN_DEVICE_ID = ${ TUNER_COUNT } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Or if a device has been specified by device ID then confirm this is currently detected. 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-09 15:01:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    elif  [ [  -n " ${ OGN_DEVICE_ID } "  ] ]  ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-03 00:24:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        if  [ [  ` rtl_eeprom -d ${ OGN_DEVICE_ID }  2>& 1  |  grep -c " ^\s* ${ OGN_DEVICE_ID } :\s " `  -eq 1  ] ]  ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            echo  -en " \e[33m  RTL-SDR device \" ${ OGN_DEVICE_ID } \" found and will be assigned to  ${ DECODER_NAME } ...\e[97m " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # If no match for this serial then assume the highest numbered tuner will be used. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            echo  -en " \e[33m  RTL-SDR device \" ${ OGN_DEVICE_ID } \" not found, assigning device \" ${ TUNER_COUNT } \" to  ${ DECODER_NAME } ...\e[97m " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            OGN_DEVICE_ID = ${ TUNER_COUNT } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Failing that configure it with device ID 0. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        echo  -en " \e[33m  No RTL-SDR device specified, assigning device \"0\" to  ${ DECODER_NAME } ...\e[97m " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        OGN_DEVICE_ID = ${ TUNER_COUNT } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Single tuner present so assign device 0 and stop any other running decoders, or at least dump1090-mutablity for a default install.  
						 
					
						
							
								
									
										
										
										
											2017-01-09 15:14:44 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								elif  [ [  " ${ TUNER_COUNT } "  -eq 1  ] ]  ;  then  
						 
					
						
							
								
									
										
										
										
											2017-01-03 00:24:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    echo  -en " \e[33m  Single RTL-SDR device \"0\" detected and assigned to  ${ DECODER_NAME } ...\e[97m " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    OGN_DEVICE_ID = "0" 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-03 03:02:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ACTION = $( sudo /etc/init.d/dump1090-mutability stop 2>& 1) 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-03 00:24:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# No tuners present so assign device 0 and stop any other running decoders, or at least dump1090-mutablity for a default install.  
						 
					
						
							
								
									
										
										
										
											2017-01-09 15:14:44 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								elif  [ [  " ${ TUNER_COUNT } "  -lt 1  ] ]  ;  then  
						 
					
						
							
								
									
										
										
										
											2017-01-03 00:24:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    echo  -en " \e[33m  No RTL-SDR device detected so  ${ DECODER_NAME }  will be assigned device \"0\"...\e[97m " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    OGN_DEVICE_ID = "0" 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-03 03:02:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ACTION = $( sudo /etc/init.d/dump1090-mutability stop 2>& 1) 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-03 00:24:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								fi  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								CheckReturnCode
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-03 00:31:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# If either dump1090 or dump978 is installed we must assign RTL-SDR dongles for each of these decoders.  
						 
					
						
							
								
									
										
										
										
											2017-01-09 14:51:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  [ [  " ${ DUMP1090_IS_INSTALLED } "  =  "true"  ] ]  ||  [ [  " ${ DUMP978_IS_INSTALLED } "  =  "true"  ] ]  ;  then  
						 
					
						
							
								
									
										
										
										
											2017-01-03 00:31:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    # Check if Dump1090 is installed. 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-09 14:51:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    if  [ [  " ${ DUMP1090_IS_INSTALLED } "  =  "true"  ] ]  ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-03 00:31:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        # The dump1090-mutability package appear to be installed. 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-09 14:51:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        if  [ [  " ${ RECEIVER_AUTOMATED_INSTALL } "  =  "false"  ] ]  ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-03 00:31:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            # Ask the user which USB device is to be used for dump1090. 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-03 03:42:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            DUMP1090_DEVICE_ID = $( whiptail --backtitle " ${ RECEIVER_PROJECT_TITLE } "  --title "Dump1090 RTL-SDR Dongle"  --nocancel --inputbox "\nEnter the ID for your dump1090 RTL-SDR dongle."  8  78  3>& 1  1>& 2  2>& 3) 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-09 15:01:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            while  [ [  -z " ${ DUMP1090_DEVICE_ID } "  ] ]  ;  do 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-03 03:42:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                DUMP1090_DEVICE_ID = $( whiptail --backtitle " ${ RECEIVER_PROJECT_TITLE } "  --title "Dump1090 RTL-SDR Dongle (REQUIRED)"  --nocancel --inputbox "\nEnter the ID for your dump1090 RTL-SDR dongle."  8  78  3>& 1  1>& 2  2>& 3) 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-03 00:31:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            done 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            ### GET DONGLE ID FROM THE INSTALLATION CONFIGURATION FILE... 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Check if Dump978 is installed. 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-09 14:51:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    if  [ [  " ${ DUMP978_IS_INSTALLED } "  =  "true"  ] ]  ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-03 00:31:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        # The dump978 binaries appear to exist on this device. 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-09 14:51:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        if  [ [  " ${ RECEIVER_AUTOMATED_INSTALL } "  =  "false"  ] ]  ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-03 00:31:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            # Ask the user which USB device is to be use for dump978. 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-03 03:42:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            DUMP978_DEVICE_ID = $( whiptail --backtitle " ${ RECEIVER_PROJECT_TITLE } "  --title "Dump978 RTL-SDR Dongle"  --nocancel --inputbox "\nEnter the ID for your dump978 RTL-SDR dongle."  8  78  3>& 1  1>& 2  2>& 3) 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-09 15:01:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            while  [ [  -z " ${ DUMP978_DEVICE_ID } "  ] ]  ;  do 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-03 03:42:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                DUMP978_DEVICE_ID = $( whiptail --backtitle " ${ RECEIVER_PROJECT_TITLE } "  --title "Dump978 RTL-SDR Dongle (REQUIRED)"  --nocancel --inputbox "\nEnter the ID for your dump978 RTL-SDR dongle."  8  78  3>& 1  1>& 2  2>& 3) 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-03 00:31:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            done 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            ### GET DONGLE ID FROM THE INSTALLATION CONFIGURATION FILE... 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-09 14:51:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    if  [ [  " ${ RECEIVER_AUTOMATED_INSTALL } "  =  "false"  ] ]  ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-03 00:31:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        # Ask the user which USB device is to be use for RTL-SDR OGN. 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-03 03:42:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        RTLSDROGN_DEVICE_ID = $( whiptail --backtitle " ${ RECEIVER_PROJECT_TITLE } "  --title "RTL-SDR OGN RTL-SDR Dongle"  --nocancel --inputbox "\nEnter the ID for your RTL-SDR OGN RTL-SDR dongle."  8  78  3>& 1  1>& 2  2>& 3) 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-09 15:01:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        while  [ [  -z " ${ DUMP978_DEVICE_ID } "  ] ]  ;  do 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-03 03:42:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            RTLSDROGN_DEVICE_ID = $( whiptail --backtitle " ${ RECEIVER_PROJECT_TITLE } "  --title "RTL-SDR OGN RTL-SDR Dongle (REQUIRED)"  --nocancel --inputbox "\nEnter the ID for your RTL-SDR OGN RTL-SDR dongle."  8  78  3>& 1  1>& 2  2>& 3) 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-03 00:31:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        done 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ### GET DONGLE ID FROM THE INSTALLATION CONFIGURATION FILE... 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Assign the specified RTL-SDR dongle to dump1090. 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-09 15:01:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    if  [ [  " ${ DUMP1090_IS_INSTALLED } "  =  "true"  ] ]  &&  [ [  -n " ${ DUMP1090_DEVICE_ID } "  ] ]  ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-03 03:42:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        echo  -e "\e[94m  Assigning RTL-SDR dongle \"DUMP1090_DEVICE_ID\" to dump1090-mutability...\e[97m" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ChangeConfig "DEVICE"  ${ DUMP1090_DEVICE_ID }  "/etc/default/dump1090-mutability" 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-03 00:31:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        echo  -e "\e[94m  Reloading dump1090-mutability...\e[97m" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        echo  -e "" 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-03 03:02:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        ACTION = $( sudo /etc/init.d/dump1090-mutability force-reload 2>& 1) 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-03 00:31:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        echo  -e "" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Assign the specified RTL-SDR dongle to dump978 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-09 15:01:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    if  [ [  " ${ DUMP978_IS_INSTALLED } "  =  "true"  ] ]  &&  [ [  -n " ${ DUMP978_DEVICE_ID } "  ] ]  ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-03 03:42:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        echo  -e " \e[94m  Assigning RTL-SDR dongle \" ${ DUMP978_DEVICE_ID } \" to dump978...\e[97m " 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-03 00:31:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        ### ADD DEVICE TO MAINTENANCE SCRIPT... 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        echo  -e "\e[94m  Reloading dump978...\e[97m" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ### KILL EXISTING DUMP978 PROCESSES... 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        echo  -e "" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ### RESTART DUMP978... 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        echo  -e "" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								fi  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-12-19 17:50:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								### DOWNLOAD AND SET UP THE BINARIES  
						 
					
						
							
								
									
										
										
										
											2016-04-01 16:55:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-12-19 20:27:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Create build directory if not already present.  
						 
					
						
							
								
									
										
										
										
											2017-01-09 15:01:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  [ [  ! -d " ${ DECODER_BUILD_DIRECTORY } "  ] ]  ;  then  
						 
					
						
							
								
									
										
										
										
											2017-01-02 21:47:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    echo  -en " \e[33m  Creating build directory \"\e[37m ${ DECODER_BUILD_DIRECTORY } \e[33m\"...\e[97m " 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-03 02:58:10 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ACTION = $( mkdir -v ${ DECODER_BUILD_DIRECTORY }  2>& 1) 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-28 21:39:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    CheckReturnCode
							 
						 
					
						
							
								
									
										
										
										
											2016-12-19 20:27:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								fi  
						 
					
						
							
								
									
										
										
										
											2016-12-28 21:39:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Enter the build directory.  
						 
					
						
							
								
									
										
										
										
											2017-01-09 14:51:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  [ [  ! " ${ PWD } "  =  " ${ DECODER_BUILD_DIRECTORY } "  ] ]  ;  then  
						 
					
						
							
								
									
										
										
										
											2017-01-02 21:47:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    echo  -en " \e[33m  Entering build directory \"\e[37m ${ DECODER_BUILD_DIRECTORY } \e[33m\"...\e[97m " 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-03 02:45:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    cd  ${ DECODER_BUILD_DIRECTORY } 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-03 04:13:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ACTION = ${ PWD } 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 17:05:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    CheckReturnCode
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								fi  
						 
					
						
							
								
									
										
										
										
											2016-12-19 20:27:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 17:05:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Detect CPU Architecture.  
						 
					
						
							
								
									
										
										
										
											2017-01-09 15:58:24 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Check_CPU
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								CheckReturnCode
							 
						 
					
						
							
								
									
										
										
										
											2016-12-29 17:36:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 17:05:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Identify the correct binaries to download.  
						 
					
						
							
								
									
										
										
										
											2016-12-29 17:36:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								case  ${ CPU_ARCHITECTURE }  in 
						 
					
						
							
								
									
										
										
										
											2016-04-01 16:55:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    "armv6l" ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # Raspberry Pi 1 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 17:05:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        DECODER_BINARY_URL = "http://download.glidernet.org/rpi-gpu/rtlsdr-ogn-bin-RPI-GPU-latest.tgz" 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-01 16:55:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								        ; ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    "armv7l" ) 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-22 20:43:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        # Raspberry Pi 2 onwards 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 17:05:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        DECODER_BINARY_URL = "http://download.glidernet.org/arm/rtlsdr-ogn-bin-ARM-latest.tgz" 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-01 16:55:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								        ; ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    "x86_64" ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # 64 Bit 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 17:05:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        DECODER_BINARY_URL = "http://download.glidernet.org/x64/rtlsdr-ogn-bin-x64-latest.tgz" 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-01 16:55:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								        ; ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    *) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # 32 Bit (default install if no others matched) 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 17:05:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        DECODER_BINARY_URL = "http://download.glidernet.org/x86/rtlsdr-ogn-bin-x86-latest.tgz" 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-01 16:55:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								        ; ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								esac  
						 
					
						
							
								
									
										
										
										
											2016-12-30 17:26:05 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Attempt to download and extract binaries.  
						 
					
						
							
								
									
										
										
										
											2016-12-30 20:19:38 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  [ [  ` echo  " ${ DECODER_BINARY_URL } "  |  grep -c "^http" `  -gt 0  ] ]  ;  then  
						 
					
						
							
								
									
										
										
										
											2016-12-30 17:05:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    # Download binaries. 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 21:47:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    echo  -en " \e[33m  Downloading  ${ DECODER_NAME }  binaries for \"\e[37m ${ CPU_ARCHITECTURE } \e[33m\" architecture...\e[97m " 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 20:53:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    DECODER_BINARY_FILE = ` echo  ${ DECODER_BINARY_URL }  |  awk -F "/"  '{print $NF}' ` 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-10 15:15:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ACTION = $( curl -L ${ DECODER_BINARY_URL }  -o ${ DECODER_BUILD_DIRECTORY } /${ DECODER_BINARY_FILE }  2>& 1) 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 17:05:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    CheckReturnCode
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Extract binaries. 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 21:47:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    echo  -en " \e[33m  Extracting  ${ DECODER_NAME }  package \"\e[37m ${ DECODER_BINARY_FILE } \e[33m\"...\e[97m " 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-06 20:05:17 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ACTION = $( tar -xzf " ${ DECODER_BUILD_DIRECTORY } / ${ DECODER_BINARY_FILE } "  -C " ${ DECODER_BUILD_DIRECTORY } "  2>& 1) 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 17:05:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    CheckReturnCode
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								else  
						 
					
						
							
								
									
										
										
										
											2016-12-30 17:26:05 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    # Unable to download bimary due to invalid URL. 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 21:47:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    echo  -e " \e[33m  Error invalid DECODER_BINARY_URL \" ${ DECODER_BINARY_URL } \"...\e[97m " 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 17:05:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    exit  1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								fi  
						 
					
						
							
								
									
										
										
										
											2016-04-01 16:55:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 17:05:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Change to DECODER work directory for post-build actions.  
						 
					
						
							
								
									
										
										
										
											2017-01-02 04:34:37 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								DECODER_PROJECT_DIRECTORY = " ${ DECODER_BUILD_DIRECTORY } /rtlsdr-ogn "  
						 
					
						
							
								
									
										
										
										
											2017-01-09 15:01:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  [ [  -d " ${ DECODER_PROJECT_DIRECTORY } "  ] ]  ;  then  
						 
					
						
							
								
									
										
										
										
											2017-01-03 02:45:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    cd  ${ DECODER_PROJECT_DIRECTORY } 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 04:34:37 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								else  
						 
					
						
							
								
									
										
										
										
											2017-01-02 21:47:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    echo  -e " \e[33m  Error unable to access \" ${ DECODER_PROJECT_DIRECTORY } \"...\e[97m " 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 04:34:37 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    exit  1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								fi  
						 
					
						
							
								
									
										
										
										
											2016-12-21 14:28:25 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 17:05:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Create named pipe if required.  
						 
					
						
							
								
									
										
										
										
											2017-01-09 15:14:44 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  [ [  ! -p " ${ DECODER_PROJECT_DIRECTORY } /ogn-rf.fifo "  ] ]  ;  then  
						 
					
						
							
								
									
										
										
										
											2017-01-02 21:47:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    echo  -en "\e[33m  Creating named pipe...\e[97m" 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-03 03:02:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ACTION = $( sudo mkfifo ${ DECODER_PROJECT_DIRECTORY } /ogn-rf.fifo 2>& 1) 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-28 21:39:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    CheckReturnCode
							 
						 
					
						
							
								
									
										
										
										
											2016-12-21 14:28:25 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								fi  
						 
					
						
							
								
									
										
										
										
											2016-04-01 16:55:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Set file permissions.  
						 
					
						
							
								
									
										
										
										
											2017-01-02 21:47:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  -en "\e[33m  Setting proper file permissions...\e[97m"  
						 
					
						
							
								
									
										
										
										
											2016-12-30 17:05:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								DECODER_SETUID_BINARIES = "gsm_scan ogn-rf rtlsdr-ogn"  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								DECODER_SETUID_COUNT = "0"  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								for  DECODER_SETUID_BINARY in ${ DECODER_SETUID_BINARIES }  ;  do  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    DECODER_SETUID_COUNT = $(( DECODER_SETUID_COUNT+1)) 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-03 03:03:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ACTION = $( sudo chown -v root ${ DECODER_SETUID_BINARY }  2>& 1) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ACTION = $( sudo chmod -v a+s  ${ DECODER_SETUID_BINARY }  2>& 1) 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-28 21:39:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								done  
						 
					
						
							
								
									
										
										
										
											2016-12-30 17:05:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# And check that the file permissions have been applied.  
						 
					
						
							
								
									
										
										
										
											2017-01-09 15:01:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  [ [  ` ls -l ${ DECODER_SETUID_BINARIES }  |  grep -c "\-rwsr-sr-x" `  -eq " ${ DECODER_SETUID_COUNT } "  ] ]  ;  then  
						 
					
						
							
								
									
										
										
										
											2016-12-30 17:05:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								else  
						 
					
						
							
								
									
										
										
										
											2016-12-30 17:26:05 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    false 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 17:05:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								fi  
						 
					
						
							
								
									
										
										
										
											2016-12-28 21:39:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								CheckReturnCode
							 
						 
					
						
							
								
									
										
										
										
											2016-04-01 16:55:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 17:05:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Creat GPU device if required.  
						 
					
						
							
								
									
										
										
										
											2017-01-09 15:14:44 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  [ [  ! -c " ${ DECODER_PROJECT_DIRECTORY } /gpu_dev "  ] ]  ;  then  
						 
					
						
							
								
									
										
										
										
											2016-12-30 17:05:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    # Check if kernel v4.1 or higher is being used. 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 21:47:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    echo  -en "\e[33m  Getting the version of the kernel currently running...\e[97m" 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-21 14:28:25 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    KERNEL = ` uname -r` 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-09 15:14:44 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    KERNEL_VERSION = ` echo  ${ KERNEL }  |  cut -d \.  -f 1` .` echo  ${ KERNEL }  |  cut -d \.  -f 2` 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-28 21:39:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    CheckReturnCode
							 
						 
					
						
							
								
									
										
										
										
											2017-01-09 15:14:44 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    if  [ [  " ${ KERNEL_VERSION } "  < 4.1 ] ]  ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-21 14:28:25 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        # Kernel is older than version 4.1. 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 20:05:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        echo  -en "\e[33m  Executing mknod for older kernels...\e[97m" 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-03 03:02:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        ACTION = $( sudo mknod ${ DECODER_PROJECT_DIRECTORY } /gpu_dev c 100  0  2>& 1) 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-21 14:28:25 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # Kernel is version 4.1 or newer. 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 20:05:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        echo  -en "\e[33m  Executing mknod for newer kernels...\e[97m" 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-03 03:02:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        ACTION = $( sudo mknod ${ DECODER_PROJECT_DIRECTORY } /gpu_dev c 249  0  2>& 1) 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-21 14:28:25 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    fi 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 17:05:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    CheckReturnCode
							 
						 
					
						
							
								
									
										
										
										
											2016-04-01 16:55:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								fi  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 03:54:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Calculate RTL-SDR device error rate  
						 
					
						
							
								
									
										
										
										
											2017-01-02 04:55:49 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  [ [  -z " ${ OGN_FREQ_CORR } "  ] ]  ||  [ [  -z " ${ OGN_GSM_FREQ } "  ] ]  ;  then  
						 
					
						
							
								
									
										
										
										
											2017-01-02 05:04:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    # Attempt to calibrate if required values are not provided. 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 22:11:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    # Should probably confirm if user wishes to calibrate. 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 04:55:49 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    # GSM Band is GSM850 in US and GSM900 elsewhere. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    DERIVED_GSM_BAND = "GSM900" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    DERIVED_GAIN = "40" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  [ [  -x "`which kal`"  ] ]  ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 22:11:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        echo  -en "\e[33m  Calibrating RTL-SDR device using Kalibrate, may take up to 10 minutes...\e[97m" 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 04:55:49 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        DERIVED_GSM_SCAN = ` kal -d " ${ OGN_DEVICE_ID } "  -g " ${ DERIVED_GAIN } "  -s ${ DERIVED_GSM_BAND }  2>& 1  |  grep "power:"  |  sort -n -r -k 7  |  grep -m1 "power:" ` 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        DERIVED_GSM_FREQ = ` echo  ${ DERIVED_GSM_SCAN }  |  awk '{print $3}'  |  sed -e 's/(//g'  -e 's/MHz//g' ` 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        DERIVED_GSM_CHAN = ` echo  ${ DERIVED_GSM_SCAN }  |  awk '{print $2}' ` 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        DERIVED_ERROR = ` kal -d " ${ OGN_DEVICE_ID } "  -g " ${ DERIVED_GAIN } "  -c " ${ DERIVED_GSM_CHAN } "  2>& 1  |  grep "^average absolute error:"  |  awk '{print int($4)}'  |  sed -e 's/\-//g' ` 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    elif  [ [  -x " ${ DECODER_PROJECT_DIRECTORY } /gsm_scan "  ] ]  ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 22:11:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        echo  -en "\e[33m  Calibrating RTL-SDR device using gsm_scan, may take up to 20 minutes...\e[97m" 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 04:55:49 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        if  [ [  " ${ DERIVED_GSM_BAND } "  =  "GSM850"  ] ]  ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 21:30:10 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            DERIVED_GSM_OPTS = "--gsm850" 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 04:55:49 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        else 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 21:30:10 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            DERIVED_GSM_OPTS = "" 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 04:55:49 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        fi 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 21:30:10 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        DERIVED_GSM_SCAN = ` gsm_scan --device " ${ OGN_DEVICE_ID } "  --gain " ${ DERIVED_GAIN } "  ${ DERIVED_GSM_OPTS }  |  grep "^[0-9]*\.[0-9]*MHz:"  |  sed -e 's/dB://g'  -e 's/\+//g'  |  sort -n -r -k 2  |  grep -m1 "ppm" ` 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 04:55:49 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        DERIVED_GSM_FREQ = ` echo  ${ DERIVED_GSM_SCAN }  |  awk '{print $1}'  |  sed -e 's/00MHz://g' ` 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        DERIVED_ERROR = ` echo  ${ DERIVED_GSM_SCAN }  |  awk '{print int(($3 + $4)/2)}' ` 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 05:04:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    else 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 20:05:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        echo  -en "\e[33m  Unable to calibrate RTL-SDR device...\e[97m" 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 03:54:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    fi 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 05:04:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    CheckReturnCode
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 03:10:09 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								fi  
						 
					
						
							
								
									
										
										
										
											2017-01-02 02:57:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 21:10:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								## CREATE THE CONFIGURATION FILE  
						 
					
						
							
								
									
										
										
										
											2016-12-19 17:50:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-12-23 13:46:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Use receiver coordinates if already know, otherwise populate with dummy values to ensure valid config generation.  
						 
					
						
							
								
									
										
										
										
											2016-12-19 17:50:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-12-29 17:36:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Latitude.  
						 
					
						
							
								
									
										
										
										
											2017-01-09 15:01:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  [ [  -z " ${ OGN_LATITUDE } "  ] ]  ;  then  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  [ [  -n " ${ RECEIVER_LATITUDE } "  ] ]  ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-27 21:03:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        OGN_LATITUDE = " ${ RECEIVER_LATITUDE } " 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-22 10:51:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    else 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 17:05:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        OGN_LATITUDE = "0.000" 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-22 10:51:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    fi 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-19 17:50:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								fi  
						 
					
						
							
								
									
										
										
										
											2016-04-01 16:55:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-12-29 17:36:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Longitude.  
						 
					
						
							
								
									
										
										
										
											2017-01-09 15:01:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  [ [  -z " ${ OGN_LONGITUDE } "  ] ]  ;  then  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  [ [  -n " ${ RECEIVER_LONGITUDE } "  ] ]  ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-27 21:03:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        OGN_LONGITUDE = " ${ RECEIVER_LONGITUDE } " 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-22 10:51:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    else 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 17:05:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        OGN_LONGITUDE = "0.000" 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-22 10:51:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    fi 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-29 17:49:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								fi  
						 
					
						
							
								
									
										
										
										
											2016-12-22 10:51:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-12-29 17:36:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Altitude.  
						 
					
						
							
								
									
										
										
										
											2017-01-09 15:01:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  [ [  -z " ${ OGN_ALTITUDE } "  ] ]  ;  then  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  [ [  -n " ${ RECEIVER_ALTITUDE } "  ] ]  ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-09 14:51:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        OGN_ALTITUDE = " ${ RECEIVER_ALTITUDE } " 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-22 10:51:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    else 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-29 17:36:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        OGN_ALTITUDE = "0" 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-22 10:51:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    fi 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-19 17:50:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								fi  
						 
					
						
							
								
									
										
										
										
											2016-04-01 16:55:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-12-29 17:36:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Geoid separation: FLARM transmits GPS altitude, APRS uses means Sea level altitude.  
						 
					
						
							
								
									
										
										
										
											2016-12-19 17:50:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# To find value you can check: 	http://geographiclib.sourceforge.net/cgi-bin/GeoidEval  
						 
					
						
							
								
									
										
										
										
											2016-12-29 17:36:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Need to derive from co-ords but will set to altitude as a placeholders.  
						 
					
						
							
								
									
										
										
										
											2017-01-09 15:01:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  [ [  -z " ${ OGN_GEOID } "  ] ]  ;  then  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  [ [  -n " ${ RECEIVER_ALTITUDE } "  ] ]  ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-09 14:51:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        OGN_GEOID = " ${ RECEIVER_ALTITUDE } " 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-22 13:31:42 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        OGN_GEOID = "0" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    fi 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-19 17:50:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								fi  
						 
					
						
							
								
									
										
										
										
											2016-04-01 16:55:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-12-29 17:36:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Set receiver callsign for this decoder.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# This should be between 3 and 9 alphanumeric charactors, with no punctuation.  
						 
					
						
							
								
									
										
										
										
											2016-12-19 17:50:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Please see: 	http://wiki.glidernet.org/receiver-naming-convention  
						 
					
						
							
								
									
										
										
										
											2017-01-09 15:01:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  [ [  -z " ${ OGN_RECEIVER_NAME } "  ] ]  ;  then  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  [ [  -n " ${ RECEIVERNAME } "  ] ]  ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-27 21:03:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        OGN_RECEIVER_NAME = ` echo  ${ RECEIVERNAME }  |  tr -cd '[:alnum:]'  |  cut -c -9` 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-22 13:31:42 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    else 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-27 21:03:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        OGN_RECEIVER_NAME = ` hostname -s |  tr -cd '[:alnum:]'  |  cut -c -9` 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-22 13:31:42 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    fi 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-19 17:50:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								fi  
						 
					
						
							
								
									
										
										
										
											2016-04-01 16:55:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 17:05:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Check for decoder specific variable, if not set then populate with dummy values to ensure valid config generation.  
						 
					
						
							
								
									
										
										
										
											2017-01-02 05:04:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Frequency Correction  
						 
					
						
							
								
									
										
										
										
											2017-01-09 15:01:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  [ [  -z " ${ OGN_FREQ_CORR } "  ] ]  ;  then  
						 
					
						
							
								
									
										
										
										
											2017-01-02 18:10:57 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    if  [ [  -n " ${ DERIVED_ERROR } "  ] ]  ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        OGN_FREQ_CORR = " ${ DERIVED_ERROR } " 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 05:04:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    else 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 18:10:57 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        OGN_FREQ_CORR = "30" 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 05:04:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    fi 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 17:05:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								fi  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 05:04:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# GSM Reference signal frequency.  
						 
					
						
							
								
									
										
										
										
											2017-01-09 15:01:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  [ [  -z " ${ OGN_GSM_FREQ } "  ] ]  ;  then  
						 
					
						
							
								
									
										
										
										
											2017-01-02 18:10:57 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    if  [ [  -n " ${ DERIVED_GSM_FREQ } "  ] ]  ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 05:04:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								       OGN_GSM_FREQ = " ${ DERIVED_GSM_FREQ } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								       OGN_GSM_FREQ = "958" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    fi 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 17:05:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								fi  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 05:04:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Gain value for RTL-SDR device.  
						 
					
						
							
								
									
										
										
										
											2017-01-09 15:01:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  [ [  -z " ${ OGN_GSM_GAIN } "  ] ]  ;  then  
						 
					
						
							
								
									
										
										
										
											2017-01-02 18:10:57 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    if  [ [  -n " ${ DERIVED_GAIN } "  ] ]  ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 05:04:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        OGN_GSM_GAIN = " ${ DERIVED_GAIN } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        OGN_GSM_GAIN = "40" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    fi 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 17:05:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								fi  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 05:04:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Enforce OGN whitelist.  
						 
					
						
							
								
									
										
										
										
											2017-01-09 15:01:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  [ [  -z " ${ OGN_WHITELIST } "  ] ]  ;  then  
						 
					
						
							
								
									
										
										
										
											2016-12-30 17:05:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    OGN_WHITELIST = "0" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								fi  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-12-22 10:51:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Test if config file exists, if not create it.  
						 
					
						
							
								
									
										
										
										
											2017-01-02 17:36:07 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								DECODER_CONFIG_FILE_NAME = " ${ OGN_RECEIVER_NAME } .conf "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  [ [  -s " ${ DECODER_PROJECT_DIRECTORY } / ${ DECODER_CONFIG_FILE_NAME } "  ] ]  ;  then  
						 
					
						
							
								
									
										
										
										
											2017-01-02 20:05:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    echo  -en " \e[33m  Using existing  ${ DECODER_NAME }  config file at \"\e[37m ${ DECODER_CONFIG_FILE_NAME } \e[33m\"...\e[97m " 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-29 17:49:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								else  
						 
					
						
							
								
									
										
										
										
											2017-01-02 20:05:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    echo  -en " \e[33m  Generating new  ${ DECODER_NAME }  config file as \"\e[37m ${ DECODER_CONFIG_FILE_NAME } \e[33m\"...\e[97m " 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 17:36:07 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    sudo tee ${ DECODER_PROJECT_DIRECTORY } /${ DECODER_CONFIG_FILE_NAME }  > /dev/null 2>& 1  <<EOF
							 
						 
					
						
							
								
									
										
										
										
											2016-12-19 17:50:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								###########################################################################################  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#                                                                                         #  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#     CONFIGURATION FILE BASED ON http://wiki.glidernet.org/wiki:receiver-config-file     #  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#                                                                                         #  
						 
					
						
							
								
									
										
										
										
											2016-12-27 21:03:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								###########################################################################################  
						 
					
						
							
								
									
										
										
										
											2016-12-19 17:50:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								#  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								RF:
							 
						 
					
						
							
								
									
										
										
										
											2016-12-29 17:49:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
									
										
										
										
											2017-01-01 20:35:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  FreqCorr 	=  ${ OGN_FREQ_CORR } ;              	# [ppm]		Some R820T sticks have 40-80ppm correction factors, measure it with gsm_scan. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  Device    	=  ${ OGN_DEVICE_ID } ;       	   	# 		Device index of the USB RTL-SDR device to be selected. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#  DeviceSerial	= ${OGN_DEVICE_SERIAL};	 	# char[12] 	Serial number of the USB RTL-SDR device to be selected.  
						 
					
						
							
								
									
										
										
										
											2016-12-19 17:50:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  GSM:
							 
						 
					
						
							
								
									
										
										
										
											2016-12-29 17:49:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  { 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 13:26:47 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    CenterFreq 	=  ${ OGN_GSM_FREQ } ;    		# [MHz]		Fnd the best GSM frequency with gsm_scan. 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-01 20:35:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    Gain 	=  ${ OGN_GSM_GAIN } ;    	 	# [0.1 dB] 	RF input gain for frequency calibration (beware that GSM signals are very strong). 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-19 17:50:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  }  ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Position:
							 
						 
					
						
							
								
									
										
										
										
											2016-12-29 17:49:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
									
										
										
										
											2017-01-01 20:35:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  Latitude 	=  ${ OGN_LATITUDE } ;     		# [deg] 	Antenna coordinates in decimal degrees. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  Longitude 	=  ${ OGN_LONGITUDE } ;            	# [deg] 	Antenna coordinates in decimal degrees. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  Altitude 	=  ${ OGN_ALTITUDE } ;    		# [m]   	Altitude above sea leavel. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  GeoidSepar 	=  ${ OGN_GEOID } ;            	# [m]   	Geoid separation: FLARM transmits GPS altitude, APRS uses means Sea level altitude. 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-19 17:50:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								APRS:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
									
										
										
										
											2017-01-01 20:35:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  Call 		=  " ${ OGN_RECEIVER_NAME } " ;   	# char[9]	APRS callsign (max. 9 characters). 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-19 17:50:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								DDB:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
									
										
										
										
											2017-01-01 20:35:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  UseAsWhitelist  =  ${ OGN_WHITELIST } ;      	     	# [0|1] 	Setting to 1 enforces strict opt in. 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-19 17:50:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								EOF
							 
						 
					
						
							
								
									
										
										
										
											2016-12-22 10:51:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								fi  
						 
					
						
							
								
									
										
										
										
											2016-12-29 17:36:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-12-28 21:39:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Update ownership of new config file.  
						 
					
						
							
								
									
										
										
										
											2017-01-06 20:05:17 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								ACTION = $( chown -v pi:pi ${ DECODER_PROJECT_DIRECTORY } /${ DECODER_CONFIG_FILE_NAME }  2>& 1)  
						 
					
						
							
								
									
										
										
										
											2016-12-28 21:39:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								CheckReturnCode
							 
						 
					
						
							
								
									
										
										
										
											2016-04-01 16:55:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-12-19 17:50:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								### INSTALL AS A SERVICE  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 21:02:00 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Install service script.  
						 
					
						
							
								
									
										
										
										
											2017-01-09 15:01:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  [ [  -f " ${ DECODER_SERVICE_SCRIPT_NAME } "  ] ]  ;  then  
						 
					
						
							
								
									
										
										
										
											2016-12-30 18:24:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    # Check for local copy of service script. 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-08 20:44:46 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    if  [ [  ` grep -c " conf= ${ DECODER_SERVICE_CONFIG_PATH } "  ${ DECODER_SERVICE_SCRIPT_NAME } `  -eq 1  ] ]  ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 21:47:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        echo  -en " \e[33m  Installing service script at \"\e[37m ${ DECODER_SERVICE_SCRIPT_PATH } \e[33m\"...\e[97m " 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-06 20:05:17 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        ACTION = $( cp -v ${ DECODER_SERVICE_SCRIPT_NAME }  ${ DECODER_SERVICE_SCRIPT_PATH }  2>& 1) 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-03 03:03:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        ACTION = $( sudo chmod -v +x ${ DECODER_SERVICE_SCRIPT_PATH }  2>& 1) 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 18:24:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    else 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 21:47:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        echo  -en " \e[33m  Invalid service script \"\e[37m ${ DECODER_SERVICE_SCRIPT_NAME } \e[33m\"...\e[97m " 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 18:24:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        false 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    fi 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-09 15:01:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								elif  [ [  -n " ${ DECODER_SERVICE_SCRIPT_URL } "  ] ]  ;  then  
						 
					
						
							
								
									
										
										
										
											2016-12-30 18:24:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    # Otherwise attempt to download service script. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  [ [  ` echo  ${ DECODER_SERVICE_SCRIPT_URL }  |  grep -c "^http" `  -gt 0  ] ]  ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 21:47:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        echo  -en " \e[33m  Downloading service script to \"\e[37m ${ DECODER_SERVICE_SCRIPT_PATH } \e[33m\"...\e[97m " 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-10 15:15:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        ACTION = $( sudo curl -L ${ DECODER_SERVICE_SCRIPT_URL }  -o ${ DECODER_SERVICE_SCRIPT_PATH }  2>& 1) 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-03 03:03:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        ACTION = $( sudo chmod -v +x ${ DECODER_SERVICE_SCRIPT_PATH }  2>& 1) 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 18:24:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    else 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 21:47:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        echo  -en " \e[33m  Invalid service script url \"\e[37m ${ DECODER_SERVICE_SCRIPT_URL } \e[33m\"...\e[97m " 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 18:24:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        false 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    fi 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 17:26:05 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								else  
						 
					
						
							
								
									
										
										
										
											2016-12-30 18:24:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    # Otherwise error if unable to use local or downloaded service script 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 21:47:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    echo  -en " \e[33m  Unable to install service script at \"\e[37m ${ DECODER_SERVICE_SCRIPT_PATH } \e[33m\"...\e[97m " 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 18:24:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    false 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 17:05:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								fi  
						 
					
						
							
								
									
										
										
										
											2016-12-28 21:39:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								CheckReturnCode
							 
						 
					
						
							
								
									
										
										
										
											2016-04-01 16:55:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 18:24:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Generate and install service script configuration file.  
						 
					
						
							
								
									
										
										
										
											2017-01-09 15:01:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  [ [  -n " ${ DECODER_SERVICE_CONFIG_PATH } "  ] ]  ;  then  
						 
					
						
							
								
									
										
										
										
											2017-01-08 20:44:46 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    echo  -en " \e[33m  Creating service config file \"\e[37m ${ DECODER_SERVICE_CONFIG_PATH } \e[33m\"...\e[97m " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    sudo tee ${ DECODER_SERVICE_CONFIG_PATH }  > /dev/null 2>& 1  <<EOF
							 
						 
					
						
							
								
									
										
										
										
											2016-04-01 16:55:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								#shellbox configuration file  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#Starts commands inside a "box" with a telnet-like server.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#Contact the shell with: telnet <hostname> <port>  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#Syntax:  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#port  user     directory                 command       args  
						 
					
						
							
								
									
										
										
										
											2017-01-02 04:34:37 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								50000   pi ${ DECODER_PROJECT_DIRECTORY }     ./ogn-rf     ${ OGN_RECEIVER_NAME } .conf 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								50001   pi ${ DECODER_PROJECT_DIRECTORY }     ./ogn-decode ${ OGN_RECEIVER_NAME } .conf 
						 
					
						
							
								
									
										
										
										
											2016-04-01 16:55:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								EOF
							 
						 
					
						
							
								
									
										
										
										
											2017-01-08 20:44:46 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ACTION = $( chown -v pi:pi ${ DECODER_SERVICE_CONFIG_PATH }  2>& 1) 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 20:03:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								else  
						 
					
						
							
								
									
										
										
										
											2016-12-30 17:26:05 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    false 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 17:05:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								fi  
						 
					
						
							
								
									
										
										
										
											2016-12-28 21:39:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								CheckReturnCode
							 
						 
					
						
							
								
									
										
										
										
											2016-04-01 16:55:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 17:05:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Potentially obselse tuner detection code.  
						 
					
						
							
								
									
										
										
										
											2017-01-09 15:14:44 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  [ [  " ${ TUNER_COUNT } "  -lt 2  ] ]  ;  then  
						 
					
						
							
								
									
										
										
										
											2016-12-30 20:44:53 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    # Less than 2 tuners present so we must stop other services before starting this decoder. 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 21:47:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    echo  -en "\e[33m  Found less than 2 tuners so other decoders will be disabled...\e[97m" 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 20:44:53 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    SERVICES = "dump1090-mutability" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    for  SERVICE in ${ SERVICES }  ;  do 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  [ [  ` service ${ SERVICE }  status |  grep -c "Active: active" `  -gt 0  ] ]  ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-03 03:02:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            ACTION = $( sudo update-rc.d ${ SERVICE }  disable 2>& 1) 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 20:44:53 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    done 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-28 21:39:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    CheckReturnCode
							 
						 
					
						
							
								
									
										
										
										
											2016-12-22 11:18:37 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								fi  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 17:36:07 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Configure DECODER as a service.  
						 
					
						
							
								
									
										
										
										
											2017-01-02 21:47:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  -en " \e[33m  Configuring  ${ DECODER_NAME }  as a service...\e[97m "  
						 
					
						
							
								
									
										
										
										
											2017-01-09 11:42:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								ACTION = $( sudo update-rc.d ${ DECODER_SERVICE_NAME }  defaults 2>& 1)  
						 
					
						
							
								
									
										
										
										
											2016-12-28 21:39:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								CheckReturnCode
							 
						 
					
						
							
								
									
										
										
										
											2016-04-01 16:55:46 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 17:36:07 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Start the DECODER service.  
						 
					
						
							
								
									
										
										
										
											2017-01-02 21:47:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  -en " \e[33m  Starting the  ${ DECODER_NAME }  service...\e[97m "  
						 
					
						
							
								
									
										
										
										
											2017-01-09 11:42:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								ACTION = $( sudo /etc/init.d/${ DECODER_SERVICE_NAME }  start 2>& 1)  
						 
					
						
							
								
									
										
										
										
											2016-12-28 21:39:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								CheckReturnCode
							 
						 
					
						
							
								
									
										
										
										
											2016-12-19 17:50:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-12-30 21:10:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								## RTL-SDR OGN SETUP COMPLETE  
						 
					
						
							
								
									
										
										
										
											2016-12-19 17:50:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-12-22 10:51:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Return to the project root directory.  
						 
					
						
							
								
									
										
										
										
											2017-01-02 20:05:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  -en " \e[94m  Returning to  ${ RECEIVER_PROJECT_TITLE }  root directory...\e[97m "  
						 
					
						
							
								
									
										
										
										
											2017-01-09 14:51:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								cd  ${ RECEIVER_ROOT_DIRECTORY }  
						 
					
						
							
								
									
										
										
										
											2017-01-03 04:13:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								ACTION = ${ PWD }  
						 
					
						
							
								
									
										
										
										
											2016-12-28 21:39:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								CheckReturnCode
							 
						 
					
						
							
								
									
										
										
										
											2016-12-19 17:50:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-02 20:19:23 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  -e "\e[93m  ------------------------------------------------------------------------------\n"  
						 
					
						
							
								
									
										
										
										
											2016-12-19 17:50:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  -e " \e[92m   ${ DECODER_NAME }  setup is complete.\e[39m "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo  -e ""  
						 
					
						
							
								
									
										
										
										
											2017-01-09 14:51:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  [ [  " ${ RECEIVER_AUTOMATED_INSTALL } "  =  "false"  ] ]  ;  then  
						 
					
						
							
								
									
										
										
										
											2017-01-02 20:19:23 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    read  -p "Press enter to continue..."  CONTINUE
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								fi  
						 
					
						
							
								
									
										
										
										
											2016-12-19 17:50:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								exit  0