ubuntuusers.de

Probleme mit Ruhezustand/Hibernate Linux mit Monitor und bei USB-C Dock Thunderbolt 4

Status: Ungelöst | Ubuntu-Version: Xubuntu 22.04 (Jammy Jellyfish)
Antworten |

HaraldNRW

Anmeldungsdatum:
30. März 2012

Beiträge: 28

Wohnort: Köln

Hallo zusammen

ich habe folgendes Problem mit meinem T14s. Der Ruhezustand funktioniert nicht richtig unter Linux mit USB-C Dock.

Unter Windows 11 funktioniert alles wunderbar. Ruhezustand einleiten und aufwecken geht schnell, Monitor und LAN am USB-Dock funktionieren nach dem aufwecken.

Normales booten und herunterfahren von Linux mit Dock und Monitor geht auch sehr schnell.

Unter Linux ohne ext. Monitor funktioniert das einleiten des Ruhezustand und aufwecken schnell, ca 12 Sekunden.

Wenn ich einen HDMI Monitor direkt oder über das Dock anschließe dauert das herunterfahren ca 1 Minute. Was auch noch ok wäre.

Aber das aufwecken mit Monitor direkt oder über Dock dauert 2 Minuten bis der Loginscreen am Notebook erscheint, der externe Monitor bleibt dunkel.

Notebook nur mit Dock ohne Monitor wacht schnell auf.

Nach dem aufwecken funktioniert das LAN des USB-Dock nicht mehr. In den Netzwerkeinstellungen ist Ethernet nicht mehr vorhanden. Maus u. Tastatur am USB-Dock funktionieren immer nach dem Aufwachen. Erst abziehen und einstecken des USB-Dock hilft.

LAN am USB-C/Ethernet-Adapter funktioniert auch nach dem Aufwachen.

Also das langsame aufwachen kommt vom externen Monitor egal ober direkt oder Dock angeschlossen. LAN am USB-Dock wird nach dem aufwachen nicht mehr erkannt.

Merkwürdig, den grundsätzlich wird Dock und Monitor ja nach dem Booten oder aus-/einstecken erkannt.

Alles bezieht sich auf den Ruhemodus/Hibernate/Suspend-To-Disk also das Schreiben des RAMs auf die Platte. Der Bereitschaftsmodus funktioniert ohne Probleme.

mein Setup: Thinkpad T14s Xubuntu 22.04 LTS (auch mit Xubuntu 23.04 getestet) ThinkPad Universal Thunderbolt 4 Dock Firmware 1.0.16

Im Anhang dmesg

Hat jemand eine Idee?

Gruß Harald

dmesg.txt (114.7 KiB)
Download dmesg.txt

Steve_

Avatar von Steve_

Anmeldungsdatum:
10. März 2023

Beiträge: 597

Wohnort: Hannover

Funktioniert er ohne Ext. Monitor? USB-Dock = Dockingstation? Das ganze mal ohne Dockingstation bitte.

von.wert

Anmeldungsdatum:
23. Dezember 2020

Beiträge: 12063

HaraldNRW schrieb:

Thinkpad T14s

Gibt's je nach Gen andere UEFIs. Ob 1.07 vom 2023-06-16 das letzterhältliche für Dein Modell ist, kann ich ad hoc nicht sagen. Am besten, Du checkst das als erstes.

ThinkPad Universal Thunderbolt 4 Dock Firmware 1.0.16

Ja, ich flashe derzeit quasi täglich 40B0 mit dieser FW 1.016 vom 2023-08-09, da nur damit überhaupt eine grundlegende Stabilität erreicht werden kann.

Daß Du sowas nennst, zeigt, daß Du an dieser Stelle richtig vorgehst.

Xubuntu 22.04 LTS (auch mit Xubuntu 23.04 getestet)

Kernel 6.2.0, Vanilla längst EoS. Aktuell ist 6.5.3.

von.wert

Anmeldungsdatum:
23. Dezember 2020

Beiträge: 12063

Btw., vielleicht fährt das NB unter Linux auch zu tief 'runter. Man könnte den Modus ggf. begrenzen.

Prozessor P-States und C-States

Steve_

Avatar von Steve_

Anmeldungsdatum:
10. März 2023

Beiträge: 597

Wohnort: Hannover

Warten auf den TE 😀

HaraldNRW

(Themenstarter)

Anmeldungsdatum:
30. März 2012

Beiträge: 28

Wohnort: Köln

Hallo zusammen,

erst mal Danke für die Antworten.

Ohne ext. Monitor funktioniert das Einleiten des Ruhezustand und das Aufwecken schnell, ca 12 Sekunden. Ohne Monitor und Dockingstation ist alles ok.

