Compile programs
This will install the necessary programs needed to download, compile, and install the drivers and software. I generally followed this procedure for installing these programs. I did not install Kalibrate as the examples didn’t work for me and I knew (I think) a better way to calibrate the dongle.
Connect via SSH to the Pi.
Update the repository archives by entering
sudo apt-get -y update
For a description of this command see the Updating Wheezy Raspbian section.
Install the program dependencies by entering
sudo apt-get --no-install-recommends -y install git cmake libusb-1.0-0-dev libpulse-dev libx11-dev screen qt4-qmake libtool autoconf automake libfftw3-dev
Newer versions of Raspberry Pi OS require additional packages:
sudo apt-get --no-install-recommends -y install git cmake libusb-1.0-0-dev libpulse-dev libx11-dev screen qt4-qmake libtool autoconf automake libfftw3-dev qt4-default make g++
For a description of this command see the Updating Wheezy Raspbian section.
no-install-recommends: only installs the main dependencies for the package(s) and no suggested dependencies.
RTL-SDR drivers
This will install drivers and programs for the RTL-SDR dongle.
Create a temporary place to compile the programs by entering
mkdir -v /home/pi/sources/
cd /home/pi/sources/
git clone git://git.osmocom.org/rtl-sdr.git
Git: version control system which includes the ability to make code changes to a repository and submit the changes for approval. It will be used to make copies of repositories (source code) from the Internet to the Pi.
cd /home/pi/sources/rtl-sdr/
Create a place to store compiled (built) code (binary files).
mkdir -v /home/pi/sources/rtl-sdr/build/
cd /home/pi/sources/rtl-sdr/build/
cmake ../ -DDETACH_KERNEL_DRIVER=ON -DINSTALL_UDEV_RULES=ON
Cmake: checks details about the machine on which the software is going to be installed. This script checks for dependencies. It generates Makefile. Makefile indicates the sequence that Linux must follow to build various components / sub-programs of the software. This is similar to ‘configure’ (details from: codecoffee).
make
make: takes Makefile and compiles the code to generate executable programs (details from: codecoffee).
sudo make install
make install: also uses Makefile and copies the execrable into the required directories (details from: codecoffee). This must be run as root so permissions will be correct.
sudo ldconfig
ldconfig: creates the necessary links and cache to the most recent shared libraries. We just installed new libraries for the RTL-SDR dongle and ldconfig will make them active.
MultimonNG
This will install MultimonNG which decodes digital transmissions. It is a fork of Multimon with added features. A list of supported modes is available in their README.
cd /home/pi/sources/
git clone https://github.com/EliasOenal/multimonNG.git
cd /home/pi/sources/multimonNG/
mkdir -v /home/pi/sources/multimonNG/build/
cd /home/pi/sources/multimonNG/build/
qmake ../multimon-ng.pro
make
For a description of these command see the RTL-SDR drivers section. qmake is similar to cmake.
sudo make install
For a description of this command see the RTL-SDR drivers section.
Pymultimonaprs
This will install pymultimonaprs which relays decoded data to the APRS-IS network.
cd /home/pi/sources/
git clone https://github.com/asdil12/pymultimonaprs.git
cd /home/pi/sources/pymultimonaprs/
sudo python setup.py install
python: is a programming language interpreter.
setup.py: script written by the author which python executes.
install: parameter telling setup.py which command set to run.
Reboot once we’re done to get everything in place.
sudo reboot
Programs are installed!