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
Ontslagen bij Ubisoft Toronto, Splinter Cell-remake nog wel in ontwikkeling
Huis

Ontslagen bij Ubisoft Toronto, Splinter Cell-remake nog wel in ontwikkeling

Ubisoft heeft bevestigd dat er ongeveer veertig werknemers van diens studio in Toronto, Canada worden ontslagen. Wel benadrukt het bedrijf dat de Splinter Cell-remake nog altijd in ontwikkeling is.

De veertig ontslagen werknemers beslaan ongeveer acht procent van de complete Ubisoft Toronto-studio. Dat is een van de grotere Ubisoft-studio's. "Dit besluit is niet lichtzinnig gemaakt en zegt niets over het talent, de motivatie en bijdrage van de individuen", zo stelde een woordvoerder.

Ubisoft Toronto heeft odner andere Far Cry 6, Splinter Cell: Blacklist en Watch Dogs Legion ontwikkeld. Ook werkt het al geruime tijd aan een remake van Splinter Cell. Ubisoft heeft benadrukt dat die remake in ontwikkeling blijft bij de studio.

Remake van Splinter Cell

In 2021 werd de remake van de klassieke stealthgame Splinter Cell aangekondigd. Sindsdien is er maar mondjesmaat informatie over de game naar buiten gekomen. Kort na de aankondiging werd gemeld dat het verhaal wordt herschreven voor een moderner publiek.

Eind vorig jaar bleek dat David Grivel terugkeerde naar Ubisoft Toronto om aan het spel te werken. Hij nam de regie van de remake oorspronkelijk op zich, maar vertrok in 2022. Inmiddels is hij dus weer terug op het oude nest en werkt hij weer aan het spel.

Watch on YouTube

Reorganisatie van Ubisoft

Afgelopen januari kondigde de Franse uitgever en ontwikkelaar Ubisoft al een grootschalige reorganisatie van het bedrijf aan, waarbij ook zes games werden geannuleerd - waaronder de remake van Prince of Persia: The Sands of Time.

Ubisoft noemde de reorganisatie een "grote organisatorische, operationele en portfolio-reset". Daarbij wil het bedrijf nog meer letten op de kwaliteit die het uitgeeft. Ubisofts nieuwe model gaat zich richten op verschillende 'creatieve huizen' die zich elk met andere soorten games bezighouden. Een daarvan is Vantage Studios, de vorig jaar met Tencent opgerichte dochteronderneming waar Assassin's Creed, Far Cry en Rainbow Six nu onder vallen.

Ubisoft heeft daarnaast aangekondigd dat het thuiswerken niet meer toelaat en dat alle werknemers worden geacht om fulltime op kantoor aanwezig te zijn. Wel krijgen werknemers een "een jaarlijkse toelage bestaande uit thuiswerkdagen". Twee studio's van Ubisoft sloten daarnaast hun deuren: de studio's in Halifax en Stockholm. Gedurende de volgende twee jaren wil het bedrijf nog eens 200 miljoen euro besparen.

Ubisoft heeft de laatste jaren wisselend succes met zijn games. Zo viel de verkoop van het miljoenenproject Star Wars Outlaws tegen. Zover bekend is het begin vorig jaar uitgekomen Assassin's Creed Shadows wel een verkoopsucces.

▼ Volgende artikel
De eerste volledige Toy Story 5-trailer is gearriveerd
Huis

De eerste volledige Toy Story 5-trailer is gearriveerd

Na een korte teaser vorig najaar is deze week de eerste volledige trailer van de aankomende animatiefilm Toy Story 5 uitgebracht.

In het vijfde deel van de uiterst succesvolle Pixar-animatiefilmreeks maakt het levende speelgoed kennis met de Lilypad. Dat is een tablet waar alle aandacht naar uit gaat en dus een bedreiging vormt voor het speelgoed.

Met dat concept speelt de film slim in op de hedendaagse tijd. Tablets en smartphones zijn immers niet meer weg te denken uit de hedendaagse maatschappij, ook onder de jeugd. Lilypad luistert zelfs altijd mee, een duidelijke referentie naar de vrees dat onze smartphones ook alles wat we doen vastleggen.

Woody, Buzz en het andere speelgoed dat we nog kennen uit de vorige vier Toy Story-films zal er in ieder geval een stokje voor proberen te steken. Hoe dat afloopt, is vanaf 19 juni in de Amerikaanse bioscopen. Vaak is de Nederlandse premièredatum een dagje eerder op donderdag - in dit geval 18 juni - en waarschijnlijk geldt dat ook voor Toy Story 5.

Watch on YouTube