Benutzer-Werkzeuge

Webseiten-Werkzeuge


lsdr

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Nächste Überarbeitung
Vorherige Überarbeitung
lsdr [2013/12/22 12:02]
dl5pd angelegt
lsdr [2016/07/30 12:07] (aktuell)
dl5pd [Testscript von DL5PD]
Zeile 1: Zeile 1:
-===== Der Lima-SDR unter Linux =====+====== Der Lima-SDR unter Linux ======
  
-==== Vorüberlegungen zur Hard- bzw. Software ==== 
  
-=== Vorüberlegungen Software: ===+ 
 +===== Vorüberlegungen zur Hard- bzw. Software ===== 
 + 
 +==== Vorüberlegungen Software: ​====
 Die auf dieser Seite vorgestellten Anleitungen habe ich unter der Distribution sidux (jetzt: siduction) und LinuxMint (Debian Edition), beide in 64bit, getestet. Eventuell müssen für andere Distributionen,​ insbesondere solche, die einen anderen Paketmanager benutzen, Anpassungen vorgenommen werden. Der größte Teil sollte aber 1:1 übernommen werden können. Die auf dieser Seite vorgestellten Anleitungen habe ich unter der Distribution sidux (jetzt: siduction) und LinuxMint (Debian Edition), beide in 64bit, getestet. Eventuell müssen für andere Distributionen,​ insbesondere solche, die einen anderen Paketmanager benutzen, Anpassungen vorgenommen werden. Der größte Teil sollte aber 1:1 übernommen werden können.
  
Zeile 10: Zeile 12:
 Für Fragen, Anregungen, Tipps, Ergänzungen,​ Erfahrungen,​ etc. bin ich jederzeit offen. Für Fragen, Anregungen, Tipps, Ergänzungen,​ Erfahrungen,​ etc. bin ich jederzeit offen.
  
-=== Vorüberlegungen Hardware: ===+==== Vorüberlegungen Hardware: ​====
 Eine zentrale Rolle für die Qualität und damit auch dem Spass an einem Software Defined Radio (SDR) ist die Auswahl der richtigen Soundkarte. Eine zentrale Rolle für die Qualität und damit auch dem Spass an einem Software Defined Radio (SDR) ist die Auswahl der richtigen Soundkarte.
  
Zeile 20: Zeile 22:
 Die meisten der hier angestellten Vorüberlegungen sind übrigens Betriebssystem-unabhängig und gelten sowohl für Linux als auch für Windows :-) Die meisten der hier angestellten Vorüberlegungen sind übrigens Betriebssystem-unabhängig und gelten sowohl für Linux als auch für Windows :-)
  
-=== Verwendete Programme === +===== Verwendete Programme ​===== 
-Doch kommen wir jetzt zu den unter Linux verwendeten Programmen:+Doch kommen wir jetzt zu den unter Linux verwendeten Programmen. Das sind (zur Zeit) 3 Programme:
  
-Das sind (zur Zeit) 3 Programme: 
   * Zur Ansteuerung des Oszillators SI570 verwende ich das Programm ''​usbsoftrock''​.   * Zur Ansteuerung des Oszillators SI570 verwende ich das Programm ''​usbsoftrock''​.
   * Darauf aufbauend habe ich ein Script entwickelt, mit welchem man die Funktionalität des L-SDR überprüfen kann.   * Darauf aufbauend habe ich ein Script entwickelt, mit welchem man die Funktionalität des L-SDR überprüfen kann.
Zeile 37: Zeile 38:
 [ 4348.603597] usb 1-3.1: SerialNumber:​ Beta1.1</​code>​ [ 4348.603597] usb 1-3.1: SerialNumber:​ Beta1.1</​code>​
  
-zurück zum Inhaltsverzeichnis +===== Das Oszillator-Steuerprogramm usbsoftrock ​=====
-Das Oszillator-Steuerprogramm usbsoftrock +
 Zur erfolgreichen Installation müssen (als root oder mit sudo) erst einige Pakete geladen werden (sofern noch nicht vorhanden): Zur erfolgreichen Installation müssen (als root oder mit sudo) erst einige Pakete geladen werden (sofern noch nicht vorhanden):
