SvxLink auf Raspberry-Pi

(Diese Anleitung wurde für das Amateurfunkmagazin CQ DL verfasst und ist in der Urfassung in Ausgabe 10/2012 nachzulesen. Die Veröffentlichung des Beitrags auf dieser Webseite  erfolgt mit freundlicher Genehmigung der CQ DL. An dieser Stelle lesen Sie den um neue Erkenntnisse aktualisierten Beitrag mit Stand 23. September 2013)

 

Ein Echolink-Rechner mit der Leistungsaufnahme im untersten einstelligen Wattbereich, kann das gehen? Ja, es kann: mit dem Raspberry Pi, einem ARM-Prozessor-basierten Minicomputer im Scheckkartenformat. Geringste Stromkosten im Dauerbetrieb sind damit keine Utopie. So benötigt die gesamte Station im obigen Bild (inkl. Rechner, Funkgerät plus zwei Schaltnetzteile und einer vor alles geschalteten IP-Steckdose) bei Rx 10,5 Watt und im Sendefall [1 Watt HF] 18 Watt.

Es war schon eine kleine Sensation, als etwa Anfang des Jahres 2012 folgende drei Schlagworte im Internet las: preiswert, stromsparsam, Linux. All das bezog sich auf einen neuen Scheckkarten-großen Mini-Rechner zum sagenhaften Preis (inkl. Versand) von nur ca. 39 € mit der folgenden technischen Ausstattung:

Technische Daten des Raspberry Pi’s


Platinengröße: 85,6 mm × 53,98 mm × 17 mm
Prozessor (CPU): ARM1176JZF-S (700 MHz, übertaktbar)
Speicher (RAM): 512 MB, nicht erweiterbar
Grafikprozessor (GPU): Broadcom VideoCore IV
System-on-Chip (SoC): Broadcom BCM2835
Peripherie: 1 × Ethernet 10/100 MBit, 2 × USB, Audio-Out, HDMI
Strom: über Micro-USB, ca. 300…700 mA, (mit USB-Geräten ca. 3,2 W vor Schaltnetzteil gemessen)
Betriebssysteme: Linux (Debian, Fedora, Arch Linux)

Entstanden ist der „Raspberry Pi“ innerhalb der gleichnamigen Foundation, eine in Großbritannien als Wohltätigkeitsorganisation eingetragene Stiftung. Ihr Ziel ist es das Studium der Informatik zu fördern. Während die Entwickler ein preiswertes System u.a. zum Heranführen Jugendlicher im Sinn hatten, so wurde bereits in Foren früh klar: Der Minirechner hat sicher Potenzial für Amateurfunkanwendungen bei wenig Leistungsaufnahme. Schon früh dachte ich daran, meinen stromhungrigen Pentium-3-PC für sporadischen Echolink-Gateway-Betrieb zu ersetzen, der sich mitsamt Peripherie stolze 60 W aus dem Stromnetz gönnt. Der Einsatz von solchen Mini-Rechnern wie dem Raspberry Pi, oder einem so genannten Embedded-System, ist nichts Neues [1]. Beim Raspberry Pi bestanden anfangs aufgrund der weltweit hohen Nachfrage zunächst Lieferschwierigkeiten. Mitte Juli 2012 wurden erst ca. 10 000 Stück ausgeliefert – dem gegenüber standen ca. 250 000 Vorbestellungen. Beziehen kann man ihn per Internet, z.B.  [2, 3]. Die Konfiguration des Linux-Systems auf dem Raspberry Pi bedarf etwas Zeit, ist aber – notfalls mit etwas Google-Hilfe – zu bewältigen. Generell stellt das Internet die beste Bedienungsanleitung für das freie Betriebssystem dar. Es gibt zahlreiche Webseiten, die bei Linux- und auch einigen Raspberry-Pi-Fragen weiterhelfen. Nachfolgend meine Herangehensweise, die ausdrücklich kein Kochrezept sein kann. Es gibt mehrere Konfigurationswege. Außerdem schreitet die Linux-Softwareentwicklung für das Board zügig voran, sodass hier zu lesende Textpassagen schnell überholt sein können.

