FIFI SDR|Markus Bühler, DK9MBS

Bedingt durch unser 630m Band Projekt habe ich nach einer Empfangs- und CW Decodier Möglichkeit für diesen Frequenzbereich gesucht. Dabei fiel mir mein FIFI SDR, den wir im Rahmen einer OV Bastel Aktion zusammengebaut hatten, wieder in die Hände. Leider war es nicht so leicht, diesem unter Linux das Empfangen und Decodieren der Signale beizubringen. Nach ca. 4 Tagen intensiven Suchen- und Ausprobierens habe ich die folgenden Linux Programme gefunden, die im Zusammenspiel meinen Anforderungen gerecht werden:

  • quisk
  • snd-aloop
  • FIFI SDR Treiber für quisk
  • fldigi

An dieser Stelle muss ich aber ganz klar feststellen, das der Empfang unter Windows mit SDR-Radio um einiges einfacher ist! Jedoch ist mein Anpruch: im Amateurfunk nur mit dem Betriebssystem Linux zu arbeiten.

Systemeinstellungen

Damit nicht nur der User root zugriff auf den FIFI SDR hat, sollte eine udev Regel (/etc/udev/rules.d) eingerichtet werden.

ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", GROUP="plugdev"

quisk

Download

Installation quisk

Die Installation von quisk kann auf 2 Arten erfolgen:

  • Via debian Paketmanager (z.B. apt-get)
  • Aus den Sourcen
Da ich die aktuellste Version haben wollte, kam für mich nur die Installation aus den Sourcen in Frage.

Das Archiv in einem Verzeichnis entpacken, ins quisk Verzeichnis Verzeichnis wechseln und "make" aufrufen.
Sollte make Fehler ausgeben, fehlen meistens Pakete, die via apt-get install installiert werden müssen.
Nach erfolgreichem make kann quisk mit dem Befehl "python quisk" im Verzeichnis gestartet werden; allerdings kennt zu diesem Zeitpunk die Software den FIFI SDR noch nicht.

snd-aloop

Mit dem laden des Kernel Moduls "snd-aloop" wird ein weiteres Loopback Sound Device erzeugt, bei dem virtuell der Ausgang direkt auf den Eingang umgeleitet wird ... gleiches würde man mit mit einem einfachen Klinke - Klinke Kabel zwischen Ausgang und Eingang der reellen Soundkarte erreichen.
Wenn sich das Modul nicht laden lässt, muss wahrscheinlich der Kernel neu übersetzt werden.

modprobe snd-aloop pcm_substreams=2 index=5

ID Device Bezeichnung
hw:0,0 Interne Soundkarte meines Notebooks
hw:1,0 FIFI SDR Soundkarte (IQ Ausgang)
hw:5,0 snd-aloop virtuelle Loopback Soundkarte
Die IDs der Soundkarten können je nach System abweichen. Dies kann in der modprobe Konfigurations Datei eingestellt werden.

FIFI SDR Treiber für quisk

Download

Installation FIFI SDR Treiber

Die Treiber Installation ist sehr einfach.
Die runtergeladene Datei "quisk_hardware_fifisdr.py" muss einfach ins quisk Programmverzeichnis, und die Datei quisk_conf_model.py aus dem quisk Programmverzeichnis als .quisk_conf.py ins Home Verzeichnis des Users kopiert werden.

Einrichtung FIFI SDR Treiber

import quiskFIFI SDR Treiber für quisk_hardware_fifisdr as quisk_hardware
...
...
...
  name_of_sound_capt = "hw:1,0"			# Name of soundcard capture hardware device.
#name_of_sound_play = name_of_sound_capt		# Use the same device for play back
name_of_sound_play = "hw:5,1"			# Panadapter: Do not play
...
...
...
digital_xmlrpc_url = "http://localhost:7362"	# URL for control by XML-RPC
...
...
...
#hamlib_port = 4575		# Standard port for Quisk control.  Set the port in Hamlib to 4575 too.
hamlib_port = 4532		# Default port for rig 2.  Use this if you can not set the Hamlib port.
#hamlib_port = 0		# Turn off Hamlib control.

fldigi

Dank der libhamlib NET rigctl Unterstützung kann auch mit fldigi quisk ferngesteuert werden.
Dazu ist des entsprechende Rig (Hamlib NET rigctl) und der treiber (localhost) einzutragen.
Für einen abgesetzten Betrieb kann statt localhost auch jede beliebige IP Adresse hinterlegt werden.
Allerdings funktioniert bei mir hier nur die Bandwahl, jedoch nicht die Mode, als auch die Passband Einstellung.
Dieses Problem scheint aber an fldigi zu liegen, da ich z.B. mit dem Befehl "rigctl -m2 M USB 2800" (hamlib-utils) auch diese Einstellungen vornehmen kann.

Mit diesen Einstellungen konnte ich an einem Tag einige Stationen spotten.
Da ich nur ca. 5m Draht in der Wohnung gespannt hatte, war ich mit dem Ergebnis mehr als zufrieden.

Quellenangaben

client:
ssh -R 26003:localhost:26003 -L 4532:localhost:4532 name@server

server:
netosstx localhost /dev/dsp5
nc -u -l -p 26002 < /tmp/fifo | nc localhost 26003 > /tmp/fifo

client:
netossrx /dev/dsp5
nc -l -p 26003 | cat | nc -u localhost 26002

... Fortsetzung folgt!