-apt-get install gcc git automake libusb-dev libusb-1.0-0 libusb-1.0-0-dev libncurses5 libncurses5-dev+''​apt-get install gcc git automake libusb-dev libusb-1.0-0 libusb-1.0-0-dev libncurses5 libncurses5-dev''​
  
 Danach sollte man sich (am besten in seinem Homeverzeichnis) ein neues Verzeichnis anlegen: Danach sollte man sich (am besten in seinem Homeverzeichnis) ein neues Verzeichnis anlegen:
-mkdir sdr+''​mkdir sdr''​
  
 Jetzt kann man sich die Quellen von usbsoftrock mittels git auf den Rechner kopieren: Jetzt kann man sich die Quellen von usbsoftrock mittels git auf den Rechner kopieren:
-cd ~/sdr +<​code>​cd ~/sdr 
-git clone https://​github.com/​8cH9azbsFifZ/​usbsoftrock.git+git clone https://​github.com/​8cH9azbsFifZ/​usbsoftrock.git</​code>​
  
 Jetzt wechselt man in das Verzeichnis und muß dort noch Ausführungsrechte auf ein Installationsscript geben: Jetzt wechselt man in das Verzeichnis und muß dort noch Ausführungsrechte auf ein Installationsscript geben:
-cd ~/​sdr/​usbsoftrock/​usbsoftrock-1.0.2 +<​code>​cd ~/​sdr/​usbsoftrock/​usbsoftrock-1.0.2 
-chmod u+x autogen.sh+chmod u+x autogen.sh</​code>​
  
 Das eigentliche Erstellen des Programms erfolgt dann wie folgt: Das eigentliche Erstellen des Programms erfolgt dann wie folgt:
-./autogen +<​code>​./autogen 
-make+make</​code>​
  
 und als root bzw. mit sudo: und als root bzw. mit sudo:
-make install+''​make install''​
  
 Bevor jetzt das Programm getestet werden kann, muß man noch für die erforderlichen Rechte am USB-Gerät sorgen, da ja jeder Benutzer das Gerät auch steuern können sollte. Hierfür wird als erstes der eigene Benutzer mit Hilfe von root oder sudo der Gruppe plugdev hinzugefügt (der Benutzer muss natürlich angepasst werden): Bevor jetzt das Programm getestet werden kann, muß man noch für die erforderlichen Rechte am USB-Gerät sorgen, da ja jeder Benutzer das Gerät auch steuern können sollte. Hierfür wird als erstes der eigene Benutzer mit Hilfe von root oder sudo der Gruppe plugdev hinzugefügt (der Benutzer muss natürlich angepasst werden):
-adduser rainer plugdev+''​adduser rainer plugdev''​
  
 Dann muß man die udev-Regeln als root oder mit sudo erweitern, dass unser Gerät auch nach dem Anstecken in die Gruppe plugdev wandert. Dazu wird in dem Verzeichnis /​etc/​udev/​rules.d die Datei 99-si570.rules mit folgendem Inhalt erstellt: Dann muß man die udev-Regeln als root oder mit sudo erweitern, dass unser Gerät auch nach dem Anstecken in die Gruppe plugdev wandert. Dazu wird in dem Verzeichnis /​etc/​udev/​rules.d die Datei 99-si570.rules mit folgendem Inhalt erstellt:
-SUBSYSTEM=="​usb",​ ATTR{idVendor}=="​16c0",​ ATTR{idProduct}=="​05dc",​ MODE="​0660",​ GROUP="​plugdev"​+''​SUBSYSTEM=="​usb",​ ATTR{idVendor}=="​16c0",​ ATTR{idProduct}=="​05dc",​ MODE="​0660",​ GROUP="​plugdev"​''​
  
 und danach der udev-Daemon neu gestartet (als root bzw. mit sudo): und danach der udev-Daemon neu gestartet (als root bzw. mit sudo):