Es geht an die Software
Die Echolink-Anwendung wird als Modul innerhalb des SvxLink-Pakets realisiert. Mein Anwendungsfall sieht nur die Anbindung einer Simplex-Frequenz vor, sodass die “Exil-OMs” weiterhin auf der OV-Welle präsent sein können und Bekanntschaften bestehen bleiben. Weiterhin macht es großen Spaß auf Reisen z.B. aus Nordamerika oder Australien Kontakt mit den Daheimgebliebenen zu halten.
Zunächst müssen wir Linux für das Board herunterladen [7]. Die Raspberry Pi Foundation bietet dazu die eigene Distribution “Raspbian” an, ein Debian-”Wheezy”-Derivat. Diese Image-Datei ist ausgepackt ca. 1,8 GB groß, wird auf eine mind. 2 GB große SD-Karte kopiert. Unter Windows gelingt dies mit dem Win32Imager am einfachsten. Detaillierte Anleitungen zu diesem Schritt finden sich im Netz.

Zur Erstbedienung schließt man den Monitor, internetfähiges Netzwerk und eine USB-Tastatur an. Der Systemlogin gelingt mit dem Nutzer pi und Passwort raspberry – Achtung, Y und Z sind wegen fehlender lokaler Tastatureinstellung möglicherweise noch vertauscht. Nach dem Login öffnet sich die „Raspi-config“-Oberfläche zur Grundkonfiguration des Systems. Hier gibt es folgende Optionen:

  • Partitionierung von SD-Karten, die größer als 2 GB sind (Wenn man das Debian-Image drauf kopiert, werden ca. 2 GB belegt. Speicherplatz darüber verbleibt beim Einsatz von größeren SD-Karten zunächst frei)
  • Einstellung des Overscanmodus für optimale Darstellung auf dem Bildschirm
  • Keyboardlayout (hier definieren Sie bitte die deutsche Tastatur)
  • Passwort-Änderung für den Standard-Nutzer „Pi“
  • Zeitzone einstellenWahl des Memory-Splits. CPU und Grafik teilen sich den Speicher, für unsere Anwendung braucht die CPU den größten Wert (Standardeinstellung)
  • SSH-Server ein/ausschalten. Den SSH-Server hier aktivieren, damit man sich künftig ohne Monitor über das Netzwerk einloggen kann. Dies gelingt z.B. mit der Freeware Putty [8] vom PC aus. Im Heimnetzwerk vorhandene Internetrouter weisen dem Rasperry Pi per DHCP automatisch eine interne IP-Adresse zu.

Sofern nötig, lässt sich die Oberfläche später wieder durch

sudo raspi-config

starten. Nochmal zurück zur SD-Kartengröße. Für die SvxLink-Anwendung ist eine 2-GB-Karte knapp, besser wäre mind. eine 4-GB-Karte. Soll dennoch eine 2-GB-Karte zum Einsatz kommen, kann man Teile der grafischen Oberfläche und weitere Pakete deinstallieren, um Platz zu schaffen. Folgende Zeilen sind kein Optimum, aber ein Anfang, der später in bis zu 750 MB zu Gunsten unserer Arbeit resultieren kann. „Sudo“ verleiht dabei Administratorrechte und wird uns noch häufiger begegnen, da der Nutzer „pi“ nur Anwenderrechte hat.

sudo rm /opt/vc/src/hello_pi -r
sudo apt-get remove x11-common midori lxde python3 python3-minimal lxde-common lxde-icon-theme omxplayer libraspberrypi-doc manpages
sudo apt-get autoremove `sudo dpkg –get-selections | grep -v “deinstall” | grep x11 | sed s/install//`
sudo apt-get autoremove
sudo apt-get clean

