Eine Firmware-Aktualisierung und ihre Folgen – oder: Warum der P15s drei Tage lang zickte
Es begann harmlos: fwupdmgr update auf meinem Lenovo ThinkPad P15s. Was danach folgte, war eine Kettenreaktion aus vier Problemen, die alle auf eine einzige Ursache zurückzuführen waren.
Problem 1: GDM3 startet nicht mehr
Nach dem Firmware-Update blieb der Bildschirm beim Login schwarz. GDM3, der GNOME Display Manager, crashte beim Start. Ursache war eine durch das fwupd-Update veränderte Systemkomponente, die GDM3 destabilisiert hatte.
Lösung: ein vorbereitetes Reparatur-Script ~/fix-gdm.sh brachte das System wieder zum Laufen.
Problem 2: Suspend/Resume funktioniert nicht mehr
Nach dem GDM3-Fix trat das nächste Problem auf: Der Rechner ging bei Inaktivität in den Suspend-Modus, erwachte aber nicht mehr. Egal wie oft man die Ein/Aus-Taste drückte – nichts. Einziger Ausweg: 10 Sekunden den Ausschalter halten, Hard-Reset, Neustart.
Ein Blick in die Systemlogs war eindeutig:
Apr 21 14:51:02 p15s kernel: PM: suspend entry (deep)
Danach: Stille. Kein PM: suspend exit, kein Resume-Eintrag. Der Kernel war eingefroren.
Ursache 1: NVIDIA Quadro P520 ohne Treiber
Der P15s hat eine dedizierte NVIDIA Quadro P520 als Zweit-GPU. Nach dem Firmware-Update zeigte inxi -G das ernüchternde driver: N/A – kein Treiber geladen, kein Power-Management, die GPU hing beim Resume unverwaltet im PCIe-Bus und blockierte alles.
Lösung: bbswitch-dkms installieren (dafür musste erst dkms und linux-headers nachinstalliert werden, da beides fehlte) und die GPU dauerhaft abschalten:
apt install dkms linux-headers-$(uname -r) bbswitch-dkms
modprobe bbswitch
cat /proc/acpi/bbswitch
# → 0000:2d:00.0 OFF
Zusätzlich Nouveau und NVIDIA komplett blacklisten, da die GPU nicht benötigt wird.
Ursache 2: xfce4-power-manager als blinder Passagier
ps aux enthüllte: xfconfd lief im Hintergrund – der Konfigurationsdaemon von Xfce. Xfce war einmal kurzzeitig für Tests installiert worden und nie vollständig entfernt. Der xfce4-power-manager lief parallel zum GNOME-eigenen gsd-power, beide versuchten den Suspend zu steuern, mit unvorhersehbaren Ergebnissen.
apt purge xfce4-power-manager xfconf
apt autoremove
Workaround: Suspend auf AC deaktivieren
Als sofortige Abhilfe habe ich Supend im Netzbetrieb komplett deaktiviert und auf Akku auf 2 Stunden verlängert:
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type 'nothing'
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-timeout 7200`
Problem 3: Thunderbird startet nicht mehr
Am nächsten Morgen: Thunderbird crasht beim Start mit Exiting due to channel error und erzeugt Minidumps. Weder Safe Mode, noch ein neues Profil, noch X11 statt Wayland halfen. Der Crash geschah noch vor jedem Fenster, vor jedem Profil-Zugriff.
ldd zeigte keine fehlenden Libraries, apt --fix-broken install brachte nichts.
Nach dem dritten Hard-Reset und Thunderbird das auch nicht mehr startete, dachte ich kurz: der Rechner ist im Eimer. 😥
Die Lösung war simpel:
apt install --reinstall thunderbird
Thunderbird startete sofort, alle Einstellungen waren erhalten.
Was war passiert?
Die mehrfachen Hard-Resets durch den Suspend-Bug hatten Thunderbird vermutlich beim Laufen erwischt. Das Binary auf der Disk wurde dabei beschädigt – nicht die Paketdatenbank (die war sauber), sondern die eigentliche ausführbare Datei. dpkg wusste von nichts, das Binary war aber korrupt. Reinstall holte es frisch aus dem Paketcache.
Fazit: Eine Ursache, vier Probleme
fwupdmgr update
└── GDM3-Crash
└── Suspend-Bug (GPU ohne Treiber + xfce-Konflikt)
└── Hard-Resets
└── korruptes Thunderbird-Binary
Was wie vier unabhängige Probleme aussah, war eine einzige Kettenreaktion. Das Firmware-Update hat den Stein ins Rollen gebracht, alles weitere war Kollateralschaden.
Nach mehr als 20 Jahren Debian war das erste Mal für mich, dass ein einzelnes fwupdmgr update so einen Rattenschwanz an Folgen hatte. Gelernt: Nach Firmware-Updates immer einen Suspend-Test machen, bevor man den Rechner unbeaufsichtigt lässt – und xfce4-power-manager wirklich vollständig entfernen, wenn man es nicht mehr braucht.
PS: vermutlich könnte ich die Nvidia GPU auch wieder aktivieren, da aber CUDA eh zu alt ist wür whisper und die Games noch laufen, lasse ich es einfach sein.