Odroid-U3 Installation

'Easy' installation of RTLSDR-OGN on Odroid-U3

NOTE: For Raspberry Pi & Raspberry Pi 2 it's much better and easier to install Mel's image,
others (Odroid-U3, BananaPi, RK3188, Linux, etc) could also use their boostrap script.
Follow this link for detailed instructions.


Otherwise - do what it says below.

Get the latest ubuntu image for odroid

and expand partition thanks to

sudo odroid-config

Upgrade OS (Ubuntu 14.04 LTS after upgrade)

sudo apt-get update
sudo apt-get upgrade
do-release-upgrade
sudo reboot

Install rtl-sdr

Installation

sudo apt-get install rtl-sdr

For other distributions than debian/ubuntu/debian-deriavates, there is a detailed guide here: http://osmocom.org/projects/sdr/wiki/Rtl-sdr#Software

Now, once the DVB-T dongle is plugged into the USB port, you should find a corresponding message in dmesg

Install required packages

sudo apt-get -y install libconfig-dev fftw3-dev libjpeg-dev libconfig9 libjpeg8 procserv

Download the binary and unpack it

For Raspberry Pi 1, choose

wget http://download.glidernet.org/rpi-gpu/rtlsdr-ogn-bin-RPI-GPU-latest.tgz
tar xvzf rtlsdr-ogn-bin-RPI-GPU-latest.tgz

For Raspberry Pi 2 and other arm systems, choose
wget http://download.glidernet.org/arm/rtlsdr-ogn-bin-ARM-latest.tgz
tar xvzf rtlsdr-ogn-bin-ARM-latest.tgz

There are also binaries for x86 and x86_64 targets, see http://download.glidernet.org/.

Create named pipe

Since v0.2.2 rf-reception and decoding are separate processes. They communicate via this fifo.

cd rtlsdr-ogn
mkfifo ogn-rf.fifo

Receiver configuration and tuning for best performance

Now power system down, insert the USB DVB-T stick and repower on..
Attach your aerial.

The very first thing you need in order to receive the signals is to be on the correct radio frequency.
Cheap SDR receivers use cheap crystals and their frequency tolerance is about +/-50-100ppm.
At 868MHz 100ppm error makes you 86.8kHz away from the correct frequency, while frequency deviation for FLARM signals is +/-50kHz.
Technically, the software receiver can search a wide range of frequencies for radio packets but this inflicts lot of CPU, thus can only be done for stronger CPU boards, but not for Raspberry PI.
Thus you need to know how much off is the crystal of your DBV-T dongle before you proceed.

You can measure the crystal with the gsm_scan tool, run it like this:

cd rtlsdr-ogn
./gsm_scan --ppm 50 --gain 20

it should receive some GSM broadcast channels and measure the frequency correction.
Notice the GSM frequency with a strong broadcast channel, even better: with one or two directly adjacent channels.
Adjust the gain (--gain) and initial crystal correction (--ppm) for best reception of as many as possible channels with consistent correction measurement.
GSM signals are very strong, thus too much gain is not good. You need to find an optimal setting here.

Rename the file named either Example.conf or Template.conf so that the name corresponds to your receiver's location (e.g. LFLE.conf, EPZR.conf, myPlace.conf)

(this assumes you are still in the rtlsdr-ogn directory, if not you need to "cd rtlsdr-ogn" first)

cp Template.conf myPlace.conf

Then edit the file, to set-up the receiver:
enter your crystal correction, GSM frequency for calibration, geographical position, APRS name. (You will find more details about receiver's configuration here)

nano myPlace.conf

Run the receiver (not longer possible to use the following 2 commands - install as a service instead)

sudo nohup ./ogn-rf myPlace.conf &

and

 sudo nohup ./ogn-decode myPlace.conf &

to stop it, kill the process-numbers shown on startup or retrieved with the top command:

kill <processnumber>

The output of these commands is redirected to 'nohup.out' if possible, '$HOME/nohup.out' otherwise.

Install as service

If you don't want to start the receiver by hand every time the RPI boots, then install it as a service:

sudo apt-get -y install procserv telnet
sudo wget http://download.glidernet.org/common/service/rtlsdr-ogn -O /etc/init.d/rtlsdr-ogn
sudo wget http://download.glidernet.org/common/service/rtlsdr-ogn.conf -O /etc/rtlsdr-ogn.conf
sudo chmod +x /etc/init.d/rtlsdr-ogn
sudo update-rc.d rtlsdr-ogn defaults

Update /etc/rtlsdr-ogn.conf according to name of your configuration file, by replacing SampleConfigurationFileNameToChange.conf by the name of your config file and pi with your actual username

sudo nano /etc/rtlsdr-ogn.conf

Note that the path should be to rtlsdr-ogn, not the directory of the version you have installed. This is a symbolic link and will be updated with each version.

Start the service

sudo service rtlsdr-ogn start

Remark: When the service starts it waits for time synchronisation (NTP). It may takes up to 30mn on just booted RPi. Gossip says if you install ntpdate it synchronizes much faster.

Your service is now running and will start automatically at next boot.

If you wish to re-run gsm_scan after this point you will have to stop the service.

sudo service rtlsdr-ogn stop
cd rtlsdr-ogn
./gsm_scan --ppm 50 --gain 20

You can see console output of your receiver at any time with:

telnet localhost 50000

containing infos regarding to the decoding-process and

telnet localhost 50001

containing infos regarding to the APRS datatraffic.

And to finalize

Please don't forget to add your new receiver to the receiver list.
Some words on how to increase Raspberry Pi stability

RTL-SDR Dongle V3 - Special Driver installation

The new RTL-SDR Donge V3 comes with a power supply for preamps, which can be active via software. However, this requires a custom compiled rtlsdr driver. Here are the installation instructions:

sudo apt-get update
sudo apt-get install git make cmake gcc libusb-1.0-0-dev
git clone https://github.com/rtlsdrblog/rtl-sdr
cd rtl-sdr
mkdir build
cd build
cmake ..
sudo make install

# get rid of the old libraries
sudo apt-get remove --purge rtl-sdr
sudo apt-get autoremove

To activate the power supply please add the line 'BiasTee = 1;' line to the rtlsdr-ogn.conf file
RF:
{ 
  FreqCorr = +0;          # [ppm]      "big" R820T sticks have 40-80ppm correction factors, measure it with gsm_scan
  BiasTee      = 1;

  OGN: # for FLARM packets acquisition
  { Gain = 22.9; # [dB] RF input gain
  };
  # valid Gain settings are : 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6

Optional: Install automatic updater

If you have followed the instructions above you can install the automatic update script. This script runs every night at a random time between 11pm and 6am and should work fine as long as the device is powered up at that point in time. If an update is installed it will restart the Flarm service.

curl http://ognconfig.onglide.com/files/v2.0/update -o update ;
chmod +x update
sudo ./update

This will print some information about your configuration, and it may re-install the rtlsdr-ogn software so that the installation environment is known.

If you don't want it to start the Flarm receiver after applying updates run sudo crontab -u root -e and add a -i after the update script. This could be useful if your Odroid runs other things at night!

It should print the following if it has correctly installed itself.

Checking automatic updater is installed... installed.
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License