Da fast täglich Systemupdates verfügbar sind, wird die Vorinstallation mit Hilfe des Paketmanagers Aptitude auf den neuesten Stand gebracht:

sudo apt-get update
sudo apt-get upgrade

Aptitude lädt nun einige Pakete nach:

Zum komfortablen Weiterarbeiten installiere ich zügig den Midnight Commander – seine Ähnlichkeit zum Norton Commander aus vergangenen DOS-Tagen wird man schnell erkennen. Die Kommandozeile mit Aptitude sieht also so aus:

sudo apt-get install mc

Nun ist die Debian-Distribution aktuell und nutzbar. Was noch fehlt, ist ein Update des Betriebssystemkerns, also der Kernel. Alle damit verbundenen Dateien bezeichnet man bei dem Raspberry Pi und seinen Debian-Distributionen gern als Firmware. Diese kann man manuell updaten, aber auch automatisiert. Dafür hat der Computerfreak Hexxeh seine Rpi-Updater-Software entwickelt [9]. Damit diese funktioniert, laden wir zunächst folgende Pakete:

sudo apt-get install ca-certificates git-core

Nun laden wir den Rpi-Updater selbst:

sudo wget http://goo.gl/1BOfJ -O /usr/bin/rpi-update

Damit man das Tool ausführen kann, müssen die entsprechenden Rechte gesetzt werden. Dies erledigt chmod. Anschließend starten wir den Update-Vorgang:

sudo chmod +x /usr/bin/rpi-update
sudo rpi-update

Nun haben wir genug geändert. Ich empfehle hier einen Neustart mit

sudo reboot

Programmcode übersetzen
Fürs erste wäre die Installation abgeschlossen. Kommen wir zur angedachten Anwendung: einem sparsamen Echolink-Server. Von SvxLink gibt es zwar fertig installierbare Softwarepakete. Da das Raspberry Pi aber mit einer ARM- anstelle einer X86-basierten CPU ausgestattet ist, müssen wir das Softwarepaket selbst auf dem Board kompilieren, also die Quelltexte in ausführbaren Programmcode übersetzen. Die Rechenleistung der mit 700 MHz getakteten CPU ist begrenzt, man nehme sich also etwas Zeit – es dauert ca. 25 Minuten!
Zunächst benötigen wir wieder einiges an Software zur Nachinstallation:

sudo apt-get install subversion libsigc++-2.0-dev g++ make libsigc++-1.2-dev libgsm1-dev libpopt-dev tcl8.5-dev libgcrypt-dev libspeex-dev libasound2-dev alsa-utils

Dann wechseln wir mit

cd /home

in ebendieses Verzeichnis und laden uns SvxLink in der (automatisch aktuellsten) Trunk-Version vom Server herunter mit

sudo svn co svn://svn.code.sf.net/p/svxlink/svn/trunk svxlink-trunk

Zur Konfiguration künftiger Dateien ist ein Texteditor nötig. Ich bevorzuge den internen des Midnight Commanders. Da auch Systemdateien betroffen sind, die wir nur mit Administratorrechten bearbeiten dürfen, starten wir letzteren durch Eingabe von

sudo mc

Der interne Texteditor des Midnight Commanders muss indes auch aktiviert werden. Man drücke F9, „Options“, „Configuration“, „Other options“ und setze einen Haken bei „Use internal edit“.
Im Midnight Commander wechseln wir in das heruntergeladene Source-Verzeichnis von SvxLink. Im dortigen Hauptverzeichnis liegt die Konfig-Datei “makefile.cfg”, die wir mit F4/Edit öffnen. Sie listet standardgemäß einen Eintrag, der SvxLink im Betrieb veranlassen wird, das interne Soundmixing mit 16 kHz zu leisten. Dies kann dem Raspberry Pi mehr CPU-Last abfordern. Ich habe gute Erfahrungen gemacht, den Wert auf 8000 (Hz) zu reduzieren. Meiner Meinung nach fällt die geringere Audio-Qualität infolge der Übertragung durch Funkgeräte und ihren NF-Passbandbreiten nicht groß auf. Suchen und Ändern Sie den Eintrag von “16000″ auf “8000″:

CXXFLAGS += -DINTERNAL_SAMPLE_RATE=16000

Für eine geringe CPU-Last im laufenden Betrieb schlagen DL1HRC und DC5PI zudem folgende Parameterzeile in gleicher Datei vor:

RELEASE_CFLAGS=-g -O2 -march=armv6 -mfloat-abi=hard -mfpu=vfp

Der Kompilierungsvorgang wird nun mit

sudo make release

gestartet. Newcomer und Linux-Fremde bangen an dieser Stelle immer und hoffen, dass nun alles fehler- und abbruchsfrei durchläuft. In Problemfällen gilt: Google oder Linux-affine Bekannte sind deine Freunde! Hat alles geklappt, wird das SvxLink-Paket mit Hilfe von

sudo make install

auf dem Raspberry Pi installiert.

Blick auf die Hardware
Bevor wir mit der weiteren Konfiguration fortfahren, zunächst ein Blick auf die Hardware. Für ein Echolink-Gateway benötigt man einen Soundein- und Ausgang sowie die Möglichkeit der PTT-Tastung des angeschlossenen Senders. Über einen Soundausgang verfügt das Raspberry Pi von Hause aus, nicht jedoch über einen Eingang in Form von Line-in oder Mikrofon-Input. Man wird also zu einer USB-Soundkarte greifen, die bereits im einstelligen Eurobereich erhältlich ist. Kaufempfehlungen kann ich nicht aussprechen, dafür habe ich zu wenige zum Testen vorrätig. Als funktionierend hat sich bei mir eine USB-Soundkarte von Sennheiser herausgestellt, die vor einiger Zeit zusammen mit dem USB-Headset PC105 ausgeliefert wurde:

Die USB-Vendor-ID lautet: „1395:3556 Sennheiser Communications USB Headset“. Ein Internet-Wiki empfiehlt als weitere Alternativen eine Creative Sound Blaster Play!, eine Edirol UA-1A oder eine Logilink UA0053 [10].

Die PTT-Tastung erfolgt meist über eine serielle Schnittstelle, welche beim Raspberry Pi nicht mit den nötigen Handshakeleitungen auf die Standard-GPIO-Pinnleiste gelegt ist. Erst seit der neuen Board-Revision des B-Modells (zu erkennen an den Bohr-/Befestigungslöchern und 512 MB RAM), ist unterhalb der GPIO-Pinleiste ein zweites Pin-Feld hinzugekommen, das weitere GPIO-Pins zur Verfügung stellt. Wie man daraus eine vollständige serielle Schnittstelle erstellt, beschreibt dankenswerter Weise DL8SCU auf [14]. Darüber kann die PTT-Tastung direkt erfolgen. Zu meiner Entwicklungszeit des Raspberry Pi’s war diese Möglichkeit noch nicht bekannt, weshalb ich auf das USB-Modul UM2102 von ELV [11] zurückgegriffen habe, was vom Linux-Kernel automatisch erkannt wird.

Soundkarte und das UM2102-Modul belegen fortan beide vorhandenen USB-Ports des Raspberry Pi’s. Für eine Tastatur verbleibt ohne zusätzlichen USB-Hub kein Steckplatz mehr. Spätestens jetzt sollte man sich vom PC per SSH einloggen und ohne Tastatur weiterarbeiten oder eben einen Hub einsetzen.

