ID.nl logo
Pi-KVM: Nas benaderen via Raspberry Pi op afstand
© Reshift Digital
Huis

Pi-KVM: Nas benaderen via Raspberry Pi op afstand

Als je nas of server op zolder is gecrasht, wil je waarschijnlijk voorkomen dat je het probleem ter plaatse moet oplossen. Met een kvm-over-ip-systeem kun je op afstand ingrijpen via het netwerk, wat helaas betrekkelijk duur is. Met Pi-KVM bouw je zoiets zelf met een Raspberry Pi en enkele goedkope componenten.

Een server of een nas staat waarschijnlijk niet altijd op een toegankelijke plaats. Dat is doorgaans geen probleem: je beheert het apparaat toch via het netwerk. Maar wat als het systeem is gecrasht en het daardoor niet meer bereikbaar is? Je kunt dan ter plaatse het apparaat rebooten, of als je er niet bij kunt in je meterkast de groep van je zolder even uitschakelen en weer inschakelen. Dan moet je maar hopen dat het apparaat uit zichzelf opstart of dat je het via wake-on-lan weer in actie krijgt.

Maar zelfs dan kan er nog heel wat misgaan. Wat als de bootloader bij een update een verkeerde configuratie heeft gekregen, zodat het besturingssysteem niet meer opstart? Dat probleem is niet via het netwerk op te lossen. Dan kun je niet anders dan een toetsenbord en scherm aansluiten en zo het probleem onderzoeken. Wellicht dien je via een live-cd een rescue-sessie op te starten om de bootloader opnieuw te installeren of andere hersteltaken uit te voeren.

Juist voor deze situatie zijn er in de loop der jaren talloze technologieën ontwikkeld die het mogelijk maken om op afstand het toetsenbord, scherm en opslagapparatuur van een server over te nemen alsof je er fysiek bij aanwezig bent. Dat heet doorgaans kvm-over-ip, waarbij kvm staat voor keyboard, video en mouse.

Er bestaan ook gestandaardiseerde protocollen voor beheer op afstand, iets wat men vaak out-of-band-management noemt. De bekendste is IPMI (Intelligent Platform Management Interface). Twee implementaties daarvan zijn DRAC (Dell Remote Access Controller) van Dell en iLO (Integrated Lights-Out) van HPE. Naast IPMI heb je ook AMT (Active Management Technology) van Intel. Een relatief nieuwe standaard is Redfish, die in de industrie ook al een goede ondersteuning heeft gekregen.

Goedkoop alternatief

Al deze technologieën hebben gemeen dat ze zich vooral richten op de zakelijke markt en daardoor niet goedkoop zijn. Maar voor de thuisgebruiker met een nas is er een alternatief: sluit een Raspberry Pi op je nas aan en laat die werken als een via het netwerk aan te sturen toetsenbord, muis en scherm van je nas. Pi-KVM biedt zo’n oplossing aan, die je zelf kunt bouwen voor nog geen 100 euro.

Je sluit de video-uitgang van je nas gewoon via een video-capturecomponent aan op je Raspberry Pi, en via de usb-otg-aansluiting doet de Raspberry Pi zich voor als toetsenbord en muis. Dan sluit je de Raspberry Pi op je netwerk aan. Via een webinterface of VNC-client krijg je dan toegang tot het scherm van je nas en stuur je dat aan met je eigen toetsenbord en muis.

©PXimport

Op de GitHub-pagina van Pi-KVM staat uitgelegd welke componenten je nodig hebt om je eigen kvm te maken. De huidige versie heeft een Raspberry Pi 4 nodig (het model met 2 GB geheugen volstaat) of een Raspberry Pi Zero W. Deze laatste is trager en dan ook niet aan te raden.

Voor de video-capture kun je kiezen voor een hdmi-naar-usb-dongel (de goedkoopste optie), maar die levert een beeldvertraging op van zo’n 200 ms en is minder betrouwbaar. Een betere optie is dan ook een hdmi-naar-csi-2-adapterbordje, dat je op de csi-2-connector van je Raspberry Pi aansluit, die normaal gesproken is bedoeld voor de Raspberry Pi Camera Module. In feite geef je zo het beeld van het scherm van je nas door aan je Raspberry Pi alsof het een camerabeeld is.

Dan rest nog de emulatie van het toetsenbord en muis. De usb-c-aansluiting van de Raspberry Pi 4 dient voor de stroomvoorziening, maar minder bekend is dat die ook usb-on-the-go (usb-otg) voor dataoverdracht ondersteunt. Met een trucje kunnen we daarvan gebruikmaken. 

