Raspberry Pi 4 als KVM over IP Switch mit Pi-KVM

Eine vollwertige KVM over IP Konsole mit einem Raspberry Pi, ein bischen zusätzlicher Hardware und Pi-KVM.

16.11.2021 - Anleitung aktualisiert (Fehler beim update, repo Pfad geändert)
24.10.2021 - Anleitung aktualisiert (Pi-KVM Images download links)
26.04.2021 - Anleitung aktualisiert (Pi-KVM mit VNC)
30.01.2021 - Pi-KVM Case Mod #1 (Netgear FS108)

Server oder Workstations können damit vollständig remote verwaltet werden. Unabhängig vom Zustand des Betriebssystems.
Probleme beheben, BIOS konfigurieren oder einfach das Betriebssystem mithilfe der virtuellen CD-ROM oder des Flash-Laufwerks neu installieren.

Meine Anleitung basiert auf der DIY v2 Variante mit einem Raspberry Pi 4 und einer HDMI zu CSI-2 Bridge. (empfohlenes Setup)

benötigte Hardware

  • Raspberry Pi 4 (die 2GB Variante ist ausreichend)
  • microSD Karte (mindestens 16GB Class 10)
  • HDMI zu CSI-2 Modul (Video Capture Karte, geringe Latenz ~100ms, basiert auf dem TC358743 Chip) AliExpress, Amazon, BerryBase
  • HDMI Kabel (von der Capture Karte zum PC ⇒ Bildsignal)
  • USB-A auf USB-C Kabel (vom Power Splitter zum PC ⇒ Tastatur, Maus)
  • USB-C auf USB-C Kabel (vom Power Splitter zum Pi ⇒ Stromversorgung)
  • USB-C Power Splitter, 3x USB-C (damit kann das originale Pi Netzteil verwendet werden)
  • USB-C Power Splitter Alternativen (siehe Kommentar von Fitz)
  • VGA auf HDMI Konverter (wenn der Server nur VGA hat)

Das HDMI/CSI-2 Modul hab ich bei Amazon bestellt da ich nicht so lange warten wollte. ;)
Der USB-C Splitter von Tindie war in 4 Tagen aus England da!

Pi-KVM OS installieren

Image herunterladen und mit dem Win32 Disk Imager auf die microSD Karte schreiben. (v2-hdmi-rpi4.img.bz2)
Das Image Format hat sich von .bz2 auf .xz geändert. v2-hdmi-rpi4-latest.img.xz oder aus dem Image Archiv.

Per SSH kann man sich jetzt mit dem Pi-KVM verbinden. (Benutzer und Passwort: root)

Nach der ersten Installation sollte das System aktualisiert werden.

[root@pikvm ~] rw
[root@pikvm ~] pacman -Syu
[root@pikvm ~] reboot

Passwörter ändern.

[root@pikvm ~] rw
[root@pikvm ~] passwd                      # Passwort für root ändern
[root@pikvm ~] kvmd-htpasswd set admin     # Passwort für Pi-KVM Web ändern
[root@pikvm ~] ro

Das Webinterface im Browser aufrufen. https://pikvm oder https://ip-adresse (Benutzer und Passwort: admin)

Von einer hochgeladenen ISO booten.

Dell Server mit dem VGA auf HDMI Konverter.

Pi-KVM mit VNC

Als Alternative zum Webinterface kann auch ein VNC Viewer genutzt werden. Getestet mit UltraVNC und TigerVNC.

Zuerst das System wieder rw mounten.

[root@pikvm ~] rw

In der /etc/kvmd/override.yaml die passende Keymap und den VNC Password Mode aktivieren.

vnc:
    keymap: /usr/share/kvmd/keymaps/de
    auth:
        vncauth:
            enabled: true

Benutzer anlegen. (Ich erstelle mir einen neuen Benutzer vnc mit Passwort 202104)

[root@pikvm ~] kvmd-htpasswd set vnc

Benutzer und Passwort in der /etc/kvmd/vncpasswd eintragen.

202104 -> vnc:202104

Den VNC Server aktivieren und starten.

[root@pikvm ~] systemctl enable kvmd-vnc
[root@pikvm ~] systemctl start kvmd-vnc

System wieder ro mounten.

[root@pikvm ~] rw

Der UltraVNC verbindet sich mit den default Einstellungen. Beim TigerVNC unter Options → Security, Encryption None und Authentication Standard VNC.

