Der Raspberry Pi ist als Einplatinencomputer bereits seit einigen Jahren ein fester Bestandteil der Maker- und auch der Amateurfunkgemeinschaft. Er bringt für den kleinen Formfaktor eine beachtliche Leistungsfähigkeit mit, kann verschiedene Betriebssysteme verarbeiten und ist dabei, selbst in der neuesten Generation, angenehm stromsparend. Außerdem existiert um den kleinen Rechner eine große Gemeinschaft, die immer neue Erweiterungen, sowohl in Hard- als auch in Software entwickelt und bei Problemen als Ansprechpartner zur Verfügung steht. Höchste Zeit also, um dieses kleine Multitalent für digitale Betriebsarten im portablen Einsatz näher zu betrachten.

 

Grundlagen

Das Standard-Betriebssystem eines Raspberry ist Raspbian, ein Debian-Derivat, mit Optimierungen für den Einsatz auf dem Raspberry Pi. Die Standard-Installation bringt ein umfangreiches Paket an Softwarte mit, angefangen vom LibreOffice-Paket über verschiedene Java-Entwicklungsumgebungen, Python, einer speziellen Minecraft-Version und sogar einer Mathematica-Lizenz. Da die Basis für das ganze Paket Debian ist, folgt Raspbian ebenfalls den Versionssprüngen von Debian, meist mit einer Verzögerung von ein paar Monaten. Die aktuelle Version (Stand 2018-12-23) ist Debian Stretch in der Version für ARM-Prozessoren. Dies ist wichtig zu wissen, denn gerade die Konfiguration von Debian Linux ist zwischen den einzelnen Releases häufig Änderungen unterworfen. Ebenso ergeben sich gegebenenfalls Änderungen in Paketabhängigkeiten, so dass gerade Tutorials aus dem Netz, die für Vorgängerversionen wie zum Beispiel Jessie geschrieben sind, unter Stretch nicht notwendigerweise 1:1 funktionieren. Dies soll nicht heißen, dass diese Tutorials völlig unnütz sind, nur sollte hier ein gewisses Maß an Vorsicht und Linux-Verständnis gelten.

 

Hardware

Die benötigte Hardware für ein RPi-Setup ist recht überschaubar. Für ein erstes Setup nötig ist:

  • 1x Raspberry Pi 3B oder 3B+
  • 1x MicroSD-Karte, mindestens 8GB, besser 32GB (kosten nur unwesentlich mehr, gibt aber deutlich mehr Reserven)
  • 1x Micro-USB-Netzteil mit mindestens 2A Ausgangsstrom
    • Der Rechner zieht im Spitzenwert lediglich etwas mehr als 1A, allerdings brechen die meisten Ladegeräte im Grenzbereich in der Spanung ein und führen so zu instabilem Rechnerverhalten. Der Raspberry mag es nicht, wenn die Spannung unter 5V einbricht. In diesem Fall erscheint rechts oben auf dem Bildschirm ein kleiner gelber Blitz.
  • 1 PC mit Internetzugang und Anschlussmöglichkeit für MicroSD
  • WLAN-Router oder Verbindung zwischen PC und Raspberry
  • Zur Einrichtung: 1x HDMI-Monitor (zum Beispiel ein Fernseher). Dieser ist deutlicht größer als das Original-Display, und daher auch komfortabler in der Ersteinrichtung

Die Einrichtung kann theoretisch auch per Fernzugriff über den PC auf den Raspberry erfolgen. Allerdings ist dies eher umständlich, daher empfiehlt sich noch folgendes:

  • 1x externes Display,
    • entweder das offizielle 7"-Display oder ein externes HDMI-Display mit Batteriebetrieb
    • Für einen möglichst kompakten Aufbau mit geringem Aufwand empfiehlt sich das offizielle Display, denn es ist fü 5V ausgelegt, über einen extra-Displayport angesteuert und vollständig von Raspbian unterstützt
  • 1x passendes Gehäuse
  • Spannungsversorgung 5V, 1A mindestens (wichtig: Auch 5V bei maximalem Strom)
    • stabile Powerbank
    • BEC-Schaltung für 5V zur Spannungswandlung aus der Rig-Versorgung
  • drahtlose USB-Tastatur und USB-Maus oder drahtlose USB-Tastatur mit Touchpad
    • eine drahtlose Taststur ist günstig um den unvermeidlichen Drahtverhau eines mobilen Aufbaus zu reduzieren. Jede Kabel, was nicht da ist, ist eine Stolperfalle weniger.

