Categories
Computers deutsch

Cherry MX 8.2 TKL Wireless Kurztest

In diesem kurzen Post möchte ich Euch über meine Erfahrungen mit der Cherry MX 8.2 TKL Wireless mit “MX Red”-Switches berichten.

Ich verwende seit über 35 Jahren Cherry-Produkte, das zunächst vorab. Die gute Qualität war mir den hohen Preis immer wert — bisher! 😞

Dieses Modell nun war die erste herbe Enttäuschung, die ich mit einem Cherry-Produkt erleben musste, und daher ging sie am Ende tatsächlich zu Amazon zurück — was ich nur sehr, sehr selten tue.

Die “haptische” Erfahrung war, wie immer bei Cherry, hervorragend. Trotzdem nervte mich von Anfang an ein sehr subtiles “hallendes” Geräusch, das die “Federn” beim Betätigen von sich gaben (vielleicht bin ich hier tatsächlich sehr empfindlich?). Die Tastatur ist vom Anschlag her leise (wichtig, falls man in einem Büro mit anderen Kollegen arbeitet), allerdings nicht ganz so leise wie meine alte Cherry MX Board 5.0 (RED SWITCH SILENT).

Was mich ein bisschen ärgert — ähnlich wie bei dem soeben erwähnten MX Board 5.0 — ist die unsinnige Beschriftung der Tastenkappen:

Diese richtet sich ganz offensichtlich an “Gamer” (der ich nicht bin) und ist alles andere als gut lesbar. Ich finde sowas ärgerlich und würde es begrüßen, wenn man optional “normale” Tastenkappen bestellen könnte.

Nun zu den wirklich heftigen Enttäuschungen, die im Prinzip alle auf der Software-Seite liegen (bevor sich jemand fragt: Ja, ich hatte sowohl Tastatur als auch Dongle zu Beginn auf die neueste Firmware aktualisiert!):

Categories
Computers Consumer Electronics deutsch

Mechanische Tastatur “Arzopa K87” im Kurztest

Heute möchte ich kurz die “Arzopa K87” besprechen, die ich seit zwei Wochen besitze.

Es handelt sich bei der dunkelgrau-schwarzen Tastatur um eine sehr preiswerte (35 EUR nach Rabatt, der scheinbar grundsätzlich bzw. permanent gewährt wird) mechanische Tastatur, die in drei verschiedenen Modi betrieben werden kann:

  • kabelgebunden über einen (vertieft integrierten) USB-C-Anschluss (was ich sehr positiv im Unterschied zu vielen anderen, selbst teuren Markentastaturen finde, denn das schützt den USB-C-Stecker des Kabels vor dem Abgeknicktwerden), wobei das Kabel extrem lang und recht flexibel ist (anders als bei meiner Cherry-Tastatur, wo das Kabel extrem “steif” ist 😞),
  • kabellos über ein 2,4 GHz-USB-Dongle, welches direkt ohne zusätzlich zu installierenden Treiber als “Tastatur” erkannt wird und
  • kabellos über Bluetooth (leider keine Anzeige des Akkuladestands über Bluetooth, was ich sehr negativ finde!)

Nicht so schön finde ich, dass zwischen diesen Betriebsarten per am linken Rand des Gehäuses angebrachten Schiebeschalter (Verschleißgefahr!) umgeschaltet werden muss — das können andere Tastaturen besser (z. B. per “Fn-1” bis “Fn-3”):

Schiebeschalter zum Umschalten zwischen den drei Betriebsmodi (an der linken Seite der Tastatur angebracht)
Categories
Computers English Mac WTF

Forcing macOS to use ISO Keyboard Type

I just acquired a new keyboard, a CHERRY MX 8.2 TKL Wireless, for use with several different machines (as I use it connected to a USB switch, that is used by 4 different machines), and macOS was acting up again. The “less than” (<) and “greater than” (>) keys were at the wrong place, as was the “caret” (^) key. They had exchanged their positions, so to speak.