-/​etc/​init.d/​udev restart+''​/​etc/​init.d/​udev restart''​
  
 Letztendlich muß man sich jetzt noch einmal ab- und wieder anmelden, damit die neue Gruppenzugehörigkeit vom System auch erkannt wird. Ist man soweit gekommen, kann man das Programm endlich einem ersten Test unterziehen:​ Letztendlich muß man sich jetzt noch einmal ab- und wieder anmelden, damit die neue Gruppenzugehörigkeit vom System auch erkannt wird. Ist man soweit gekommen, kann man das Programm endlich einem ersten Test unterziehen:​
 usbsoftrock status liefert dann folgende Rückmeldung:​ usbsoftrock status liefert dann folgende Rückmeldung:​
-Version : 14.0 +<​code>​Version : 14.0 
-USB SerialID: Beta1.1+USB SerialID: Beta1.1</​code>​
  
-Der Aufruf usbsoftrock --help gibt weitere Parameter und Einstellmöglichkeiten des Programms aus.+Der Aufruf ​''​usbsoftrock --help'' ​gibt weitere Parameter und Einstellmöglichkeiten des Programms aus.
  
-zurück zum Inhaltsverzeichnis +===== Testscript von DL5PD ===== 
-Testscript von DL5PD +<del>Aufbauend auf das Steuerprogramm habe ich ein Script geschrieben,​ welches die verschiedenen Prüfschritte gemäß der Aufbauanleitung des L-SDR durchläuft.
- +
-Aufbauend auf das Steuerprogramm habe ich ein Script geschrieben,​ welches die verschiedenen Prüfschritte gemäß der Aufbauanleitung des L-SDR durchläuft.+
 Das Script kann unter folgendem Link heruntergeladen werden, die aktuelle Version heißt: 2012-06-03. Das Script kann unter folgendem Link heruntergeladen werden, die aktuelle Version heißt: 2012-06-03.
 http://​www.mydarc.de/​dl5pd/​progs/​lsdr-test.sh http://​www.mydarc.de/​dl5pd/​progs/​lsdr-test.sh
  
 Hier muß für eine erfolgreiche Ausführung die Datei ausführbar gemacht werden: Hier muß für eine erfolgreiche Ausführung die Datei ausführbar gemacht werden:
-chmod ug+x lsdr-test.sh+''​chmod ug+x lsdr-test.sh''​
  
 Angenommen, die Datei liegt im Heimatverzeichnis,​ so kann sie nun mit folgendem Befehl aufgerufen werden: Angenommen, die Datei liegt im Heimatverzeichnis,​ so kann sie nun mit folgendem Befehl aufgerufen werden:
-~/​lsdr-test.sh+''​~/​lsdr-test.sh''</​del>​
  
-zurück zum Inhaltsverzeichnis +Durch Umbaumaßnahmen auf den Seiten ist das Testscript zur Zeit nicht auffindbar. Sobald es wieder auftaucht, wird es an dieser Stelle wieder eine Beschreibung und den Link dazu geben.
-Linrad - Die Empfangssoftware mit dem L-SDR+
  
 +===== Linrad - Die Empfangssoftware mit dem L-SDR =====
 Hier kommt zuerst einmal die Beschreibung,​ wie man linrad unter Linux kompiliert und es lauffähig bekommt unter seinem Benutzerkonto. Hier kommt zuerst einmal die Beschreibung,​ wie man linrad unter Linux kompiliert und es lauffähig bekommt unter seinem Benutzerkonto.
  
 Als erstes (zumindest war das bei mir so) müssen mal wieder als root zusätzliche Pakete nachgeladen werden mit dem Befehl: Als erstes (zumindest war das bei mir so) müssen mal wieder als root zusätzliche Pakete nachgeladen werden mit dem Befehl:
-apt-get install nasm libasound2-dev portaudio19-dev libx11-dev+''​apt-get install nasm libasound2-dev portaudio19-dev libx11-dev''​
  
 Danach lädt man sich das aktuelle gepackte Archiv von linrad von Leif's Homepage, am besten in sein Homeverzeichnis. Danach lädt man sich das aktuelle gepackte Archiv von linrad von Leif's Homepage, am besten in sein Homeverzeichnis.
  
-Jetzt geht es an das Entpacken, dies geschieht mit dem Befehl tar xvfj lirxx-yy.tbz,​ wobei xx-yy für die jeweilige Linrad-Version steht (z. B. 03-40).+Jetzt geht es an das Entpacken, dies geschieht mit dem Befehl ​''​tar xvfj lirxx-yy.tbz''​, wobei xx-yy für die jeweilige Linrad-Version steht (z. B. 03-40).
  