Erstes Setup

Das erste Setup des Raspberry Pi ist mit ein wenig Arbeit verbunden, schließlich ist dies ein Experimental-Computer. Die Schritte sind wie folgt:

  1. Vorbereiten der SD-Karte am PC
  2. SD Karte in Raspberry einsetzen
  3. Rechner mit 5V-Netzteil einschalten

 

Vorbereiten der SD-Karte

Wie eingangs erwähnt, ist die einfachste Absprungbasis für den Einstieg die Installation der neuesten offiziellen Raspbian-Version. Für diesen Schritt gibt es zwei Methoden:

  1. Installation mittels NOOBS, einem Installer der Raspberry Pi-Foundation
  2. Direktes Schreiben der SD-Karte. Unter Linux nutzen dazu viele das Kommando dd, unter Windows das Programm Etcher, welches auch unter MacOS und Linux für x86 läuft.

Persönlich bevorzuge ich den Weg über Etcher, da dieser zum einen einen vergleichbaren Aufwand zu der NOOBS-Variante hat und zum anderen weniger Schritte benötigt. Außerdem muss dazu die SD-Karte nicht unbedingt neu formatiert werden, wenn etwas am Raspberry schiefgegangen ist, sondern Etcher überschreibt einfach die gesamte Karte. Allerdings setzt dies bei Windows voraus, dass man das Administrator-Passwort kennt, da Etcher auf die untersten Ebenen des Systems zugreift, die ab Windows 10 passwortgeschützt sind. Ältere Tutorials verweisen hier noch auf ein Programm win32diskimager. Dies ist mittlerweile allerdings überholt, zum einen läuft es nur unter Win32, zum anderen ist die Downloadseite extrem Spam-verseucht und Etcher bietet gerade für den Einsteiger deutlich mehr Komfort.

Zunächst müssen ein paar Dateien heruntergeladen werden:

  1. Etcher von https://www.balena.io/etcher/, es gibt es auch als portable Version ohne systemweite Installation (Administrator-Rechte für den Laufwerkszugriff sind dennoch notwendig!)
  2. Ein passendes Raspbian-Image (als Zip-Datei gepacktes Disk-Image) von https://www.raspberrypi.org/downloads/raspbian/, es stehen drei zur Auswahl:

    • Raspbian Stretch with Desktop and recommendes software
    • Raspbian Stretch with Desktop
    • Raspbian Stretch Lite

    Zu empfehlen für den Anfang ist die Variante mit Desktop und 'recommended software', also einer Auswahl an empfohlenen Programmpaketen. Das beinhaltet zwar auch Programme, die nicht unbedingt notwendig sind, wie besipielsweise LibreOffice oder Mathematica, aber mit einer ausreichend großen SD-Karte ist das für den geplanten Einsatz als eingenständiger Computer und Notebookersatz kein Problem.

  3. gegebenenfalls ein SSH-Terminalprogramm für Windows, PuTTY stellt dabei einen Quasi-Standard dar. https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

Mit diesen Voraussetzungen beginnt nun der eigentliche Installationsvorgang. Dabei wird das Disk-Image auf die SD-Karte geschrieben, bevor mit dieser dann der Raspberry gestartet wird.

  1. SD-Karte an den PC anschließen
  2. Etcher starten
  3. In Etcher das Disk-Image auswählen. Etcher verarbeitet dabei auch Zip-Dateien, daher braucht das Image vorher nicht entpackt zu werden
  4. Laufwerk mit der SD-Karte auswählen
  5. Schreibvorgang starten

Etcher führt dabei Schritt für Schritt durch den Vorgang und verhindert gleichzeitig, dass das Abbild beispielsweise auf die Festplatte geschrieben wird und so die Daten zerstört. Wenn also in diesem Moment außer der SD-Karte keine weiteren Wechseldatenträger angeschlossen sind, ist das Verfahren verhältnismäßig sicher.