Sound für SvxLink
Es wird Zeit, die USB-Soundkarte softwareseitig gangbar zu machen. Die folgenden Schritte sollten dabei für diverse Modelle gelten (Generic-Treiber). In der Datei /etc/modules binden wir den Treiber für diesen Hardware-Typ ein. Das gelingt durch Hinzufügen des Eintrags „snd-usb-audio“. Da der Onboard-Audioausgang des Raspberry Pi’s nicht benötigt wird, sollte man die Zeile – sofern vorhanden – „snd-bcm2835“ mit einem „#“ vorweg auskommentieren oder löschen. Die zweite Änderung betrifft die Datei /etc/modprobe.d/alsa-base.conf. Sie ist für das Linux-Alsa-Soundsystem zuständig. Hier müssen wir ihm mitteilen, dass es angesteckte USB-Soundkarten ansprechen und nicht ignorieren soll. Die Zeile „options snd-usb-audio index=–2“ wird hinten auf „0“ geändert.

Eine Dritte Änderung hat infolge des fortentwickelten Linux-Soundsystems ALSA nun VK2MEV ins Spiel gebracht: Man passe die Datei /etc/asound.conf an. Im Original sieht sie wie folgt aus:

pcm.mmap0 {
    type mmap_emul;
    slave {
      pcm “hw:0,0″;
    }
}

#pcm.!default {
#  type plug;
#  slave {
#    pcm mmap0;
#  }
#}

Ihr Inhalt wird nun wie folgt geändert:

pcm.!default {
     type plug
     slave {
        channels 1
          pcm “hw:0,0″
     }
}
pcm.low {
     type plug
     slave {
          pcm “hw:0,0″
     }
}

Mit Hilfe dieser Einträge gelingt es, selbst 5-€-USB-Soundkarten in Betrieb zu nehmen. Am besten steckt man jetzt die zuvor in Tests als funktionierend gefundene USB-Soundkarte und das UM2102-Modul an und vollzieht der Gewissheit halber einen Neustart, woraufhin die USB-Soundkarte nun als Alsa-Device „0“ mit Hilfe der Abfrage

cat /proc/asound/cards

mit dem Kartenindex „0“ angezeigt werden sollte.

SvxLink lernt laufen
Für die Parametrierung des SvxLink-Pakets müssen wir im Wesentlichen zwei Dateien in den Verzeichnissen /etc/svxlink und /etc/svxlink/svxlink.d anpassen. Alle Parameter hier zu beschreiben, würde den Rahmen sprengen, außerdem gibt es dafür im Internet ausführliche Beschreibungen, z.B. [12]. Deshalb hier in Kürze, worauf es mindestens ankommt (Änderungen unterstrichen).

Die Datei ModuleEchoLink.conf bestimmt Logindaten – ja, einen Echolink-Account sollte man bereits vorher einmal erstellt haben –, und Connect-Text. Neuere SvxLink-Versionen bieten hier zudem den Parameter USE_GSM_ONLY=1, den man möglichst auf 1 setzen sollte. SvxLink bietet auf schnelleren Systemen den Vorteil einer besseren Übertragungsqualität: Wird auf der Gegenseite ebenfalls ein SvxLink-System erkannt, wird vom GSM- auf den SPEEX-Codec gewechselt. Dieser ist jedoch für den Raspberry Pi zu Rechenaufwändig, weshalb es zu Aussetzern kommt. Der Parameter belässt das System im Ressourcen-sparsamen GSM-Codec.

Auszug ModuleEchoLink.conf
[ModuleEchoLink]
NAME=EchoLink
ID=2
TIMEOUT=60
#ALLOW_IP=192.168.1.0/24
#DROP_INCOMING=^()$
#REJECT_INCOMING=^()$
#ACCEPT_INCOMING=^(.*)$
#REJECT_OUTGOING=^()$
#ACCEPT_OUTGOING=^(.*)$
SERVER=europe.echolink.org
CALLSIGN=IhrCall
PASSWORD=IhrPasswort
SYSOPNAME=IhrOpName
LOCATION=[Svx] Ihr QTH & QRG
MAX_QSOS=3
MAX_CONNECTIONS=3
LINK_IDLE_TIMEOUT=300
USE_GSM_ONLY=1
DESCRIPTION=”SvxLink Node,\n”
“Weitere Infos zum Node\n”