Als je de usb-c-kabel waarop je de Raspberry Pi aansluit splitst in één usb-a-kabel voor de stroomvoorziening (die je in een voeding van 3 ampère en 5 volt steekt) en één usb-a-kabel voor data, kun je die laatste aansluiten op je nas en kan je Raspberry Pi zich zo voordoen als toetsenbord, muis en zelfs opslagapparaat.

Usb-splitter zelf maken

Alles wat we hiervoor noemden, kun je kant-en-klaar kopen, inclusief de usb-splitter. Maar bij deze laatste moet je even opletten: veel usb-splitters hebben in de ene kabel alleen stroom en in de andere kabel data én stroom, om extra stroom aan een usb-apparaat zoals een harde schijf te leveren. Dat kan in onze situatie voor Pi-KVM voor problemen zorgen. Je hebt daarom een usb-splitter nodig die het signaal splitst in voeding voor de ene kabel en data voor de andere.

Gelukkig kun je zo’n kabel vrij eenvoudig zelf maken en dat gaan we hier ook doen. Je hebt een usb-a-naar-usb-c-kabel nodig (mannelijk/mannelijk) en een usb-a-kabel met mannelijke connector aan de ene kant (waarvan je maar de helft gebruikt). Eén van de twee mag een pure voedingskabel zijn (die dus geen datalijnen heeft). Je kunt het beste kabels van verschillende kleuren gebruiken, zodat je makkelijker onthoudt wat de data- en wat de voedingskabel is van je splitter.

©PXimport

Beslis welke kabel je als datakabel en welke je als voedingskabel gaat gebruiken. Knip de ongebruikte connector van de voedingskabel af en strip de isolatie van het uiteinde. Je ziet nu vier draden (of twee als het een voedingskabel is): de witte en groene draden zijn de datalijnen, de rode en zwarte (of blauwe) zijn de voedingslijnen. Van deze heb je alleen de voedingslijnen nodig. Buig de andere om of knip ze af zodat ze geen onbedoeld contact maken. Strip nu de isolatie van de rode en zwarte draden. Doe dat bijvoorbeeld met een breekmes, want het zijn heel dunne draden.

De andere kabel, waarvan je het ene uiteinde als datakabel gaat gebruiken en het usb-c-uiteinde in de Raspberry Pi gaat steken, moet je niet doorknippen. Je dient op een bepaald punt de buitenste isolatielaag te verwijderen. Doe dat voorzichtig door met een striptang op twee plaatsen in de kabel te snijden zonder de draden binnenin te beschadigen, en de isolatie ertussen te verwijderen.

©PXimport

Knip hier nu de zwarte en rode draden door. Strip de isolatie van de twee uiteindes van de zwarte kabel en van het uiteinde van de rode kabel aan de kant van de usb-c-connector die in de Raspberry Pi moet. De andere rode kant buig je om of knip je af; die heb je niet nodig. Verbind nu de rode draad van de datakabel met de rode draad van de voedingskabel. 

Breng de twee stukken van de doorgeknipte zwarte draad van de datakabel bij elkaar en verbind die met de zwarte draad van de voedingskabel. Soldeer beide verbindingen vast na eerst elke draad te vertinnen. Let op: voor de zwarte draad moet je dus drie stukjes aan elkaar solderen!

Werk de kabel nu af. Bevestig isolatietape rond de zwarte draad en andere isolatietape rond de rode. Bevestig tot slot isolatietape rond het geheel, zodat er geen open draden meer te zien zijn van de usb-kabels.

over hoe je deze kabel maakt.

©PXimport

©PXimport

Uiteindelijk heb je een kabel met aan één kant een usb-c-connector die zowel data als voeding doorgeeft, en aan de andere kant één kabel met usb-a-connector voor de data en een andere kabel met usb-a-connector voor de voeding. Onthoud (of beter: label) welke waarvoor dient!

©PXimport

Pi-KVM installeren

Dan heb je nu alles om je eigen Pi-KVM-apparaat te maken. Als je de hdmi-naar-usb-dongel gebruikt, steek die dan in de usb-poort linksonder (de software verwacht die daar). Gebruik je het hdmi-naar-csi-2-adapterbordje, trek dan het zwarte lipje van de camera-interface op de Raspberry Pi (tussen de analoge audio en de micro-hdmi) naar boven, en trek ook het lipje op het adapterbordje naar buiten.

