Du betrachtest gerade OpenWRT als Minimal-Image auf dem TP-Link TL-WR902AC (V3 & V4)

OpenWRT als Minimal-Image auf dem TP-Link TL-WR902AC (V3 & V4)

Vorwort und Hinweis

Bitte diese Anleitung nur nachmachen, wenn man gewisse Basics im Umgang mit Computern und Netzwerk beherrscht.
Auch die Modifikation der Stromversorgung auf 3.3V ist nicht für jeden geeignet.

Wer sich diese Schritte nicht zutraut, hier meine Empfehlung: Den WR902AC mit einem LHY Batterie Netzteil betreiben und beim Betrieb das Netzteil vom Stromnetz trennen: https://www.beatechnik.com/lhy-audio-batt-1>
Wenn man keine Batterie nehmen möchte, dann mindestens ein Linearnetzteil.

Ausschlaggebend für die Klangsteigerung durch den WR100AC sind in folgender Reihenfolge:
a) Isolation der Stromversorgung vom Stromnetz– wie hier schon 2023 in meinem Artikel beschrieben: https://ethernet-sound.com/tp-link-tl-wr902ac-im-akku-modus-100ige-isolierung/
b) Störungsfreiheit der Stromversorgung – mit dem Ian Canada und dem 3.3V Mod hier erklärt: https://ethernet-sound.com/tp-link-tl-wr902ac-modifikationen-part-ii-hardware/
c) Optimierte Firmware – wie hier in diesem Artikel beschrieben.

WR902AC als WLAN Client – Update per TFTP und Einrichtung als minimal Relay-Client (SSH-basiert)

Im vorhergehenden Artikel
👉 https://ethernet-sound.com/open-wrt-betriebssystem-auf-dem-tp-link-tl-wr902ac-v3/
habe ich beschrieben, wie sich OpenWrt grundsätzlich auf dem TP-Link TL-WR902AC installieren lässt.

Dieser Folgeartikel geht bewusst einen Schritt weiter und zeigt:

  • warum ein Minimal-OpenWRT-Image sinnvoll ist
  • wie der WR902AC V3 und V4 per TFTP aktualisiert wird
  • und wie das Gerät anschließend per SSH als reiner WLAN-Client im Relay-Betrieb einfach konfiguriert wird

Der Fokus liegt dabei konsequent auf Reduktion, Stabilität und Reproduzierbarkeit.


Motivation: Warum OpenWrt – und warum ein Minimal-Image?

Im audiophilen Netzwerkbetrieb ist der Router bzw. hier der WLAN Client kein klassisches IT-Gerät, sondern Teil der Signal- und Versorgungsumgebung eines Streamers.

Meine subjektive, aber reproduzierbare Beobachtung:

  • OpenWRT klingt im Betrieb ruhiger und präziser
  • Transienten wirken sauberer
  • das Klangbild erscheint stabiler und weniger nervös

Mit einem Minimal-Image wird zusätzlich erreicht:

  • geringere CPU-Last
  • weniger Hintergrunddienste
  • weniger Interrupt-Aktivität
  • reduzierte elektrische Störungen

All das kann sich – je nach Setup – hörbar auswirken.
Der WR902AC wird hier nicht als Router genutzt, sondern als transparentes WLAN-zu-Ethernet-Interface.


Die verwendeten Minimal-Images

Für diesen Artikel werden speziell erstellte Recovery-Images genutzt:

  • WR902AC V3:
    tp_recovery-min-v3.bin
  • WR902AC V4:
    tp_recovery-min-v4.bin

Beide Images werden als Download im Forum für registrierte Nutzer bereitgestellt: https://ethernet-sound.com/forums/topic/tp-link-tl-wr902ac/page/25/?view=all#post-5484


Was wurde im Minimal-Image weggelassen – und warum?

Grundprinzip

  • kein Webinterface (LuCI)
  • keine Firewall-Logik
  • kein DHCP-Server
  • kein NAT
  • kein Routing
  • kein Access-Point-Betrieb
  • nur das absolut Notwendige

Der WR902AC arbeitet damit ausschließlich als Relay-Client.

Vorbereitung unter Windows 11

Statische IP-Adresse setzen (zweistufig!)

Für den gesamten Vorgang sind zwei unterschiedliche IP-Bereiche notwendig:

PhaseIP-Adresse des PCs
TFTP-Recovery192.168.0.66
OpenWrt / SSH192.168.1.66

Die IP-Adresse muss zwischen diesen beiden Phasen manuell umgestellt werden.