Der Schreibvorgang dauert dabei eine ganze Weile, immerhin müssen etwa vier Gigabyte Daten geschrieben werden. Nach Abschluss des Schreibvorgangs erscheint, gegebenenfalls nach Abziehen und Wiederanstecken der SD-Karte, ein Laufwerk mit dem Namen BOOT. Dieses ist dabei mur etwa 40 Megabyte groß und auf den ersten Blick das einzige, was von der bis zu 32 Gigabyte großen Karte übriggebleiben ist. Dies ist normal, der übrige Speicherplatz ist ein Linux-Dateisystem, welches Windows nicht erkennt und daher auch nicht anzeigt. Das Windows den Zugrif auf das Laufwerk BOOT ermöglicht, ist dabei für ein paar grundlegende Konfigurationen wichtig, die allerdings erst wirklich Bedeutung bekommen, wenn der Einsatz 'headless', das heißt ohne Maus und Tastatur, erfolgen soll. Ein 'Headless'-Betrieb ist dabei ein Spezialeinsatz, der alleine für die Konfiguration diese grundlegende Einführung übersteigt. Für diesen Einsatz sind auch die anderen Images auf der Raspberry-Homepage, insbesodere Raspbian Lite, gedacht.

 

Anschluss des Raspberry, erster Start und abschließende Systemkonfiguration

Die fertige SD-Karte wird nun in den SD-Kartenslot des Raspberrys gesteckt. Danach kann entweder der erste Start und die abschließende Konfiguration erfolgen oder der Computer mit dem RPi-Display in das Gehäuse eingebaut werden. Die Empfehlung ist allerdings, auuch hier Schritt für Schritt vorzugehen, da die SD-Karte bei der Verwendung des offiziellen Displays hinter der Flachband-Verbindungsleitung zwischen Display und Rechner liegt und im Zweifel nur noch sehr fummelig erreichbar ist. Und spätestens beim Einbau in das offizielle Displaygehäuse bedeutet ein Tausch der SD-Karte einiges an Schraubarbeit. Daher ist es einfacher, zunächst nur den Rechner mit Tastatur und Maus zu verbinden und danach per HDMI an einen Monitor oder Fernseher anszuschließen. Des weiteren hat das offizielle Display ein ungewöhnliches Seitenverhältnis, so dass bei diesem die Konfigurationsfenster mancher Programme, insbesondere von WSJT-X, zum Teil außerhalb des sichtbaren Bildschirmbereiches liegen.

Zur Konfiguration existiert ein Tool, welches entweder für die grafische Oberfläche oder für den Textmodus funktioniert. Als Beispiel ist hier das grafische Tool gezeigt. Gestartet wird es über das RPi-Menü, Unterpunkt Einstellungen->Raspberry-Pi_Konfiguration:

rpi start menu

 

Nach dem Start des Tools ist es Zeit, einen Rechnernamen zu vergeben sowie das Standard-Passwort zu ändern. Das ist besonders wichtig, wenn der Zugriff auch über SSH erfolgen soll, also ein Login von einem anderen Rechner aus. Da der Standard-Nutzer pi ist mit dem Standard-Passwort raspberry, damit also ein offenes Geheimnis ist, und dieser Nutzer sogar über sudo root-berechtigt ist, stellt das eine gute Praxis dar.

 

systemkofig

 

Die anderen Punkte können so übernommen werden. Im wesentlichen dienen sie nur zur Darstellung während des Bootvorgangs, ob zur grafischen Oberfläche oder zum Text-Interface gebootet wird, und ob der Standard-Benutzer schon angemeldet sein soll.

Sehr wichtig sind allerdings die Einstellungen auf der Seite zur Lokalisierung. Hier muss die Sprache auf deutsch, die Tastaturbelegung auch auf deutsch, die Zeitzone auf Berlin und das Wifi-Land auf Deutschland eingestellt werden.

 

lokalisierung

 

Installation eines Texteditors

Ein Texteditor ist, gerade auf Linux, unverzichtbar. Vernünftige Editoren gibt es hier, im Gegensatz zu Windows, viele. Dabei ist es wichtig, zwischen einem Texteditor und einer Textverarbeitung zu unterscheiden. Eine Textverarbeitung dient dazu, optisch ansprechende Briefe zu schreiben und lange Dokumente zu verwalten. Ein Texteditor hat eine andere Zielsetzung. Er soll Textdateien editieren, ohne dabei Satzfunktionen oder Seitenumbrüche oder ähnliches einzufügen. Er dient zur Verarbeitung von System- und Konfigurationsdateien und sollte möglichst wenig Systemresoucen verbrauchen.

