
Fedora führte mit Version 23 eine Technik ein, die das oft mühsame Aktualisieren von Firmware und UEFI und angeschlossenen Geräten wesentlich vereinfachte, indem der Vorgang automatisiert zusammen mit einem Systemupdate durchgeführt wird. Dafür hat der Red-Hat-Angestellte Richard Hughes das Tool fwupd entwickelt, das, wie unschwer zu erraten ist, für Firmware-Update steht. Nun hat fwupd die stabile Version 1.0.0 erreicht. Das Programm arbeitet grundsätzlich auf der Konsole. Ist GNOME als Desktop-Umgebung vorhanden, klinkt es sich allerdings auch in die grafische Software-Verwaltung GNOME Software ein.
Automatische Installation
Wird dort eine zu aktualisierende Firmware erkannt, wird diese zur Installation angeboten und beim nächsten Upgrade mit eingespielt. Damit das funktioniert, arbeitet im Hintergrund der Linux Vendor Firmware Service (LVHS). Dabei handelt es sich um eine Datenbank, in die Hersteller neue Firmware-Versionen einspeisen. Darüber werden mittlerweile pro Monat mehr als 165.000 Geräte aktualisiert.
Hersteller überzeugen
Vermutlich war die Herausforderung, Hersteller von der Teilnahme zu überzeugen wesentlich größer als die, die entsprechende Software zu schreiben. Aber mit seinem Red-Hat-Hintergrund ist es Hughes gelungen, namhafte Hersteller wie Dell und Logitech von der Teilnahme zu überzeugen. Mittlerweile umfasst die Geräteliste 72 verschiedene Geräte. Darunter sind viele Notebooks von Dell sowie die millionenfach verbreiteten Logitech Unifying Receiver. An letztere denkt man vermutlich zuletzt, wenn man an Firmware denkt. Dabei sind gerade solche Geräte, die man einmal ansteckt und dann vergisst, anfällig für Hacks.
Fast überall verfügbar
Mittlerweile ist fwupd nicht mehr auf Fedora beschränkt, sondern auch bei Debian, Ubuntu, Arch Linux, Gentoo und openSUSE verfügbar. Auch dort ist jeweils GNOME Voraussetzung für eine automatische Handhabung. Aber auch auf der Konsole funktioniert fwupd einwandfrei, muss allerdings manuell angestoßen werden. Auch eine Ausführung per Script und Cronjob ist denkbar.
Beispiel Debian
Hier sei kurz die Vorgehensweise unter Debian Sid auf der Kommandozeile nachvollzogen. Die Befehle benötigen Root-Rechte. Die Nutzung ist bei anderen Distributionen adäquat.
# fwupdmgr get-devices
(erkennt Geräte, deren Firmware aktualisiert werden kann)
Bei mir wurden zwei Logitech Unifying Receiver, ein Samsung Laser-Drucker sowie das mechanische Keynoard Cherry MX 5.0 erkannt.
# fwupdmgr refresh
(entspricht etwa apt update und liest in diesem Fall die LVHS-Datenbank neu ein)
# fwupdmgr get-updates
(lädt verfügbare Updates herunter)
Hier wird auch gleich der Grund für das Firmware-Update übermittelt, in diesem Fall Mousejack.
# fwupdmgr update
(installiert die Updates)
Bei mir wurde neue Firmware für die Logitech Unifying Receiver installiert und damit eine Sicherheitslücke geschlossen. Das war als Online-Update möglich. Bei Updates für UEFI handelt es sich um Offline-Updates. Diese werden in der Konsole angestossen und beim nächsten Neustart des Geräts installiert.