Diese Beschreibung zur Einrichtung der Transceiversteuerung ist für die Versionen CQRLOG 1.8.2, Fldigi 3.22.01 und rigctld 1.2.15.3 unter Linux gültig. Das bedeutet aber nicht, dass es mit anderen Versionen nicht funktioniert.
Wenn mehrere Programme gleichzeitig auf einen Transceiver für die CAT Steuerung zugreifen müssen, bietet es sich an, das Tool 'rigctld' im Netzwerk-Modus zu verwenden. 'rigctld' ist Bestandteil der HamLib und sorgt dafür, dass mehrere Programme gleichzeitig mit einem Transceiver kommunizieren können. Dies ist normalerweise nicht möglich, da immer nur ein Programm die serielle Schnittstelle verwenden kann.
Damit rigctld im Hintergrund immer aktiv ist, möglichst schon nach dem Starten des Rechners, erstellst Du einfach ein kleines Script, das über den automatischen Start von Programmen aufgerufen wird.
#!/bin/sh # # Start rigctld at login # rigctld -m 204 -s 38400 -r /dev/ttyUSB3 -T 127.0.0.1 -t 4532 &
Dieses Script musst Du nun unter einem Namen speichern, z.B. start-rigctld und als ausführbar markieren.
chmod u+x start-rigctld
Damit ein Benutzer unter Linux auf die serielle Schnittstelle zugreifen darf, muss er die Rechte dafür haben. Du kannst den Benutzer mit der Systemverwaltung zur Gruppe 'dialout' hinzufügen oder dies einfach an der Console machen:
sudo usermod -a -G dialout tom
'tom' tauschst Du natürlich gegen Deinen Usernamen aus. Damit das ohne Ab- und Anmelden wirksam ist, gibst Du noch 'newgrp -' ein. Damit werden die geänderten Rechte neu eingelesen. Wenn Du mit 'id' schaust, sollte die Gruppe 'dialout' in der Liste erscheinen. Damit ist soweit alles vorbereitet.
Zum ersten Test startest Du rigctld am besten an der Console mit einer Ausgabe von Debug-Informationen (das machen die vielen 'v' am Ende).
rigctld -m 204 -s 38400 -r /dev/ttyUSB3 -vvvvvv
Einige Worte zu den Parametern:
Der Parameter '-m' legt den Typ des Transceivers fest. Mit 'rigctld -l' bekommst Du eine Übersicht und kannst Dir die Nummer Deines TRX heraussuchen. Ein Kenwood TS-570DG hat die Nummer 204, ein IC-738 die Nummer 322 (und den Status 'untested').
Der Parameter '-s' legt die Baudrate fest, bei mir sind es 38.4kBit/s. Der Parameter '-r' bestimmt die Schnittstelle. Wenn Du in Deinem Rechner eingebaute RS232 Ports hast, wird das '/dev/ttyS0' oder '/dev/ttyS1' sein. Wenn Du einen USB-Seriell Wandler verwendest, dann wird es ähnlich wie bei mir '/dev/ttyUSB3' aussehen. Die Zahl am Ende ist die Nummer der Schnittstelle. Ich verwende einen 4-fach USB-Seriell Wandler von DeLock und der Transceiver ist auf dem 4. Port angeschlossen.
Mit 'man rigctld' bekommst Du auch eine Hilfe angezeigt, mit 'rigctld --help' eine Übersicht aller Parameter.
Wenn Du den rigctld nun im Debug-Modus gestartet hast, dann kannst Du Fldigi starten. Dort stellst Du unter Konfiguration/Radio Steuerung die Werte entsprechend diesem Screenshot ein.
Bitte achte darauf, dass Fldigi 3.21.80 einen Bug hat und die Werte unter Gerät (Device) nicht speichert. Funktionieren tut es trotzdem, nur musst Du das bei jedem Programmstart erneut einstellen. Dieser Bug ist aber bereits in der 3.21.83 behoben und aktuell ist sowieos die Version 3.22.01.
Evtl. musst Du die Intervalle, also alle Angaben in ms, etwas anpassen und die Zeiten etwas erhöhen. Das ist etwas davon abhängig, wie schnell Dein Transceiver reagiert und welche Baudrate Du verwendest.
Wenn Du auf Initialisieren klickst, sollte in der Console, wo der rigctld im Debug Modus läuft, etwas passieren. Nicht vergessen zu speichern und dann kannst Du das Fenster schließen. Fldigi zeigt nun die Frequenz und die Betriebsarten an. Ebenso sollte Flrig funktionieren, wenn Du dieses Programm genauso einstellst. Flrig kannst Du auch unabhängig von Fldigi für die Transceiver-Steuerung verwenden.
Jetzt kannst Du Fldigi beenden und CQRLOG starten. Dort stellst Du unter Preferences/TRX control die Werte wie folgt ein:
Achte darauf, dass bei 'Run rigctld when program starts' kein Haken gesetzt ist! Du willst ja rigctld automatisch beim Anmelden starten, damit jedes Programm die Transceiver-Steuerung verwenden kann.
Damit CQRLOG auch weiß wo Fldigi zu finden ist, kannst Du diese Einstellungen unter Preferences/fldigi interface vornehmen:
Ob Du nun die Frequenz von CQRLOG oder Fldigi übernehmen läßt, ist egal, da ja beide Programme über rigctld mit dem Transceiver kommunizieren. Den Mode solltest Du aber von Fldigi übernehmen lassen, damit im Log dann auch z.B. RTTY oder PSK31 steht.
Nun kannst Du CQRLOG beenden und neu starten. Es sollte dann beim Öffnen eines Logbuches sofort etwas in der Console mit dem rigctld passieren.
Wenn das soweit funktioniert, kannst Du CQRLOG beenden, den rigctld abbrechen und über das am Anfang erstellte Script starten. rigctld läuft nun im Hintergrund und wenn Du das Script zu der Liste der automatisch zu startenden Programme (unter Ubuntu und Mint heisst der Punkt 'Startprogramme') hinzufügst, wird rigctld immer ausgeführt, wenn Du Dich anmeldest.
Nun brauchst Du nur CQRLOG starten, das jeweilige Logbuch öffnen und CTRL-M drücken. Damit wird Fldigi gestartet und die bei Fldigi geloggten QSO's werden automatisch von CQRLOG übernommen. Du kannst mit beiden Programmen gleichzeitig den Transceiver steuern oder auch Flrig dafür verwenden.
Hallo Tom,erstmal herzlichen Dank für Deine Bemühungen,auch im Namen aller,denen Deine Anleitung geholfen hat. Für mich ist nur nicht klar WO ich das Script zum starten von rigctld speichern muss. (nicht so einfach fur einen Anfänger mit 72 Windungen auf der Spule )
73 es 55 es best DX
Gunther oe5hol
Hallo Gunther,
es ist egal wo Du das Script speicherst. Es muss nur für Deinen Benutzeraccount erreichbar sein. Ich habe einfach in meinem Home-Ordner einen Unterordner scripts, also /home/username/scripts, in dem ich solche Scripts ablege. Über "Startprogramme" lege ich dann fest, dass dieses oder jenes Script beim Anmelden ausgeführt wird. Nicht vergessen, das Script noch als ausführbar zu setzen, mit chmod u+x .
73, Tom