Anleitung: eigene Station
Vom SDR am Spiegel bis zur Bedienseite: Gateway einrichten, mit deinem Konto koppeln, hören und mit Freigabe senden.
Diese Fassung führt dich bis zum Hören: Gateway aufs Board, Autostart, mit deinem Konto koppeln, LNB und Bake einstellen, dann im Browser abstimmen. Die Bedienseite kommt direkt vom Gateway, zu Hause im Stations-Netz ohne afu.tools und ohne Internet; unterwegs bedienst du über afu.tools. Senden folgt, sobald das Gateway es ausliefert. Die Steuerung der Endstufe kannst du schon aufbauen und aufspielen. Wie die Bedienseite aussieht, zeigt dir vorab die Vorführung.
Einrichten
Gateway aufs Board, beim Einschalten starten lassen und mit deinem Konto verbinden.
Voraussetzungen · Gateway laden und ablegen · Autostart · Mit afu.tools koppeln
Voraussetzungen
Unterstützte Hardware, Firmware-Stand des SDR, Netz und Konto.
Das Gateway ist ein einzelnes Programm, das auf dem SDR-Board selbst läuft. Es nimmt den ganzen NB-Transponder auf, rechnet Spektrum, Wasserfall und Ton und schickt nur das an den Browser. Auf deinem Rechner installierst du nichts, für die Einrichtung brauchst du einmal eine SSH-Sitzung.
SDR-Board
Unterstützt wird der LibreSDR (Zynq 7020 mit AD9361 bzw. AD9363, 1 GB RAM, Gigabit-Ethernet). Händler verkaufen ihn auch als „Pluto+“. Ein ADALM-Pluto ist nicht freigegeben.
Auf der microSD-Karte muss die Firmware Tezuka v0.3.12 in der Variante tezuka-libre stecken. Mit dieser Version ist das Gateway geprüft. Mit einer anderen empfängt es, senden lässt es erst nach deiner Freigabe (siehe Tezuka aktualisieren). Die Datei heißt tezuka-libre-v0.3.12-730087d.zip und liegt bei den Tezuka-Releases auf GitHub. Den Inhalt des Ordners sdimg aus dem ZIP kopierst du direkt in die oberste Ebene einer FAT32-formatierten microSD-Karte und steckst sie ein. Windows bietet FAT32 nur für Karten bis 32 GB an, nimm also am einfachsten eine solche. Weißt du nicht, welche Firmware gerade auf deiner Karte ist, spielst du v0.3.12 auf diese Weise neu auf.
Der LibreSDR startet nur von der SD-Karte. Die .frm-Dateien im ZIP und das Update über das USB-Laufwerk des Boards schreiben in einen Speicher, von dem er nie startet. Im besten Fall passiert nichts, im schlechtesten verwirrt es beim nächsten Versuch. Firmware wechselst du immer über die Karte.
Empfangsweg
Schüssel, LNB für 10 GHz und eine Speisung für das LNB, dazu ein Koaxkabel zum Board. Das LNB setzt den Downlink auf eine Zwischenfrequenz um, bei einem LNB mit 9750 MHz Oszillator liegt die Bake bei 739,750 MHz. Das Kabel kommt an den Anschluss RX1 des LibreSDR. Die Speisespannung kommt meist über eine Einspeiseweiche (Bias-Tee) aufs Kabel: Sie hat einen Anschluss zum LNB, einen für das Netzteil und einen zum Empfänger. Am Empfängeranschluss darf keine Gleichspannung herauskommen, denn der SDR-Eingang verträgt sie nicht. Ist das bei deiner Weiche nicht sicher, setzt du zwischen Weiche und RX1 einen DC-Block, ein kleines Zwischenstück, das nur das Hochfrequenzsignal durchlässt.
Den Spiegel richtest du vorher aus. Der Ausrichtrechner auf der QO-100-Seite gibt dir Azimut, Elevation und LNB-Drehung für deinen Standort.
Netz
Das Board hängt per Ethernet an deinem Router und holt sich seine Adresse per DHCP, solange in Tezuka keine feste Adresse eingetragen ist. Hören und Bedienen gehen im eigenen Netz auch ganz ohne Internet. Für Updates, die Uhrzeit und afu.tools braucht es Verbindungen nach außen (https und NTP). Eine Portfreigabe im Router brauchst du nicht und richtest du auch nicht ein: Die Bedienseite des Gateways gehört nicht ins Internet, von unterwegs bedienst du über afu.tools.
Rechner und Browser
Für die Einrichtung einen Rechner mit ssh und scp. Linux und macOS haben beides, Windows 10 und 11 ebenfalls (Eingabeaufforderung oder PowerShell). Zum Hören einen aktuellen Browser wie Firefox, Chrome oder Edge, gern mit Kopfhörer.
Gateway laden und ablegen
Programm herunterladen, prüfen und auf dem Board dauerhaft ablegen.
1. Board finden und anmelden
Schalte das Board ein und warte etwa eine Minute. In der Geräteliste deines Routers taucht es mit einer neuen Adresse auf. Am besten reservierst du dort gleich diese Adresse für das Board, dann bleibt sie nach jedem Neustart gleich. In den Befehlen unten steht 192.168.1.50 für diese Adresse. Setz dort deine ein.
ssh root@192.168.1.50
Das Passwort ist bei Tezuka ab Werk analog. Beim ersten Mal fragt ssh, ob du dem Gerät traust: mit yes bestätigen.
Tezuka v0.3.12 erzeugt den SSH-Schlüssel des Boards bei jedem Start neu. Nach einem Neustart warnt ssh deshalb, der Schlüssel habe sich geändert. Das ist hier normal. Den alten Eintrag löschst du mit ssh-keygen -R 192.168.1.50 und meldest dich neu an. Ab Tezuka v0.3.24 bleibt der Schlüssel gleich; die Warnung kommt dann nur einmal nach dem Tezuka-Update.
Geklappt hat es, wenn die Eingabezeile des Boards erscheint, sie endet auf #.
2. Programm herunterladen und prüfen
Am einfachsten holt das Board das Programm selbst. Gib in der SSH-Sitzung ein:
cd /tmp wget -O qo100-gw-armv7 https://afu.tools/downloads/qo100-gw-armv7 wget -O qo100-gw-SHA256SUMS https://afu.tools/downloads/qo100-gw-SHA256SUMS sha256sum qo100-gw-armv7 grep qo100-gw-armv7 qo100-gw-SHA256SUMS
Die beiden letzten Befehle geben je eine Zeile mit einer langen Zahl aus. Beide Zahlen müssen gleich sein. Sind sie verschieden, ist die Datei unterwegs kaputtgegangen. Dann gibst du die beiden wget-Zeilen noch einmal ein, sie überschreiben die alten Dateien.
Meldet wget einen Fehler, etwa zum Zertifikat oder „bad address“, hat das Board keine Verbindung nach außen oder seine Uhr ist noch nicht gestellt. Dann holst du die beiden Dateien am Rechner. Öffne https://afu.tools/downloads/qo100-gw-armv7 und https://afu.tools/downloads/qo100-gw-SHA256SUMS im Browser und speichere sie. Warnt der Browser vor einer unbekannten Datei, bestätigst du das Behalten. Dann öffnest du am Rechner ein zweites Fenster (Terminal, unter Windows die Eingabeaufforderung), wechselst in den Download-Ordner und kopierst beide Dateien aufs Board:
cd Downloads scp qo100-gw-armv7 qo100-gw-SHA256SUMS root@192.168.1.50:/tmp/
Unter Windows heißt die erste Zeile in der Eingabeaufforderung cd %USERPROFILE%\Downloads.
Danach in der SSH-Sitzung mit cd /tmp und den beiden letzten Zeilen von oben (sha256sum und grep) vergleichen.
Signatur prüfen (optional)
Die Prüfsummen sind mit demselben Schlüssel signiert wie die Updates des Gateways. Wer am Rechner OpenSSL 3 hat (unter Linux meist vorhanden, das openssl von macOS kann es nicht), kann prüfen, dass die Datei qo100-gw-SHA256SUMS von uns stammt. Lade dazu https://afu.tools/downloads/qo100-gw-SHA256SUMS.sig in denselben Ordner und speichere den öffentlichen Schlüssel als Textdatei qo100-gw-signing.pem (ohne angehängtes .txt):
-----BEGIN PUBLIC KEY----- MCowBQYDK2VwAyEAvSNCOEU+mZ5y3p3XNmhKIEa/Nc825vWbVG3SnEpEU1c= -----END PUBLIC KEY-----
openssl pkeyutl -verify -pubin -inkey qo100-gw-signing.pem -rawin -in qo100-gw-SHA256SUMS -sigfile qo100-gw-SHA256SUMS.sig
Die Antwort muss Signature Verified Successfully lauten. Danach vergleichst du die Zahl aus der Datei mit der, die sha256sum auf dem Board ausgibt.
3. Probelauf
chmod +x /tmp/qo100-gw-armv7 /tmp/qo100-gw-armv7 --version /tmp/qo100-gw-armv7
Ohne weitere Angabe zeigt das Programm nur an, was es auf dem Board vorfindet: Kernel, Prozessor, Zahl der Kerne und die Geräte des Funkchips. Es ändert dabei nichts und sendet nichts.
Geklappt hat es, wenn eine Versionsnummer und danach eine Übersicht des Boards erscheinen, in der bei „iio“ unter anderem ad9361-phy steht. Kommt stattdessen eine Fehlermeldung wie „not found“ oder „Exec format error“, ist die Datei unvollständig oder das Board kein LibreSDR.
Autostart
Das Gateway nach jedem Einschalten selbst starten lassen.
Die Einrichtung erledigt das Programm selbst:
/tmp/qo100-gw-armv7 install
Es fragt nach einem Passwort für die Admin-Seite des Gateways (mindestens 8 Zeichen, zweimal eingeben). Danach legt es Programm, Konfiguration und Startskript an und startet das Gateway. Die Ausgabe nennt jeden Schritt:
- „Programm:“ sagt, wo das Programm liegt. Der dauerhafte Speicher des Boards (
/mnt/jffs2) ist mit unter 1 MB knapp. Reicht er nicht, legtinstalldas Programm auf die SD-Karte nach/boot/qo100und sagt das auch. - „Konfiguration:“ ist
/mnt/jffs2/qo100/qo100-gw.toml. Sie bleibt immer im dauerhaften Speicher. - „Autostart:“ heißt, dass in
/mnt/jffs2/autorun.shein Block zwischen# qo100-gw beginund# qo100-gw endsteht. Tezuka führt diese Datei bei jedem Start aus. Hattest du dort schon eigene Zeilen, bleiben sie erhalten, die alte Fassung liegt zusätzlich alsautorun.sh.bak-mit Datum daneben.
Der Block schaltet beim Start außerdem den Sender des Boards hart ab, bevor das Gateway läuft. Du kannst install jederzeit wiederholen, etwa nach einem Firmware-Wechsel. Konfiguration und Passwort bleiben dabei erhalten.
Admin-Seite
Öffne im Browser http://192.168.1.50:8074/. Der Browser fragt nach Benutzername und Passwort: Der Name ist egal, das Passwort ist das eben gesetzte. Die Seite zeigt Status, Update, die Kopplung mit afu.tools, Bakenlock und das Log des Gateways.
Zum Test startest du das Board neu:
reboot
Geklappt hat es, wenn die Admin-Seite nach ein bis zwei Minuten wieder erreichbar ist und unter „Status“ bei „Läuft seit“ eine kurze Zeit steht.
Noch empfängt das Gateway nicht deine Antenne, sondern einen eingebauten Probe-Transponder. Den Abschnitt Koppeln brauchst du nur für die Bedienung von unterwegs; du machst direkt mit Konverter und LNB einstellen weiter.
Programm später wieder aufrufen
Die Datei in /tmp ist nach einem Neustart weg. Das eingerichtete Programm findest du mit dieser Zeile, die du nach jeder neuen SSH-Anmeldung einmal eingibst:
P=$(sed -n "s/^P='\(.*\)'$/\1/p" /mnt/jffs2/qo100/start.sh) echo "$P"
Die zweite Zeile zeigt den Weg zum Programm, etwa /mnt/jffs2/qo100/qo100-gw oder /boot/qo100/qo100-gw. Bleibt sie leer, ist das Gateway nicht eingerichtet. Danach stehen dir "$P" stop (meldet „qo100-gw gestoppt“), "$P" start (meldet „qo100-gw gestartet“, läuft im Hintergrund weiter) und "$P" install zur Verfügung. Statt stop und start tut es immer auch ein reboot.
Gut zu wissen
Tezuka läuft neben dem Gateway weiter, auch die Weboberfläche auf Port 80. Andere SDR-Programme, die sich über das Netz mit dem Board verbinden (über ip:), nutzt du nicht gleichzeitig. Sie verstellen Frequenz und Verstärkung oder belegen den Empfänger, das Gateway meldet das im Log.
Ein Tezuka-Update über die SD-Karte lässt /mnt/jffs2 in Ruhe, Konfiguration und Autostart bleiben also. Das Programm selbst liegt meist auf der Karte (/boot/qo100): Formatiere sie beim Update deshalb nicht. Wie es geht, steht unter Tezuka aktualisieren.
Soll das Gateway beim nächsten Start nicht anlaufen, legst du eine leere Datei an: touch /mnt/jffs2/qo100/DISABLE. Mit rm /mnt/jffs2/qo100/DISABLE und "$P" start läuft es wieder.
Mit afu.tools koppeln
Station mit deinem Konto verbinden, damit du sie auf der Bedienseite findest.
Gekoppelt baut das Gateway selbst eine verschlüsselte Verbindung zu afu.tools auf (Port 443 nach außen, wie ein Browser). Du brauchst dafür keine Portfreigabe am Router und kein VPN, und auf der Bedienseite findest du deine Station von überall, sobald du angemeldet bist.
1. Station auf afu.tools anlegen
Melde dich bei afu.tools an und öffne Meine QO-100-Stationen. Unter „Station anlegen“ gibst du ihr einen Namen, etwa den Standort. Danach zeigt dir die Seite einmal den Stationsschlüssel, der mit aqo_ beginnt. afu.tools speichert davon nur eine Prüfsumme, zeigen kann es ihn später nicht mehr. Geht er verloren, erzeugst du einfach einen neuen.
2. Schlüssel ans Gateway geben
Am bequemsten trägst du unter dem Schlüssel die Adresse deines Boards ein (zum Beispiel 192.168.1.50) und klickst „Am Gateway öffnen“. Es öffnet sich die Admin-Seite des Gateways, der Schlüssel steht schon im Feld unter „afu.tools“. Melde dich an, wenn sie fragt, und klick „Koppeln“. Gespeichert wird erst mit diesem Klick.
Geht das nicht, etwa weil du am Handy bist, kopierst du den Schlüssel, öffnest die Admin-Seite http://192.168.1.50:8074/ selbst und fügst ihn dort unter „afu.tools“ ein. Der Schlüssel liegt danach nur auf dem Board, in /mnt/jffs2/qo100.
3. Prüfen
Auf der Admin-Seite steht unter „afu.tools“ nach wenigen Sekunden „verbunden“. Steht dort „Uhr nicht gestellt“, hat das Board noch keine Zeit aus dem Netz, ohne sie kommt keine sichere Verbindung zustande. „abgelehnt“ heißt, der Schlüssel stimmt nicht (vertippt oder inzwischen erneuert).
Dann öffnest du die Bedienseite. Sie zeigt deine Station und nach „▶ Ton“ Spektrum, Wasserfall und Ton, auch über das Handynetz.
Geklappt hat es, wenn die Admin-Seite „verbunden“ zeigt, deine Station unter Meine QO-100-Stationen „online“ ist und die Bedienseite von außerhalb deines Heimnetzes den Wasserfall zeigt.
Andere mithören lassen
Unter Meine QO-100-Stationen gibst du anderen Konten deine Station frei, je Rufzeichen „nur hören“ oder „senden“. Wer nur hört, kann abstimmen und zuhören, ein Sendebefehl von ihm kommt nie beim Gateway an, das sortiert afu.tools schon vorher aus. Senden gibt es erst, wenn das Gateway es ausliefert, und dann nur nach deiner Freigabe am Gateway selbst. Nimmst du eine Freigabe zurück oder änderst sie, trennt afu.tools die Person sofort.
Schlüssel erneuern oder entkoppeln
„Neuer Schlüssel“ macht den alten ungültig und trennt das Gateway sofort, danach gibst du den neuen wie oben ans Gateway. Willst du die Station nicht mehr über afu.tools erreichen, klickst du am Gateway „Entkoppeln“ und löschst sie hier. Zu Hause am Gateway bedienen geht weiter wie unter Erste Schritte.
Einstellen
LNB und Bake, damit die Frequenzanzeige stimmt.
Konverter und LNB einstellen · Bakenlock und Kalibrierung
Konverter und LNB einstellen
Empfänger auf die Antenne umstellen, LNB-Speisung und Oszillatorfrequenz.
Empfänger auf das SDR umstellen
Nach der Installation empfängt das Gateway einen eingebauten, erfundenen Transponder mit Bake und ein paar Stationen. Damit kannst du die Seite ausprobieren, ohne dass etwas angeschlossen ist. Für den echten Empfang stellst du die Quelle in der Konfiguration auf das SDR um und startest das Gateway neu. In der SSH-Sitzung:
sed -i 's/^source = "synth"/source = "iio"/' /mnt/jffs2/qo100/qo100-gw.toml grep '^source' /mnt/jffs2/qo100/qo100-gw.toml P=$(sed -n "s/^P='\(.*\)'$/\1/p" /mnt/jffs2/qo100/start.sh) "$P" stop "$P" start
Die zweite Zeile muss source = "iio" ausgeben. Steht dort weiter "synth", öffnest du die Datei mit vi /mnt/jffs2/qo100/qo100-gw.toml und änderst die Zeile im Abschnitt [rx] von Hand. Die dritte Zeile sucht heraus, wo das Programm liegt, die beiden letzten starten es neu. Das Gateway stellt den Empfänger des Boards jetzt selbst ein (Abtastrate, Empfangsfrequenz, Filter) und gibt ihn beim Beenden im vorherigen Zustand zurück.
Geklappt hat es, wenn im Log der Admin-Seite keine Zeile mit „ERROR“ und „IIO“ steht und unter „Bake und LNB-Kalibrierung“ der Zustand „Suche“, „Fangen“ oder „Lock“ lautet.
LNB-Speisung und Polarisation
Das LNB bekommt seine Spannung über das Koaxkabel. Sie wählt zugleich die Polarisation: 13 V empfängt vertikal, 18 V horizontal. Der NB-Transponder kommt vertikal herunter, die LNB-Drehung aus dem Ausrichtrechner gilt für diesen Fall. Liefert deine Einspeisung fest 18 V, drehst du das LNB zusätzlich um 90° und stellst dann auf die stärkste Bake nach. Diese Anleitung geht von einer Einspeisung über eine eigene Weiche aus, wie unter Voraussetzungen beschrieben.
LNB-Oszillator
Das Gateway geht von einem LNB mit 9750 MHz aus und stellt den Empfänger dann auf 739,750 MHz. Die meisten fertigen LNB und viele für QO-100 umgebaute arbeiten mit 9750 MHz. Hat deines einen anderen Oszillator, steht der Wert im Datenblatt oder in der Beschreibung des Umbaus. Diesen Wert trägst du auf der Admin-Seite im Kasten „Assistent LNB-Kalibrierung“ bei „Nominelle LNB-LO“ ein, in Hertz, also zum Beispiel 9739000000 für 9739 MHz, und klickst „Start“. Das Gateway stellt den Empfänger sofort passend um. Dauerhaft gespeichert wird der Wert erst, wenn du den Assistenten mit „Speichern“ abschließt, wie im nächsten Abschnitt beschrieben.
Kleine Abweichungen des LNB musst du nicht kennen. Das Gateway misst sie an der Bake und rechnet sie heraus. Auch die Einstellung „LNB-Oszillator für die ZF-Anzeige“ auf der Bedienseite ändert nur, welche Zwischenfrequenz dort angezeigt wird, nicht den Empfang.
Bakenlock und Kalibrierung
Wie das Gateway an der Bake einrastet und die Ablage nachführt.
In der Mitte des NB-Transponders sendet die BPSK-Bake auf 10 489,750 MHz. Das Gateway sucht sie, misst, wie weit dein LNB danebenliegt, und verschiebt alle Empfangswege um diesen Betrag. Danach stimmen die angezeigten Frequenzen, auch wenn das LNB beim Warmwerden wandert. Gesucht wird bis etwa 270 kHz neben der Sollfrequenz. Liegt die Bake weiter weg, stimmt meist der eingetragene LNB-Oszillator nicht (siehe LNB-Oszillator).
Den Zustand siehst du auf der Admin-Seite im Kasten „Bake und LNB-Kalibrierung“:
| Anzeige | Bedeutung |
|---|---|
| Suche | Das Gateway sucht die Bake im Transponder. Es prüft dabei auch, ob 250 kHz darunter die CW-Bake und 250 kHz darüber die obere Bake liegen, damit es nicht auf einem anderen Signal einrastet. |
| Fangen | Bake gefunden, die Feinmessung läuft. |
| Lock | Eingerastet. Die große Zahl daneben ist die Ablage deines LNB, darunter stehen Drift und Signal-Rausch-Abstand der Bake. |
| Hold | Die Bake ist verschwunden (Regen, Störung, Ausrichtung). Die Korrektur bleibt auf dem letzten guten Wert. Nach 30 s ohne Bake beginnt eine neue Suche um diesen Wert. |
Auf der Bedienseite zeigt die Leiste oben dasselbe kürzer: „BAKE ✓“ heißt eingerastet, „BAKE …“ heißt, das Gateway sucht noch.
Geklappt hat es, wenn „Lock“ grün dasteht und die Ablage nur noch langsam wandert. Der Probe-Transponder hat übrigens auch eine Bake, auch er zeigt also „Lock“.
Assistent LNB-Kalibrierung
Weißt du nicht, wie weit dein LNB danebenliegt, oder rastet die Bake nicht ein, startest du den Assistenten. Er sucht ohne Vorwissen das ganze Empfangsfenster ab, also ebenfalls etwa 270 kHz zu beiden Seiten. Findet er mehrere Kandidaten, listet er sie auf, und du klickst bei der richtigen Bake auf „Das ist die Bake“. Danach wartet er, bis die Ablage 60 s lang ruhig ist (unter 1 Hz je Sekunde), und zeigt das Ergebnis: die gemessene Oszillatorfrequenz deines LNB. Mit „Speichern“ übernimmt das Gateway sie als Startwert für jede weitere Suche.
Feinheiten
Über „CW 10489,500“ wechselst du auf die untere CW-Bake, falls die BPSK-Bake einmal fehlt. Die gemessene Ablage bleibt dabei erhalten. „Nudge“ verschiebt die Korrektur in Schritten von 1, 10 oder 100 Hz, wenn du einer anderen Referenz folgen willst. „0“ setzt das zurück. „Neu suchen“ wirft den Lock weg und beginnt von vorn. Unter „Offset-Log“ lädst du den Verlauf der Ablage als CSV-Datei, das Gateway hält die letzten 48 Stunden im Speicher.
Betrieb
Erst hören, dann mit Freigabe senden, und was dabei gilt.
Erste Schritte ohne Senden · Freigabe zum Senden · Endstufe steuern · Betriebsregeln
Erste Schritte ohne Senden
Hören, abstimmen, Wasserfall und Ton prüfen.
Bedienseite am Gateway öffnen
Das Gateway liefert die Bedienseite selbst aus, mit allem, was sie braucht. Öffne im Browser
https://192.168.1.50:8443/app
Beim ersten Mal warnt der Browser, die Verbindung sei nicht sicher. Das liegt am Zertifikat: Das Gateway hat es sich selbst ausgestellt, weil es im eigenen Netz keine Behörde gibt, die das bestätigt. Verschlüsselt ist die Verbindung trotzdem. Vergleiche den Fingerabdruck (SHA-256) in den Details der Warnung mit dem auf der Admin-Seite unter „HTTPS-Zertifikat“ und bestätige dann die Ausnahme (Chrome und Edge: „Erweitert“, „Weiter zu …“; Firefox: „Erweitert“, „Risiko akzeptieren“). Das fragt der Browser je Rechner nur einmal.
Danach fragt die Seite nach Benutzername und Passwort: Der Name ist egal, das Passwort ist das der Admin-Seite. Damit bist du Besitzer der Station und darfst alles.
Die sichere Verbindung braucht der Browser für Ton und Mikrofon. Unter http://192.168.1.50:8074/app geht die Seite auch auf, zeigt dann aber nur Spektrum und Wasserfall, der Ton startet nicht.
Mithören lassen
Für Gäste im Netz, die nur zuhören sollen, setzt du ein zweites Passwort:
"$P" passwd --hoeren
Wer sich damit anmeldet, stimmt seinen eigenen Empfänger ab und hört, bedient aber nichts an der Station und kommt nicht auf die Admin-Seite. Abschalten mit "$P" passwd --hoeren --aus. $P ist der Weg zum Programm, siehe Programm später wieder aufrufen.
Klappt https nicht (anderer Port belegt, Zertifikat kaputt), steht der Grund auf der Admin-Seite unter „Bedienseite“. Ein neues Zertifikat bekommst du, indem du rm -r /mnt/jffs2/qo100/tls eingibst und das Gateway neu startest. Als Ausweg geht immer ein SSH-Tunnel: ssh -L 8074:localhost:8074 root@192.168.1.50, Fenster offen lassen, dann http://localhost:8074/app.
Über afu.tools, auch unterwegs
Ist das Gateway gekoppelt, geht es einfacher: Bedienseite öffnen, angemeldet bei afu.tools, fertig. Das klappt von überall, ohne Tunnel und ohne Portfreigabe, und der Ton läuft gleich mit.
Hören
Klick oben auf „▶ Ton“. Browser spielen erst nach einem Klick etwas ab. Die große Übersicht zeigt den ganzen Transponder (500 kHz) mit dem Bandplan darüber, darunter liegt der Zoom mit 100, 50 oder 15 kHz Breite. Ein Klick in die Grafik stimmt dorthin ab. Mausrad oder Pfeiltasten auf der Frequenzanzeige gehen einen Schritt weiter, die Schrittweite wählst du daneben. Klickst du auf die Frequenz, kannst du sie eintippen, zum Beispiel 10489,750 oder kurz 750.
Sprechfunk läuft auf QO-100 in USB. Stell unter „Modus“ USB ein, such dir im Wasserfall eine Spur im SSB-Bereich des Bandplans und klick sie an. Mit „Filter“ änderst du die Bandbreite, „Regelung“ ist die AGC (langsam, schnell, aus), „NR“ mindert Rauschen in drei Stufen, „Notch“ nimmt einen störenden Pfeifton heraus. Auf dem Handy steht alles untereinander: Wischen über den Wasserfall stimmt ab, zwei Finger zoomen.
Geklappt hat es, wenn „BAKE ✓“ oben steht, im Wasserfall die Bake als Spur in der Mitte und daneben wechselnde Signale zu sehen sind und du eine SSB-Station mit echtem Funkverkehr verständlich hörst, mit Rufzeichen und Rapporten. Damit empfängt deine Station. Hörst du nur gleichförmige, sprachähnliche Laute ohne verständliche Worte, läuft noch der Probe-Transponder (siehe Empfänger auf das SDR umstellen).
Einstellungen
Unter „Einstellungen“ stellst du Wasserfall (Pegel, Zeilen je Sekunde) und Ton ein. Stottert der Ton, wähl dort unter „Ton“ einen größeren Puffer, etwa 250 ms. Unter „Diagnose“ steht die Datenrate, die die Seite gerade braucht.
Ton und Mikrofon wählen
Unter „Einstellungen“ › „Ton“ wählst du das Eingabegerät (Mikrofon) und das Ausgabegerät, etwa ein USB-Headset. Solange der Browser dort nur „Eingang 1“ oder „Eingang 2“ anzeigt, klickst du auf „Gerätenamen anzeigen“ und erlaubst das Mikrofon einmal. Die Wahl merkt sich der Browser. Safari und Firefox spielen immer über das Standardgerät ab, das Mikrofon kannst du dort trotzdem wählen. Das Mikrofon geht nur über die sichere Verbindung (https://…:8443/app).
Zum Senden mit Sprache gehört das Mikrofon dazu, sobald das Senden freigegeben ist: Im Reiter „Senden“ zuerst „Mikrofon an“, dann „Senden freigeben“, dann PTT halten. Ohne eingeschaltetes Mikrofon schaltet das Gateway PTT nicht, das Sendefeld weist darauf hin. „Mikrofon an“ allein sendet nichts. Es schickt deinen Ton zum Gateway, und über „Abhören (Schleife)“ hörst du im Kopfhörer, wie er aus der Sendekette kommt. Das Gerät kannst du auch im Kasten „Mikrofon“ wechseln, ein laufendes Mikrofon wechselt dabei ohne Unterbrechung.
Freigabe zum Senden
Was vor dem ersten Durchgang eingerichtet und bestätigt sein muss.
Folgt.
Endstufe steuern
Optional: Ein ESP32-C3 am Board schaltet die Endstufe und meldet Leistung, SWR und Temperatur.
Die Steuerung heißt qo100-pa-ctrl. Sie ist für die DXpatrol-Endstufe mit 12 oder 20 W gebaut und läuft auf einem ESP32-C3 Super Mini. Der C3 steckt über einen OTG-Adapter am USB-Port des Boards. Das Gateway spricht direkt mit ihm: Es schaltet die Endstufe beim Senden ein und vor dem Lösen wieder aus und zeigt die Messwerte unter „Station“. Gesendet wird damit erst, wenn das Senden freigegeben ist (Freigabe zum Senden).
Teile
- ESP32-C3 Super Mini, USB-OTG-Adapter für das Board
- 4× 10 kΩ, 2× 1 kΩ, 1× 100 kΩ, 3× 100 nF, 1× NPN-Transistor (2N2222 oder BC337)
- für einen Lüfter zusätzlich: 1× BC337, 1× 10 kΩ, 1× 1N4148
- für die Relais zusätzlich: siehe Treiber und Endstufe über Relais
Verdrahtung
Die Endstufe hat ein sechsadriges Flachkabel für Steuerung und Messung:
| Ader | Funktion | am C3 | dazwischen |
|---|---|---|---|
| 1 | PTT | GPIO4 | NPN: GPIO4 über 1 kΩ an die Basis, 100 kΩ von der Basis nach Masse, Emitter an Masse, Kollektor an Ader 1 |
| 2 | 5 V für den Temperaturfühler | 5V | direkt |
| 3 | Temperatur | GPIO3 | direkt, 100 nF nach Masse |
| 4 | Rücklauf (SWR) | GPIO1 | Teiler 2× 10 kΩ, 100 nF nach Masse |
| 5 | Vorlauf (Leistung) | GPIO0 | Teiler 2× 10 kΩ, 100 nF nach Masse |
| 6 | Masse | GND | direkt |
Der 100-kΩ-Widerstand an der Basis hält die Endstufe aus, solange der C3 startet oder neu beschrieben wird. Prüf die Anschlüsse des Transistors: beim 2N2222 Emitter, Basis, Kollektor, beim BC337 genau andersherum. GPIO 2, 8 und 9 bleiben frei, sie bestimmen, wie der C3 startet. Halte die Leitungen kurz, gleich daneben entstehen 2,4 GHz.
Ein Lüfter ist meist nicht nötig, wenn die Endstufe an einer massiven Gehäusewand sitzt. Wenn doch: einen 3-Draht-Lüfter über einen BC337 nach Masse schalten (GPIO5 über 1 kΩ an die Basis, 10 kΩ von der Basis nach Masse, 1N4148 über den Lüfter), einen 4-Pin-PWM-Lüfter direkt an GPIO5.
firmware/qo100-pa-ctrl/docs/kicad/.
Firmware aufspielen
Das geht hier im Browser, mit Chrome oder Edge am Rechner. Steck den C3 dafür per USB am Rechner an, nicht am Board. Die Endstufe bleibt dabei abgezogen. Die Seite holt die Firmware von afu.tools, prüft die Prüfsumme und schreibt sie auf den C3. Danach liest sie fünf Sekunden lang mit, was der C3 meldet. Sie schickt ihm dabei nichts, die PTT bleibt aus.
Firmware wird geladen …
Nach „Verbinden und aufspielen“ fragt der Browser, welches Gerät er öffnen soll. Wähl den Eintrag mit „USB JTAG/serial debug unit“ oder „ESP32-C3“. Geklappt hat es, wenn der Kasten „Läuft: Version …“ meldet und unten Zeilen wie pa/pwr 0.00 und pa/ptt 0 stehen. Kommt nichts, steck den C3 kurz ab und wieder an und nimm „Nur prüfen“: Manche C3 bleiben nach dem Schreiben im Lademodus hängen, bis sie einmal ohne Strom waren.
Ohne Chrome oder Edge geht es mit esptool am Rechner. Die Datei https://afu.tools/downloads/qo100-pa-ctrl.bin laden und:
esptool.py --chip esp32c3 write_flash 0x0 qo100-pa-ctrl.bin
Die Prüfsumme steht in qo100-gw-SHA256SUMS, signiert wie das Gateway (Signatur prüfen).
Ans Board anschließen
Steck den C3 über den OTG-Adapter ans Board. Er meldet sich dort als /dev/ttyACM0. Ab Werk sucht das Gateway die Steuerung genau dort (mode = "serial" im Abschnitt [pa]). Ob in deiner Konfiguration etwas anderes steht, zeigt in der SSH-Sitzung:
grep -A3 '^\[pa\]' /mnt/jffs2/qo100/qo100-gw.toml
Gibt das nichts aus oder steht dort mode = "serial", passt es. Steht dort mode = "none", änderst du die Zeile mit vi in mode = "serial". Danach startest du das Gateway neu, mit "$P" stop und "$P" start (siehe Programm später wieder aufrufen). Unter „Station“ erscheinen dann die Messwerte und die Version der Firmware.
Tezuka startet beim Booten einen GPS-Dienst (gpsd) auf /dev/ttyACM0. Er würde den C3 belegen. Das Gateway beendet ihn deshalb bei jedem Start, solange mode = "serial" gilt. Hängt an dem Port wirklich ein GPS-Empfänger statt der Steuerung, setzt du stop_gpsd = false unter [pa] und mode = "none".
Hört der C3 drei Sekunden lang kein Einschaltsignal vom Gateway, schaltet er die Endstufe von selbst ab, etwa wenn das Gateway abstürzt oder das Kabel abreißt.
Firmware am Board aktualisieren
Ab Firmware 1.2.0 holt das Gateway neue Versionen selbst auf den C3, er bleibt dafür am Board stecken. Unter „Station“ steht bei der Endstufe, welche Version läuft und welche im Release liegt. Ist eine neuere da, erscheint „Aktualisieren“. Auf der Admin-Seite des Boards gibt es dafür den Bereich „PA-Firmware (ESP32-C3)“, dort lassen sich die Dateien auch ohne Internet hochladen. Das Gateway prüft die Signatur wie beim eigenen Update.
Solange das Update läuft, ist Senden gesperrt und die Endstufe bleibt aus. Es startet nur, wenn gerade niemand sendet und die Endstufe aus ist. Die neue Firmware muss sich danach melden. Tut sie das nicht, fällt der C3 nach einer Minute von selbst auf die alte zurück.
Von 1.1.0 auf 1.2.0 geht es einmal über den Bootloader des C3: auf der Admin-Seite unter „Wiederherstellen (Bootloader)“ oder in der SSH-Sitzung mit "$P" ctl pafw install --rom. Meldet sich der C3 danach nicht, steck ihn kurz ab und wieder an. Derselbe Weg hilft, wenn eine Firmware gar nicht mehr startet. Den Stand zeigt "$P" ctl pafw.
Treiber und Endstufe über Relais (optional)
Zwei Relais schalten den Treiber (DX-Patrol-1-W-Booster) und die Endstufe stromlos, solange niemand sendet. Ab Firmware 1.1.0 steuert der C3 sie über GPIO6 und GPIO7. Nach jedem Start des Gateways sind beide aus. Ein schaltest du sie selbst, im Sendefeld mit „Endstufe“; PTT schaltet sie nie ein. Solange die Endstufe aus ist, sperrt das Gateway PTT („PTT gesperrt: Endstufe aus“) und gibt sie erst frei, wenn die PA seit einer halben Sekunde Strom hat.
- 2× Relaismodul 1-Kanal 5 V mit Optokoppler (z. B. GTIWUNG), Jumper auf HIGH, Last an NO (Schließer)
- 2× 10 kΩ, 1× Stecker 3-polig für die PA-Platine, 1× 100 µF (mindestens 10 V), 1× 100 nF
- Sicherung 3 bis 4 A träge in der 12-V-Zuleitung, Leitungen ab 0,75 mm²; Last zusammen höchstens etwa 25 W an 12 V
| Von | Nach | dazwischen |
|---|---|---|
| GPIO6 | J3 Pin 1 → IN Modul Treiber | 10 kΩ von GPIO6 nach Masse |
| GPIO7 | J3 Pin 2 → IN Modul PA | 10 kΩ von GPIO7 nach Masse |
| GND | J3 Pin 3 | gemeinsam mit der Netzteilmasse |
| 5-V-Netzteil + | DC+ beider Module | direkt, nicht über den 5V-Pin des C3 oder USB; 100 µF und 100 nF an den Modulen |
| 5-V-Netzteil − | DC− beider Module | direkt |
| +12 V über Sicherung | COM beider Module | |
| NO | Plus Treiber bzw. Plus PA |
Netzteil prüfen: Das 5-V-Netzteil versorgt auch das Board. Sein Nennstrom sollte mindestens (Spitzenbedarf des LibreSDR + 0,4 A für die Module) × 1,2 betragen. Miss beim Schalten an DC+ der Module: mindestens 4,75 V. Das Board darf dabei nicht neu starten (uptime, dmesg, /dev/ttyACM0 bleibt, „Station“ zeigt weiter Werte).
Prüf jedes Modul vor dem Einbau ohne Last: Jumper auf HIGH, NO und COM offen; mit 5 V an DC+/DC− und IN an Masse bleibt es aus; IN an 3,3 V zieht an (NO und COM verbunden); IN zurück an Masse fällt ab.
Dann im Abschnitt [pa] der Konfiguration einschalten und das Gateway neu starten:
relays = true relay_idle_min = 30 # Auto-Aus nach 30 min ohne Senden, 0 = nie relay_off_on_leave = true # aus, wenn die Station frei wird
Schalten geht im Sendefeld („Endstufe ein“), auf der Admin-Seite (dort auch Treiber und PA einzeln, zum Prüfen) und in der SSH-Sitzung mit "$P" ctl pa on, "$P" ctl pa off und "$P" ctl pa für den Zustand. Der C3 schaltet erst den Treiber und 200 ms später die PA ein, beim Ausschalten erst PTT los, dann PA, dann Treiber. Hört er 15 Sekunden lang nichts vom Gateway, schaltet er beide ab.
Erst ohne Endstufe prüfen
Häng statt Ader 1 eine LED mit Vorwiderstand an die Transistorstufe. Ohne Sendefreigabe bleibt sie aus, und „Station“ zeigt ptt 0. Den ersten Test mit Senden machst du mit einer Dummy-Last am Sendeausgang des Boards, nicht mit Schüssel und Satellit.
Betriebsregeln
AMSAT-DL-Richtlinien: Pegel unter der Bake, Bandplan, Fernbetrieb nur der eigenen Station am eigenen Standort. Hinweis zur BEMFV.
Für den NB-Transponder gelten der Bandplan und die Betriebsrichtlinien von AMSAT-DL. Die Punkte, die dich mit dieser Station direkt betreffen:
- Dein Signal im Downlink darf nicht stärker sein als die Baken. Halte es unter Bakenpegel.
- Keine Aussendung über 2700 Hz Bandbreite, kein FM.
- Halte dich an die Segmente des Bandplans. Die Notfunkfrequenz 10 489,860 MHz mit ihren Schutzabständen (10 489,858 bis 10 489,865 MHz) bleibt frei. Wann und wo Contestbetrieb erlaubt ist, steht bei AMSAT-DL unter Contests on QO-100.
- Fernbetrieb über QO-100 ist nur erlaubt, wenn die Station dir selbst gehört und an deinem eigenen Standort steht. Eine Station an einem fremden Standort, etwa beim Ortsverband, fällt nach dem Wortlaut nicht darunter. Kläre das vorher mit AMSAT-DL.
Den Bandplan siehst du auch auf der QO-100-Seite und als Einblendung auf der Bedienseite.
BEMFV
Nach § 9 BEMFV musst du eine ortsfeste Amateurfunkanlage mit 10 W EIRP oder mehr vor der Inbetriebnahme bei der Bundesnetzagentur anzeigen und den Sicherheitsabstand bestimmen. Mit dem Gewinn einer Schüssel auf 2,4 GHz liegt schon eine Endstufe mit wenigen Watt darüber. Formulare und Hinweise hat die Bundesnetzagentur auf ihrer Seite Anzeige Amateurfunk. Das hier ist ein Hinweis, keine Rechtsberatung; maßgeblich ist der Text der Verordnung.
Hilfe
Wenn etwas nicht geht, das Gateway aktuell halten oder wieder entfernen.
Fehlerbehebung · Update und Deinstallation
Fehlerbehebung
Häufige Fehlerbilder und was du dann tust.
Das Log des Gateways findest du auf der Admin-Seite unten. Dort kannst du filtern und es als Datei herunterladen. In der SSH-Sitzung zeigt tail -n 50 /tmp/qo100-gw/gw.log die letzten Zeilen.
| Was du siehst | Ursache und Abhilfe |
|---|---|
ssh warnt, der Schlüssel des Geräts habe sich geändert | Mit Tezuka v0.3.12 normal nach jedem Neustart des Boards, ab v0.3.24 nur nach einem Tezuka-Update. ssh-keygen -R 192.168.1.50, dann neu anmelden. |
| Admin-Seite nicht erreichbar | Adresse im Router prüfen. Läuft das Gateway? tail /tmp/qo100-gw/gw.log zeigt es. Gibt es die Datei /mnt/jffs2/qo100/DISABLE, löschen und das Gateway starten (siehe Programm später wieder aufrufen). |
install meldet „zu wenig Platz“ | Weder im dauerhaften Speicher noch auf der SD-Karte war genug Platz. Mit df -h /boot siehst du, wie viel auf der Karte frei ist, nötig sind einige MB. Nach dem Aufräumen legt /tmp/qo100-gw-armv7 install --prog-dir /boot/qo100 das Programm ausdrücklich auf die Karte. |
| Admin-Seite nach einem Tezuka-Update nicht erreichbar, im Log „qo100-gw fehlt (SD-Karte neu formatiert?)“ | Die Karte wurde formatiert und das Programm ist weg. Neu laden wie unter Laden und /tmp/qo100-gw-armv7 install aufrufen. Konfiguration, Passwort und Kopplung bleiben. |
| Admin-Seite: „Tezuka … nicht geprüft, TX gesperrt“, Senden wird abgewiesen | Auf der Karte ist eine Tezuka-Version, mit der das Gateway nicht geprüft ist. Empfang geht weiter. Entweder die geprüfte Version aufspielen oder diese Version mit „Diese Tezuka-Version zulassen“ freigeben (siehe Tezuka aktualisieren). |
| Spektrum zeigt saubere, immer gleiche Signale, auch ohne Kabel | Das ist noch der eingebaute Probe-Transponder. Quelle umstellen wie unter Empfänger auf das SDR umstellen. |
| Log: „belegt, offen bei: … iiod“ | Ein anderes SDR-Programm ist über das Netz mit dem Board verbunden und hält den Empfänger. Programm beenden, dann das Gateway mit "$P" stop und "$P" start neu starten (siehe Programm später wieder aufrufen) oder das Board neu starten. |
| Log: „Einstellung von außen verstellt“ | Ein anderes Programm hat Frequenz oder Verstärkung geändert. Fremde SDR-Software schließen. |
| Nur Rauschen, die Bake bleibt auf „Suche“ | Speisung des LNB prüfen (13 V für vertikal, bei 18 V das LNB um 90° drehen), Ausrichtung des Spiegels, Kabel an RX1. Stimmt der Oszillator des LNB? Sonst den Assistenten mit dem richtigen Wert starten. |
| Bake wechselt oft auf „Hold“ | Die Bake ist zu schwach: Ausrichtung nachstellen, bei Regen kurzzeitig normal. |
| Kein Ton, Meldung „Ton lässt sich nicht starten“ | Die Seite ist ohne sichere Verbindung geöffnet. Über https://192.168.1.50:8443/app öffnen (siehe Bedienseite am Gateway öffnen) oder über den SSH-Tunnel und http://localhost:8074/app. |
| Kein Ton, aber keine Meldung | „▶ Ton“ anklicken, Lautstärke und Ausgabegerät unter „Einstellungen“ › „Ton“ prüfen. |
| Ton stottert | Unter „Einstellungen“ › „Ton“ einen größeren Puffer wählen. Weniger Wasserfallzeilen je Sekunde sparen Datenrate. |
| Die Signalanzeige ist rot umrandet, der Hinweis beim Darüberfahren sagt „Eingang übersteuert“ | Zu viel Signal am SDR. Ab Werk übernimmt das Gateway die Verstärkung, die Tezuka eingestellt hat. Eine feste Verstärkung in dB (erlaubt −10 bis 77) setzt du mit sed -i '/^\[rx\]/a gain = 30' /mnt/jffs2/qo100/qo100-gw.toml, prüfst mit grep gain /mnt/jffs2/qo100/qo100-gw.toml und startest das Gateway neu. Ist es danach zu leise, nimmst du einen höheren Wert: die Zeile in der Datei mit vi ändern, nicht ein zweites Mal anfügen. |
Update und Deinstallation
Gateway aktuell halten oder wieder vom Board nehmen.
Update
Das Gateway sieht nach dem Start und danach stündlich nach, ob es eine neue Version gibt. Installiert wird nur auf Knopfdruck: auf der Admin-Seite unter „Update“ mit „Installieren“, „Jetzt prüfen“ fragt sofort nach. Ohne Internet am Board lädst du die Datei mit der Endung .upd von https://afu.tools/downloads/ und spielst sie über „Paket hochladen“ ein.
Jedes Paket ist signiert, ein fremdes oder beschädigtes nimmt das Gateway nicht an. Startet die neue Version nicht sauber, kehrt es von selbst zur vorigen zurück. Die Admin-Seite lädt sich nach dem Update neu.
Tezuka aktualisieren
Tezuka hat keinen Knopf, der sich selbst aktualisiert. Das Dashboard ab v0.3.24 zeigt unter „Update“ nur, ob es eine neuere Version gibt, und verlinkt die Releases. Welche Version gerade läuft, steht auf der Admin-Seite des Gateways unter „Status“ bei „Tezuka“.
Geprüft ist das Gateway mit Tezuka v0.3.12. Mit einer anderen Version empfängt es wie gewohnt und lässt sich bedienen, sendet aber erst, wenn du diese Version auf der Admin-Seite mit „Diese Tezuka-Version zulassen“ freigibst. Die Freigabe gilt nur für genau diese Version, ein späteres Tezuka-Update sperrt das Senden wieder. Zurücknehmen kannst du sie dort ebenfalls.
- Sichere die Karte vorher, am besten als Image, mindestens aber den Ordner
qo100auf ihr. - Lade das ZIP
tezuka-libre-…der neuen Version und kopiere den Inhalt des Ordnerssdimgauf die Karte, vorhandene Dateien überschreibst du. Formatiere die Karte nicht und lass den Ordnerqo100stehen: Darin liegt das Gateway. - Karte einstecken, Board starten, in der SSH-Sitzung prüfen:
P=$(sed -n "s/^P='\(.*\)'$/\1/p" /mnt/jffs2/qo100/start.sh) "$P" tezuka check
Jede Zeile beginnt mit OK, WARN oder FEHLER, am Ende steht das Ergebnis. Die Prüfung sendet nichts und ändert nichts. WARN bei „Tezuka-Version“ heißt: nicht geprüft, Senden gesperrt bis zur Freigabe. Meldet die Shell bei "$P" „not found“, ist das Programm weg, weil die Karte doch formatiert wurde. Dann lädst du es wie unter Laden neu nach /tmp und rufst /tmp/qo100-gw-armv7 install auf. Konfiguration, Passwort und Kopplung mit afu.tools bleiben, ein neues Passwort fragt es nicht.
Zurück zur alten Version geht es genauso: die alte Tezuka-Version auf dieselbe Weise aufspielen, oder das gesicherte Image zurückschreiben.
Geklappt hat es, wenn tezuka check mit „Ergebnis: OK“ oder „Ergebnis: WARN“ endet und die Admin-Seite wieder erreichbar ist.
Deinstallation
In der SSH-Sitzung:
P=$(sed -n "s/^P='\(.*\)'$/\1/p" /mnt/jffs2/qo100/start.sh) "$P" uninstall
Nach der Rückfrage, die du mit ja beantwortest, hält das Programm das Gateway an, nimmt seinen Block aus /mnt/jffs2/autorun.sh (deine eigenen Zeilen bleiben, eine Sicherung liegt daneben) und löscht Programm, Konfiguration und /mnt/jffs2/qo100. Starte das Board danach neu, dann läuft es wieder genau wie mit Tezuka allein.
Geklappt hat es, wenn die Ausgabe mit „qo100-gw entfernt.“ endet und die Admin-Seite nach dem Neustart nicht mehr antwortet.