Steek dan de lintkabel in de connector op de Raspberry Pi, met het blauwe strookje gericht naar de usb-poorten, en klik het lipje weer dicht. Doe hetzelfde op het adapterbordje, waar de blauwe strook naar de bovenkant gericht moet zijn.

Download de image van Pi-KVM en kies daarbij voor de versie voor het csi-adapterbordje of de usb-dongel. Schrijf dit dan met een programma zoals balenaEtcher of USBImager naar een micro-sd-kaart van minstens 16 GB groot. Steek deze in je Raspberry P en sluit de hdmi-connector van het adapterbordje via een hdmi-kabel op het scherm van je nas aan. 

Sluit dan het usb-c-uiteinde van je usb-kabel op je Raspberry Pi aan, doe de voedingskabel van de andere kant in een voedingsadapter van 3 ampère en 5 volt en steek de datakabel in een usb-poort van je nas. Sluit een ethernetkabel aan, zodat je Raspberry Pi een netwerkverbinding heeft. En steek tot slot de voedingsadapter in het stopcontact, waarna je Pi-KVM-machine opstart. 

Lukt dit niet, draai dan de usb-c-connector om. Onze Frankensteinkabel heeft niet de handige eigenschap van usb-c dat het niet uitmaakt hoe je de connector ergens in steekt.

Zoek nu het ip-adres dat je Raspberry Pi via dhcp heeft verkregen. Dat kan in de lijst met dhcp-leases in de webinterface van je router. Log in op https://IP met in plaats van IP het ip-adres van je Raspberry Pi. Je krijgt een waarschuwing te zien, omdat de webinterface van Pi-KVM een zelfondertekend tls-certificaat gebruikt. Log in met gebruikersnaam admin en wachtwoord admin.

Je krijgt nu het hoofdscherm van Pi-KVM te zien, met drie opties: KVM, Terminal en Logout

©PXimport

Kies eerst eens voor Terminal en voer su in om naar de rootgebruiker over te schakelen (het wachtwoord is standaard root). Voer dan eerst rw in om het rootbestandssysteem beschrijfbaar te maken en dan passwd om een nieuw wachtwoord voor root te kiezen. Het wachtwoord voor gebruiker admin wijzig je met de opdracht: kvmd-htpasswd set admin.

KVM instellen

Het belangrijkste is uiteraard de kvm-functionaliteit. Keer terug naar het hoofdscherm en kies KVM. Als je Pi-KVM correct op je nas hebt aangesloten en je die via atx (in het menu ATX / Click Power of door fysiek de powerknop in te drukken) inschakelt, zie je nu het opstartscherm van je bios/uefi en daarna het bootmenu verschijnen.

Je kunt nu ook met je toetsenbord en muis je nas aansturen alsof je er vlak voor zit, en allerlei hersteltaken uitvoeren. Instellingen in het bios of de uefi aanpassen? Het bootmenu aanpassen of een andere entry in het bootmenu kiezen omdat de standaardkeuze niet start? In het initramfs van je Linux-server je bestandssysteem herstellen of de passphrase invoeren om je rootbestandssysteem te unlocken? Het is allemaal mogelijk op deze manier.

Let wel op: omdat je dit alles in een webbrowser doet, worden specifieke toetsen(combinaties) door het besturingssysteem van je pc of je webbrowser geïnterpreteerd en niet op je nas. Daarbij horen belangrijke combinaties zoals Ctrl+Alt+Del, maar ook toetsen zoals Shift Lock. Als je deze naar je nas wilt sturen, kan dat in Pi-KVM via het menu Shortcuts.

©PXimport

Virtuele schijf toevoegen

Een volgende stap is dat je ook op afstand een (virtuele) schijf toevoegt aan je nas, bijvoorbeeld om bij grotere problemen je nas van een herstelschijf op te starten of een volledige herinstallatie te doen van je Linux-server met een installatieschijf. Die functionaliteit vind je in het menu Mass Storage.

Klik daar op Select image to upload en selecteer het gewenste iso-bestand op je pc. Klik daarna op Upload om het naar je Raspberry Pi te uploaden. Dit is de reden waarom je het liefst geen te kleine micro-sd-kaart in je Raspberry Pi stopt: alle images waarvan je je nas wilt kunnen opstarten, moeten hierop kunnen passen.

Zodra het iso-bestand is geüpload, klik je het in het uitklapmenu naast Image: en kies je of je bij Drive mode of je de schijf wilt simuleren als cd-rom of usb-stick. Daarna klik je onderaan op Connect drive to Server. Pi-KVM doet zich dan via de usb-otg-interface voor als opslagapparaat en biedt zo de inhoud van de image aan je nas aan.