USB-Dock = ThinkPad Universal Thunderbolt 4 Dock Firmware 1.0.16 (aktuellste Version) Artikelnummer: 40B00135EU https://www.lenovo.com/de/de/p/accessories-and-software/docking/docking_thunderbolt-docks-(universal-cable-docks)/40b00135eu

Es ist bereits das neuste BIOS installiert. Mein T14s (21F6CTO1WW) zeigt mir im BIOS Version 1.07 vom 16.06.23. Auf der Lenovo Seite gibt es für mein Notebook nur eine Version 1.04 vom 26.04.23 zum Download.

Gruß Harald

von.wert

Anmeldungsdatum:
23. Dezember 2020

Beiträge: 12063

HaraldNRW schrieb:

USB-Dock =

Wissen wir, Du hast es bereits genannt und ich dessen Modellnr. 40B0.

Es ist bereits das neuste BIOS installiert.

UEFI, kein BIOS.

Hast Du nun mal testweise den C-State begrenzt?

von.wert

Anmeldungsdatum:
23. Dezember 2020

Beiträge: 12063

HaraldNRW, so wirklich Interesse hast du nicht - oder?

Wenn Du nicht weißt, wie Du den C-State begrenzen kannst, dann sag das!

Steve_

Avatar von Steve_

Anmeldungsdatum:
10. März 2023

Beiträge: 597

Wohnort: Hannover

HaraldNRW schrieb:

Ohne ext. Monitor funktioniert das Einleiten des Ruhezustand und das Aufwecken schnell, ca 12 Sekunden.

Keine Chance sage ich dann. Linux kommt "noch" nicht mit der Dockingstation klar.

von.wert

Anmeldungsdatum:
23. Dezember 2020

Beiträge: 12063

Steve_, jetzt erzähle doch mal nicht so ein unausgegorenes Zeug! (Du hast mit Deiner ersten Antwort schon gezeigt, den Startpost nicht richtig gelesen zu haben.)

Hier geht es um Ruhezustände, ich habe etwas von C-States geschrieben, die man gerade unter Linux einstellen kann, sprich wenn es mit einzelnen Probleme gibt (sowas ist auch nicht neu, sowohl bei Intel als auch AMD), sie auch deaktivieren kann.

Nur machen muß man's eben, sprich zuerst ermitteln, dazu genügt eine jeweils temporär gesetzte Bootoption. Wenn man den problematischen C-State ermittelt hat, setzt man die Bootoption fest.

Man kann zuerst den im System möglichen maximalen C-State (also das Tiefstmögliche) abfragen:

1
cat /sys/module/intel_idle/parameters/max_cstate

Ich weiß nicht, wie weit es bei seinem Raptor Lake im ThinkPad T14s Gen 4 mittlerweile geht, bspw. beim Skylake bis 9 (viel weiter 'runter wird's aber nicht gehen, das ist ja schon fast aus).

Welche konkreten C-States möglich sind, listet

1
grep . /sys/devices/system/cpu/cpu0/cpuidle/state*/name

Mit der Bootoption "processor.max_cstate=n" begrenzt man. Die Zahl, die man für n setzt, ist aber nicht der C-State, z.B. 3 für C3, sondern der C-State in eben angezeigter Liste.

von.wert

Anmeldungsdatum:
23. Dezember 2020

Beiträge: 12063

Für weitergehend Interessierte:

Ich habe von Begrenzen auf einen maximalen C-State gesprochen. Ungünstig ist das freilich, wenn nur ein bestimmter C-State Probleme bereitet, höhere, die man so ebenfalls kappt, jedoch nicht.

Das berüchtigte C4-Fiepen kennt man sicherlich noch, hervorgerufen durch thermische Verformung von Spulen beim Wechsel in/vom C-State 4 bei Centrino-Systemen. Mein P35 mit Pentium M Banias hat das Problem glücklicherweise nicht gehabt, offenbar durch Samsung wertige Komponenten verbaut.

Es müßte um die Haswell-Zeit (Core i Gen 4) gewesen sein, als unter Linux, soweit erinnerlich, C6 Probleme bereitet hat. Wenn man da auf darunter maximal gesetzt gehabt hat, hat man die über C6 möglichen damit ebenfalls ausgeschlossen. Ein findiger Kopf hat damals mit einem Script erst das Maximum gesetzt und dann die C-States über dem problematischen wieder zugeschaltet gehabt.

Ein anderer hat vor 3 Jahren über ein Python-Script bei Ryzen (Freezes im Idle) P-States dynamisch gesetzt.

HaraldNRW

(Themenstarter)

Anmeldungsdatum:
30. März 2012

Beiträge: 28

Wohnort: Köln

Hallo zusammen,

