RTL-SDR
This page will provide you with descriptions to build your own RTL-SDR station using a USB DVB receiver on Linux. Mostly intended for a Debian environment but packages are installed from source where possible to make it flexible to other environments.
Installation using apt-get
sudo apt-get install rtl-sdr
Installation from source
apt-get update
apt-get install git cmake libboost-all-dev libusb-1.0-0-dev python-scitools portaudio19-dev sox -y
mkdir /home/sdr
cd /home/sdr
git clone git://git.osmocom.org/rtl-sdr.git
cd /rtl-sdr
mkdir build
cmake ../
make
make install
cp /home/sdr/rtl-sdr/rtl-sdr.rules /etc/udev/rules.d/
Blacklist the driver
lsusb
jendrosseksip:/opt$ lsusb Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 004: ID 138a:00ab Validity Sensors, Inc. Bus 001 Device 007: ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T Bus 001 Device 002: ID 04f2:b669 Chicony Electronics Co., Ltd Bus 001 Device 005: ID 8087:0aaa Intel Corp. Bus 001 Device 006: ID 413c:3010 Dell Computer Corp. Optical Wheel Mouse Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
So mine is :
Bus 001 Device 007: ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T
Edit the blacklist
vi /etc/modprobe.d/sdr-blacklist.conf
blacklist dvb_usb_rtl28xxu blacklist rtl2832 blacklist rtl2830
Restart the OS
Checking your dongle
List the dongle
lsusb
Test the dongle
Test using rtl_test
root@lphenixhq:/opt/rtl-sdr# rtl_test -t
Found 1 device(s): 0: Realtek, RTL2838UHIDIR, SN: 00000001 Using device 0: Generic RTL2832U OEM Detached kernel driver Found Fitipower FC0012 tuner Supported gain values (5): -9.9 -4.0 7.1 17.9 19.2 Sampling at 2048000 S/s. No E4000 tuner found, aborting. Reattached kernel driver
Yes, a working dongle!
Test using RTL_FM
(http://kmkeen.org/rtl-dmod-guide/)
rtl_fm -M wbfm -f 105.1M | play -r 32k -t raw -e s -b 16 -c1 -V1
105.1M is my local station, Haarlem FM, change it for yours!
You can also scan a range, for example airplane radio traffic
rtl_fm -M am -f 118M-138M:25k -s 12k -g 50 -l 200 | play -r 12k
Find airport info on SkyVector
https://skyvector.com/airport/EHAM/Amsterdam-Schiphol-Airport
Spectrum analyzing
You might have to select your device in Options
apt install gqrx-sdr
gqrx
Messages between tower and airplanes, ACARS
git clone https://github.com/TLeconte/acarsdec
cd acarsdec
mkdir build
cd build
cmake .. -Drtl=ON
make
sudo make install
Check the traffic from the commandline, using acarsdec
acarsdec -r 0 131.525 131.725
Dump1090
This translates ADSR messages containing altitude and speed of airplanes
You need a google developer key to see mapinfo :-(
But you can also connect to it from VirtualRadar, see below
Install
git clone https://github.com/antirez/dump1090
cd dump1090
make
Check info from Airplanes
./dump1090 --enable-agc --interactive --agressive
Play with it and check on http://localhost:8080
./dump1090 --enable-agc --net --agressive
Virtual Radar
Now we are getting to the fun part and see things
Make sure to have mono installed
sudo apt-get install mono-complete
Go to the dir you want to install the software
mkdir /opt/virtualradar
wget http://www.virtualradarserver.co.uk/Files/VirtualRadar.tar.gz
tar xzvf VirtualRadar.tar.gz
Create the config file
vi VirtualRadar.exe.config
Copy this block
<?xml version="1.0"?> <configuration> <configSections> </configSections> <startup> <supportedRuntime version="v2.0.50727"/> </startup> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="Mono.Data.Sqlite" publicKeyToken="0738eb9f132ed756" culture="neutral" /> <bindingRedirect oldVersion="2.0.0.0" newVersion="4.0.0.0" /> </dependentAssembly> </assemblyBinding> </runtime> </configuration>
Start VirtualRadar
Start dump1090 first after inserting the dongle
/opt/dump1090 --enable-agc --interactive --agressive
mono VirtualRadar.exe
Visit localhost
http://localhost:8080/VirtualRadar/desktop.html
Change the port for the webserver
In the configuration folder create a text file called InstallerConfiguration.xml and paste the following
<?xml version="1.0" encoding="utf-8" ?> <InstallerSettings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <WebServerPort>8080</WebServerPort> </InstallerSettings>
Check for more info on this right here: http://www.virtualradarserver.co.uk/Mono.aspx
RTL 433, Weather stations, Car keys
Needs 433Mhz antenna
Install
git clone https://github.com/merbanan/rtl_433
cd rtl_433
mkdir build
cd build
cmake install
Play with it
rtl_433 -G
Check pagers. Morse and what else with multimon-ng
Install
git clone https://github.com/EliasOenal/multimon-ng
cd multimon-ng
mkdir build
cd build
cmake ..
sudo make install
Catch the data with rtl_tm and post process with multimon-ng
rtl_fm -f 149.61M -s 22050 -p -19 | multimon-ng -t raw -POCSAG12 -a POCSAG1200 -a POCSAG2400 -a SCOPE -f a;pha /dev/stdin
Listen to DAB+ stations
www.welle.io
Install Qt 5.10 including the Qt Charts module by using the the "Qt Online Installer for Linux" https://www.qt.io/download-open-source/
sudo apt install libfaad-dev libmpg123-dev libmpg123-dev libfftw3-dev librtlsdr-dev libusb-1.0-0-dev mesa-common-dev libglu1-mesa-dev libpulse-dev libsoapysdr-dev libairspy-dev libmp3lame-dev
git clone https://github.com/AlbrechtL/welle.io.git
Start Qt Creator and open the project file `welle.io.pro` inside the folder "welle.io".
Build welle.io
Run welle.io and enjoy it
Build your own Antenna
This section will probably end up as a seperate project. For now the information i gathered to work from.
Amateur Dipole Antenna Calculator
http://www.csgnetwork.com/antennaedcalc.html
Project is based on RTL-SDR https://osmocom.org/projects/rtl-sdr/wiki/Rtl-sdr
Thanks to :
Adam Loboda for RTL-SDR information
Daryl Williams for info on VirtualRadar