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
De beste koptelefoon voor in de trein: rustig reizen met noise cancelling
© Svetlana - stock.adobe.com
Huis

De beste koptelefoon voor in de trein: rustig reizen met noise cancelling

Behoefte aan totale rust tijdens je treinreis? De juiste koptelefoon filtert lawaai weg en verhoogt je concentratie. Ontdek waarom active noise cancelling (ANC) niet mag ontbreken. Wij laten je zien welke functies, zoals comfort en lange accuduur, belangrijk zijn voor de forens of gelegenheidsreiziger.

Reizen met de trein kan heerlijk zijn, maar luidruchtige medepassagiers en het gedender over het spoor verstoren nogal eens de rust. Een goede koptelefoon maakt hier het verschil tussen irritatie en ontspanning. Als je op zoek bent naar de beste optie voor onderweg, is er eigenlijk maar één technologie die er echt toe doet: active noise cancelling. In dit artikel lees je waar je precies op moet letten.

Waarom active noise cancelling onmisbaar is

De absolute topprioriteit voor elke treinreiziger is active noise cancelling, oftewel ANC. Deze techniek gebruikt microfoons aan de buitenkant van de oorschelpen om omgevingsgeluid op te vangen en een tegengeluidsgolf te produceren. Vooral het constante, lage gebrom van de treinmotor en de wielen op de rails worden hiermee effectief weggefilterd. Hoewel geen enkele koptelefoon álle geluiden volledig blokkeert, zorgen modellen met hoogwaardige ANC ervoor dat je op een normaal volume naar muziek of podcasts kunt luisteren zonder dat je het volume ongezond hard hoeft te zetten om het lawaai te overstemmen.

Over-ear versus in-ear in het openbaar vervoer

Naast de technologie is de pasvorm van groot belang voor de demping. Over-ear modellen, die volledig over je oren vallen, bieden van nature al een goede passieve isolatie. De oorkussens sluiten je gehoorgang af van de buitenwereld, wat de actieve ruisonderdrukking aanzienlijk ondersteunt. Voor de meeste forenzen is dit de beste keuze. In-ear oordopjes zijn weliswaar compacter en makkelijker mee te nemen, maar laten vaak toch iets meer geluid door omdat ze minder fysieke barrière opwerpen. Als comfort en maximale stilte voorop staan, wint de over-ear variant het sowieso.

©ER | ID.nl

Comfort en accuduur voor lange ritten

Omdat je in de trein vaak langere tijd stilzit, mag de koptelefoon niet gaan knellen. Let daarom goed op de kwaliteit van de hoofdband en de oorkussens; traagschuim (memory foam) is hierbij een aanrader omdat dit materiaal zich naar je hoofd vormt en de druk verdeelt. Daarnaast is de accuduur een belangrijke factor voor de frequente reiziger. Zoek naar modellen die minimaal 20 tot 30 uur meegaan met ANC ingeschakeld. Veel moderne koptelefoons beschikken bovendien over snellaadfuncties, waardoor je na 10 minuten laden weer uren vooruit kunt. Daarmee voorkom je dat je halverwege je reis opeens zonder muziek komt te zitten.

Connectiviteit en handige functies

Een functie die specifiek in de trein van pas komt, is de transparantiemodus. Hiermee versterk je tijdelijk het omgevingsgeluid via de microfoons, zodat je een omroepbericht van de conducteur kunt horen zonder je koptelefoon af te zetten. Ook multipoint-bluetooth is een waardevolle toevoeging voor forenzen die werken tijdens het reizen. Hiermee koppel je de koptelefoon gelijktijdig aan zowel je smartphone als je laptop, zodat je naadloos kunt wisselen tussen een videocall en je favoriete afspeellijst zonder opnieuw verbinding te hoeven maken.

Populaire merken voor noise cancelling koptelefoons

Als we kijken naar de marktleiders op het gebied van ruisonderdrukking, springen een paar namen er direct uit. Sony wordt al jaren geprezen om hun toonaangevende XM-serie, die bekendstaat om uitstekende ANC-prestaties en uitgebreide app-ondersteuning. Bose is de directe concurrent en blinkt vaak uit in draagcomfort en zeer effectieve stilte, wat bijvoorbeeld de QuietComfort-serie enorm populair maakt onder zakelijke reizigers. Voor liefhebbers van een meer audiofiele geluidsweergave is Sennheiser een sterke optie, waarbij geluidskwaliteit en functionaliteit in balans zijn, zoals de Momentum 4. Tot slot kiezen Apple-gebruikers vaak voor de AirPods Max en AirPods Pro vanwege de naadloze integratie met hun andere apparaten, hoewel deze in een aanzienlijk hoger prijssegment vallen.