@von.wert ja Du hast recht es ist ein UEFI, allerdings Lenovo selbst spricht von "BIOS Update Utility" und "Version 1.04 (UEFI BIOS)".

Das Begrenzen der C-State habe ich mir hier https://www.thomas-krenn.com/de/wiki/Prozessor_P-States_und_C-States und hier https://www.technikaffe.de/anleitung-32-c_states_p_states_s_states__energieverwaltung_erklaert/#C-States durch gelesen. So wie ich es verstehe geht es ums Stromsparen während des Betriebes, wenn keine oder wenig Leistung abgerufen wird, aber nicht im stromlosen Zustand. "Die C-States Energiesparfunktionen können im BIOS eingestellt werden. Sie dienen dazu die CPU (also den Prozessor) in einen stromsparenden Modus zu befördern, wenn gerade keine oder wenig Leistung abgerufen wird."

Ich habe im BIOS CPU Power Managment ausgeschalten. Aber ohne Verbesserung.

Dann habe ich noch die Option mit dem Kernel Parameter processor.max_cstate=0 gefunden und ausprobiert.

https://www.golinuxhub.com/2018/06/what-cpu-c-states-check-cpu-core-linux/

Auch wenn ich damit boote hilft es nicht.

1
2
3
4
5
6
7
8
9
harald@mars:~$ cat /sys/module/intel_idle/parameters/max_cstate
9
harald@mars:~$ cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-6.2.0-32-generic root=UUID=8730f6ea-6cca-4111-a7c2-1958bc99322f ro processor.max_cstate=0 resume=UUID=568eb9e2-dafb-48d6-93e1-6d6ff6ef4f3d
harald@mars:~$ grep . /sys/devices/system/cpu/cpu0/cpuidle/state*/name
/sys/devices/system/cpu/cpu0/cpuidle/state0/name:POLL
/sys/devices/system/cpu/cpu0/cpuidle/state1/name:C1_ACPI
/sys/devices/system/cpu/cpu0/cpuidle/state2/name:C2_ACPI
/sys/devices/system/cpu/cpu0/cpuidle/state3/name:C3_ACPI

Ich werde mal andere Werte statt processor.max_cstate=0 testen

Gruß Harald

von.wert

Anmeldungsdatum:
23. Dezember 2020

Beiträge: 12063

HaraldNRW schrieb:

allerdings Lenovo selbst spricht von "BIOS Update Utility"

Daß das falsch ist, warum das bei Mainboard-/Notebook-Herstellern trotzdem so gesagt wird, habe ich schon unzählige Male erklärt (der Grund ist derselbe, weshalb ich es jetzt hier auch nicht nochmal erkläre).

Ich habe im BIOS

Im UEFI. Mensch, Du hast einen Raptor Lake! Keinen C2D oder P4. Die letzten Mainboards mit BIOS hat es spätestens 2014 gegeben.

CPU Power Managment ausgeschalten.

Davon hat keiner gesprochen.

Dann habe ich noch die Option mit dem Kernel Parameter processor.max_cstate=0 gefunden und ausprobiert.

Davon auch nicht.

harald@mars:~$ grep . /sys/devices/system/cpu/cpu0/cpuidle/state*/name
/sys/devices/system/cpu/cpu0/cpuidle/state0/name:POLL
/sys/devices/system/cpu/cpu0/cpuidle/state1/name:C1_ACPI
/sys/devices/system/cpu/cpu0/cpuidle/state2/name:C2_ACPI
/sys/devices/system/cpu/cpu0/cpuidle/state3/name:C3_ACPI

Das passiert bei Deinem "processor.max_cstate=0", da wird dahingehend an das ACPI übergeben. Also ohne diese Bootoption nochmal abfragen!

Ich werde mal andere Werte statt processor.max_cstate=0 testen

Ja.

Ich habe auch von aktuellem Kernel gesprochen.

Auf einfache Weise inkl. Aktualisierungen über Paketverwaltung bekommst Du die bekannten Liquorix-Kernel, derzeit noch zumindest in 6.4.15. Steven Barrett läßt sich mit dem Umstieg (auf 6.5.x) diesmal offenbar länger Zeit, vielleicht wegen zweier zwischenzeitlich behobener Bugs in bestimmten Konstellationen (bei mir arch-based nicht aufgetreten). Vielleicht ist er auch einfach nur im Urlaub (sonst kommen 2...3x die Woche neue Versionen).

von.wert

Anmeldungsdatum:
23. Dezember 2020

Beiträge: 12063

Btw., Du hast auch wirklich ein Thunderbolt-Kabel, der Blitz ist auf den Steckern?

Du hast in den hinteren der beiden TBT-Buchsen im T14s gesteckt?

Antworten |