Server · RTL-SDR · rtl_tcp · Windows, Linux, Raspberry Pi & Home Assistant

rtltcp.server

Stellt einen oder mehrere RTL-SDR-Sticks im Netzwerk bereit. Er verhält sich wie das bekannte rtl_tcp, deshalb funktionieren SDR++, SDR#, GQRX und Home Radio ohne Änderung. Dazu kommt, was rtl_tcp fehlt: Er schaltet den Stick ab, wenn niemand zuhört, holt ihn zurück, wenn er kurz weg war, und sagt dem Client, was los ist.

Warum gibt es das?

Ein RTL-SDR-Stick am Raspberry Pi unterm Dach empfängt meist viel besser als einer direkt am Fernseher. Das klassische rtl_tcp bringt das Signal zwar ins Netz, ist aber empfindlich: Fällt der Stick kurz aus, ist die Verbindung weg, ein zweiter Client hängt ewig, und der Stick läuft rund um die Uhr, auch wenn niemand zuhört. rtltcp.server ist ein robuster Ersatz dafür.

Was es kann

🔌

Drop-in-Ersatz

Gleicher Port (1234), gleiches Protokoll, gleiche Befehle wie rtl_tcp. Bestehende Programme merken keinen Unterschied.

🔄

Auto-Reconnect

Stick abgesteckt oder kurz weg? Der Server findet ihn über die Seriennummer wieder, stellt Frequenz und Gain neu ein und streamt weiter.

💤

Idle-Abschaltung

Ohne Client geht der Stick nach 30 Sekunden (einstellbar) in Standby. Der nächste Client weckt ihn in rund einer Sekunde.

📶

Mehrere Sticks

Jeder Stick bekommt einen eigenen Port (1234, 1235 …) und einen Namen, z. B. „Dach-Antenne“.

🚦

Klare Regeln

Der erste Client gewinnt. Ein zweiter wird sofort getrennt und erfährt, wer gerade zuhört, statt ewig zu hängen.

💬

Protokoll rtltcp_v2

Abwärtskompatible Erweiterung mit klaren Meldungen wie „USB device lost, reconnecting“. Alte Clients merken davon nichts.

🔐

Optionale Anmeldung

Benutzer mit Zugriff auf bestimmte Sticks, per SCRAM-SHA-256 – das Passwort geht nie über das Netz. Im Heimnetz geht es ohne.

🖥️

Weboberfläche

Status jedes Sticks, Geräte, Benutzer, Einstellungen und Logs im Browser – hell und dunkel, auch am Handy.

⬆️

Automatische Updates

Unter Windows und Linux täglich zu einer festen Uhrzeit, mit Prüfsumme. Hört gerade jemand zu, wird gewartet.

🧩

Eigener Treiber

RTL2832U und R82xx-Tuner werden direkt über libusb angesprochen, ohne librtlsdr. Langsame Clients bremsen den Stick nicht.

Download

SystemDateiHinweis
Windows 10/11 ⬇ Installer (.exe) Richtet den Windows-Dienst ein und öffnet die Firewall.
Linux & Raspberry Pi Installationsskript Debian, Ubuntu, Raspberry Pi OS – x64, arm64 und armhf.
Home Assistant Add-on Home Assistant OS und Supervised, mit Weboberfläche in der Seitenleiste.

Einzelne .deb-Pakete, ältere Versionen und Prüfsummen gibt es im Repository, die Änderungen je Version im Changelog.

Nach der Installation ist die Weboberfläche unter http://<rechner>:8080/ erreichbar. Erste Anmeldung mit admin / admin, danach muss ein eigenes Passwort gesetzt werden (das Standardpasswort gilt nur im lokalen Netz). Beim ersten Start trägt der Server jeden gefundenen Stick ein, den ersten auf Port 1234.