Als je nu je nas reboot of opstart, kun je in het bootmenu van het bios/uefi de virtuele schijf kiezen waarvan hij moet opstarten. Je voert nu de hersteltaken of installatie uit waarvoor je de schijf nodig hebt. En als je daarna klaar bent, klik je in Pi-KVM in het menu Mass Storage op Disconnect drive om de virtuele schijf te ontkoppelen. Als je daarna je nas weer herstart, zal hij weer van zijn normale schijf starten.

©PXimport

Werken met macro's

Als je specifieke acties met je toetsenbord en muis meerdere keren moet uitvoeren, kun je deze opnemen als macro’s en daarna meerdere keren afspelen. Ga daarvoor in de webinterface van Pi-KVM naar Macro, klik op Rec, voer je taken uit, en klik op Stop als je macro klaar is. Op deze manier kun je bijvoorbeeld de juiste opstartschijf in het bootmenu kiezen en dit als een macro opslaan. De tijd dat het script nodig heeft, wordt ook getoond. Deed je iets verkeerds in je macro, klik dan op Clear en neem ze dan opnieuw op.

De macro’s worden niet op Pi-KVM zelf opgeslagen. Je dient je aangemaakte macro dus eerst te downloaden met een klik op Download script. Sla die dan op je pc op met een duidelijke naam. Als je dan later de macro opnieuw wilt uitvoeren op je nas, klik je op Upload script en daarna op Play om de macro uit te voeren. In sommige omstandigheden is de optie Infinite loop playback interessant: de acties die je in de macro hebt opgenomen, worden dan in een lus telkens herhaald.

©PXimport

Pi-KVM uitbreiden

Het besturingssysteem van Pi-KVM is gebaseerd op Arch Linux ARM. Je kunt dit flexibele besturingssysteem dan ook uitgebreid aan je wensen aanpassen. Extra pakketten installeren voor functionaliteit die niet standaard erin zit, is eenvoudig gebeurd. Houd er wel rekening mee dat het besturingssysteem in read-only modus draait. Maak het bestandssysteem dus altijd eerst schrijfbaar voor je pakketten installeert of configuratiebestanden aanpast, en maak het daarna weer read-only. Op die manier is de kans op een corrupte micro-sd-kaart laag.

Verder ondersteunt Pi-KVM ook de serverbeheerprotocols IPMI en Redfish. Die eerste heeft tal van zwakheden; die tweede is een moderner, op http gebaseerd protocol dat al heel wat veiliger is. Redfish is standaard al ingeschakeld. Dat betekent dat je met tools die Redfish ondersteunen Pi-KVM op afstand kunt aansturen met de gebruikers die in Pi-KVM zijn gedefinieerd. 

Tot slot kun je in Pi-KVM ook meer dan één opslagapparaat definiëren, een seriële verbinding over usb configureren of ethernet over usb. In het laatste geval kun je je Raspberry Pi bijvoorbeeld als dns-server of ftp-server voor je nas laten werken.

▼ Volgende artikel
Call of Duty: Warzone Mobile vanaf 17 april niet meer speelbaar
Huis

Call of Duty: Warzone Mobile vanaf 17 april niet meer speelbaar

De servers van Call of Duty: Warzone Mobile gaan op 17 april voorgoed offline, waardoor de game vanaf dat moment niet meer speelbaar is.

Dat heeft Activision aangekondigd. Afgelopen jaar werd de game al uit app-winkels gehaald en werd de komst van nieuwe seizoensgebonden content al stopgezet, en het voorgoed offline halen van de servers is de laatste stap in het verdwijnen van de game. Mensen kunnen tot 17 april de game gewoon blijven spelen en hun verdiende in-game geld opmaken.

"We zijn enorm dankbaar voor de spelers die Call of Duty: Warzone Mobile hebben ondersteund, alsmede de ontwikkelaars die de ervaring tot leven hebben gewekt", aldus Activision. "De passie van spelers en hun feedback blijft de toekomst van de Call of Duty-franchise vormgeven, en we kijken er naar uit om betekenisvolle seizoensgebonden content en updates naar Call of Duty: Mobile te brengen."

Call of Duty: Mobile blijft er wel

Call of Duty: Warzone Mobile kwam in 2024 beschikbaar als mobiele versie van Call of Duty: Warzone, de battle royale-game voor consoles en pc. Op die platforms blijft Warzone wel speelbaar.

