DVB-T Stick als SDR-Receiver/Installation der Software

Aus C3MAWiki

Installation der Software

Vorweg sollte mindestens 1 GB freier Festplattenspeicher auf dem Zielsystem zur Verfügung stehen.

SDR-Komponenten

rtl-sdr kompilieren

1. In das gewünschte Arbeitsverzeichnis wechseln (bei Bedarf mit mkdir anlegen) und mit folgender Befehlszeile den Quellcode der SDR-Software [1] zum mitsniffen herunterladen:

git clone git://git.osmocom.org/rtl-sdr.git

2. Damit wir die Software nicht einzeln kompilieren müssen, installieren wir uns (falls nicht bereits vorhanden) cmake und libusb (von Projekt benötigt)

apt-get update
apt-get install cmake libusb-1.0-0-dev

3. Erstellen eines Build-Verzeichnisses und Makefiles

cd rtl-sdr
mkdir build
cd build
cmake ..

4. Verlief der vorherige Schritt fehlerfrei, wird es mit folgender Anweisung kompiliert:

make
make install

5. Ist die Hardware eingesteckt, sollte mit

rtl_sdr /tmp/capture.bin -s 1800000 -f 392000000

folgendes Ausgegeben werden:

Found 1 device(s).
Using Generic RTL2832U (e.g. hama nano)
Found Elonics E4000 tuner
Setting sample rate: 1800000.000 Hz
Tuned to 392000000 Hz.
Tuner gain set to 0 dB.
Reading samples...

Vorsicht, die angegebene Datei wird schnell größer (in diesem Beispiel ca. 4 MB/s)

Installation von gnuradio

Gnuradio wird in diesem Fall u.a. zur Verarbeitung der Roh-Signale in ein anderes Format verwendet.

Wichtig: Damit der osmosdr-Source-Block funktioniert/sich kompilieren lässt wird laut der Projektseite [2] die aktuelle Version von gnuradio (>= v3.5.3) benötigt. Da aber viele apt-get/macport-Packages zu alt sind, nutzt eine Installation per Paket-Manager höchstens zum Experimentieren mit zuvor gecaptured Dateien, die per File Source eingebunden werden (Installationsanleitungen mit Paket-Manager sind nur zur Vollständigkeit aufgeführt)). Aus diesem Grund empfiehlt es sich, immer gleich die aktuellste gnuradio-Version per git zu laden und selbst zu kompilieren.

per Paketmanager (aktuell kein osmosdr-Block)

Backtrack Linux

Die Installation kann mit 1 Zeile erledigt werden (großes Paket (über 320MB)):

apt-get install gnuradio gnuradio-companion

Danach sollte bei einem Aufruf von

grc

die gnuradio-Companion-Oberfläche erscheinen

Mac OS X

In diesem Beispiel wird MacPorts [3] verwendet:

sudo port install gnuradio

Bei einem Aufruf von

gnuradio-companion

sollte die gnuradio-Companion-Oberfläche erscheinen


selbstkompiliert

Backtrack Linux

1. gnuradio herunterladen und installieren

git clone git://gnuradio.org/gnuradio

2. benötigte Pakete installieren

apt-get install libcppunit-dev libboost-all-dev

3. gnuradio kompilieren

cd gnuradio/
mkdir build
cd build
cmake ..
make
sudo make install
Mac OS X

In diesem Beispiel wird OS X Lion (10.7.3) verwendet. Wenn es bei anderen Versionen Probleme gibt, bitte melden.

1. Als erstes werden vor der Installation noch ein paar Komponenten benötigt, die bei der Packet-Installation auch automatisch mitinstalliert wurden (hier wird wieder MacPorts [4] verwendet. Ihr könnt euch die Bibliotheken natürlich auch selbst kompilieren):

sudo port selfupdate
sudo port install swig-python zlib boost cppunit fftw-3-single gawk gsl guile libtool pkgconfig  libsdl qwtplot3d portaudio jack py26-gtk py26-cheetah py26-lxml py26-numpy py26-pyqt4 py26-opengl py26-wxpython

Im Fehlerfall einfach nocheinmal ausführen. Ich musste den Befehl auch 3 mal absetzen, bis die Installation von allen Paketen erfolgreich abgeschlossen war.

2. Umgebungsvariablen setzen (Quelle: [5])

export PYTHONPATH=$PYTHONPATH:/opt/local/lib/python2.6/site-packages
export PYTHONPATH=$PYTHONPATH:/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/
export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages/

Bei dem letzten Pfad handelt es sich um einen der zukünftigen gnuradio-Pfade (falls ihr im nächsten Schritt nicht ein anderes Installationsverzeichnis angebt). Und damit es nach dem Neustart kein böses Erwachen gibt, wird das ganze nochmal in die .profile geschrieben:

echo "export PYTHONPATH=$PYTHONPATH:/opt/local/lib/python2.6/site-packages:/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/:/usr/local/lib/python2.7/site-packages/" >> ~/.profile


3. gnuradio herunterladen und installieren

git clone git://gnuradio.org/gnuradio
cd gnuradio/
mkdir build
cd build
cmake ..
make
sudo make install

Bei einem Aufruf von

gnuradio-companion

sollte die gnuradio-Companion-Oberfläche erscheinen

Kompilierung des GRC-Source-Blocks (osmosdr)

