Installation Gnuradio mit Build-Skript

Transcription

Installation Gnuradio mit Build-Skript
This line only printed with preprint option
Installation von gnuradio auf Ubuntu mit “build-script”
Matthias Renken∗
Bremen
Michael Hartje†
Hochschule Bremen, Bremen
Zusammenfassung
Die Installation von Gnuradio neueste Version 3.6.3 (Januar 2013) mit einem Build-Skript wird
hier für Ubuntu beschrieben. Das Skript prüft alle Voraussetzungen zur Übersetzung und zum Betrieb von Gnuradio auf dem Rechner und holt per netzwerk ggf. die noch benötigten Softwarepakete.
Es kann die Berechtigungen für den Betrieb setzen und später das paket installieren.
∗
Electronic address: [email protected], ; URL: nix; Dank an Matthias für die Bereitstellung der aktuell
gesammelten Erfahrungen
†
Electronic address: [email protected]
1
I.
EINFÜHRUNG
Gnuradio in der neuesten Version 3.6.3 sowie die Ergänzungen zur Nutzung von Funcube
Dongle und DVB-T-Stick (RTL 2832 U Chipsatz) sowie der USRP-TX-RX-Hardware sollen
mit dem Build-Skript geladen, compiliert und installiert sowie für den betrieb eingerichtet
werden.
II.
METHODE
Die Installation erfolgt mit Netzanschluss. die folgende beschreibung stammt von Matthias und wird hier weitestgehen unverändert wiedergegeben.
III.
BESCHREIBUNG SCHRITTWEISE BEARBEITUNG ALS ZITAT
Ich habe Gnuradio unter einem Ubuntu 12.10 installiert. Da ich die unity-Oberfläche
gegen gnome getauscht habe, kann es sein, dass die Programme wie xterm oder editor unter anderen Menüpunkten zu finden sind. Daher lasse ich die Beschreibung, welches Menü
aufzurufen ist. Bei Problemen einfach kurz anfragen. (Ein wenig Linux-Kenntnisse schaden
nicht)
1. Auf dem Rechner muss Ubuntu installiert sein und ein Internetzugang vorhanden sein.
2. Unter ubuntu als normaler Benutzer ein Terminal (xterm) öffnen
3. In das eigene home-Verzeichnis wechseln:
cd ~
ein Verzeichnis anlegen
mkdir s r c
in das Verzeichnis wechseln
cd s r c
4. Nun folgende Zeile ausführen (per copy&paste in das Terminalfenster kopieren):
2
wget http://www.sbrac.org/files/build-gnuradio && chmod a+x ./build-gnuradio &&
./build-gnuradio
Dieses Skript “build-gnuradio” lädt die aktuelle Version von gnuradio herunter
und installiert alle benötigten Bibliotheken. Man kann hinten beim Aufruf von
build-gnuradio noch Parameter ergänzen, die dann ein Log schreiben oder auch nur
Teile bearbeiten.
5. Die erste Frage "Want to continue?" mit "y" beantworten
6. Die zweite Frage "Do you have sudo rights?" ebenfalls mit "y" beantworten
7. Bei mir gab es während des Ablaufs eine einzige Fehlermeldung, die ich ignoriert habe
(Im Seminar werde ich sehen, ob das ein Fehler war :-))
8. Das Skript läuft sehr lange (u.U. mehrere Stunden) und verlangt zwischendurch immer
mal wieder nach dem sudo-Passwort. Das ist das normale Passwort, mit dem man sich
auch bei Ubuntu anmeldet. Man hat aber über lange Zeit das Gefühl, dass gar nicht
passiert - Geduld. Experten sehen mit dem Kommando “top” in einem anderen Fenster
nach, was passiert. Wenn wir ein Log schreiben, dann können wir mit
l e s s compile . log
den Vorgang verfolgen.
9. Am Ende gibt das Skript noch eine Export-Anweisung aus, der einen Verweis auf
phyton enthält ("export..."). Diese Zeile muss in die Konfigurationsdatei für die eigene
Umgebung (.bashrc) kopiert werden. Dazu in das home-Verzeichnis wechseln
cd ~
und den Editor mit der Datei .bashrc aufrufen:
gedit . bashrc
Am Ende der Datei den vom Installationsskript erzeugten “export”-Befehl eintragen.
Am besten aus dem Terminal herauskopieren und in den Editor einfügen.
3
10. Nun noch einmal den Benutzer ab- und wieder anmelden, damit die Änderungen wirksam werden.
11. Das wars. Jetzt sollte gnuradio komplett installiert sein. Der Treiber für meinen RTLDVB-T-Stick war auch gleich mit dabei.
12. Die Gnuradio Oberfläche kann aus einem Terminal (xterm) heraus gestartet werden
mit
gnuradio−companion &
Ich hoffe, ich habe aus dem Gedächtnis heraus nichts vergessen.
Viele Grüße
Matthias
Soweit das Zitat aus der mail von Mathias, DL9BDI. Er hat noch eine Ergänzung die
vielleicht für den einen oder anderen noch eine Ergänzung darstellt:
Wenn man Gnuradio nach der beschriebenen Anleitung installiert und damit mit einer schon definierten GRC-Schemaplan-Anwendung auf einen rtl2832-Empfänger zugreifen
möchte, kann es zu der Fehlmeldung kommen, dass der Stick von Gnuradio nicht erkannt
wird. Das äußert sich beim Ausführen des grc-skriptes in der Fehlermeldung:
" F a i l e d t o c r e a t e RTL2832 Source : r t l 2 8 3 2 _ s o u r c e _ 0 "
Das Problem besteht darin, dass das Betriebssystem den Stick zwar erkannt hat, das
RTL-Modul von Gnuradio diesen allerdings nicht automatisch vereinbart hat. Die Lösung
ist recht einfach: Der RTL-Komponente von Gnuradio werden die richtigen Werte für VID
(USB-Vendor-ID) und PID (USB-Product-ID) manuell mitgeteilt. Dazu müssen wir erst mal
die richtigen Werte ermitteln. Mit angeschlossenem Stick in einem Terminalfenster
lsusb
eingeben. Damit werden alle erkannten USB-Geräte und deren Adresse ausgegeben. Der
DVB-T Stick könnte in der Liste z.B. so auftauchen:
Bus 001 Device 0 0 6 : ID 0 ccd : 0 0 d3 TerraTec E l e c t r o n i c GmbH
Der erste Wert hinter der ID ist VID, also hier 0ccd, der zweite Wert ist PID, hier 00d3.
Nun geht man in der Oberfläche des Gnuradio-Companion auf die Komponente "RTL2832
4
Source" und klickt diese doppelt an. In dem Eigenschaften-Dialog die Werte “Custom USB
VID” und “Custom USB PID” mit den oben ausgelesenen Werten eintragen. Dabei die Form
0x0ccd und 0x00d3 verwenden.
Nun kann man das Skript neu übersetzen und ausführen lassen. Der Stick sollte nun von
Gnuradio erkannt werden.
IV.
SCHLUßBEMERKUNG
Von Matthias ist somit alles wichtige geschrieben – vielleicht will das jemand ausprobieren
und hat damit seinen Rechner schon vorbereitet. Für die anderen überlegen wir und noch
etwas.
Das build-gnuradio-Skript läuft auch auf den folgenden Installationen von Linux:
• Fedora
• Opensuse 12.1
• Debian
• LinuxMint
Wer es also auf diesen Linuxdistributionen ausprobieren möchte, dürfte ebenfalls leicht zum
Ziel kommen. Für Opensuse 11.4 habe ich ein geändertes Skript ausprobiert – klappt! (wer
dies Skript braucht, kann sich gerne an mich wenden)
5