Activision zei het al: voor een mobiele Call of Duty-ervaring kunnen spelers terecht bij Call of Duty: Mobile. Die game kwam in 2019 uit op smartphones en geniet nog altijd van populariteit. Call of Duty: Mobile heeft ook een battle royale-modus - waar Warzone Mobile juist om draaide - alsmede modi als reguliere multiplayer en Zombies.

Activision Blizzard - en dus ook Call of Duty - werd enkele jaren geleden overgenomen door Microsoft. Buiten het feit dat de jaarlijkse nieuwe Call of Duty-game vanaf release ook meteen op Xbox Game Pass verschijnt, heeft dat echter niet veel aan de Call of Duty-franchise veranderd. Wel leek het meest recente deel, het vorig najaar uitgekomen Call of Duty: Black Ops 7, minder populair dan voorgaande delen. Mogelijk heeft dit te maken met dat het jaar daarvoor nog Black Ops 6 uitkwam, en spelers niet zo snel op een direct vervolg zaten te wachten.

▼ Volgende artikel
Steam Deck in verschillende landen uitverkocht door geheugentekort
© Reshift Digital
Huis

Steam Deck in verschillende landen uitverkocht door geheugentekort

De Steam Deck is in verschillende landen, waaronder de Verenigde Staten, uitverkocht. Dit in verband met het tekort aan RAM-geheugen door de alsmaar toenemende populariteit van kunstmatige intelligentie.

In de Verenigde Staten en Canada raakte de Steam Deck vorige week al uitverkocht. In die landen heeft Valve, het bedrijf achter de Steam Deck, nu een waarschuwing gepubliceerd op de officiële verkoopwebsite.

Die waarschuwing praat over het tekort aan RAM-geheugen. Dit heeft alles te maken met het feit dat RAM-geheugen massaal nodig is om AI draaiende te houden. De componenten worden echter ook gebruikt in entertainmentapparaten als de Steam Deck, spelcomputers en game-pc's. Daardoor blijven prijzen stijgen en raken sommige apparaten ook uitverkocht, zoals de Steam Deck.

In Nederland is de Steam Deck met oledscherm inclusief 512 GB aan opslagruimte uitverkocht. Die versie van de pc-handheld kost normaliter 569 euro. De 1 TB-versie van 679 euro is op moment van schrijven nog wel te koop, al is niet bekend hoe lang dat nog het geval is. De lcd-versie van de Steam Deck - die voor de zachtere prijs van 419 euro te koop was - wordt niet meer geproduceerd, zo heeft Valve bevestigd.

RAM-tekorten hebben ook effect op consoles

De tekorten aan RAM-geheugen hebben niet alleen invloed op de Steam Deck, maar ook andere apparaten waarop games gespeeld kunnen worden, waaronder spelcomputers. Bedrijven als Sony en Microsoft hebben de prijzen van hun consoles eerder al verhoogd. Volgens geruchten overweegt Nintendo om de vorig jaar uitgekomen Switch 2-console ook in prijs te verhogen.

Daarnaast maakt de situatie het risicovoller voor bedrijven om nieuwe apparaten uit te brengen. Zo zou Sony intern gepland hebben om de PlayStation 6 in 2027 uit te brengen, maar volgens recente geruchten kan dit verschoven worden naar 2028 of zelfs 2029, afhankelijk van wanneer de RAM-tekorten ingeperkt worden

De toekomst van de Steam Machine

In het verlengde daarvan creëert de huidige situatie ook veel onzekerheid over de Steam Machine. Dit apparaat, dat op simpele wijze pc-games op de televisie afspeelt, werd vorig jaar aangekondigd en zou eigenlijk begin dit jaar uitkomen. Onlangs communiceerde Valve dat het inmiddels ergens in de eerste helft van dit jaar is geworden, maar het feit dat er nog geen datum of prijs bekend is doet fans vermoeden dat het zelfs nog later kan worden.

"Toen we deze producten in november aankondigden, gingen we ervan uit dat we de specifieke prijzen en lanceringsdata nu wel al hadden kunnen delen", zo stelde Valve begin deze maand. "Maar de tekorten op het gebied van geheugen- en opslagcomponenten waar onze hele bedrijfstak mee kampt, zijn sindsdien behoorlijk toegenomen.  De beperkte beschikbaarheid en oplopende prijzen van deze cruciale onderdelen hebben ons ertoe gedwongen om onze plannen voor vraagprijs en levering bij te stellen (vooral voor de Steam Machine en Steam Frame)."