Die Möglichkeiten für Einstellungen in der svxlink.conf sind dagegen umfangreicher [12]. Hier kann man u.a. auch einstellen, ob das System im Vox-Betrieb arbeiten soll. Recht viel Zeit musste ich mit der korrekten Angabe des Audio-Device verbringen. Viele gefundene Konfigurationsanleiten gaben an, dass man „AUDIO_DEV=alsa:plughw:0“ angeben sollte, was anfangs zum Kernel-Panic führte. Erst die Angabe von „alsa:default“ für den Rx-Weg und „alsa:hw:0“ für den Tx-Weg führte zum Erfolg. Für weitere Einstellungen möchte ich zum Experimentieren anregen. Gerade beim VOX-Betrieb für den Sende-/Empfangsfall lassen sich die vordefinierten Werte noch optimieren. Wer einige Millisekunden Umschaltzeit sparen und damit letztendlich einen flüssigeren QSO-Verlauf ermöglichen will, wird den Squelch des Trx hardwareseitig auswerten und mit dem angedeuteten Schaltungszweig auf den CTS-Pin des UM2102 gehen.
Und auch wenn Svxlink nicht für 16000 kHz compiliert wurde, ist in einigen Fällen noch die Variable CARD_SAMPLE_RATE anzupassen. Hier muss man mit dem Wert spielen, solange, bis SvxLink anstandslos in Verbindung mit der eingesetzten Soundkarte startet.

Auszug Svxlink.conf
CARD_SAMPLE_RATE=48000

[SimplexLogic]
TYPE=Simplex
RX=Rx1
TX=Tx1
MODULES=ModuleEchoLink
CALLSIGN=IhrCall

[Rx1]

AUDIO_DEV=alsa:default

SERIAL_PORT=/dev/ttyUSB0

[Tx1]

AUDIO_DEV=alsa:hw:0

PTT_PORT=/dev/ttyUSB0

 SvxLink lernt sprechen
Jetzt bringen wir SvxLink das Sprechen bei. Dafür laden wir uns z.B. von [13] Sprachdateien herunter. Im Archiv enthalten sind solche für diverse Samplingraten. Im Sinne der CPU-Auslasung des Raspberry Pi’s  kommt die 8-kHz-Variante zum Einsatz. Über Funk klingen meiner Meinung nach selbst 8k-Samples durchaus akzeptabel. Ausgepackt werden die Dateien nach /usr/share/svxlink/sounds/en_US, sodass sich darunter die im Paket enthaltenen Unterverzeichnisse „Core“, „Default“, „EchoLink“ usw. befinden.

Fertig zum Start!
Nach der Installation wollen wir endlich Früchte dessen ernten, was wir gesät haben. Auf der Konsole starten wir SvxLink. Nachfolgend ergibt sich durch Eingabe von

svxlink

das Gewünschte (je nach Konfiguration der Module):

pi@raspberrypi ~ $ svxlink
SvxLink v0.13.0 (Jul 11 2012) Copyright (C) 2011 Tobias Blomberg / SM0SVX
SvxLink comes with ABSOLUTELY NO WARRANTY. This is free software, and you are
welcome to redistribute it in accordance with the terms and conditions in the
GNU GPL (General Public License) version 2 or later.
Using configuration file: /etc/svxlink/svxlink.conf
Starting logic: SimplexLogic
Loading module “ModuleHelp” into logic “SimplexLogic”
Module Help v0.7.0 starting…
Loading module “ModuleParrot” into logic “SimplexLogic”
Module Parrot v0.7.0 starting…
Loading module “ModuleEchoLink” into logic “SimplexLogic”
Module EchoLink v0.10.1 starting…
Loading module “ModuleTclVoiceMail” into logic “SimplexLogic”
Module Tcl v0.3.0 starting…
Loading module “ModuleMetarInfo” into logic “SimplexLogic”
Module MetarInfo v0.0.2 starting…
Event handler script successfully loaded.
EchoLink directory status changed to ON
— EchoLink directory server message: —
EchoLink Server v2.5.9997
ECHOEC2-3: Herndon, VA USA

