Installation der Software
Das Tutorial wurde für ein „frisches“ neuinstalliertes Ubuntu 20.04 LTS erstellt. Bei abweichender Version bzw. Distribution können Anpassungen erforderlich sein. Weiterhin sollte mindestens 1 GB freier Festplattenspeicher auf dem Zielsystem zur Verfügung stehen.
Der Build-Prozess setzt sudo bzw. root Rechte voraus. Diese werden zu Vereinfachung zu Anfang aktiviert und sollten nach Abschluss (mit exit) deaktiviert werden.
sudo su
Die nachfolgende Software benötigt zusätzliche Pakete. Es ist erforderlich diese zu installieren
apt-get update apt install libtool shtool automake autoconf pkg-config make gcc build-essential gnutls-dev doxygen graphviz git git-core cmake g++ swig libusb-1.0-0-dev libmnl-dev libtalloc-dev libsctp-dev libboost-all-dev libgmp-dev libfftw3-dev libsdl1.2-dev libgsl-dev libqwt-qt5-dev libqt5opengl5-dev liblog4cpp5-dev libzmq3-dev libcppunit-dev liblog4cpp5-dev liborc-0.4-dev portaudio19-dev libqt5svg5-dev libcodec2-dev libgsm1-dev libpcsclite-dev python3-pip python-is-python3 python3-numpy python3-mako python3-sphinx python3-lxml python3-yaml python3-click python3-click-plugins python3-zmq python3-scipy python3-pip python3-gi-cairo python3-pyqt5 python-docutils pip3 install numpy scipy mako twisted
SDR-Komponenten
1. In das gewünschte Arbeitsverzeichnis wechseln (bei Bedarf mit mkdir anlegen)
rtl-sdr bauen
Mit folgenden Befehlszeilen den Quellcode der SDR-Software herunterladen und compilieren. Um eine spätere Nutzung ohne sudo bzw. root Rechte zu ermöglichen wird die UDEV Unterstützung aktiviert.
git clone https://github.com/osmocom/rtl-sdr.git cd rtl-sdr/ mkdir build cd build cmake ../ -DINSTALL_UDEV_RULES=ON make make install ldconfig cp ../rtl-sdr.rules /etc/udev/rules.d/ cd ../..
Kopieren der UDEV Regeln
cp ../rtl-sdr.rules /etc/udev/rules.d/ cd ..
Sofern der SDR USB-Stick eingesteckt ist diese nun abziehen und nachfolgendes ausführen:
rmmod dvb_usb_rtl28xxu echo "blacklist dvb_usb_rtl28xxu" >> /etc/modprobe.d/blacklist.conf
Nun den SDR USB-Stick eingestecken und diesen testen:
Tuning range
rtl_test -t
Max. sample rate
rtl_test -s 3.2e6
Gnuradio 3.8 bauen
Gnuradio wird zur Verarbeitung und Darstellung der SDR-Signale verwendet.
git clone --recursive https://github.com/gnuradio/gnuradio.git cd gnuradio git checkout maint-3.8 git submodule update --init --recursive mkdir build cd build cmake -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=/usr/bin/python3 ../ make -j 4
Zur Vermeidung von Problemen sollte Gnuradio getestet werden. Es sollten alle Tests mit "Passed" bestanden werden, sonst können im Betrieb Probleme auftreten.
make test
Installation von Gnuradio
make install cd ../..
Umgebungsvariablen (sowohl in der root als auch in der user shell) setzen.
echo 'export PYTHONPATH=/usr/local/lib/python3/dist-packages:/usr/local/lib/python2.7/site-packages:$PYTHONPATH' >> ~/.bashrc echo 'export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH' >> ~/.bashrc echo 'export PYTHONPATH=/usr/local/lib/python3/dist-packages:/usr/local/lib/python2.7/site-packages:$PYTHONPATH' >> ~/.profile echo 'export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH' >> ~/.profile
libosmocore bauen
libosmocore ist eine Bibliothek mit verschiedenen Hilfsfunktionen, die von nachfolgenden Programmen benötigt werden.
Hier ist zu beachten, dass bei alle Versionen neuer als 1.2.0 die GSM Test-Cases mit Fehlern beendet wurden und sich dies als Probleme bei der späteren Anwendung bestätigte. Daher wir hier die Version 1.2.0 genutzt.
git clone https://github.com/osmocom/libosmocore.git cd libosmocore/ git checkout 1.2.0 autoreconf -i ./configure make
Mögliche Problemen im Betrieb lassen sich durch testen erkennen, dabei sollten alle Tests mit "OK" bestanden werden. (Treten bei den Tests Fehler auf, dann auf Version 0.9.0 ausweichen.)
make install ldconfig -i cd ..
SoapySDR
SoapySDR ist eine herstellerunabhängige und plattformunabhängige SDR-Unterstützungsbibliothek.
git clone https://github.com/pothosware/SoapySDR.git cd SoapySDR mkdir build cd build cmake ../ make sudo make install sudo ldconfig cd ../..
SoapySDR-Modul für RTL-SDR
git clone https://github.com/pothosware/SoapyRTLSDR.git cd SoapyRTLSDR mkdir build cd build cmake ../ make make install ldconfig cd ../..
gr-osmosdr bauen
gr-osmosdr ist eine Bibliothek für GNU Radio, die OsmoSDR Quellblöcke bereitstellt. Für ein fehlerfreies Build werden libosmo-dsp und gr-iqbal benötigt.
git clone https://github.com/osmocom/libosmo-dsp.git cd libosmo-dsp autoreconf -i ./configure make make install ldconfig cd ..
git clone https://github.com/osmocom/gr-iqbal.git git checkout gr3.8 mkdir build cd build cmake ../ make -j 4 make install ldconfig cd ../..
Es ist erforderlich gr-osmosdr passend zum zuvor gebauten Gnuradio 3.8 zu compilieren.
git clone https://github.com/osmocom/gr-osmosdr.git cd gr-osmosdr/ git checkout gr3.8 mkdir build cd build/ cmake ../ make -j 4 make install ldconfig cd ../..
gr-gsm bauen
Gr-gsm ist ein Set von Tools für den Empfang von GSM-Übertragungen, das mit jeder Software-Funkhardware funktioniert, die in der Lage ist, GSM-Signale zu empfangen. Es ist erforderlich gr-gsm passend zum zuvor gebauten Gnuradio 3.8 zu compilieren.
git clone https://github.com/velichkov/gr-gsm.git cd gr-gsm git checkout maint-3.8 mkdir build cd build cmake -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=/usr/bin/python3 ../ make -j 2 make install ldconfig -i cd ../..
GQRX bauen
Gqrx ist ein Open Source Software Defined Radio Receiver (SDR).
git clone https://github.com/csete/gqrx.git cd gqrx mkdir build cd build cmake .. make -j 2 make install cd ../..
Die Software wird wie folgt gestartet:
gqrx
Im Tab "Input controls" sollte die Option "Hardware ACC" aktiviert werden.
Die Frequenz des SDR wird über den Tab "Receiver options" eingestellt.
qspectrumanalyzer
Qspectrumanalyzer ist ein klassischer Spektrum-Analyzer für mehrere SDR Platformen.
git clone https://github.com/xmikos/qspectrumanalyzer.git cd qspectrumanalyzer #pip3 install --user . ./setup.py install cd ..
Die Software wird nach der Installaton wie folgt gestartet:
qspectrumanalyzer
In der Spectrum-Analyzer GUI können alle erforderlichen Parameter eingestellt werden.
gr-scan
gr-scan ist ein Funkspektrum-Scanner basierend auf SDR und GnuRadio.
git clone https://git.zx2c4.com/gr-scan cd gr-scan
Im Makefile muss LDLIBS um "-llog4cpp" erweitert werden, sonst tritt bei make ein Fehler auf.
make make install cd ..
Die Software wird nach der Installaton wie folgt gestartet:
gr-scan