bei meinem Desktop Rechner klappt seit längerem suspend / hibernate nicht. Hatte früher ein ASUS Mainboard, mit dem es ging. Das jetzige Mainboard ist ein Gigabyte MA785GM-US2H. Habe folgendes versucht:
Der Rechner fährt jedesmal runter, die Festplatte stoppt. Nach Drücken des Power-On Buttons startet die Festplatte, der Bildschirm kriegt ein Signal und wird schwarz, das war’s. CAPS-Lock, NUM-Lock oder Scroll-Lock reagieren nicht. Habe ein Suspend mit PM_DEBUG=true initiiert Das Ende sieht so aus:
sync
do_suspend
get_s2ram_opts
‘’ -n ‘’ ‘]’
‘’ ‘’ = s2ram ‘]’
echo ‘INFO: using built-in quirks database from HAL.’
INFO: using built-in quirks database from HAL.
uswsusp_get_quirks
OPTS=
ACPI_SLEEP=0
for opt in ‘$PM_CMDLINE’
case “${opt##–quirk-}” in
continue
‘’ 0 -ne 0 ‘]’
‘’ ‘’ = true ‘]’
S2RAM_OPTS=’ ’
echo ‘INFO: S2RAM_OPTS from HAL quirks: ‘’’ ‘’’.’
INFO: S2RAM_OPTS from HAL quirks: ’ '.
‘’ -n ’ ’ ‘]’
S2RAM_OPTS=’–force ’
‘’ -z '–force ’ ‘]’
s2ram --force
Habe mir echt die Zähne ausgebissen. Was kann man denn jetzt noch machen/testen?
printf ‘Having NetworkManager put all interaces to sleep…’
Having NetworkManager put all interaces to sleep…+ dbus_send --system --print-reply --reply-timeout=200 --dest=org.freedesktop.NetworkManager /org/freedesktop/NetworkManager org.freedesktop.NetworkManager.Sleep boolean:true
suspend klappt jetzt. Habe im nächsten Schritt die DSDT ausgelesen, gefixt und mit custom dsdt gearbeitet => keine Verbesserung.
Mehr aus Verzweifelung habe ich eine alte nicht mehr benutzte Netzwerkkarte ausgebaut (der Rechner wurde mal als Netzwerkserver genutzt). Danach ging suspend to RAM sofort. Erstaunlich finde ich, dass suspend nicht geklappt hatte ich das zugehörige Kernelmodul (ne2k_pci) vorher entladen hatte.
hibernate tut nichts, aber das ist wohl nur eine Einstellungssache.
in /etc/suspend.conf musste manuell “resume device = /dev/sda2” gesetzt werden. danach funktionerte s2disk, nicht aber Tiefschlaf aus dem (KDE-) Menü heraus. Es war mir nicht möglich herauszufinden, ob da pm-hibernate oder “powersave -U” aufgerufen wird.
powersave -U funktionierte nicht, weil ein ungültiges resume device angeben war (resume=/dev/disk/by-id/ata-SAMSUNG_HD160JJ_S08HJ1OL912214-part1). Es ist mir unklar, woher diese Angabe stammt, vermutlich aus dem grub2 Parameter resume=… Dort stand aber die richtige Angabe resume=/dev/disk/by-id/ata-SAMSUNG_HD160JJ_S08HJ1OL912214-part2. Mit yast konnte man den Bootloader nicht anpassen (hing sich beim Parsen der Einstellungen auf). Mit
/usr/sbin/grub2-install --force --skip-fs-probe /dev/sda1
konnte man ihn überbügeln und anschliessend klappte auch hibernate.
Gibt es irgendwo eine verständlich Doku, wie das alles funktionieren soll?