Jeti USB-Adapter drahtlos nutzen mit Raspberry Pi (USB-over-IP)

Diese Anleitung beschreibt, wie man den Jeti USB-Adapter (z.B. für Empfänger-Firmware-Updates mit Jeti Studio) über WLAN verwendet, ohne den Empfänger physisch zum PC bringen zu müssen. Dazu wird ein Raspberry Pi als USB-Server eingesetzt, der den Adapter über das lokale Netzwerk zur Verfügung stellt.

⚠️ WICHTIGE SICHERHEITSHINWEISE – BITTE LESEN! ⚠️

Um all jenen zu helfen, die dringend eine Remote-Upgrade-Möglichkeit für ihre in Modellen verbauten Empfänger benötigen, habe ich diesen kleinen Workaround entwickelt. Es basiert auf etwas, das man grob als USB über Netzwerk beschreiben könnte. Daher: Keine Kabel zwischen deiner Workstation und dem zu aktualisierenden Gerät.

KRITISCHER HINWEIS ZUR STROMVERSORGUNG

Eine sehr, sehr wichtige Anmerkung jedoch: Wie in der offiziellen Jeti-Dokumentation immer wieder betont wird: Du MUSST alle externen Verbindungen vom Empfänger entfernen, bevor du das Upgrade durchführst.

Der Grund ist sehr einfach: Wenn während der Initialisierung die Empfänger-Spannung unter die minimale 3,3V fällt, wird dein Empfänger unbrauchbar (erfordert eine Reparatur durch Jeti).

Dies geschieht, weil beim Einschalten des Systems ALLE Servos ebenfalls Strom benötigen, und da die meisten Leute versuchen, eine USB-Verbindung für das Upgrade zu verwenden, kann ein USB-Kabel einfach nicht genug Strom liefern, und schon brauchst du einen neuen Empfänger.

Das bedeutet letztendlich, dass du bei der aktuellen Technologie in Jeti-Empfängern sicherstellen MUSST, dass du genug Strom hast (benutze die Original-Akkus), und die +-Leitung von deinem Dongle entfernst, damit du deinen Dongle nicht zerstörst oder Schlimmeres.

Natürlich ist es deine eigene Schuld, wenn etwas abraucht – du wurdest gewarnt, den Empfänger zu entfernen und alles abzutrennen.

Haftungsausschluss

Dennoch ist dies eine nette kleine Übung, und ja, es funktioniert einwandfrei, wenn du verstehst, was du tust. Und da ich nicht garantieren kann, dass du das tust, ist dieses gesamte Projekt eingestuft als: In der Theorie könnte dies funktionieren, aber deine Ergebnisse können abweichen.

💻 Warum nicht Windows?

Eine häufig gestellte Frage: Warum funktioniert dies nicht mit Windows als Workstation?

Die Antwort ist einfach: Windows unterstützt mit usbipd-win nur das Exportieren von USB-Geräten, nicht das Importieren bzw. Verbinden mit Remote-USB-Geräten. Windows ist ausschließlich als USB/IP-Server konzipiert, nicht als Client.

Mit anderen Worten: Du kannst von Windows aus USB-Geräte für andere freigeben, aber du kannst nicht von einem anderen Rechner (wie dem Raspberry Pi) ein USB-Gerät nach Windows holen. Für diese Anleitung benötigst du daher eine Linux-basierte Workstation (Ubuntu, Debian, Mint, etc.), da nur Linux sowohl Server- als auch Client-Funktionalität für USB/IP bietet.

1. Benutzte Hardware

  1. Raspberry Pi A+ (oder Zero W, Zero 2 W, Pi 3/4) mit WLAN
  2. Original Jeti USB-Adapter (3-polig, basiert auf FTDI FT232 Serial UART IC)
  3. Stromversorgung (mind. 5 V / 1 A)
  4. Ubuntu-Workstation mit Jeti Studio
Hinweis: Der Jeti USB-Adapter verwendet einen FTDI FT232 Chip (Vendor:Product ID 0403:6001) und erscheint auf Ubuntu als /dev/ttyUSB0 Gerät.

2. Raspberry Pi vorbereiten

  1. Raspberry Pi OS Lite installieren (z.B. mit Raspberry Pi Imager)
  2. Pi starten, SSH aktivieren, WLAN einrichten
  3. System aktualisieren: sudo apt update && sudo apt upgrade -y
  4. USB/IP-Paket installieren: sudo apt install usbip
  5. Kernel-Modul laden: sudo modprobe usbip_host
  6. Angeschlossene USB-Geräte anzeigen: sudo usbip list -lErwartete Ausgabe:
    - busid 1-1 (0403:6001)
      Future Technology Devices International, Ltd : FT232 Serial (UART) IC (0403:6001)
  7. Bus-ID des Jeti-Adapters merken (bei Pi A+ typisch: 1-1)
  8. Adapter binden: sudo usbip bind -b 1-1
  9. USB/IP-Daemon starten: sudo systemctl enable --now usbipd