It turned out that this was due to the fact that the “keyboard type” was set to “ANSI,” instead of “ISO.” In theory, this should be easy to configure in macOS’ “System Settings”, however, this didn’t work for me. Many people have this issue as I found out, and sometimes there doesn’t seem to be a straight-forward solution, so I decided to wrap up these quick instructions how to force your Mac to use ISO.

The settings are contained in /Library/Preferences/com.apple.keyboardtype.plist, and you can display them as follows:

Categories
Computers Debian deutsch Linux Ubuntu Uncategorized Windows

Mini-PC BMAX B5A Pro im Kurztest

Seit etwa fünf Wochen besitze ich nun meinen ersten “Mini-PC“, einen BMAX B5A Pro, Produktnummer G7R2, nachdem ich bisher immer nur PCs im Standard-Desktop-Format oder im Tower-Gehäuse (Maxi- oder Medi-/Mini-Format) besessen habe, die ich zudem oft selbst gebaut habe. Und ich muss sagen, ich bin begeistert von dem kleinen “Kistchen”.

Warum habe ich mir überhaupt diesen PC gekauft? Ich wollte die Hardware unseres Familien-Intranet-Servers ersetzen, die bisher aus einem alten Dell-Latitude-Laptop bestand. Obwohl dieser ständig nur “idle” läuft, verbraucht er im Durchschnitt etwas mehr als 20 W, was mir einfach zu viel ist. Ein Mini-PC versprach, deutlich weniger Leistung aufzunehmen.

Zum anderen sind meine Ansprüche an die Leistungsfähigkeit eines Intranet-Servers gestiegen, u. a. da ich seit einigen Monaten eine Home Assistant-Instanz auf Docker-Basis betreibe, die zu den bereits bestehenden Anwendungen auf dem Intranet-Server dazu kam. Der Mini-PC verfügt bereits ab Werk über 16 GB RAM (ein Modul mit der Bezeichnung “TDS4CDAG08-32SC22C” des relativ unbekannten Herstellers TWSC, “TechWinSemiConductors”) und eine 500 GB-M.2-SSD (“AirDisk 512GB SSD” des Herstellers “MAXIO Technology (Hangzhou) Ltd.”), was genügend Spielraum für leistungshungrige Anwendungen verspricht. Außerdem ist eine leistungsfähige AMD Ryzen 7 5825U verbaut mit acht Kernen und 16 Threads und einer TDP von lediglich 15(!) Watt.

Categories
Computers Debian English Linux Networking Routers Ubuntu

rsyslog Configuration for remote Logging

I want all the network devices in my house to log to a central location, so that log messages can be

  • stored permanently (if I switch off an access point, normally all logs are gone), and
  • automatically checked for interesting events.

So I needed to set up my internal Ubuntu-based server to receive log messages from these devices via the syslog protocol.

My requirements were:

  • Logs from different devices should go into a dedicated file each.
  • Logs from the local machine should not go into any of these files, but the standard Ubuntu logging should be continued to be observed.

It took me a while to figure out how the “ultimate” configuration should be, but here’s the result in case anybody else has similar requirements:

Categories
Communications English Networking Security Travel

Doing “IT” from Egypt

I was recently in Egypt for two weeks of vacation. As I’m running my own “bare-metal” root server, I needed to take care of it even while on vacation, to look after updates and alerts on a daily basis.

So I prepared myself well, and I would like to briefly let you know what I did, and what worked, and what didn’t work.

Preparation

First, I set up WireGuard on my server. It’s a UDP-based VPN that is very lightweight and fast. By chance I found out, though, that Egypt doesn’t work in Egypt, as it’s being blocked by Egypt’s authorities. 🙁

So I looked for alternatives and came across Outline. Outline is not actually a “real” VPN, but a proxy using the Shadowsocks protocol, which was explicitly designed to circumvent internet censorship. It can also proxy UDP traffic.

That is one amazing piece of software.

For certain Cloud Service Providers (Digital Ocean (just $4/mo.!), Google Cloud, Amazon Web Services), you can literally install it with a single click in a desktop app, the Outline Manager, which is available for Windows, macOS, and Linux.