-Nun taucht man mit cd linrad-xx.yy in das neu erstellte Verzeichnis ein.+Nun taucht man mit ''​cd linrad-xx.yy'' ​in das neu erstellte Verzeichnis ein.
  
-Also root führt man anschließend den Befehl ./configure aus, an dessen Ende zusammenfassende Informationen stehen sollten, ob alles erfolgreich konfiguriert wurde (für die anschließende Kompilation).+Also root führt man anschließend den Befehl ​''​./configure'' ​aus, an dessen Ende zusammenfassende Informationen stehen sollten, ob alles erfolgreich konfiguriert wurde (für die anschließende Kompilation).
  
-Jetzt kann man als normaler Benutzer den Befehl make aufrufen, wobei hier verschiedene Ziele angegeben werden können:+Jetzt kann man als normaler Benutzer den Befehl ​''​make'' ​aufrufen, wobei hier verschiedene Ziele angegeben werden können:
  
-    ​make xlinrad erstellt das Programm als 32bit Version für die X-Oberfläche +  * make xlinrad erstellt das Programm als 32bit Version für die X-Oberfläche 
-    make xlinrad64 erstellt das Programm als 64bit Version für die X-Oberfläche +  ​* ​make xlinrad64 erstellt das Programm als 64bit Version für die X-Oberfläche 
-    make linrad erstellt das Programm ohne X-Oberfläche mit den svgalib-Bibliotheken +  ​* ​make linrad erstellt das Programm ohne X-Oberfläche mit den svgalib-Bibliotheken 
-    make linrad64 erstellt das Programm ohne X-Oberfläche mit den svgalib-Bibliotheken +  ​* ​make linrad64 erstellt das Programm ohne X-Oberfläche mit den svgalib-Bibliotheken
- +
-verschiedene Linrads miteinander vernetzen+
  
 +==== verschiedene Linrads miteinander vernetzen ====
 Eine tolle Eigenschaft der Software Linrad ist es, dass man Linrads auf verschiedenen Computern, sofern sie über ein Netzwerk miteinander verbunden sind, miteinander koppeln kann. So kann man in dem Empfangsspektrum,​ welches der Mastercomputer (der an den SDR angeschlossen ist), sich mit beliebig vielen anderen Linrad-Installationenn auf anderen Computern verbinden und jeder kann unabhängig vom anderen arbeiten. Während der erste z. B. einem SSB-QSO lauscht, kann der zweite einer Morsetelegrafie-Aussendung lauschen, während der dritte ein Fernschreib-QSO dekodiert. Eine tolle Eigenschaft der Software Linrad ist es, dass man Linrads auf verschiedenen Computern, sofern sie über ein Netzwerk miteinander verbunden sind, miteinander koppeln kann. So kann man in dem Empfangsspektrum,​ welches der Mastercomputer (der an den SDR angeschlossen ist), sich mit beliebig vielen anderen Linrad-Installationenn auf anderen Computern verbinden und jeder kann unabhängig vom anderen arbeiten. Während der erste z. B. einem SSB-QSO lauscht, kann der zweite einer Morsetelegrafie-Aussendung lauschen, während der dritte ein Fernschreib-QSO dekodiert.
  
Zeile 121: Zeile 117:
 Doch jetzt zur Einrichtung der Netzwerkfähigkeit:​ Doch jetzt zur Einrichtung der Netzwerkfähigkeit:​
 Linrad nimmt standardmäßig die Multicast-Adresse 239.255.0.0,​ d. h. man muß als erstes eine Route auf seine Netzwerkkarte legen, damit diese überhaupt auf der Adresse sendet bzw. empfängt. Entweder nimmt man sich ein grafisches Tool wie den Network-Manager,​ wicd oder Ähnliches, man kann die Route aber auch in der Konsole eintragen, und zwar mit dem ip Befehl (als root): Linrad nimmt standardmäßig die Multicast-Adresse 239.255.0.0,​ d. h. man muß als erstes eine Route auf seine Netzwerkkarte legen, damit diese überhaupt auf der Adresse sendet bzw. empfängt. Entweder nimmt man sich ein grafisches Tool wie den Network-Manager,​ wicd oder Ähnliches, man kann die Route aber auch in der Konsole eintragen, und zwar mit dem ip Befehl (als root):