noch keine Endgültige Fassung

Aktuell muss für diesen Schritt doch der Source-Code von gnuradio heruntergeladen werden, da zum kompilieren (es existiert auch noch kein Paket des Blocks) die gnuradio-headerfiles benötigt werden. Dabei war aber auch die vorherige Installation über den Packetmanager nicht umsonst, da dadurch viele Bibliotheken und Abhängigkeiten bereits vorinstalliert wurden, so dass wir nur noch kompilieren brauchen.

Backtrack Linux

1. Block-Sourcecode herunterladen

cd .. #in altes Verzeichnis zurück gehen
git clone git://git.osmocom.org/gr-osmosdr

2. Anpassungen vornehmen

cd gr-osmosdr
cmake . -DGRUEL_INCLUDE_DIRS="/usr/local/include/gruel/swig"
make
make install

3. Damit libosmocore auch von allen Programmen gefunden wird, muss der entsprechende Library noch eingebunden festgelegt werden

export LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH"

Damit dies auch nach dem Neustart so bleibt, muss dieser Befehl zusätzlich in die .profile-Datei im Benutzerverzeichnis eingetragen werden

echo 'export LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH"' > ~/.profile

Mac OS X

1. libusb installieren (falls noch nicht gemacht)

sudo port install libusb 

2. rtl-sdr-Library installieren

git clone git://git.osmocom.org/rtl-sdr.git
cd rtl-sdr/
mkdir build
cd build
cmake ../
make
sudo make install

3. Source-Bock kompilieren

git clone git://git.osmocom.org/gr-osmosdr
cd gr-osmosdr/
mkdir build
cd build/
cmake ../
make
sudo make install


GSM-Komponenten

libosmocore

libosmocore wird von vielen osmo*-Programmen verwendet (u.a. airProbe).

1. Die auf der Projekt-Homepage [6] beschrieben Installationsschritte ausführen

git clone git://git.osmocom.org/libosmocore.git
cd libosmocore/
autoreconf -i
./configure
make
sudo make install
cd ..

Hinweis: Einige ld-Versionen unterstützen den intern verwendeten --version-script-Parameter nicht. Sollte das der Fall sein und beim Linken die Fehlermeldung

ld: unknown option: --version-script=./libosmogsm.map

erscheinen, musst du lediglich mit deinem Lieblingseditor die Datei src/gsm/Makefile aufsuchen und alle Vorkommnisse des Parameters --version-script=$(srcdir)/libosmogsm.map entfernen.


2. Falls noch nicht erledigt, muss auch in diesem Fall wieder der Librarypfad gesetzt sein:

export LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH"

airProbe

AirProbe ist ein GSM-Sniffer-Projekt, dass aus mehreren Teilen besteht und die Schwachstellen des aktuellen Standard aufzeigen soll.

1. Download des Source-Codes:

git clone git://svn.berlin.ccc.de/airprobe

2. Installation der Python-Header-Files

apt-get install python-dev

3. Build des Unterprojektes "gsm-receiver"

cd airprobe
 -gsm-receiver
 cd gsm-receiver
 ./bootstrap 
 ./configure
 make
 make install

weitere Tools

HDSDR

HDSDR bietet viele Nutzungsmöglichkeiten. Eines dieser Einsatzgebiete ist z.B. ein Spektrum Analyser.

1. Die Software von www.hdsdr.de herunterladen (Direktlink)

2. Damit die Software den DVB-T Stick ansteuern kann, bedarf es vorher einer extra ExtIO-Library, die von dem hier angegebenen Mirror-Link heruntergeladen werden muss (Direktlink)

a. Durch den Installationsassistenten klicken, bis nach dem Extraktionspfad gefragt wird. Hier muss nun der Installationpfad von HDSDR angegeben werden.

b. Wenn während der Installation Fenster aufpoppen, können diese geschlossen werden, da wir alles gleich im Anschluss nocheinmal durchgehen. Falls eine Frage erscheint, dass libusb0 noch nicht installiert ist und ob er eine lokale Kopie erstellen soll auf "Ja" 3. Falls noch nicht geschehen Gerät einstecken und das neu Installierte Zadig.exe starten

4. Falls in der ComboBox kein Gerät zur Auswahl steht, unter Options > List all Devices aktivieren

5. Aus der Liste euer passendes Gerät auswählen und auf InstallDriver klicken

6. HDSDR starten

7. Beim Start sollte jetzt ein zusätzliches Fenster geöffnet werden (meist ist es im Hintergrund und wird von HDSDR verdeckt). In diesem Fenster bei "Device Hint" den Text "rtl" eintragen und auf "Create" klicken. Sieht alles ok aus (so wie in diesem Screenshot), kann der Dialog einfach geschlossen werden und im Hauptfenster auf "Start" bzw. F2 gedrückt werden:

gute Quellen:

Baudline

Baudline ist ein Spektrum Analyser, der eine visuelle Darstellung der elektromagnetischen Signale ermöglicht.

für 64-Bit-Systeme:

wget "http://www.baudline.com/baudline_1.08_linux_x86_64.tar.gz"
tar xzvf baudline_1.08_linux_x86_64.tar.gz
cd baudline_1.08_linux_x86_64

Anschließend kann baudline direkt mit

./baudline

ausgeführt werden.