Pi-KVM Gehäuse

Ich hab noch keine Ahnung wie ich alles gut und geschützt in ein Gehäuse packen soll, mal schauen. Vielleicht gibt’s eine 1HE Variante für’s Serverrack ;)

Pi-KVM Case Mod #1 (Netgear FS108)

  • Gehäuse eines Netgear FS108 Switch (bekommt man für ein paar Euro auf ebay)
  • kurzes USB-C Kabel, 20cm (Amazon)
  • M3 Schrauben, Muttern, Distanzhülsen, Unterlegscheiben
  • den LED Block hab ich aus der Platine rausgetrennt, kommt mit einem 330 Ohm Widerstand an den Pi als Power LED (Pin 6 GND, Pin 8 TxD)
  • die Bohrungen der Platinen auf 3mm erweitern
  • damit es keine Kurzschlüsse gibt, ein Stück Plastik unter dem Pi und LED Ausschnitt befestigen
  • Streifen Lochblech um vorne den Ausschnitt zu verdecken (ist aus nem alten PC Gehäuse)

Alles gut geschützt in einem soliden Metallgehäuse untergebracht. (Lackierung folgt…)

Pi-KVM Links

Pi-KVM Update Fehler

Mein Pi-KVM war längere Zeit aus und ich wollte ihn heute (16.11.2021) mal updaten. Erhielt aber folgenden Fehler:
error: failed retrieving file ‘pikvm.db’ from pikvm.org : The requested URL returned error: 404

$ pacman -Syu
:: Synchronizing package databases...
 core is up to date
 extra is up to date
 community is up to date
 alarm is up to date
 aur is up to date
 pikvm.db failed to download
error: failed retrieving file 'pikvm.db' from pikvm.org : The requested URL returned error: 404
error: failed to synchronize all databases (failed to retrieve some files)

Der Pfad zu den repos hat sich geändert. In aktuellen Images steht in der /etc/pacman.conf

[pikvm]
#Server = https://pikvm.org/repos/rpi4                   # alt, error 404
Server = https://files.pikvm.org/repos/arch//rpi4-arm    # neu, OK
SigLevel = Required DatabaseOptional

Mit dem aktualisierten Pfad war das Problem gelöst.

Pi-KVM v3 coming soon…

Wer nicht selber basteln will kann auf die v3 warten, ein HAT für den Pi 4. Soll ab April 2021 für ca. $130 verfügbar sein.
https://github.com/pikvm/pikvm#pikvm-v3-hat-features