-ip r a 239.255.0.0 dev eth0 +<​code>​ip r a 239.255.0.0 dev eth0</​code>​ 
-Dies erzeugt die erforderliche Route auf dem Netzwerkdevice eth0 (evtl. ist dieses je nach Rechnerauslegung anzupassen). ACHTUNG: Die so erzeugte Route ist nicht permanent und wird beim nächsten Start nicht mehr vorhanden sein! Für eine dauernde Aktivierung könnte sie z. B. in die Datei /​etc/​rc.local eingetragen werden.+Dies erzeugt die erforderliche Route auf dem Netzwerkdevice eth0 (evtl. ist dieses je nach Rechnerauslegung anzupassen). ACHTUNG: Die so erzeugte Route ist nicht permanent und wird beim nächsten Start nicht mehr vorhanden sein! Für eine dauernde Aktivierung könnte sie z. B. in die Datei ''​/​etc/​rc.local'' ​eingetragen werden.
  
 Die Route muß auf sämtlichen Clients eingerichtet werden. Die Route muß auf sämtlichen Clients eingerichtet werden.
Zeile 140: Zeile 136:
 Der Master kann in seinem Spektrum durch eine rote Linie sehen, wenn ein Client die Frequenz wechselt. Nach einigen Sekunden verschwindet diese Linie aber wieder. Der Master kann in seinem Spektrum durch eine rote Linie sehen, wenn ein Client die Frequenz wechselt. Nach einigen Sekunden verschwindet diese Linie aber wieder.
  
-zurück zum Inhaltsverzeichnis +===== Digitaler Radioempfang mit der Software DREAM =====
-Digitaler Radioempfang mit der Software DREAM +
 Eine schöne Spielart des Empfangs ist das sogenannte DRM (Digital Radio Mondiale). Der L-SDR kann auch unter Linux für den Empfang von digitalen Radiostationen genutzt werden. Im Folgenden möchte ich die Einrichtung der Software DREAM vorstellen, damit anderen Interessenten mein Anfangs-Frust erspart wird: Eine schöne Spielart des Empfangs ist das sogenannte DRM (Digital Radio Mondiale). Der L-SDR kann auch unter Linux für den Empfang von digitalen Radiostationen genutzt werden. Im Folgenden möchte ich die Einrichtung der Software DREAM vorstellen, damit anderen Interessenten mein Anfangs-Frust erspart wird:
  
 Als Erstes sollte man darauf achten, dass der SDR auf den Teiler 4 gejumpert ist (JP1 auf Position 1). Leider habe ich bisher noch keine Möglichkeit gefunden, der DREAM-Software andere Teilungsfaktoren mitzugeben, eventuell müssen hier mal die Entwickler kontaktiert werden. Als Erstes sollte man darauf achten, dass der SDR auf den Teiler 4 gejumpert ist (JP1 auf Position 1). Leider habe ich bisher noch keine Möglichkeit gefunden, der DREAM-Software andere Teilungsfaktoren mitzugeben, eventuell müssen hier mal die Entwickler kontaktiert werden.
  
-Glücklicherweise gibt es (zumindest für debian-basierte Distributionen) vorkompilierte Pakete dieser Software, sowohl für die i386 als auch für die amd64 Architektur. Diese findet man auf der Projekthomepage unter http://​drm.sourceforge.net. Die von mir getestete und im Einsatz befindliche Version hat die Nummer 1.14.+Glücklicherweise gibt es (zumindest für debian-basierte Distributionen) vorkompilierte Pakete dieser Software, sowohl für die i386 als auch für die amd64 Architektur. Diese findet man auf der Projekthomepage unter [[http://​drm.sourceforge.net]]. Die von mir getestete und im Einsatz befindliche Version hat die Nummer 1.14.
  
 Folgende Pakete müssen vor der Installation noch ggf. nachinstalliert werden (als root oder mittels sudo): Folgende Pakete müssen vor der Installation noch ggf. nachinstalliert werden (als root oder mittels sudo):