Phase 1: Statische IP für TFTP-Recovery

Zielwerte

IP-Adresse:    192.168.0.66
Subnetzmaske:  255.255.255.0
Gateway:       leer
DNS:           leer

Windows-11-Schritte

  1. Start → Einstellungen
  2. Netzwerk & Internet
  3. Ethernet
  4. IP-Zuweisungbearbeiten
  5. Internetprotokoll Version 4 (TCP/IPv4)
  6. Automatisch (DHCP) -> Manuell umstellen
  7. IPV4 anschalten
  8. Die obigen Zielwerte eingeben
  9. Speichern

Schritt 1: Update per TFTP (Recovery-Modus)

  1. TFTP64 downloaden https://pjo2.github.io/tftpd64/ https://github.com/PJO2/tftpd64/releases/download/v4.74/Tftpd32_Installer_v4.74.exe
  2. PC per LAN direkt mit dem WR902AC verbinden
  3. TFTPD64 -Server starten
  4. Image ins TFTP-Root legen und in tp_recovery.bin umbenennen
  5. Router vom Strom trennen
  6. Reset-Taste gedrückt halten
  7. Strom wieder anschließen
  8. Reset gedrückt halten, bis der TFTP-Transfer startet
  9. Warten, bis der Router automatisch neu startet

Phase 2: Statische IP für OpenWrt / SSH

Nach dem Flash läuft OpenWrt unter 192.168.1.1.

Zielwerte

IP-Adresse:    192.168.1.66
Subnetzmaske:  255.255.255.0
Gateway:       leer
DNS:           leer

➡️ Vorgehen identisch wie zuvor, nur die IP-Adresse ändern.


CMD (Eingabeaufforderung) starten

  1. Windows-Taste drücken
  2. cmd eingeben
  3. Eingabeaufforderung starten

SSH-Login auf OpenWrt

ssh root@192.168.1.1
  • Benutzer: root
  • Passwort: keines

Beim ersten Login:

Are you sure you want to continue connecting (yes/no)?

yes eingeben.

Konfiguration als Relay-Client per Script (SSH)

Die eigentliche Einrichtung des WR902AC erfolgt ausschließlich per Kommandozeile (SSH).
Es wird kein Editor, keine Datei und keine manuelle Konfiguration benötigt.

Der jeweilige Codeblock wird einfach komplett kopiert und direkt in die SSH-Shell eingefügt.

Wichtig vorab

  • Die SSH-Verbindung muss aktiv sein: ssh root@192.168.1.1
  • Der komplette Script-Block wird in einem Stück kopiert
  • Anschließend einmal Enter drücken
  • OpenWrt übernimmt die Konfiguration automatisch

Platzhalter anpassen

In beiden Varianten müssen zwingend folgende Platzhalter ersetzt werden:

MEIN_WLAN_NAME
MEIN_WLAN_PASSWORT

➡️ Hier trägst du die Zugangsdaten deines eigenen WLANs ein.

Hinweis zur Verschlüsselung

encryption='psk2'
  • WPA2-PSK mit AES/CCMP
  • sehr stabil
  • breit kompatibel
  • bewusst gewählt für einen störungsarmen Dauerbetrieb

IP-Adresse des Clients

In der hier beschriebenen Konfiguration behält der WR902AC auf seinem Ethernet-Interface dauerhaft die statische IP-Adresse 192.168.1.1.

Über diese Adresse bleibt der Client jederzeit direkt per SSH erreichbar.
Möchte man zu einem späteren Zeitpunkt erneut Änderungen vornehmen oder den Status prüfen, muss der Laptop oder PC per Ethernet-Kabel direkt mit dem WR902AC verbunden werden.

Da der Client keinen DHCP-Server bereitstellt, ist es in diesem Fall notwendig, dem Laptop oder PC manuell eine passende statische IP-Adresse zuzuweisen, wie zuvor in der Anleitung beschrieben (z. B. 192.168.1.66).


Anpassung bei Adresskonflikten

Sollte der IP-Adressbereich 192.168.1.x bereits vom vorhandenen WLAN oder dem Router genutzt werden, empfiehlt es sich, die statische Adresse des Clients anzupassen.

Beispiel:

  • statt 192.168.1.1
  • z. B. 192.168.2.1

In diesem Fall muss die IP-Adresse entsprechend in den verwendeten Scripts geändert werden, insbesondere in den folgenden Zeilen:

set network.lan.ipaddr='192.168.1.1'

Diese dann z. B. ersetzen durch:

set network.lan.ipaddr='192.168.2.1'