Das wichtigste Kriterium für einen Editor ist, dass der Nutzer damit arbeiten kann. Gerade in der Linux-Gemeinde gibt es wahre Glaubenskriege zwischen verschiedenen Editoren (deren Verfechter oder Gegner sich dabei auf ein ähnliches Niveau wie Fußballfans begeben, mit einer vergleichbaren sachlichen Basis), daher hier nur so viel: Erlaubt ist, was funktioniert, und womit der Nutzer klar kommt.

In der Standard-Installation ist der Textkonsolen-Editor nano vorinstalliert. Der Aufruf erfolgt dabei mit nano <Dateiname>, für Systemdateien mit sudo nano <Dateiname>. Der Vorteil dieses Editors ist die einfache, nahezu intuitive, Bedienbarkeit. Nutzern mit Erfahrungen mit Borland/Turbo-Pascal wird die Oberfläche durchaus bekannt vorkommen, was den Umstieg erleichtert. Der Nachteil, gerade bei kleinen Bildschirmen, ist das Erscheinungsbild mit den Rändern, die kostbaren Arbeitsraum kosten.

 

nano

 

Es gibt auch Texteditoren mit einem deutlich größeren Funktionsumfang, die allerdings auch deutlich schwerer zu bedienen sind. In Linuxkreisen wird man hier auf den Glaubenskrieg zwischen vim und emacs stoßen. Beides sind sehr mächige und sehr umfangreich konfigurierbare Editoren, die beide ihre Stärken und Schwächen haben.

 

vim

 

Allerdings sind sie, gerade bei der Verarbeitung großer Textdateien, wie zum Beispiel der Ausgabe von nec2, besser geeignet als nano. Gerade die Such- und Markierungsfunktionen sind vielseitiger, so dann der Nutzer sie gelernt hat, einzusetzen. Was beide Versionen gemeinsam haben ist, dass sie erst installiert werden müssen:

sudo apt-get install gvim

installiert die Textoberfläche vim sowie die Version mit Unterstützung für grafische Interfaces gvim.

sudo apt-get install emacs

installiert entsprechend Emacs. Beiden Editoren gemeinsam ist, dass sie umständlich und alles andere als intuitiv zu bedienen sind und erst einiges an Einarbeitung erfordern, bevor auch nur eine einzige Textdatei vernünftig bearbeitet werden kann.

Welcher Edior eingesetzt werden soll, liegt dabei voll und ganz im Ermessen des Nutzers. Für grundsätzliche Kofigurationen genügt nano.

Damit ist die Installation des Systems grundsätzlich abgeschlossen. Als nächstes erfolgt die Installation der interessanten Softwarepakete, wie FLDigi, WSJT-X, Nec2 und anderer.

 

FLDigi oder WSJT-X?

Für die Dekodierung vieler Digimodes ist FLDigi geeignet, doch geade für den FT8-Mode wird WSJT-X benötigt. Die Installation dieses Prorgramms ist ein wenig komplexer, da die Pakete in den offiziellen Archiven ziemlich veraltet sind und daher die Modusänderungen seit Anfang 2019 nicht mehr unterstützen. Zum Glück muss dieses Program nicht von den Quellen neu kompiliert werden, es gibt aktuelle Paketquellen, die auch für den Raspberry, also ARMhf-Plattformen, geeignet sind. Nur müssen diese erst zu Raspbian hinzugefügt werden. Eine Anleitung hierzu ist beispielsweise hier erhältlich. Allerdings bezieht sich diese auf eine Installation mit einem SDR-Empfänger und nutzt zusätzlich zum Schreiben der SD-Karte noch Win32Imager, ein Programm, was mittlerweile durch Etcher abgelöst ist, da dieses deutlich einfacher in der Handhabung und außerdem plattformübergreifend verfügbar ist. Die Teile mit dem Hinzufügen des Paketes zu Raspbian sind jedoch hilfreich.

 

Installation von WSJT-X