Zeile 160: Zeile 154:
  
 Je nach Distribution kann es sein, dass noch die Audio-Dekodierung mit installiert werden muss, hier verweise ich jedoch auf die Homepage von DREAM, in der eine sehr gute Anleitung auch für die manuelle Kompilierung der Bibliotheken zur Verfügung steht. Je nach Distribution kann es sein, dass noch die Audio-Dekodierung mit installiert werden muss, hier verweise ich jedoch auf die Homepage von DREAM, in der eine sehr gute Anleitung auch für die manuelle Kompilierung der Bibliotheken zur Verfügung steht.
-Unter diesem Link befindet sich die Dokumentation.+Unter [[http://​sourceforge.net/​apps/​mediawiki/​drm/​index.php?​title=Instructions_for_building_the_AAC_decoder | diesem Link]] befindet sich die Dokumentation.
  
 Ist man schließlich bis hierhin vorgedrungen,​ gilt es noch, die Software auf den L-SDR anzupassen, damit auch die Frequenzen via Software eingestellt werden können. Hierzu ist das Programm folgendermaßen zu starten: Ist man schließlich bis hierhin vorgedrungen,​ gilt es noch, die Software auf den L-SDR anzupassen, damit auch die Frequenzen via Software eingestellt werden können. Hierzu ist das Programm folgendermaßen zu starten:
Zeile 170: Zeile 164:
 Ist das Programm über die Kommandozeile gestartet worden, sollte man folgende Meldungen beobachten können: Ist das Programm über die Kommandozeile gestartet worden, sollte man folgende Meldungen beobachten können:
  
-   find_and_open_device:​ looking for device 16c0:​05dc... 1d6b:0001, 04f3:00a3,  +<​code>​find_and_open_device:​ looking for device 16c0:​05dc... 1d6b:0001, 04f3:00a3,  
-   ​1d6b:0001, 045e:00db, 1d6b:0001, 055f:021d, 1d6b:0001, 16c0:05dc,  +1d6b:0001, 045e:00db, 1d6b:0001, 055f:021d, 1d6b:0001, 16c0:05dc,  
-   ​vendor >​www.obdev.at<​ product >​DG8SAQ-I2C<​ -> found +vendor >​www.obdev.at<​ product >​DG8SAQ-I2C<​ -> found 
-   ​si570xxxusb_open called +si570xxxusb_open called 
-   ​si570xxxusb_open:​ using Xtall at 114.285 MHz+si570xxxusb_open:​ using Xtall at 114.285 MHz</​code>​
  
 Bleibt schließlich noch die Stationsliste für DRM zu aktualisieren und die gewünschte Station auszuwählen. Bleibt schließlich noch die Stationsliste für DRM zu aktualisieren und die gewünschte Station auszuwählen.
Zeile 181: Zeile 175:
  
 Bitte beachten: In der DREAM-Software kann man unter dem Menü View - Evaluation Dialog das Eingangssignal beobachten und die verschiedenen Stufen, die DREAM benötigt, um einen Empfang herstellen zu können. Hier ist es wichtig, dass alle 6 Punkte grün leuchten, ansonsten gibt es sehr wahrscheinlich gar keinen, und wenn doch, nur abgehackten Empfang. Bitte beachten: In der DREAM-Software kann man unter dem Menü View - Evaluation Dialog das Eingangssignal beobachten und die verschiedenen Stufen, die DREAM benötigt, um einen Empfang herstellen zu können. Hier ist es wichtig, dass alle 6 Punkte grün leuchten, ansonsten gibt es sehr wahrscheinlich gar keinen, und wenn doch, nur abgehackten Empfang.
- 
-Da ja Bilder mehr sagen als 1000 Worte, nachfolgend ein Screenshot mit mehreren DREAM-Menüs und einem Konsolen-Ausschnitt:​ 
- 
-Empfang DRM-BBC 
  
 Ich wünsche viel Spaß beim Ausprobieren und einen ungetrübten digitalen Radioempfang. Ich wünsche viel Spaß beim Ausprobieren und einen ungetrübten digitalen Radioempfang.
- 
-zurück zum Inhaltsverzeichnis 
  
lsdr.1387710130.txt.gz · Zuletzt geändert: 2013/12/22 12:02 von dl5pd