Ebenso muss der Laptop oder PC beim späteren Zugriff eine passende statische IP aus demselben Netz erhalten (z. B. 192.168.2.66).


Variante 1: 5-GHz-WLAN-Client (von mir verwendet)

Diese Variante nutzt ausschließlich das 5-GHz-Band.
Das 2,4-GHz-Radio wird vollständig deaktiviert.

Vorgehen

  1. Den kompletten Codeblock markieren
  2. Kopieren
  3. In die SSH-Shell einfügen
  4. Enter drücken
uci -q batch <<'EOF'
# 5 GHz Radio aktivieren
set wireless.radio1.country='DE'
set wireless.radio1.disabled='0'
set wireless.radio1.band='5g'

# 2.4 GHz Radio deaktivieren
set wireless.radio0.disabled='1'

# 5 GHz als Client (STA) konfigurieren
add wireless wifi-iface
set wireless.@wifi-iface[-1].device='radio1'
set wireless.@wifi-iface[-1].mode='sta'
set wireless.@wifi-iface[-1].network='wwan'
set wireless.@wifi-iface[-1].ssid='MEIN_WLAN_NAME'
set wireless.@wifi-iface[-1].encryption='psk2'
set wireless.@wifi-iface[-1].key='MEIN_WLAN_PASSWORT'

# Standard-APs entfernen
delete wireless.default_radio0
delete wireless.default_radio1

# WWAN per DHCP
set network.wwan='interface'
set network.wwan.proto='dhcp'

# LAN statisch
set network.lan.proto='static'
set network.lan.ipaddr='192.168.1.1'
set network.lan.netmask='255.255.255.0'

# relayd Bridge
set network.repeater_bridge='interface'
set network.repeater_bridge.proto='relay'
set network.repeater_bridge.network='lan wwan'

commit wireless
commit network
EOF

Variante 2: 2,4-GHz-WLAN-Client

Diese Variante nutzt ausschließlich das 2,4-GHz-Band.
Das 5-GHz-Radio wird deaktiviert.

Die Vorgehensweise ist identisch zur 5-GHz-Variante.

uci -q batch <<'EOF'
# 2.4 GHz Radio aktivieren
set wireless.radio0.country='DE'
set wireless.radio0.disabled='0'
set wireless.radio0.band='2g'

# 5 GHz Radio deaktivieren
set wireless.radio1.disabled='1'

# 2.4 GHz als Client (STA) konfigurieren
add wireless wifi-iface
set wireless.@wifi-iface[-1].device='radio0'
set wireless.@wifi-iface[-1].mode='sta'
set wireless.@wifi-iface[-1].network='wwan'
set wireless.@wifi-iface[-1].ssid='MEIN_WLAN_NAME'
set wireless.@wifi-iface[-1].encryption='psk2'
set wireless.@wifi-iface[-1].key='MEIN_WLAN_PASSWORT'

# Standard-APs entfernen
delete wireless.default_radio0
delete wireless.default_radio1

# WWAN per DHCP
set network.wwan='interface'
set network.wwan.proto='dhcp'

# LAN statisch
set network.lan.proto='static'
set network.lan.ipaddr='192.168.1.1'
set network.lan.netmask='255.255.255.0'

# relayd Bridge
set network.repeater_bridge='interface'
set network.repeater_bridge.proto='relay'
set network.repeater_bridge.network='lan wwan'

commit wireless
commit network
EOF

Aktivieren der Konfiguration

Nach dem Einfügen eines der beiden Scripts muss die Konfiguration aktiviert werden.

Dazu einfach folgende Befehle eingeben:

wifi reload
/etc/init.d/network restart

Was passiert jetzt?

  • Die SSH-Verbindung bricht ab
  • Der WR902AC verbindet sich mit dem WLAN
  • Der Router arbeitet ab jetzt als Relay-Client
  • Die IP-Adresse wird vom Haupt-Router vergeben

➡️ Das ist korrektes Verhalten und kein Fehler.


Bei Problemen: Komplett zurücksetzen

Falls sich ein Fehler eingeschlichen hat oder keine Verbindung zustande kommt:

firstboot -y
reboot

Danach befindet sich das Gerät wieder im Ausgangszustand und die Einrichtung kann erneut durchgeführt werden.


Fazit

Mit diesem Setup wird der TP-Link TL-WR902AC zu einem:

  • extrem schlanken WLAN-Ethernet-Bridge-Modul
  • mit minimaler Systemlast
  • hoher Stabilität
  • und reproduzierbarer Konfiguration