Im Internet kursiere etliche Anleitungen, die darauf hinweisen, dass es separate Paketquellen, also vorkompilierte und mit den passenden Abhängigkeiten verlinkte Installationssets, mit denen die Installation des Befehls und aller Abhängigkeiten mit einem Befehl erfolgt, auch für die beim Raspberry verwendete ARM-Architektur gibt. Dazu gibt es den Hinweis man möge doch bitte den "Schlüssel und die Paketquellen hinzufügen". Meist werden auch gleich die passenden Befehle mitgeliefert, aber dabei gibt es eine Fußangel:

Bei der Standard-Installation bricht der Befehl zum Hinzufügen des Paketschlüssels mit der Meldung ab, es sei kein dirmngr vorhanden, siehe hierzu auch die Notiz bei Debian. Abhilfe hierfür ist, ihn zu installieren und danach den Befehl zum Hinzufügen des Schlüssels zu wiederholen:

sudo apt-get install dirmngr

Danach kann der Schlüssel für die Paketquelle hinzugefügt werden, wie in den Internet-Anleitungen beschrieben:

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 862549F9

Nun gilt es, die Paketquelle selber dem System bekannt zu machen. Dazu soll gemäß der Anleitungen mit dem Texteditor (siehe dazu den entsprechenden Abschnitt) in der Datei /etc/apt/sources.list noch eine kleine Ergänzung vorgenommen werden:

# -----
deb http://ppa.launchpad.net/ki7mt/wsjtx/ubuntu xenial main
# -----

Statt die Änderung direkt in /etc/apt/sources.list zu schreiben, wie es in den meisten Anleitungen epfohlen wird, kann auch eine eigene Datei mit der Endung .list, also zum Beispiel wsjtx.list im Verzeichnis /etc/apt/sources.list.d erstellt werden, die die Zeilen enthält. Der Vorteil ist, dass damit die Kern-Systemdatei übersichtlich bleibt, bei eventuellen Fehlern einfach nur die entsprechende Datei gelöscht werden braucht und die Ergänzungen auch bei System-Updates, die gegebenenfalls die Hauptdatei trotz vorhandener Nutzeränderungen überschreiben, erhalten bleibt. Das Werkzeug zur Beasrbeitung der Dateien ist dazu der eingangs erwähnte Texteditor, also nano oder ein anderer Editor nach Wahl des Nutzers. Da dies Systemdateien beziehungsweise Systemverzeichnisse sind, ist es hier wieder wichtig, dem Editor-Befehl ein sudo voranzustellen.

Die Installation erfolgt dann wie gewohnt mit:

sudo apt-get update
sudo apt-get install wsjtx

 

Konfiguration von WSJT-X

Nach der Installation ist zwar das Programm auf dem Rechner, allerdings müssen noch die Schnittstellen zu dem eigentlichen Transceiver eingestellt werden.

Vor dem Start des Prgrammes ist es wichtig, dass erst das Interface angeschlossen ist. Linux bringt die meisten Treiober selber mit, und bei dem getesteten SCU-17 erfolgte die Erkennung automatisch. Um sicherzugehen, kann die Erkennung am System nachverfolgt werden. Unter Linux dient hierzu das Programm dmesg. Es zeigt die Meldungen des "Kernel-Ringpuffers" an, was nerdisch eigentlich nur "Systemmeldungen" bedeutet.

Das Interface stellt zwei USB-Schnittstellen bereit. Eine ist das CAT-Interface, die andere für sonstige Zwecke. Außerdem erscheinen nach Anstecken mehrere Audio-Geräte im System.

An dieser Stelle wird dann deutlich, dass Linux doch eher ein System ist, was seine Heimat auf Großrechnern mit spezialisierten Systemadministratoren hat. Die Entscheidung, welches Audio-Gerät das richtige ist, ist dann mit ein wenig Probieren verbunden (Experten können das wahrscheinlich auf einen Blick entscheiden).

Weitere Einstellungen betreffen dann das Funkgerät und die Ansteuerung. Insbesondere die Daten der CAT-Schnittstelle müssen zwischen WSJT-X und dem Funkgerät übereinstimmen. Wichtig ist auch die Art der Ansteuerung des PTT-Systems, damit die Software auch den Trasceiver auf Sendung schalten kann. Die Software bietet dafür verschiedene Möglichkeiten, unter anderem auch eine Ansteuerung über einen Audio-Kanal. Dies ist besonders dann von Interesse, wenn es Funkgeräte ohne digitale Steuerung sind, wie zum Beispiel selbstgebaute Trasceiver. Immerhin ist dies eine Betriebsart für Funkamateure, und diese haben die Erlaubnis und Ermutigung vom Gesetzgeber, ihre Geräte selber zu bauen und zu verbessern. In dem hier dargestellten Beispiel ist die Kopplung jedoch über eine kommerzielle Schnittstelle mit einem kommerziellen Transceiver, und die Schaltung erfolgt über CAT.

