Professionelle Server haben oft ein Out-of-band-management um auch bei Problemen mit Betriebssystem oder Bootkonfiguration Reparaturen aus der Ferne durchführen zu können. Bei „normalen“ PC oder Einplatinencomputern findet man solche Möglichkeiten eher selten. In diese Lücke schlagen KVM-IP-Systeme, welche sich gegenüber dem gesteuerten System als Bildschirm und Tastatur ausgeben und über Netzwerk bereitstellen. Da der Markt für solches „Spielzeug“ bisher eher klein war kostete eine solche Nachrüstung bisher eher viel Geld. Inzwischen gibt es einige Produkte, welche eher im DIY-Preissegment liegen. Eine dieser neueren, günstigen Lösungen ist der NanoKVM aus China. Kann einige Problemfälle lösen, die Sache hat aber einen Haken.
Inhalt
00:00 Fernsteuermöglichkeiten
01:26 Der NanoKVM
08:05 Daten des Herstellers
13:21 Ersteinrichtung
18:17 Funktionen der WebUI
28:43 Fazit
Fehler und Ergänzungen
01:40 Es gibt viele weitere Modelle des Herstellers.
02:30 Dies wurde möglicherweise in neueren Firmware-Versionen auf Opt-In umgestellt
Das Gerät wurde selbst gekauft und bezahlt. In der Videobeschreibung sind Affiliate-Links zu Produkten, welche im Video zu sehen sind. Durch Nutzung dieser Links erkennt der Händler, dass Ihr über meine Seite zu ihnen gefunden habt. Ich werde prozentual an hierüber erzielten Umsätzen beteiligt, die Preise ändern sich hierdurch für Käufer*innen gegenüber einem direkten Einkauf auf der Plattform nicht. Tipp: Vergleicht vor einem Kauf die Preise – einige Händler erhöhen diese wenn sie merken, dass diese in Videos verlinkt wurden. Bitte beachtet die geäußerten Bedenken zur Produktsicherheit.
Hat man Windows vor $langerzeit installiert, wird das System vermutlich einen MBR und BIOS-Boot nutzen. Auch wenn diese Methode meist noch funktioniert, ist sie doch nicht mehr ganz zeitgemäß und kann in einigen Situationen dazu führen, dass man plötzlich etwas Bootfunktionalität vermisst. Insbesondere mit virtuellen Systemen, oder bei Dual-Boot, ist EFI oft flexibler und GPT im Zweifel resilienter gegen Störungen. Glücklicherweise kann man solche Systeme oft mit ein paar Befehlen, etwas Geduld und vielen gedrückten Daumen erfolgreich umwandeln, ohne dass eine Neuinstallation oder größere Kopiervorgänge notwendig sind.
Vorbedingungen
Um erfolgreich auf das GPT-Partitionsschema und einen EFI-Bootloader umzustellen, müssen einige Vorbedingungen erfüllt sein. Zuallererst muss die drunterliegende Hardware bzw. der Hypervisor natürlich das Booten per EFI unterstützen. Für Hardware sollte alles aus den letzten 10+ Jahren funktionieren. Bei VMs muss ggf. in der Konfiguration der Boot-Modus umgestellt werden.
Screenshot VMWare, VM-Optionen. Startoptionen→Firmware mit der Auswahl zwischen BIOS und EFI
Weiterhin wird etwas Platz benötigt. Etwa 150MB reichen aus. Bei VMs kann man z.B. die virtuelle Festplatte vergrößern, andernfalls kann man in Windows die Datenträgerverwaltung bemühen und die letzte Partition des Datenträgers verkleinern. Für Profis: Zumindest ein paar Byte müssen am ENDE des Datenträgers frei sein.
Screenshot Windows Datenträgerverwaltung. 60GB Datenträger mit 350MB NTFS System-reserviert und 59.66GB NTFS C:. Daneben Dialog „Verkleinern von Laufwerk C:“ mit Vorschlag um 18214MB zu verkleinern.
Verschlüsselungen wie Bitlocker habe ich nicht genutzt, im Zweifel sollte man diese für die Dauer der Umstellung abschalten. Ein Boot-Stick des Betriebssystem (bei aktuellen Systemen als Download, teils über Media Creation Tool) sollte zur Hand sein. Ich nutze Ventoy mit den zugehörigen ISOs.
Zu guter Letzt sollte man natürlich ein getestetes(!) Backup besitzen. Auch wenn die Methode bei mir bisher zuverlässig funktionierte, kann immer etwas schief gehen. Jedes System ist anders.
Part 1: Partitionsschema umwandeln
Erster Schritt ist die Umwandlung von MBR zu GPT. Letzteres ist deutlich neuer, hat Mechanismen um Beschädigungen zu erkennen/reparieren, kann mit größeren Datenträgern umgehen (MBR max. 2TB) und kann mehr als 4 (primäre) Partitionen pro Datenträger verwalten. Um keine Konflikte mit dem eigentlichen System zu provozieren nutze ich ein Linux-Livesystem, namentlich GParted. Technisch sollte auch das Windows-Tool mbr2gpt.exe funktionieren, dieses hat jedoch einige Einschränkungen.
Als Erstes startet man also GParted. Die Standardeinstellungen sind meist OK, bestenfalls das Tastaturlayout sollte man auf QWERTZ ändern, falls man mit QWERTY nicht klar kommt. Die GUI kann direkt über den „Block“ oben rechts geschlossen werden, stattdessen benötigen wir das Terminal. Hier macht man sich über „sudo su“ zum Systemverwalter. Wir wissen ja was wir tun und haben ein Backup – oder so. Mit lsblk kann man die aktuellen Datenträger und Partitionen raussuchen. Hier notiert man sich den Namen der Festplatte/SSD (Type: disk), welche man umwandeln möchte. Für S-ATA ist dies meist „sda„, bei NVME „nvme0n1„.
Nun geht es an die eigentliche Umwandlung. Mit „gdisk /dev/sda“ (name passend Tauschen) öffnet man das Gerät im GPT-Editor. Dieser sollte nun energisch darauf Hinweisen, dass er Magie anwendet und keine Gewähr für fehlende Körperteile oder Daten übernimmt:
Found invalid GPT and valid MBR; converting MBR to GPT format in memory. THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by typing 'q' if you don't want to convert your MBR partitions to GPT format!
Wichtig: Es darf keine Warnung bzgl. überlappenden Partitionen geben.
Warning! Secondary partition table overlaps the last partition by 33 blocks!
You will need to delete this partition or resize it in another utility.
Ist dies der Fall, steht am Ende des Datenträgers nicht genug Speicher zur Verfügung, es wurde also wohl nicht, wie oben beschrieben, passend verkleinert. Eventuell kann man in diesem Fall über die GParted-GUI die dortige Partition nochmal verkleinern bzw. verschieben und es erneut versuchen.
Alles OK? Dann haben wir nichts weiter zu tun. Gdisk hat bereits alle MBR-Partitionen in das GPT-Equivalent umgerechnet. Wer möchte kann mit „p“ einen Blick drauf werfen. Mit „w“ wird – nach Bestätigung – die neue Partitionstabelle auf den Datenträger geschrieben. Der GPT-Part ist somit abgeschlossen.
Part 2: EFI-Boot
Für UEFI benötigen wir jedoch noch etwas: Eine spezielle Boot-Partition. Diese ist vom Typ FAT32 und sollte >=100MB groß sein. Ich nutze für Umstellungen meist 128MB, Standard für Neusysteme ist bei den meisten Betriebssystemen etwa 512MB. Da GParted noch gebootet ist, kann man diese z.B. über die GParted-GUI an einer freien Stelle passend anlegen – ist meist übersichtlicher als auf der Konsole freie Blöcke zu finden. Windows lässt gerne mal ein paar Sektoren zwischendrin frei und verwirrt die Automatiken von fdisk & co. Also: In der GUI einen freien Block suchen, Rechtsklick→New, ggf. bei „New Size“ die gewünschte Größe anpassen und als File System „FAT32“ wählen. Ich schiebe die Partition meist noch oben nach rechts und vergrößere die Partition des Betriebssystems um eventuelle Lücken zu füllen. Über den grünen Haken schreibt man die Änderungen auf den Datenträger. Nach Abschluss des Vorgangs muss die Partition noch als „EFI System Partition“ markiert werden. Dazu macht man einen Rechtsklick auf die frische FAT32-Partition und wählt unter „Manage Flags“ die Einträge „esp“ und „boot„. Der Datenträger ist somit für EFI vorbereitet und GParted kann heruntergefahren werden.
Screenshot GParted, Datenträger sda mit 127GiB. sda1; RECOVERY, ntfs; 3.02/512MiB – 8Mib unallocated – sda2; OS; ntfs; 68.26MiB/122.07MiB – 4.42GiB unallocated (ausgewählt). Kontextmenü mit „New“ ausgewählt.Screenshot „Create new Partition“. Schmaler Kasten rechts im Balken. Free space preceding: 4399MiB, New Size 128MiB, Free space Following: 0MiB, Aligned to MiB, Create as Primary Partition, File System fat32. Kein Name/Label. Screenshot gparted mit neuer fat32-Partition und 1MiB unallocated dahinter. Kontextmenü der Partition. Manage Flags ausgewählt.Dialog „Manage Flags“. boot und esp ausgewählt.
Jetzt muss nur noch das Betriebssystem überzeugt werden mit der neuen Basis zu starten. Hierzu startet man einen passenden Installationsdatenträger, wählt aber über Repair→Troubleshoot die Eingabeaufforderung/Command line.
Windows 10 Setup Begrüßungsbildschirm. In der Mitte „Jetzt installieren“, unten links „Computerreparaturoptionen“.Optionsauswahl für Reparatur. Fortsetzen, Ein Gerät verwenden, Problembehandlung und PC ausschalten. Problembehandlung ausgewählt.Erweiterte Optinen. Starthilfe, Eingabeaufforderung (ausgewählt), Updates deinstallieren, UEFI-Firmwareeinstellungen, System wiederherstellen, Systemimage-Wiederherstellung
Hier werden dann erst mal die Laufwerksbuchstaben sortiert – ist mir sonst zu viel Chaos. Mit diskpart gelangt man in den passenden Editor, mit list volume kann man die aktuellen Partitionen und deren Buchstaben anzeigen lassen. Möchte man etwas ändern, wählt man z.B. mit „select partiton 3“ aus und weist mit „assign letter=s“ den Buchstaben zu. Ich habe die Windows-Partition auf C und die kleine EFI-Partition auf S.
Screenshot Eingabeaufforderung mit Diskpart. list Volumes zeigt die zuvor genannten Partitionen sowie die DVD (D). Die OS-Partition hat den Buchstaben C, die EFI-Partition hat keinen Buchstaben. Nach select volume und assign letter zeigt list volume den buchstaben an.
Ist man Fertig kann man das Tool mit exit beenden. Zuletzt wird der Windows-Bootloader neu aufgebaut – dies geschieht über die folgenden Befehle:
Nun kann man mit Exit und den passenden Menüpunkten das System ausschalten. Mit ausreichend gedrückten Daumen sollte beim nächsten Versuch Windows dann wieder starten und das gewohnte System präsentieren. Dieses kann man nun bewundern und die durch Umwandlung statt Neuinstallation gewonnene Zeit nutzen um darüber nachzudenken, wie man die Anwendung zukünftig auf ein freies Betriebssystem umziehen kann.
Wer kennt es nicht: Man will „was kleines“ Bauen, hat während dem Basteln aber noch ein paar Ideen und dann? Keine Pins mehr. Grade bei kleinen Boards wie dem ESP32-C3 Super Mini sind diese ja ohnehin Mangelware. Die Lösung? Port-Expander. Mit wenigen Pins am µC erhält man so schnell größere Mengen an GPIO. Vor einiger Zeit hatte ich zu diesem Zweck den MCP23S17 mit SPI gezeigt, inzwischen scheint der PCF8575 (bzw. je nach Heristeller PCA8575) mit 16 Pins oder auch der kleine Bruder PCF8574 mit 8 Pins günstiger zu sein. Und Dank I2C spart man auch gleich noch Pins bei der Anbindung an seine Schaltung.
Inhalt
00:00 Das Problem
00:52 Port Expander / Boardaufbau
03:24 Testaufbau
04:55 Software mit ESPHome
13:07 Praktisches Beispiel
Fehler und Ergänzungen:
11:32 100µA, nicht 100mA. Kurzzeitig kann es beim Umschalten etwas mehr sein, dieser „strong pull-up“ ist aber nur um die Umschaltzeiten gering zu halten. Der IC ist als Ausgang also nur für Lasten tauglich, die gegen GND gezogen werden müssen. (Danke, oliver)
Das Gerät wurde selbst gekauft und bezahlt. In der Videobeschreibung sind Affiliate-Links zu Produkten, welche im Video zu sehen sind. Durch Nutzung dieser Links erkennt der Händler, dass Ihr über meine Seite zu ihnen gefunden habt. Ich werde prozentual an hierüber erzielten Umsätzen beteiligt, die Preise ändern sich hierdurch für Käufer*innen gegenüber einem direkten Einkauf auf der Plattform nicht. Tipp: Vergleicht vor einem Kauf die Preise – einige Händler erhöhen diese wenn sie merken, dass diese in Videos verlinkt wurden. Da es sich um einen generischen IC handelt, gibt es unzählige Angebote verschiedener Anbieter.
HDMI über längere Strecken zu verlegen ist eher unschön. Unflexible Kabel und nicht wechselbare Stecker bringen in vielen Situationen Probleme, welche bei anderen Verkabelungsstandard wie z.B. Kupfer-Netzwerk seit langem gelöst sind. Kleine Kästen können die HDMI-Signale so umsetzen, dass sie über diese Netzwerkkabel übertragen werden können. Oder übertragen werden sollten, denn dieses Set drückte man mit mit der Info „Billigkram gekauft, geht nicht“ in die Hand. Schauen wir mal, ob wir die Ursache finden.
Inhalt
00:00 HDMI
00:37 Packungsangaben
05:45 Lieferumfang
06:52 Anleitungsangaben
09:25 Zerlegerei
11:45 Funktionstest
17:01 Kapitulation
Transparenz
Das Gerät wurde mir für eine Funktionsprüfung überlassen und ging im Anschluss wieder zurück. Die Person ist nicht in den Verkauf der Geräte involviert. Angesichts der widersprüchlichen Angaben des Herstellers dürfte es für die meisten Anwendungsfälle eher nicht zu empfehlen sein.
Ein letzter Auftritt des E-Herds aus den 80ern: Mittels ESP32, SSRs und Thermocouple soll der Backofen jetzt Smart werden und sich von PC oder Smartphone per HomeAssistant (fern)steuern lassen. Schauen wir mal, ob wir das ohne zwischenfälle zusammengestellt bekommen.
GitLab ist – wie der Name schon erahnen lässt – ein Git-basiertes Entwicklungsmanagement auf Ruby-Basis. Zusätzlich zur Versionsverwaltung gibt es auch Issue-Tracker, Wikis, CI/CD und Vieles mehr. Im Gegensatz zu GitHub lässt es sich auch lokal auf eigenen Systemen installieren, in der Community Edition dabei unter freier Lizenz. Als Alternative wäre noch Forgejo zu nennen, welches weniger kommerziell daher kommt.
Auf einer GitLab-Instanz hatte ich nun eine etwas andere Aufgabe: Ein verwendeter Zugang wurde als potentiell unsicher eingestuft. Nichts, was eine direkte Aktion notwendig machte, aber man sollte es auch nicht ignorieren. Normalerweise erzwinge ich in solchen Fällen einen Passwortwechsel beim nächsten Login. So wird der Nutzer zu geeigneter Zeit aktiv auf das Problem hingewiesen und es sind keine alternativen Kommunikationskanäle notwendig. Während GitLab prinzipiell einen erzwungenen Passwortwechsel unterstützt, gibt es offenbar keine Option dies über die üblichen Wege manuell auszulösen.
Der offizielle Weg
Die Offizielle Empfehlung ist recht klar: Als Admin unter Overview→User→Edit und dort ein neues Passwort festlegen. Dies ist temporär, der User muss es beim nächsten Login ändern. Hierbei wird auch sichergestellt, dass die aktuellen Kennwortrichtlinien eingehalten werden.
Für mich in diesem Fall kein sinnvoller Weg, da durch den Kennwort-Wechsel der Zugang umgehend nicht mehr möglich ist und ein separater, sicherer Kommunikationskanal notwendig ist um das neue, temporäre Kennwort zu übermitteln.
Eingeweide
Offiziell geht es also nicht, aber die Funktion selbst ist ja da. Über einige Tricks kann man dafür sorgen, dass der Passwortwechsel mit dem aktuellen Kennwort angefordert wird. Notwendig ist dazu ein Konsolenzugang zum Server, auf dem GitLab ausgeführt wird. Hier startet man eine Rails-Konsole (ggf. mit sudo), sucht den User und setzt das Ablaufdatum des Kennworts auf die aktuelle Zeit.
gitlab-rails console
user = User.find_by_username('bernd')
user.password_expires_at=Time.now
user.save
quit
Beim nächsten Login sollte nun der Passwortwechsel angefordert werden. Tipp: Es gibt auch ein verlockendes user.password_automatically_set. Dieses sorgt nicht für einen Passwortwechsel, sondern sperrt den interaktiven Login vollständig.
Eigentlich schade, dass so eine einfache und technisch vorhandene Möglichkeit nicht in den Dialogen angeboten wird. Auch wenn ich sicherheitstechnisch nachvollziehen kann, dass eine Sperrung und temporäres Passwort oft die bessere Wahl ist, sollte man den Admins nicht die Wahl vorenthalten Prozesse zu nutzen, welche den eigenen Anforderungen bessern entsprechen.
Wer alte Spiele auf aktuellen PCs spielen möchte, der steht teils vor ziemlichen Problemen, denn nativ funktionieren die wenigsten noch „einfach so“ auf modernen Systemen. Gibt es dann keine Re-Releases in den aktuellen Vertriebsplattformen oder Patches aus der Community, können Emulatoren helfen. Für Software auf MS-DOS-Basis gibt es dazu z.B. DOSBox, welches neben dem Betriebssystem auch gleich noch alte Hardware wie Soundkarten emuliert und so viele Spiele aus vergangenen Zeiten wieder auf den Bildschirm zaubern kann.
Die gezeigten Spiele wurden irgendwann mal von mir gekauft oder mir von Bekannten geschenkt. Die meisten dürften nicht mehr im Verkauf sein. Gezeigte Angebote von Re-Makes basieren auf meinen persönlichen Einkäufen und dienen nur der Illustration, möglicherweise sind diese über andere Plattformen günstiger/besser zu erwerben.
Auch wenn sie immer wieder als Veraltet gekennzeichnet werden – Serielle Schnittstellen finden sich an vielen Geräten. Etwa genau so vielfältig sind die Protokolle, die die Hersteller sich dazu ausdenken. Können sich diese dann nicht einigen, schaut man selbst oft in die Röhre, denn Schuld ist ja immer die andere Seite. Einen solchen Fall habe ich aktuell vor der Nase, also klemmen wir uns mal dazwischen um schauen zu können, wer sich da am Ende nicht an seine eigenen Angaben hält.
Inhalt
00:00 Das Problem
02:04 RS232 und RS422
04:22 Anforderungen + Ideen
09:29 Pegelwandlerbasteleien
17:20 Testaufbau
17:42 Software
24:27 Ergebis & Fazit
Fehler und Ergänzungen
07:19 Auf dem Stecker Pins 2 und 3, nicht 3 und 4.
In vorherigen Folgen hatte ich den Aufbau eines klassischen Elektroherdes und dessen Steuerung gezeigt. Diesmal bringen wir das fast 45 Jahre alte Gerät in die Moderne: Wir machen es „Smart“. Ganz ohne Cloud. In dieser Folge beginnen wir mit der Kochstelle.
Inhalt
00:00 Rückblick und Sicherheitshinweise
01:11 Der Plan – Eingabemethoden
05:07 Der Plan – Aktoren
08:02 Der Plan – Prozessor und Versorgung
09:44 Testaufbau
17:33 Software
23:07 Ideen und Fazit
Fehler und Ergänzungen
–:– Den Code wird es mit der nächsten Folge am Stück geben
Transparenz
Das Gerät gehört zum Haushalt. Es dürfte nicht mehr im Verkauf sein.
Im letzten Video war mit aufgefallen, dass ein iPhone mal wieder einen aufgeblähten Akku zur schau stellt. Sicher, man könnte jetzt wieder einen neuen Akku einbauen, aber irgendwie klingt das nicht sonderlich nachhaltig, zumal das Gerät ohnehin nur stationär verwendet wird. Dumm nur: Das Apple-Energiemanagement dieser Geräte erlauben keinen Betrieb über das Ladekabel, wenn kein Akku eingebaut ist. Eine mögliche Lösung: Dummy-Stecker für den Batterieanschluss, welche den Betrieb ohne Akku ermöglichen. Eigentlich für Reparaturen, spricht technisch auch nicht viel gegen einen Betrieb. Voraussetzung: Die Person, welche es anbringt, sollte keinen Unfug treiben, denn sonst artet der schnelle Umbau in eine Reparatur aus.
Inhalt
00:00 Vorgeschichte
03:14 Das Adapterkabel
07:32 Zerlegerei
09:35 Spannungsanpassung
19:08 Unfug.
21:44 Ersatzgerät
30:13 Update und Factory-Reset per iTunes
35:33 Fail-ID
37:06 Fazit
Fehler und Ergänzungen
03:00 Mit dem iPhone 15 wurde die Funktion das Limit manuell zu beeinflussen offenbar eingeführt. Ältere Geräte haben die Funktion nicht per Update erhalten (danke an Simon für den Hinweis)
Transparenz
Alle Geräte wurden selbst gekauft und bezahlt. Die Serie ist nicht mehr im Verkauf.