▼ Volgende artikel
Waar voor je geld: 5 dual-sim smartphones voor minder dan 300 euro
© ID.nl
Huis

Waar voor je geld: 5 dual-sim smartphones voor minder dan 300 euro

Bij ID.nl zijn we gek op producten waar je niet de hoofdprijs voor betaalt en die zijn voorzien van handige functies. Daarom gaan we een paar keer per week voor je op zoek naar zulke deals en kijken we op vergelijkingssite Kieskeurig.nl wat er zoal te vinden is. Dit keer: betaalbare smartphones met dual-sim voor minder dan 300 euro.

Met een dual-sim-telefoon kun je twee telefoonnummers tegelijkertijd gebruiken, zodat je bijvoorbeeld je zakelijke- en privénummer op één toestel kunt hebben. Dat scheelt weer het meeslepen van een extra telefoon wanneer je op pad bent. Wij zochten naar vijf betaalbare smartphones met dual-sim-mogelijkheden op Kieskeurig.nl voor minder dan 300 euro.

Motorola moto g35 5G / 128 GB

De Motorola moto g35 5G is een betaalbare telefoon met dual‑sim, waarvan één een nano-sim is, en de andere een eSim.. Het toestel heeft 128 GB opslag en draait op Android Het scherm meet ongeveer 17,1 cm (6,7 inch) en de batterij van 5 000 mAh zorgt voor een lange gebruiksduur Volgens de specificaties is de hoofdcamera 50 megapixel en ondersteunt het toestel 5G. De telefoon is waterafstotend en heeft een snelle oplader in de doos.

Samsung Galaxy A15 4G

De Samsung Galaxy A15 is een betaalbare smartphone met 4G‑ondersteuning. Volgens de specificaties heeft hij 128 GB opslag, een 6,5‑inch AMOLED‑scherm en draait hij op Android. De batterijcapaciteit bedraagt 5 000 mAh en de hoofdcamera is 50 megapixel. Dankzij de grote batterij en efficiënte processor kun je de telefoon gerust een dag gebruiken zonder opladen. Let op: deze telefoon is uitgebracht in december 2023, het gaat dus om een wat ouder model. Deze telefoon ondersteunt bijvoorbeeld daardoor geen 5G.

Xiaomi POCO C75 

De Xiaomi POCO C75 is een grote smartphone met een 6,88‑inch scherm. Hij beschikt over 128 GB opslagruimte, een 5 160 mAh batterij en wordt aangedreven door Android. De specificaties vermelden een 50 megapixel hoofdcamera en 13 megapixel selfiecamera. Het toestel ondersteunt dual‑SIM, zodat je twee nummers tegelijk kunt gebruiken. Met een prijs ruim onder de 150 euro (ten tijde van het maken van dit overzicht) is de C75 gericht op budgetbewuste gebruikers die toch een groot scherm en voldoende opslagcapaciteit willen.

Motorola Edge 60

De Motorola Edge 60 combineert een groot P‑OLED‑scherm van 6,67 inch met 5G‑ondersteuning. Het toestel is uitgerust met 256 GB opslagcapaciteit en draait op Android. In de specificaties staat een 5 200 mAh accu en een 50 megapixel camera. Het toestel heeft twee simkaartsleuven (dual‑SIM) zodat je eenvoudig kunt schakelen tussen privé‑ en werknummer. De waterdichte behuizing met IP68‑certificering beschermt tegen stof en water.

Xiaomi Redmi 15 256GB Dual SIM

De Xiaomi Redmi 15 is een betaalbare smartphone met een groot 6,9‑inch scherm en 256 GB opslag. De batterij heeft een capaciteit van 7 000 mAh, wat ruim voldoende is voor twee dagen gemiddeld gebruik. Het toestel ondersteunt dual‑sim en 4G, waardoor je twee simkaarten tegelijk kunt gebruiken. De specificaties melden een 50 megapixel hoofdcamera en een 8 megapixel frontcamera. Met een prijs van ongeveer 159 euro past deze smartphone ruim binnen het budget. Dankzij de grote opslag en de royale batterij is de Redmi 15 een interessante optie voor wie een dual‑sim‑telefoon zoekt zonder veel geld uit te geven.