Categories
Computers English Linux Storage Uncategorized Windows

A deep-dive into UEFI Booting

[According to my own standards, this post about “UEFI booting” was only like 70% “ready” — I had it pending in “draft” state for many months, because I was lacking the time to finish it… I now decided to release it in its current state, simply because I believe it will still be very useful to many people interested in the topic…]

Before we actually dive deep into how UEFI booting works, a short and simple introduction is due.

Introduction

What is UEFI, anyway?

UEFI could be called the successor of the old BIOS concept. It is a unified version and successor of “EFI”, which was an architecture for a platform firmware used to boot operating systems (in the following abbreviated as “OS”), and the corresponding interface to interact with the firmware and the operating system.

The advantages of UEFI over the traditional BIOS are, among others, the following:

  • Boot disks with large partitions (over 2 TB), using GUID partitioning (GPT),
  • network capabilities already in pre-OS phase, and
  • modular design.

Boot Mechanism

So, how does booting with UEFI work?

When you enter your UEFI, you will find a user interface that shows all devices that have been detected, and that support booting. Usually that includes all your hard drives.

You can freely define a desired boot order (regardless of hardware paths, i.e. the way your drives are connected, be it via an SATA port, be it via an NVME slot), i. e. the primary OS that should be booted, if that fails the next OS that should be tried, etc. That’s called your “boot configuration”, and it resides in your motherboard’s NVRAM. (a concept that’s basically the successor of what used to be called “CMOS” in the old days of the BIOS). More specifically, we speak about “UEFI Variables“, which allow the OS and the firmware to interact.

When UEFI’s Firmware Boot Manager wants to boot an OS, it first needs to load something called the OS “Boot Manager.” Common OS boot managers are:

  • BOOTMGFW.EFI used to load Windows, or
  • SHIMX64.EFI used to load Linux

The OS boot manager is located on the “EFI system partition” (ESP). This is a small partition (usually only a few 100 M) at the start of your hard drive, formatted with basically a FAT filesystem. FAT is a very simple filesystem, so that the code to parse it and load files from it can be reasonably small and fit into a boot firmware.

A typical disk layout for a Windows installation may look as follows:

UEFI /EFI System Partition as seen under Windows

The first partition is the ESP, then comes the Windows boot and system drive (with a drive letter of C:), and then comes the recovery partition.

Apart from boot loaders, the ESP can contain kernel images or (device) drivers, e. g. to support hardware that must be initialized prior to the start of the OS, or to give access to a complex filesystem that holds the actual OS to be booted.

Depending on which OS you want to boot, the OS boot manager then loads

  • in the case of Linux: the OS kernel, and the kernel in turn loads the OS, or
  • in the case of Windows: the Windows Boot Loader (\Windows\system32\winload.efi)

Boot Configuration Details

Now that we got a good overview of the mechanism as a whole, let’s dive into the details. Let’s look at the boot configuration of my machine. To do so, invoke the below command (I did it under Ubuntu 23.04, but it should work the same under any reasonably current Linux distro where the tool is installed):

# efibootmgr -v
BootCurrent: 0003
Timeout: 1 seconds
BootOrder: 0000,0002,0003
Boot0000* Windows Boot Manager    HD(1,GPT,a39d5736-7aaf-4be0-b6b6-0852ba2f7803,0x800,0x32000)/File(\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI)WINDOWS………x…B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}…R…………….
Boot0002* ubuntu    HD(1,GPT,280ea55d-c182-5242-bb52-a2b40812190c,0x800,0x219800)/File(\EFI\UBUNTU\SHIMX64.EFI)..BO
Boot0003* ubuntu    HD(1,GPT,91b56f9f-3526-404b-b681-1c684551ec4f,0x800,0xd87be)/File(\EFI\UBUNTU\SHIMX64.EFI)..BO

So, what does the above tell us? First, we see that “(Boot)0003” is the boot entry used to start the currently running system. Secondly, the order in which boot is tried is 0000, 0002, and then 0003. So by default, Windows (by the “Windows Boot Manager”) will be booted. Then we see the three boot entries. The star/asterisk (*) after the boot entry shows that all these entries are “active.”