Ich hoffe, die Anleitung ist verständlich beschrieben und für Euch gut nachvollziehbar.
Hinweise, Ergänzungen oder Verbesserungsvorschläge sind jederzeit herzlich willkommen.

Dann wünsche ich Euch viel Spaß beim möglichst entstörten und entspannten Musikgenießen.

Viele Grüße
Eric

Dieser Beitrag hat einen Kommentar

  1. Eric

    Hier eine Anleitung für die Apple User von ChatGPT gibt:

    ✅ Vorbereitung (macOS)

    1) Firmware herunterladen

    Du brauchst die gleichen Minimal-OpenWrt-TFTP-Images wie im Originalartikel.
    Beachte: für V3 und V4 gibt es unterschiedliche Dateien (tp_recovery-min-v3.bin, tp_recovery-min-v4.bin).

    Lade sie auf deinen Mac und benenne die gewünschte Version um:

    tp_recovery.bin

    🔁 Phase 1: TFTP-Recovery

    📶 Ethernet-Port konfigurieren

    macOS → System Settings → Network → Ethernet → Configure IPv4: Manually

    Setze:

    IP: 192.168.0.66
    Subnet: 255.255.255.0
    Router / DNS: leer

    🔁 *Das entspricht exakt der Windows-IP aus dem Original, nur auf macOS-Netzwerkeinstellung.*

    🛠️ TFTP-Server starten (macOS Terminal)

    macOS hat einen eingebauten TFTP-Daemon.
    Öffne Terminal und führe aus:

    sudo mkdir -p /private/tftpboot
    sudo cp /path/to/tp_recovery.bin /private/tftpboot/
    sudo chmod 777 /private/tftpboot/tp_recovery.bin
    sudo launchctl load -F /System/Library/LaunchDaemons/tftp.plist

    > Hinweis: Der System-TFTP-Server sucht im Verzeichnis /private/tftpboot.
    Bei macOS Sonoma/Sequoia ist dieser Schritt identisch, nur die IP-Konfig bleibt wichtig.

    📡 FLASHEN im Recovery-Modus (wie im Original)

    1. Router Netz trennen
    2. Reset-Button gedrückt halten
    3. Strom wieder anschließen → Router beginnt TFTP-Download
    → LEDs blinken, sobald Transfer beginnt*

    Wenn alles korrekt ist, lädt der Router das OpenWrt-Image automatisch über TFTP herunter.

    🔌 Phase 2: IP für OpenWrt/SSH

    Nach erfolgreichem Flash rebootet der Router mit OpenWrt.

    macOS → Network → Ethernet → Configure IPv4: Manually

    IP: 192.168.1.66
    Subnet: 255.255.255.0
    Router: leer
    DNS: leer

    Das entspricht der Phase 2 im Windows-Tutorial.

    🔐 SSH-Login

    Öffne Terminal auf dem Mac und verbinde:

    ssh root@192.168.1.1

    Beim ersten Login folge der Prompt-Bestätigung (yes) und setze optional ein Passwort.

    🧠 Router-Konfiguration (Relay-Client-Scripts)

    Die SSH-Konfiguration im Artikel bleibt unverändert – du kannst die Code-Blöcke direkt in Terminal einfügen.

    Beachte:

    Du musst WLAN-SSID + Passwort im Script ersetzen.

    Falls der Router noch in Client-Modus ist, resetten → Neustart → SSH wieder herstellen.

    📌 Wichtige Hinweise

    TFTP-Timing

    Beim TP-Link TL-WR902AC v3/v4 starte den TFTP-Transfer innerhalb der kurzen Boot-TFTP-Fensterzeit.
    Die Originalanleitung beschreibt ~8 s nach Reset/Power-on.

    Versions-Check

    Nutze wirklich das richtige Minimal-Image für V3 oder V4.

    Falsche Version → Gerät kann unbrauchbar werden.

    Geräte-Warnung

    Der TL-WR902AC hat begrenzte Flash/RAM → aktuelle OpenWrt-Pakete evtl. nicht installierbar.

    📝 Zusammenfassung der macOS-Abweichungen

    Schritt Windows 11 macOS (neu)

    Statische IP Netzwerk-GUI Windows System Settings → Network
    TFTP-Server TFTPD64 (GUI) macOS Terminal + builtin tftp
    CMD/SSH cmd.exe & PuTTY macOS Terminal
    Datei-Root für TFTP TFTP-Root (Windows) /private/tftpboot/
    SSH-Client PuTTY Terminal (ssh builtin)

Schreibe einen Kommentar