Windows 10/11

  1. Installer starten – rtltcp-server-setup.exe herunterladen und ausführen. Er fragt die Ports ab (Weboberfläche 8080, erster Stick 1234) und prüft, ob sie frei sind.
  2. Dienst läuft – der Installer richtet den Windows-Dienst rtltcp.server ein (startet automatisch, Neustart bei Fehlern) und öffnet die Firewall für private und Domänen-Netze.
  3. Treiber für den Stick – einmalig mit Zadig den WinUSB-Treiber installieren: Options → List All Devices, „Bulk-In, Interface (Interface 0)“ bzw. „RTL2832U“ wählen, Treiber WinUSB.
  4. Weboberfläche öffnen – über das Startmenü (rtltcp.server) oder http://localhost:8080/.

Linux & Raspberry Pi

Für Debian, Ubuntu und Raspberry Pi OS – auf dem Rechner, an dem der Stick hängt:

curl -fsSL https://repository.jaycloud.at/repository/rtltcp.server/linux/release/latest/install.sh | bash

Das Skript fragt die Ports ab, prüft die Prüfsumme und installiert das passende Paket für x64, arm64 oder armhf (32-bit Pi). Es richtet den systemd-Dienst rtltcp-server ein (eigener Benutzer rtltcp, Daten in /var/lib/rtltcp-server), dazu eine udev-Regel für den Stick und eine Sperre für den DVB-T-Kerneltreiber.

Home Assistant

Unter Einstellungen → System → Info → Installationsart steht, welcher Weg passt: Bei Home Assistant OS und Supervised das Add-on, bei Container oder Core direkt installieren wie unter Linux.

  1. Repository hinzufügen – Einstellungen → Add-ons → Add-on Store, oben rechts ⋮ → Repositories und diese Adresse eintragen:
    https://github.com/JayLo1401/rtltcp.server
  2. Store neu laden (⋮ → Nach Updates suchen). Unten erscheint rtltcp.server (jaycloud).
  3. Installieren – Home Assistant baut das Add-on auf dem Gerät, das dauert ein bis zwei Minuten.
  4. Starten – optional vorher In Seitenleiste anzeigen einschalten.
  5. Weboberfläche öffnen – die Anmeldung übernimmt Home Assistant. Unter Status sollte der Stick erscheinen, der erste auf Port 1234.

Mehr dazu, inklusive Fehlersuche: Anleitung Home Assistant.

Client verbinden

In SDR++, SDR#, GQRX oder Home Radio als rtl_tcp-Quelle die Adresse des Servers (z. B. 192.168.1.10) und Port 1234 eintragen. Tipp: Bei einem starken Sender in der Nähe übersteuert die automatische Verstärkung – dann in der Weboberfläche unter Geräte einen festen Gain setzen, z. B. 14,4 dB.

Admin-Passwort vergessen? rtltcp-server admin reset setzt den Login auf admin / admin zurück (Linux: sudo -u rtltcp rtltcp-server admin reset --data /var/lib/rtltcp-server, Windows: als Administrator im Installationsordner).

Alle Konfigurationsfelder, die Protokollbeschreibung und der Aufbau stehen im README auf GitHub.

Unterstützte Hardware

TunerStatusBeispiele
R820T / R820T2✅ getestetNooElec NESDR SMArt v5, RTL-SDR Blog V3
R828D⚠️ eingebaut, ungetestetRTL-SDR Blog V4
E4000, FC0012/13❌ noch nichtältere DVB-T-Sticks

Bekannte Grenzen

Lizenz

rtltcp.server steht unter der PolyForm Noncommercial 1.0.0: Für private und nicht-kommerzielle Zwecke frei nutzbar und veränderbar, auch für Vereine, Schulen und gemeinnützige Organisationen. Verkaufen, als bezahlten Dienst anbieten oder in kommerzielle Produkte einbauen ist nicht erlaubt.

Mitgeliefert wird libusb (LGPL-2.1) unter seiner eigenen Lizenz, siehe THIRD-PARTY-NOTICES.

Ohne Gewähr

rtltcp.server ist ein Hobbyprojekt. Der USB-Treiber ist selbst geschrieben – nicht jeder Stick wird perfekt funktionieren. Wer den Server aus dem Internet erreichbar macht, sollte die Anmeldung einschalten.