Was man noch herausfinden muss, ob die Soundlautstärke für Empfang und Senden ausreichend ist. Ich empfehle eine zweite Konsole, sprich man loggt sich ein zweites Mal auf dem Raspberry Pi per SSH ein und ruft das Mischpult auf der Konsole auf mit

alsamixer

 

Hat man alle Einstellungen getroffen, gilt es diese für alle künftigen Systemstarts zu speichern. Das geht nicht automatisch, sondern mit

sudo alsactl store

Mit <Strg+X> kann man SvxLink fürs erste beenden. Der letzte Schritt für die Konfiguration betrifft die Schönheits-Optik. Damit das System nach einem Neustart SvxLink startet, fügen wir z.B. in der /etc/rc.local mit Sudo-Rechten folgende Zeilen vor dem „exit 0“ ein:

# Starte Svxlink
sleep 10
svxlink –daemon
sleep 5
echo „SvxLink gestartet …“

Der Sleep-Befehl versetzt den Rechner für kurze Zeit in Warteposition. Dies ist nötig, damit kurz nach dem Start alle Systemparameter am Laufen sind, ehe SvxLink seinen Dienst aufnehmen kann. Wem der Autostart per rc.local unkonventionell erscheint, kann SvxLink alternativ über die Runlevel starten lassen.

Troubleshooting: Was tun, wenn der Sound nicht will?
Möglicherweise werden Sie Probleme mit dem USB-Sound bekommen: Entweder funktioniert nur die Sound-Ausgabe, aber nicht die Soundeingabe; oder die Soundausgabe funktioniert und die Eingabe ist mit softwarebedingten Störgeräuschen behaftet. Im Gegensatz zum Zeitpunkt der Erstveröffentlichung dieser Anleitung im Oktober 2012 ist das heutige Softwarepaket für den Raspberry Pi weiterentwickelt worden, was die Nachbausicherheit seitdem deutlich erhöht hat. Selbst 3-€-Soundkarten bekommt man eigentlich zum Laufen. Grundsätzlich besteht ein Zusammenspiel mit dem Linux-Kernel und der Firmware des Raspberry Pi’s. Dies sind auch genau die Schrauben, woran man vermutlich drehen kann, wenn’s klemmt. Weiterhin ist ein Austausch per Forum unter Gleichgesinnten immer hilfreich [5]. Als weitere Alternativen bleibt nur zu empfehlen, Soundkarten einfach durchzuprobieren und auch immer die Änderungen an der Raspberry-Pi-Firmware im Auge zu behalten.

