Eine vollwertige KVM over IP Konsole mit einem Raspberry Pi, ein bischen zusätzlicher Hardware und PiKVM.
04.12.2022 - USB-C Power Splitter auch bei BerryBase erhältlich 01.10.2022 - Geekworm PiKVM-A3 Kit (günstigere Alternative) 16.11.2021 - Anleitung aktualisiert (Fehler beim update, repo Pfad geändert) 24.10.2021 - Anleitung aktualisiert (PiKVM Images download links) 26.04.2021 - Anleitung aktualisiert (PiKVM mit VNC) 30.01.2021 - PiKVM 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) 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) Tindie, BerryBase
- 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!
PiKVM 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 PiKVM 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 PiKVM 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.
PiKVM 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.
PiKVM 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 ;)
PiKVM 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…)
PiKVM Links
PiKVM Update Fehler
Mein PiKVM 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.
PiKVM v3 ist verfügbar
Wer nicht selber basteln will, kann den v3 HAT für den Raspberry Pi 4 erwerben. (HAT 170€, Gehäuse 40€)
Geekworm PiKVM-A3 Kit
Eine günstigere Alternative ist das Geekworm PiKVM-A3 Kit für ca. 80€. Hab mir das mal bei Amazon bestellt.
Weitere Infos unter https://wiki.geekworm.com/PiKVM.
Hallo Michael, du hast echt spitzenmäßige Beiträge auf deinem Blog. Auch dein Beitrag zu VMware ESXi auf dem Raspberry Pi ist super spannend. Vielen Dank dafür!
Vielen Dank!
Freut mich wenn jemand was von meinen Beiträgen gebrauchen kann. :)
Heißt das man mit dem Powersplitter ohne die powerdelivery Drähte im Type C Kabel Kappen muss pi, pc und Netzteil verbinden kann?
Ja, anstecken und fertig. Es muss nichts modifiziert werden!
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
Stimmt, der USB-C Splitter ist aktuell von 8086 Consultancy über tindie nicht mehr verfügbar! :(
Vielleicht ist der Artikel nur ausverkauft und er produziert wieder nach.
Alternativen:
Micro-USB/PWR Splitter
– Micro-USB/PWR Splitter: https://www.tindie.com/products/8086net/usbpwr-splitter/
(benötigt dann Micro-USB Kabel und Netzteil)
DIY USB Splitter Cable
– v2 Splitter: https://github.com/pikvm/pikvm/blob/master/img/v2_splitter.png
– Making an USB power/data Y split cable for PI-KVM: https://www.youtube.com/watch?v=uLuBuQUF61o
Der Splitter ist aktuell wieder verfügbar! (08.10.2020)
Moin, ich habe nach Deiner Anleitung auch meinen NUC remote administrierbar gemacht. Super Beitrag hat ohne Probleme funktioniert.
Gruß Thoralf
Freut mich! :)
Hat schon jemand das Thema Gehäuse gelöst ?
Da wäre jetzt ein 3D-Drucker von Vorteil.
Michael Lynch bietet so ein Gehäuse an – im Komplett-Set.
https://tinypilotkvm.com/
Tinypilot basiert auf Standard-Raspi OS, Pi-KVM basiert auf Arch Linux.
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?
Über den Reiter ATX kann man den Server über die Hardware ein-/ausschalten und rebooten.
Diese Funktion benötigt aber zusätzliche Elektronik, um die Verbindung zwischen dem Pi und dem Mainboard herzustellen.
ATX-Control Schaltung: https://github.com/pikvm/pikvm/blob/master/img/v2.png
Hallo Michael, mir ist nicht ganz klar wofür ich den PowerSplitter benötige. Kannst du mir das erklären? Danke & VG
Der splittet den USB-C Anschluß des Pi in zwei Teile.
– einmal für die Stromversorgung und OTG
– einmal für Tastatur und Maus (USB-DATA, ohne die 5V Leitung)
Kann man hier gut erkennen.
https://github.com/pikvm/pikvm/blob/master/img/v2_splitter.png
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??
Ja, der Ausgang funktioniert.
Da erhältst du aber nur die Pi-KVM Konsole, nicht die Ausgabe des PC.
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
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.
…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.
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
setzenUnter 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
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 :/
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.
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
Hallo Michael,
Pi-KVM basiert auf Arch Linux. Die WireGuard Module sind im Kernel schon vorhanden.
z.B. https://hogwarts.zone/install-wireguard-client-on-arch-linux/
Um einen Rechner zu resetten, ein- oder auszuschalten benötigt man noch ein zusätzliches ATX Power Control Board.
Ist auch irgendwo auf der Pi-KVM Seite beschrieben. ;)
Der Tipp mit dem USB-C Kopfhörersplitter ist super, hast du da vielleicht noch einen link zu?
Gruß, Michael…
Habe die beiden gekauft und mit 2 Pis erfolgreich getestet:
https://www.amazon.de/gp/product/B07V6Q873S/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1
https://www.amazon.de/gp/product/B08DWKSYJL/ref=ppx_yo_dt_b_asin_title_o01_s01?ie=UTF8&psc=1
Danke für die links.
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
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
Wie wird der Raspi gekühlt?
Beim 4er benötigt man doch einen Lüfter, oder?
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.
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
Danke für die Infos und die Fotos.
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/
Wow, einwandfrei! :-)
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! :)
Gut umgesetzt, gefällt mir! :)
Danke für den link und die Infos.
v2-hdmi-rpi4.img.bz2 lässt sich bei mir nicht herunterladen. Da kommt 404 raus. Hat jemand diese Datei?
Bei allen download links kommt aktuell ein 404.
Das Image Format hat sich anscheinend von *.bz2 auf *.xz geändert und die links wurden nicht angepasst. ;)
Auf der Download Seite unten links auf den Link Images archive
Oder direkt hier: https://files.pikvm.org/images/
Die download links funktionieren wieder.
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!
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?
Einfach nur das Passwort eingeben das du dem angelegten user gegeben hast.
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?
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.
Hallo,
bei mir funzt alles, danke für die Anleitung. Ich frage mich wie der Autor die schönen Bohrungen in den Netgear Switch reinbekommen hat? Das geht wohl mit einem einfachen Stahlbohrer nicht , vermute ich. Oder doch?
Herzliche Grüße, Francesco Cotugno
Doch. Umriss aufzeichnen, mit einem Stahlbohrer grob vorboren und den Rest dann wegfeilen. ;)
Der Anbieter auf Tindie liefert nicht mehr in die EU. Den USB-C Splitter gibt es aber auch bei BerryBase.
https://www.berrybase.de/usb-c/pwr-splitter
Top, vielen Dank!
Habs oben aktualisiert.