What about the remaining info in the above command output? Immediately after the boot entry, we see the names that are also displayed on screen by the Firmware Boot Manager (“Windows Boot Manager” and two times “ubuntu”). We then see references to the ESPs used to boot these OS.

HD obviously means “hard drive”, then we see a 1 which refers to the first partition on the respective drive, then we see GPT which refers to the partitioning table format, and then we see a UUID. To find the respective partitions, we can use the below command:

# blkid --match-token TYPE=vfat
/dev/nvme0n1p1: LABEL="UBUNTU_TEMP" UUID="EC76-8E7F" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="280ea55d-c182-5242-bb52-a2b40812190c"
/dev/nvme1n1p1: SEC_TYPE="msdos" LABEL_FATBOOT="UBUNTU_MAIN" LABEL="UBUNTU_MAIN" UUID="8140-E4C0" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI" PARTUUID="91b56f9f-3526-404b-b681-1c684551ec4f"
/dev/sda1: UUID="40AD-1127" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="a39d5736-7aaf-4be0-b6b6-0852ba2f7803"

The PARTUUID values in the above output match the UUIDs in the boot configuration as shown by efibootmgr. So, the ESPs are located by searching for the partitions’ UUIDs. That means that you can replug your drives to different ports, or even copy partitions to different drives, and the UEFI boot mechanism will still find them. That’s a nice and very stable design.

UEFI User Interface

Now, let’s enter the UEFI and look at some of the details there. My PC’s motherboard is an MSI, and to enter the UEFI I need to press “F2” after the beep when powering on the PC (from “off” state, not when suspended to RAM, i.e. “sleeping”!) or restarting it.

# lspci
[...]
21:00.0 Non-Volatile memory controller: Sandisk Corp WD Blue SN570 NVMe SSD 1TB
2b:00.0 Non-Volatile memory controller: Sandisk Corp WD Blue SN570 NVMe SSD 1TB

Categories
Communications Networking Routers

Wie man (physische) Netzwerkprobleme spielend leicht lokalisieren kann

Kürzlich habe ich endlich etwas “angepackt”, was ich schon seit einigen Jahren tun wollte: Ich habe das LAN in meinem Haus “logisch segmentiert” durch die Verwendung von VLANs, um unterschiedlichen Traffic auf jeweils einem einzigen Kabel transportieren zu können.

Wozu braucht man sowas? Ganz einfach, z. B. um ein Gästenetzwerk vernünftig implementieren zu können, wenn man mehr als nur einen WiFi-Access Point in seinem Netz hat. Anbieter wie Ubiquity haben sowas bestimmt so implementiert, dass auch technisch weniger bewanderte Personen es nutzen können, aber mir ist Ubiquiti einfach zu teuer in dem Ausmaß, in dem ich deren Hardware bräuchte. Außerdem macht es ja auch schlicht Spaß, sich sowas auf Open Source-Basis selbst zu bauen… 😉

Ich habe bei mir also auf OpenWrt-Basis ein (für ein Einfamilienhaus) relativ komplexes Netzwerk aufgebaut. Folgende Komponenten sind u. a. enthalten:

Jetzt hatte ich kürzlich ein Problem, an dem ich wirklich hart zu “knacken” hatte. Irgendwann kam ich zu dem Schluss, dass es nicht auf Layer 2 (Ethernet) oder höher (IP) liegen müsse, sondern eher auf Layer 1 (physikalische Ebene, also Verkabelung).

Ich habe mir also für sage und schreibe 10,99 EUR einen deleyCON Netzwerk-Kabeltester bestellt. Selbst für eine einmalige Anwendung (aber dabei bleibt’s ja nicht…) war mir der Preis akzeptabel.

Und siehe da, ich hatte tatsächlich ein Verkabelungsproblem in meinem Netzwerk. An einer Netzwerkdose war das Kabel nicht vernünftig aufgelegt.