Zusammengefasst hier noch einmal die wichtigsten Einstellungen, die funktioniert haben, um eine Verbindung mit einem FT857 herzustellen.

  • Eigenens Rufzeichen und den Locator eintragen
  • /dev/ttyUSB0 ist CAT
  • Baudrate 38400
  • 8 Datenbits
  • 2 Stopbits
  • Handshake None
  • Mode Data/Pkt
  • Split Operation: Fake it (vielleicht geht auch anderes)
  • PTT auf CAT
  • Das richtige Funkgerät einstellen (hier: Yaesu FT-857)
  • Audio-Kanäle: USB-Audio Kanal 0 bei Input und Output
  • Unter 'Frequencys' kontrollieren, ob 2m FT8-Frequenz eingestellt ist, sonst eintragen

Wichtig bei Betrieb: Kontrollieren, ob unter 'Mode' auch FT8 eingestellt ist!

Außerdem wichtig: Die Rechneruhr muss recht genau gehen. Entweder per NTP synchronisieren oder per Hand mit einer genau gehenden Uhr.

Die Einstellungen zwische Interface und Funkgerät müssen auch passen, damit die Audiopegel auf einem Niveau sind, auf dem das Funkgerät sie auch verarbeiten kann. Diese Einstellungen sind sehr individuell und gehen über das hinaus, was die eigentlich wichtigen Punkte betrifft, um überhaupt eine Verbindung zwischen Funkgerät und Raspberry Pi herzustellen. Daher sollen sie hier nur kurz erwähnt, aber nicht in der Tiefe betrachtet sein.

Ansonsten bleibt nur noch, eine passende Frequenz für FT8 zu suchen, den automatischen CQ-Ruf zu starten, und der Raspberry macht den Rest.

 

Weitere Programme

Für den Funkamateur gibt es durchaus noch etliche andere Programme, die von Interesse sind. Für die Programmierung von Funkgeräten, insbesondere von Handfunkgeräten, gibt es noch Chirp, erhältlich unter https://chirp.danplanet.com/projects/chirp/wiki/Home. Dies ist besonders praktisch um die weit verbreiteten Baofeng UV5R zu programmieren, aber es funktioniert auch zur Speicherkonfiguration vieler anderer Trasceiver. Chirp ist ein Python-Programm und benötigt einige zusätzliche Pakete, wie python-serial, python-gtk und python-libxml2. Diese Pakete sollten eigentlich in der Standard-Installation von Raspbian vorhanden sein. Dies lässt sich einfach über das dpkg-Kommando überprüfen.

 

Paketauflistung über dpkg

Das Programm dpkg ist der Paketverwalter von Debian, und mit der Option -l listet er alle auf dem Rechner installierten Pakete auf. Diese Liste ist jedoch sehr umfangreich, und auch wenn die gesuchte Information in der Liste vorhanden ist, ist sie nur schwer zu finden. Unter Linux gibt es zum Glück die Möglichkeit, die Ausgabe eines Programmes als Eingabe eines anderen Programmes zu nutzen. Hierzu dienen die sogenannten "Pipes", dargestellt auf der Kommandozeile durch einen langen, senkrechten Strich: |.

Ein weiteres interessantes Programm ist grep. Dieses Programm druckt alle Zeilen der Eingabe, die den Text des Suchmusters enthalten. Auf die Art ist es jetzt ein leichtes, die lange Liste der installierten Pakete zu ducrchsuchen, ob ein bestimmtes vorhanden ist. Entweder es ist installiert, dann liefert grep eine Ausgabe, oder nicht. Die Aufgabe ist nun: "Liste alle installierten Paktete auf und durchsuche diese Liste, ob ein bestimmtes Paket auftaucht." Die Befehle sind wie folgt:

dpkg -l |grep python-serial
dpkg -l |grep python-gtk
dpkg -l |grep python-libxml2

 

Chirp herunterladen