47 Gedanken zu „Raspberry Pi 4 als KVM over IP Switch mit Pi-KVM“

  1. Hallo, erstmal super Blog. Verfolge ich regelmäßig.
    Der USB-C/PWR Splitter aus UK kann leider ncht mehr nach Deutschland geliefert werden (???)

    The following items cannot be shipped to your country and have been removed from your cart:
    USB-C/PWR Splitter

    Gibts alternativen? Ich hab leider nichts vergleichbares gefunden… Gruß Peter

    Antworten
  2. Moin, ich habe nach Deiner Anleitung auch meinen NUC remote administrierbar gemacht. Super Beitrag hat ohne Probleme funktioniert.

    Gruß Thoralf

    Antworten
  3. Guten Tag,

    In der WEB-UI gibts auch den Reiter ATX.
    Wie funktioniert dies mit diesem Setup? Ist es möglich so den Server auch hardware mäßig zu rebooten?

    Ich sehe hier keine Verbindung zum Mainboard?

    Antworten
  4. Hi,
    und erstmal tolle Anleitung, Danke!

    Funktioniert eigentlich auch der (Micro) HDMI.Ausgang des Raspi?
    Sodass mann den Pi-KVM zwischen PC und Monitor schalten kann??

    Antworten
  5. Hallo Michael, ich bekomme im aktuellen Chrome den Fehler “NET::ERR_CERT_INVALID”. Weist du, wie das für den Chrome konfigurieren kann, sodass es auch mit diesem Browser geht? (andere Browser funktionieren; dort kann man eine Ausnahme definieren)

    Danke & VG

    Antworten
    • Im Google Chrome kannst du doch unten auf erweitert und zulassen (unsicher), oder?
      Klick mal im Browser auf die Fehlermeldung. (Zertifikat wird dann angezeigt)

      Da hatte ich bei mir noch keinerlei Probleme mit.

      Antworten
      • …bei allen anderen Seiten ist das so wie von dir beschrieben – nur hier leider nicht. Andere Browser gehen – nur der Chrome will nicht. Cookies & Co. habe ich schon gelöscht.

        Aber Danke für deine Ergänzung.

        Antworten
        • Kann ich nicht nachvollziehen. Da wirst du googeln und probieren müssen.

          – wenn die Warnung erscheint, auf einen freien Bereich klicken und einfach mal thisisunsafe tippen
          – starte Chrome mal mit dem Parameter --ignore-certificate-errors
          – in der Adresszeile von Chrome eingeben: chrome://flags/#allow-insecure-localhost und auf enabled setzen

          Antworten
  6. Unter Benutzung eines HDMI Splitters kann man die Ausgabe lokal auch auf einen Bildschirm ausgeben – siehe :

    https://www.amazon.de/GANA-Aluminium-Bidirektionaler-Umschalter-unterst%C3%BCtzt-Silber/dp/B07K2PW2RQ

    und sowie Keyboard und Maus kann man ebenfalls an den lokalen Rechner anstecken – der hat dann eben zwei Keyboards.

    Was ich anregen möchte sind zwei Ausgänge um den Powerbutton und den Reset-Button remote drücken zu können,
    sowie einen Eingang (entweder direkt oder über LDR/Photodiode) um der Zustand der Power LED abfragen zu können.

    mit freundlichen Grüßen
    bitranox, Wien

    Antworten
  7. Wie kann ich den VNC mit “UltraVNC Viewer” von Windows 10 nutzen?

    Ist es möglich anstatt den CSItoHDMI Adapter die Raspberry Camera oder eine USB Kamera zu nutzen?

    Aus der Doku auf Github werde ich nicht ganz schlau :/

    Antworten
    • Hab meine Anleitung zur VNC Einrichtung erweitert.

      Eine Kamera kann nicht genutzt werden. Das Videosignal muss mit einem Capture Device abgegriffen werden.
      Das geht nur mit der HDMI/CSI-2 Bridge oder einem HDMI/USB Dongle.

      Antworten
  8. Hallo Michael,

    auch dieser Beitrag war mal wieder sehr hilfreich.
    – Hast du eine Idee wie man wireguard mit drauf installiert?
    – Den angeschlossenen Rechner wieder starten zu können, wenn er sich aufgehängt haben sollte oder WOL nicht reagiert, wäre super.

    Gibt es eine Möglichkeit z.B. Power oder Reset mit auf PINs zu legen? Gerade Geräte mit Bitlocker schalten sich gerne aus und gehewn dann auch nicht über funk an…

    Habe als USB-C-Splitter Kopfhörersplitter für Handys zugelegt und die funktionieren beide. Zum Verbauen wäre der Splitter sicherlich sehr gut.
    Habe die CSI-2 in ein Raspberry Gehäuse eingebaut mit überschaubarem Aufwand. Geht sicherlich nicht mit allen Gehäusen, aber die Platine hätte ich da sicherlich auch noch einbauen können…

    Danke
    Michael

    Antworten
  9. Hallo,
    ich würde gerne den PIKVM an einem Server anschließen, das Problem ist, dass der Server nur einen VGA anschluss hat.
    Hab versucht einen VGA zu HDMI- Adapter zwischen zu machen, das leider nicht funktioniert.
    Hat da vielleicht jemand eine Idee, ohne das Teil großartig umbauen zu müssen?

    Schöne Grüße

    Andreas

    Antworten
  10. Vielen Dank für die Idee mit dem Netgear Switch Gehäuse, ich hab das in abgewandelter Form nachgebaut. Bei mir ist der Pi vorne links im Gehäuse, da ich weiterhin an die Anschlüsse an der Seite rankommen möchte. Daneben hab ich das CSI Modul montiert. Wenn man möchte, könnte man rechts hinten im Gehäuse noch ein schmales 4-Kanal Relais montieren, mit dem man bis zu 4 Computer einschalten kann.

    Viele Grüße
    Florian

    Antworten
    • Ich nutze einen Raspberry Pi 4 mit 1GB RAM OHNE Kühlung! Die CPU Temperatur bleibt bei ca. 60°C.

      Ja, ein Lüfter wird empfohlen ist aber nicht zwingend notwendig. Kommt auch immer auf die Anwendung an.
      Ausprobieren und die Temperatur im Auge behalten und ggf. einen Lüfter nachrüsten.

      Antworten
  11. Ich habe nachdem ich diesen Artikel hier gelesen habe die letzten Tage ebenfalls einen PiKVM gebastelt.
    Klein angefangen und dann doch noch weiter ausgebaut.

    Das erste Problem was ich hatte war das einer meiner 4 Rechner schon ein wenig älter ist und den bei PiKVM beschriebenen Bios Bug hat und die OTG Maus/Tastatur nicht erkennt. Ich musste mir also auch noch das Arduino Board zusammenlöten.

    Einen Ezcoo KVM Switch habe ich mir auch noch besorgt.

    Hier sind mal zwei Bilder des fertigen Konstrukts. Es ist keine Schönheit aber funktioniert. Spannung bekommt alles über den Pi4 der mit dem original Netzteil betrieben wird.

    https://ibb.co/XtC38HT
    https://ibb.co/qDfjxN0

    Antworten
  12. Ich habe das ganze noch ein wenig weiter getrieben da ich ansich 5 Ports brauche. Erst wollte ich das mit einer HDMI Matrix und einem weiteren KVM Switch machen. Das Problem was dann enstanden wäre ist aber das ich die Matrix nicht per Webif umschalten kann. Also dachte ich mir es müsste doch gehen zwei identische ezcoo Switches zu Daisychainen. Also habe ich mir einen zweiten besorgt und es einfach ausprobiert. Es funktioniert einwandfrei und ich habe nun 7 nutzbare Ports welche sich alle per Webif schalten lassen.

    Ich habe auf Reddit mal einen Beitrag dazu gepostet mit weiteren Bildern: https://www.reddit.com/r/pikvm/comments/ocxdun/pikvm_works_with_daisychained_2x_ezcoo_switch/

    Antworten
  13. Hi,

    danke für die Einblicke hier, die mich hauptsächlich dazu bewegt haben, den Pi-KVM in dieser Form zu bauen. Habe allerdings noch einige Features ergänzt, da ich ihn hauptsächlich portabel beim kunden vor Ort nutzen möchte (WLAN und HDMI Passthrough) Habe auch einen kleinen Beitrag auf meinem Blog geschrieben: https://henkas.de/index.php/2021/07/17/portabler-pi-kvm-der-beste-pikvm/
    Selbstverständlich habe ich deinen Beitrag hier verlinkt!

    Grüße vom Henkas Blog! :)

    Antworten
  14. Hallo & Guten Abend,
    das ist das erste Mal, dass eine Anleitung AUF ANHIEB bei mir funktioniert – wie geil!

    Großen Respekt und ganz ganz toll, dass Du die Seite immer aktuell hälst!

    Danke sehr!

    Antworten
  15. Sehr gute Anleitung, danke!
    eigentlich komme ich zu meinem PiKVM über TigerVNC, da gefällt mir aber nicht, wie das Cursor behandelt wird (ist langsam)… In Web Oberfläche ist es besser, da mein lokal Cursor normal geht und der Remote zieht danach. Aber die Anzeige in VNC ist besser.
    Wie kann ich UltraVNC ausprobieren, wenn er nach dem Kennwort frägt, aber nicht username?

    Antworten
  16. Ich bekomme immer nur “No Signal” habe das oben verlkinkte “Geekworm Raspberry Pi HDMI IN Module, HDMI to CSI-2 CSI” von Amazon bestellt.
    Die LED am Modul leuchtet konstant grün.
    Die Tastatureingaben werden zum Zielsystem übermittelt, aber das Bild der Konsole kommt nicht zurück. Anschluß direkt über HDMI, ist nur eine Textkonsole.
    PIKVM ist auf den neuesten Stand upgedated.
    Hat jemamd eine Idee was ich falsch mache?

    Antworten
  17. Hi, Danke für die Anleitung.
    Hat von euch schon mal jemand versucht, statt dem USB-Splitter eines der USB-C Docks zu benutzen, die es teilweise ebenfalls recht günstig gibt zu verwenden?

    z.B. sowas hier?
    Anker USB C Hub, PowerExpand+ 7-in-1 USB C Adapter

    Das sollte doch ebenfalls funktionieren. Ok, es ist klar teurer als ein kleiner USB-Splitter, aber hat dafür auch deutlich mehr Funktionen.

    Antworten

Schreibe einen Kommentar