Diesen Fehler hätte ich ohne den Kabeltester nicht gefunden. Der Tester ist wirklich auch von Personen, die keine ausgebildete Netzwerktechniker sind, sehr einfach zu nutzen. Signalgenerator ans eine Ende des Strangs hängen, “Abschluss-Stecker” ans andere, und schon werden die einzelnen Adern durchgetestet, und man kann durch LEDs sehen, wo der Fehler ist.

Ich kann dieses Gerät nur absolut weiterempfehlen. Für etwas mehr als einen Zehner kann man da nichts falsch machen…

Lasst mich gerne wissen, ob Ihr meine Meinung teilt, falls Ihr Euch auch dieses Gerät zulegen solltet…

Categories
Computers English Storage Uncategorized Windows

How to manually rebuild your Windows BCD Store

I recently had a mishap where on a system that I had just upgraded from Windows 10 to Windows 11 the Windows BCD Store (Boot Configuration Data Store) was suddenly messed up, presumably by a patch update I had taken earlier:

Blue screen showing “Wiederherstellung: Der PC muss repariert werden.” (German for: “Recovery: The PC must be repaired.”), hinting to a problem with the Windows BCD Store.

Many people will recommend in that situation to boot to a Windows Recovery Environment (RE) and execute the following:

>bootrec /rebuildbcd

But what if the scan for all Windows installation turns out not to identify yours?! Like in the below photo?

Photo of a Windows RE session, failing to automatically rebuild the Windows BCD Store

Are you SOL then?

Don’t despair.

The solution is actually quite simple. Other than the above which is supposed to be fully automatic, it involves some manual tasks, but it should be quite easy if you are at least a bit tech-savvy.

Categories
Computers deutsch Networking Routers Uncategorized Windows

Mein Internet funktioniert nicht, was tun?!

Diesen Hilfeschrei hat bestimmt jeder schon oft gehört. Aber nur die wenigsten wissen, wie man heraus finden kann, wo genau das Problem liegt.

Ich versuche in diesem Blogpost einmal, eine auch für Laien verständliche bzw. leicht anwendbare Anleitung zu liefern, wie man bei Internetstörungen zu Hause dem Problem auf die Spur kommen kann…

Zunächst einmal ein paar (wenige) Grundlagen. Ohne diese geht es einfach nicht.

Egal, was Sie im Internet tun, alles passiert auf Basis sogenannter “IP-Pakete“. Jeglicher Datenverkehr wird “zerhackt” und in Form von kleinen “Häppchen”, eben dieser IP-Pakete übertragen. Alle Geräte, die am Internet teilnehmen, haben eine bestimmte Rolle. Ihr Handy, Laptop oder PC ist in der Regel ein sogenannter “Client“, also ein “Kunde”, die Dienste, die Sie in Anspruch nehmen, werden durch sogenannte “Server” (“Bediener”) erbracht. Wie findet nun Ihr Client den passenden Server? Das funktioniert über ein System namens “DNS“. Es übersetzt für den Menschen lesbare Adressen, wie z. B. “amazon.de“, in IP-Adressen, die Ihr Endgerät für die tatsächliche Kommunikation mit dem gewünschten Dienst benutzt.

Wie werden aber die IP-Pakete zwischen Ihrem Endgerät (Handy, Laptop, Tablet, PC) und den Servern im Internet übertragen? Zunächst muss Ihr Endgerät mit Ihrem eigenen lokalen Netzwerk (auch “LAN” genannt) bei sich zu Hause verbunden sein. Dies kann über WLAN (auch “WiFi” genannt) oder Netzwerkkabel (auch “Ethernet”-Kabel genannt) passieren. Von dort geht es über Ihren Router zu Ihrem Internetprovider, und dann von dort ins Internet. Welche physikalische Verbindungstechnik (Teilnehmeranschlussleitung) Sie zur Anbindung an Ihren Provider verwenden ist grundsätzlich egal: DSL, TV-Kabel, Glasfaser oder sogar Mobilfunk (z. B. über einen Vodafone GigaCube).