Hybrid-Standby?

  • Ich habe das Problem, das zwar erstaunlicherweise meine Kiste mittels ACPI S3 zum gewünschten Zeitpunkt aufwacht, aber sich der Rechner ja jetzt immer in den S3 begibt, auch wenn man ohne Timer abschaltet.
    Da ich gerne meine Geräte vom Strom trenne wenn ich sie nicht benötige, kommt es nun zu Problemen beim einschalten.
    Soll heissen: Rechner in S3 - Strom weg - später Strom wieder an - einschalten - fährt nur bis zum "Startbildschirm", kein Lirc etc. aktiv - mittels Powertaste "hart" ausschalten - Neustart ----> läuft.


    Es gibt doch auch eine Mischung aus S3 und S4, bei welcher eben sowas nicht passieren sollte, weil der Rechner, falls der Ram leer ist, dann von dem Image auf der Swap aufwacht,oder
    Wie könnte man das aktivieren?

  • Falls du sowas wie Supsend-to-Disk meinst, wo der RAM ins SWAP geschrieben wird und beim Starten wieder geladen (was logischerweise dann etwas länger dauert beim starten, da der normale Boot-Vorgang trotzdem kommt), würde mich das auch interessieren... besonders, wie man das nachträglich installieren kann, wenn man ein Minimal-Ubuntu aufgesetzt hat.


    Medion Digitainer; AsRock B75 Pro3-M, Celeron G540; Kingston Value 4GB
    Samsung SpinPoint 250GB 2,5"; Samsung WriteMaster DVD-Brenner;
    TT-S2-6400, 2x TT-S2-1600, Ubuntu 12.04 mit YaVDR-Paketen. VDR 1.7.27, UPnP/DLNA-Plugin

  • SvenGWK


    Alter Schwede. Das ist jetzt echt mal eine Herausforderung! Der Vorschlag ist nicht schlecht. Wie man das Runterfahren in den S3 komplett verhindert weißt du vermutlich, oder?


    Eigentlich bräuchtest du wohl einen Shutdown-Hook der prüft, ob ein Timer gesetzt ist und falls dem nicht so ist den S3-Shutdown-Hook "aushebelt".


    Gruß
    Holger

  • Es gibt keinen Hybrid Suspend in Linux und ich wüsste auch nicht das jemand daran arbeiten würde. Das wird für die nächste absehbare Zeit nix.


    Grüz
    Hibbelharry

    - HTPC mit zerbasteltem Yavdr 0.6 , Origen ae X15e, MCE Remote, Asus P5N7A-VM, 1x Digibit R1, Kodi und vdr an Pana 46PZ85E
    - Diverse HTPCs im Umfeld bei Familie und Freundenm die sich vor mir fürchten, mit allen möglichen gruseligen Konfigurationen.
    Auch gern Debian, aber wehe jemand kommt mir mit Suse.

  • Hmm, ohne S3 wacht er bei mir via ACPI-Wakeup nicht auf.
    Ich hatte das Problem bereits mit FreeVDr - ist ja auch Ubuntu.
    Damals hatte ich mit dem Suspend to Disk etwas experimentiert, funktioniert bei mir auch mit WakeUp, das Problem ist das sich mein toller Compaq Rechner gelegentlich nicht richtig abschaltet.


    Suspend to Disk ist mit den pm-utils von Ubuntu sehr einfach, es reicht aus statt poweroff einfach /usr/sbin/pm-hibernate auszuführen, schon schläft die Kiste.
    Beim aufwachen schaut das System einfach ob ein Speicherabbild im Swap liegt, falls ja wird dieses in den Ram geladen, falls nein folgt ein normler Start.
    Kann mir nicht vorstellen das Hybrid ein größeres Problem darstellt, da in dem Moment des "erwachens" der Rechner nicht in den Swap schaut sondern der Speicher ja bereits gefüllt ist und das System somit sofort wieder da ist.


    Denek mal ich hatte das Problem mit hibernate das Module vor dem schlafen entladen hätten werden müssen, und nach dem aufwachen wieder geladen werden müssten, denn mit dem S3 hatte ich auch erst meine Probleme bis ich die Tips wegen dem nvidia modul befolgte, jetzt passt das halberwegs.


    Unter freeVDR habe ich mir mittels settime script weitergeholfen, das habe ich etwas umgebaut.


    Das Script ist weitestgehend unverändert, es sind nur die Pfade etwas angepasst:






    set -x
    #!/bin/bash
    #
    # $Id: set_timer 908 2008-11-23 13:29:13Z tiber $
    #
    # This script was made by Hans-Hermann Redenius (redenius@gmx.de)
    #
    # This file is for bioses nvram-wakeup couldn't handle, because there is
    # no possibility to change the Wake on RTC time in the nvram
    # The wake up time must be set to 23:59:59 the day must be set to 31
    # if your board supports a month setting for the wakeup, set it to July
    #
    # The System should not update the hardware clock in the shutdown process.
    # In Debian Woody set HWCLOCKACCESS=no in /etc/default/rcS
    #
    # in vdrshutdown replace:
    #
    # $NVRAMCMD -ls $1
    #
    # by
    #
    # $PATH_TO_SET_TIMER/set_timer $1 $2
    #
    # and add the following line to your start script before vdr is started
    #
    # $PATH_TO_SET_TIMER/set_timer
    #
    # The time command from nvram-wakeup is needed (set the path bwlow)
    #
    # Thanks to Sergei Haller for nvram-wakeup and the time and ideas to develop
    # this script



    # programs to use:
    HWCLOCK=/sbin/hwclock
    TIME=/usr/local/sbin/time


    # files to use:
    TIME_DIFF=/media/video/time_diff



    if [ ! -x $HWCLOCK ] ; then
    echo "$0 needs hwclock"
    exit 1
    fi


    if [ ! -x $TIME ] ; then
    echo "$0 needs the time command from nvram-wakeup"
    exit 1
    fi


    # current time
    cur_time=`date +%s`


    # how many seconds before the next event the system should be booted
    boot_time=300


    # if a time_diff file exists the clock is set to the wakeup time and
    # must be fixed before any further action
    #
    if [ -f $TIME_DIFF ] ; then

    # the difference stored
    time_diff=`cat $TIME_DIFF`

    # add the difference to the curent time and change it in the date format
    set_time=$(( $cur_time + $time_diff ))
    set_date=`$TIME $set_time | grep "^(local" | cut -f2- -d')' `

    # restore the correct time and if all is right remove the $TIME_DIFF file
    # because there is no longer a difference
    $HWCLOCK --set --date "$set_date" && $HWCLOCK --hctosys && rm $TIME_DIFF
    fi


    # if there is a parameter given, it is assumed the system schould boot
    # after $boot_time seconds
    if [ -n "$2" ] ; then


    if [ $1 -eq 0 ] ; then # no timer present
    sleep_time=$(( 61 * 24 * 60 * 60 - 1 + $boot_time )) # 61 days - 1s
    # + boot_time
    else # timer present
    if [ $2 -ge $(( $boot_time + 30 )) ] ; then # need 30 seconds for shutdown
    sleep_time=$2
    else
    sleep_time=$(( $boot_time + 30 ))
    # or exit 1 so vdrshutdown would do nothing
    # because the next timer is less than boot_time + 30 seconds in the future
    # or currently recording
    # I suggest a short timeout, because the user really asked for it
    fi
    fi


    # wakeup time
    wake_time=996616799 # date -d "Jul 31 23:59:59 2001" +%s

    # calculate the right time and the time difference
    set_time=$(( $wake_time - $sleep_time + $boot_time ))
    time_diff=$(( $cur_time - $set_time ))


    # convert time to date format
    set_date=`$TIME $set_time | grep "^(local" | cut -f2- -d')' `

    # set date and if it is correct write the time_diff file
    # date --set="$set_date" && \ # add this if a script updates the hwclock
    $HWCLOCK --set --date "$set_date" && echo $time_diff > $TIME_DIFF
    fi




    Unter FreeVDR habe ich es in den Shutdown-Hooks als S90.set_timer.sh aufgerufen.
    Die Systemzeit muss beim Start korregiert werden, so führte ich es in der /etc/init.d/bootmisc.sh aus, die gibt es nicht unter yaVDR, aber ist auch egal, sollte eben so zeitig wie möglich passieren.
    Der Pfad zur time_diff muss angepasst werden und das file sollte exisitieren,dann klappts auch mit dem aufwachen.
    Der ganze Rest steht am anfang des Scripts.
    Das NVRam-wakeup Paket sollte installiert sein, da der HWClock Befehl aus dem Paket benötigt wird.


    Einziger ,allerdings großer, Nachteil ist, man muss in der Fstab den Filesystemcheck abschalten, da dieser durch das veränderte Datum verwirrt wird und jedesmal durchläuft wenn der Rechner startet.
    eine Lösung dafür wurde in EasyVDR eingebaut, allerdings reagierte dort niemand auf meine Frage wie das wohl geht. Bin halt kein Linux Genie, deshalb musste es eben so laufen. ;)

  • Hibbelharry :


    natürlich gibt es den hybrid modus.


    habe es gerade hier auf meinem laptop mit xubuntu 910 ausprobiert.


    akku raus, nur mit netzteil dran, dann folgenden befehl:


    Code
    1. sudo pm-suspend-hybrid

    nun sieht man schön, wie ein snapshot in die swap part geschrieben wird.
    laptop geht aus und die power led blinkt (gutes zeichen das was im ram ist). drücke ich nun die power taste
    geht der laptop an, leider ohne video, aber er ist anpingbar.


    also das selbe nochmal, diesmal netzteil raus, netzteil rein, power taste drücken, laptop fährt hoch
    und holt sein image von swap.


    interessant das mich auf das thema am fr ein kollegen angesprochen hatte.


    vdr-box

  • YESSSS und nun geht auch Bild:


    Code
    1. sudo pm-suspend-hybrid --quirk-dpms-on


    und damit geht es auf dem laptop auch:


    Code
    1. sudo pm-suspend-hybrid --quirk-vga-mode3


    sehr geil das ist junger paddawan :lehrer2


    vdr-box

    The post was edited 1 time, last by vdr-box ().