3. Ubuntu-Workstation einrichten

  1. System aktualisieren: sudo apt update
  2. USB/IP-Tools installieren:
    sudo apt install linux-tools-$(uname -r) linux-cloud-tools-$(uname -r)
  3. VHCI-Kernel-Modul laden: sudo modprobe vhci_hcd
  4. Verfügbare Geräte auf dem Pi anzeigen:
    usbip list -r <pi-ip-adresse>

    (z.B. usbip list -r 192.168.1.100)

    Erwartete Ausgabe:

    Exportable USB devices
    ======================
    - 192.168.1.100
        1-1: Future Technology Devices International, Ltd : FT232 Serial (UART) IC (0403:6001)
  5. Jeti-Adapter verbinden:
    sudo usbip attach -r <pi-ip-adresse> -b 1-1

    (z.B. sudo usbip attach -r 192.168.1.100 -b 1-1)

  6. Ubuntu erkennt nun den Jeti USB-Adapter als lokale Hardware
  7. Verbundene Geräte prüfen: usbip port
  8. Serielles Gerät verifizieren:
    ls -l /dev/ttyUSB*
    dmesg | grep ttyUSB

    Der Adapter sollte als /dev/ttyUSB0 erscheinen

  9. Jeti Studio starten → Geräte-Update → Adapter erscheint im Auswahlmenü

4. Hinweise und Tipps

  1. Pi und Ubuntu-PC müssen im gleichen lokalen Netz sein (kein Internet nötig)
  2. Am besten statische IP-Adresse für den Pi verwenden
  3. Verbindung vor dem Firmware-Update testen (Adapter-LED sollte wie gewohnt reagieren)
  4. Der Adapter erscheint auf Ubuntu als /dev/ttyUSB0 – dies kann mit ls -l /dev/ttyUSB* geprüft werden
  5. Stabile Stromversorgung für Pi und Adapter ist entscheidend
  6. Bei Fehlern auf dem Pi: sudo usbip unbind -b 1-1 und neu verbinden
  7. Verbindung trennen auf Ubuntu: sudo usbip detach -p <port> (Port-Nummer mit usbip port ermitteln)
  8. Module automatisch beim Start laden:
    echo "usbip_host" | sudo tee -a /etc/modules  # auf dem Pi
    echo "vhci_hcd" | sudo tee -a /etc/modules    # auf Ubuntu
  9. Bei Raspberry Pi A+ ist die Bus-ID typischerweise 1-1 (da nur ein USB-Port vorhanden)

5. Jeti Studio verwenden

Nachdem die Verbindung erfolgreich hergestellt wurde, kannst du nun Jeti Studio auf deiner Ubuntu-Workstation verwenden:

  1. Starte Jeti Studio
  2. Auf deiner Workstation erscheint nun ein neuer serieller Port: /dev/ttyUSB0
  3. Dieser Port entspricht dem über das Netzwerk verbundenen Jeti USB-Adapter
  4. In Jeti Studio:
    • Wähle Geräte → Firmware-Update oder Empfänger-Konfiguration
    • Im Dropdown-Menü für die Portauswahl sollte /dev/ttyUSB0 erscheinen
    • Wähle /dev/ttyUSB0 als Verbindungsport
    • Jeti Studio kommuniziert nun über das Netzwerk mit dem am Raspberry Pi angeschlossenen Adapter
  5. Führe das Firmware-Update oder die Konfiguration wie gewohnt durch
Hinweis: FT232-basierte Geräte (wie der Jeti USB-Adapter) erstellen ein virtuelles serielles Gerät. Unter Ubuntu erscheint dies typischerweise als /dev/ttyUSB0 (oder /dev/ttyUSB1, /dev/ttyUSB2, etc., falls bereits andere USB-Serial-Geräte angeschlossen sind).

6. Quellen und weiterführende Links

  1. Jeti Model – Offizielle Dokumentation: https://www.jetimodel.com/en/
  2. USB/IP-Projektseite: https://usbip.sourceforge.net/
  3. Linux USB/IP Dokumentation: https://www.kernel.org/doc/html/latest/usb/usbip_protocol.html

Dieses Dokument wurde mit Hilfe von Claude erstellt. Wie üblich ist diese Geschichte nur zu Unterhaltungszwecken gedacht, keine Garantien, bestimmte Handlungen könnten den magischen grauen Rauch freisetzen. Sie wurden gewarnt.