Zusammenfassung und Tipps
Da wir doch einiges an Aufwand hineingesteckt haben, empfehle ich, von der Karte am PC mit dem Win32Imager ein Backup-Image (Funktion „Read“) zu erstellen. Generell sagt man SD-/Flashkarten nur eine gewisse Anzahl an Schreib-Zugriffen nach; sollte eine Karte also mal ausfallen, hat man eine Systemkopie.
Das Raspberry Pi wird ohne Gehäuse geliefert. Reichelt bietet z.B. unter der Bezeichnung TEK-BERRY ein einfaches Plastikgehäuse an.
Bei einem Board gab es ein Problem mit der Stromversorgung, die auf eine offenbar defekte Mikro-USB-Buchse zurückzuführen war. Das System lief instabil, die Netzwerkverbindung wurde immer wieder verloren und die LEDs flackerten leicht im Takt der CPU-Last. Mit dem Oszilloskop wurde eine Defekte Buchse festgestellt. Ein Lösungsansatz: Auf dem Board befinden sich zwei Testpunkte, über die man GND und +5 V direkt einspeisen kann (vgl. unbedingt den Schaltplan wegen Möglichkeit der Falschpolung). Eine weitere Möglichkeit besteht darin über die GPIO-Pinleiste die Spannungsversorgung direkt einzuspeisen, auch hierzu sollte der Stromlaufplan des Boards konsultiert werden.
Durch den Einsatz eines modernen Embedded-Systems ist ein kompaktes und vor allem stromsparendes Echolink-Gateway entstanden. Die CPU-Auslastung liegt mit 30 % im Durchschnitt und bietet noch etwas Luft nach oben. Der Stromverbrauch dieser Komponente konnte von ca. 60 W auf <3 W gesenkt werden. Wer zum Lötkolben greift, kann auch das Board nochmals modifizieren: Im Spannungs-Eingangsbereich sitzt ein Linearregler von 5 V auf 3,3 V. Diesen könnte man durch einen Schaltregler ersetzen und sicher nochmals einige mA sparen. So geschehen bei einem Projekt, bei dem der Raspberry Pi auf einem Wetterballon mitflog und das Energiebudget limitiert war.

Der folgende Screenshot zeigt nochmals die CPU-/Systemlast. Im Gegensatz zu ersten Installationsversuchen läuft das System über einen recht langen Zeitraum stabil:

Echolink bzw. SvxLink ist nicht die einzige Amateurfunkanwendung – Hamnet, APRS, oder allgemeine Steuerungsaufgaben sind möglich. Die Redaktion CQ DL freut sich auf Bauvorschläge – wir sind gespannt! Bedanken möchte ich mich bei Frank Köditz, DD9UG, und Michael Hartje, DK5HH, für den Gedankenaustausch zu Schaltungstechnik und SvxLink.

73 und viel Erfolg beim Stromsparen de Stefan, DH5FFL

Links
[1] Markus Heller, DL8RDS, hat die Installation eines Echolink-Systems mit der SvxLink-Software auf dem Beagleboard beschrieben: www.dl8rds.de/index.php/A_SvxLink_Server_based_on_the_BeagleBoard
[2] Bezug über element14 (Farnell): www.element14.com/community/groups/raspberry-pi
[3] Bezug über R&S: http://uk.rs-online.com/web/generalDisplay.html?id=raspberrypi
[4] Original SvxLink-Seite des Entwicklers SMØSVX: http://svxlink.sourceforge.net
[5] Deutschsprachige SvxLink-Seite (diese hier :-) ): www.svxlink.de
[6] Hinweise zu SvxLink, auf der Webseite der Firma KCT: www.firma-kct.com/cgi-bin/show.pl?page=SvxLink-Tips
[7] Download der Raspbian-Wheezy-Distribution für den Raspberry Pi: http://www.raspberrypi.org/downloads
[8] SSH-Client Putty: www.chiark.greenend.org.uk/~sgtatham/putty/download.html
[9] Rpi-Updater von Hexxeh: https://github.com/Hexxeh/rpi-update
[10] Empfohlene Hardware für das Raspberry Pi, z.B. auch Soundkarten: http://elinux.org/RPi_VerifiedPeripherals#USB_Sound_Cards
[11] Mini-USB-Modul UM2102, Best.-Nr. 68-09 18 59, 5,95 €, ELV Elektronik AG, Maiburger Straße 29–36, 26789 Leer, www.elv.de
[12] Ausführliche Beschreibung der Konfigurationsdatei svxlink.conf: http://svxlink.sourceforge.net/man/man5/svxlink.conf.5.html
[13] Synthetische OpenSource-Sprachdateien: http://svxlink.de/download/stimmen-mary.tar.bz2
[14] Blog von DL8SCU, Erweiterung zur vollständigen seriellen Schnittstelle auf dem Raspberry Pi: http://dl8scu.wordpress.com/2013/02/10/are-you-lucky-no-usb-to-serial-converter-needed/

Comments are closed.