Das Programm selber kann entweder über die Paketverwaltung bezogen oder direkt als gepackte Datei heruntergeladen werden. Auch wenn es grundsätzlich einfacher ist, Programme per Paketmanager zu installieren, eignet sich gerade Chirp für die Variante des direkten Herunterladens. Dies hat zwei Vorteile:

  • Gekapselte Verwendung des Programms
  • Auch mehrer verschiedene Versionen parallel verwendbar

Der Einsatz verschiedener paralleler Versionen kann zum Beispiel dann interessant sein, wenn bei Updates die Unterstützung von bestimmten Funkgeräten ausläuft oder aus anderen Gründen Schwierigkeiten auftreten sollten. Dies ist zwar selten der Fall, abert auch hier gilt "Never change a running system without a reason".

Die Schritte sind jetzt wie folgt:

  • Abhängigkeiten überprüfen
  • Paket von der Website herunterladen: https://trac.chirp.danplanet.com/chirp_daily/LATEST/
  • Hier den "Source Tarball", also die Datei mit der Endung .tar.gz auswählen.
  • Heruntergeladene Datei mit Dateimanager in einen passenden Ordner verschieben
  • Datei entpacken
    • entweder über Dateimanager und Rechtsklick auf die Datei
    • oder auf der Kommandozeile mit dem tar-Befehl: tar -xzvf chirp-daily-20190120.tar.gz

Dabei ist die Zahl im Dateinamen das Datum des daily build und daher immer verschieden.

Der Entpack-Befehl sieht dabei ein wenig anders aus als der, der in der Dokumentation angegeben ist. Der Unterschied ist allerdings nur optisch, denn die Argumente können auf verschiedene Art an tar übergeben werden.

Auf der Webseite ist der "traditional style" ohne Bindestrich vor den Argumenten angegeben, hier ist der "linux style" dargestellt, der konsistenter mit den Angaben in anderen Programmen ist. Außerdem ist das Argument v für "verbose" hinzugefügt. Die Optionv bewirkt lediglich die Ausgabe des Namens und Pfades aller entpackten Dateien. Auch andere Befehle wie cp zum Kopieren oder mv zum Verschieben und Umbenennen von Dateien unterstützen diese Option. Diese Ausgabe erleichtert die Fehlersuche und ist ganz hilfreich, um zu entscheiden, ob das Programm überhaupt etwas tut. Hier ist es streng genommen nicht notwendig, aber es schadet auch nicht.

 

Chirp ausführen

Wenn das Programm erfolgreich heruntergeladen und entpackt ist, kann es gestartet werden. Dazu mit cd chirp-daily-20190120 (oder in das Verzeichnius mit dem entsprechenden Datum) wechseln und auf der Kommandozeile das Programm mit ./chirpw starten. Der Punkt und der Schrägstrich vor dem Programmnamen sind dabei wichtig, denn so weiß das System, wo es nach der ausführbaren Datei suchen soll.

 

Häufige Probleme

Eines der häufigsten Probleme, die einem Windows-Umsteiger auf Linux begegnen, sind fehlende Berechtigungen. Gerade die meisten Fragen, warum ein Zugriff auf die serielle Schnittstelle nicht funktioniert ist, werden mit "fehlenden Berechtigungen" beantwortet. Doch was bedeutet das?

Unter Linux gibt es drei Berechtigungsebenen:

  • Benutzer (user)
  • Gruppen (groups)
  • Andere (other)

Jede dieser drei Gruppen kann eines oder mehrere von verschiedenen Rechten haben:

  • Lesen (r)
  • Schreiben (w)
  • Ausführen (x)

Die Gruppen haben dabei noch eine weitere Bedeutung. Abhängig, in welchen Gruppen ein Benutzer ist, kann dieser verschiedene Rechte haben. Der Befehl groups liefert eine Liste aller der Gruppen, in denen der aktuelle Benutzer ist. Um auf den seriellen Port zuzugreifen, muss dialout in dieser Liste auftauchen. In einer Standard-Raspbian-Installation ist dies der Fall, aber falls die Gruppe fehlen sollte, muss sie über sudo addgroup pi dialout zu dem Benutzer hinugefügt werden. pi ist dabei der Benutzername, der zu der entsprechenden Gruppe, hier dialout hinzugefügt werden soll.