Portál AbcLinuxu, 2. července 2025 23:58

ACPI wakeup

29.1.2009 22:59 | Přečteno: 1799× | Python | Výběrový blog

Umí se váš počítač probudit nebo zapnout v nastavený čas? Ten můj už ano poté, co jsem zjistil, že jakýsi bug v jádře se dá obejít parametrem HPET=disable. Takže prostě navečer pustím přehrávání písniček a řeknu počítači ať jde spát. On se pak ráno probudí a pokračuje v hraní kde přestal, čímž vzbudí i mně.

Stačí jen napsat do souboru /sys/class/rtc/rtc0/wakealarm nejprve nulu (reset) a následně čas probuzení (počet sekund od 1.1.1970). Pozor, musíte na to mít práva.

Na nastavení alarmu si můžete napsat párřádkový skriptík. Anebo použít můj prográmek. Vypadá takhle

Vkusné, že? Stáhnete ho odtud: http://kf.fyz.fce.vutbr.cz/pub/acpiwakeup.py.

Fungovat vám hned nebude, protože nemáte práva na zápis do výše zmíněného souboru (ale to je snadná pomoc). Navíc, na závěr se spouští skript usni.sh, který ten počítač doopravdy uspí. Ten si musíte napsat sami (každý má beztak své vlastní vychytávky) a dát ho někam do cesty.

       

Hodnocení: 100 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (3) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

frEon avatar 29.1.2009 23:28 frEon | skóre: 40 | Praha
Rozbalit Rozbalit vše Re: ACPI wakeup
Odpovědět | Sbalit | Link | Blokovat | Admin
Problem je, ze kdyz si nastavim hlasitost tak, abych pohodlne u hudby usnul, tak me svoji potichosti rano nevzbudi. Musel bych to poladit cronem.
Talking about music is like dancing to architecture.
thingie avatar 29.1.2009 23:31 thingie | skóre: 8
Rozbalit Rozbalit vše Re: ACPI wakeup

Problém? To je snad to nejmenší. Když počítač probudím a řeknu mu aby hrál, tak přidat ještě jeden příkaz na vyšší hlasitost je přece naprosto triviální.

Růžové lži.
frEon avatar 1.2.2009 13:58 frEon | skóre: 40 | Praha
Rozbalit Rozbalit vše Re: ACPI wakeup
vsak o tom prave mluvim. tahle vecicka se nastavi aby zapla poctac v nejakej cas, na za minutu po zapnuti je nastavenej cron o kterym sem psal. etn cron pusti skrpt, kterej nastavi hlasitost a pusti nejakej rokenroll :-)
Talking about music is like dancing to architecture.
1.2.2009 17:04 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: ACPI wakeup

Po probuzení šibuju s hlasitostí taky, protože se občas stane, že zvukovka párkrát zopakuje obsah bufferu, což rozhodně není hezké probuzení.

Takže ve skriptu usni.sh mám:

ulož stav zvukovky, usni, počkej sekundu, obnov stav zvukovky.

Cron není potřeba.

29.1.2009 23:37 Semo | skóre: 45 | blog: Semo
Rozbalit Rozbalit vše Re: ACPI wakeup
Odpovědět | Sbalit | Link | Blokovat | Admin
# cat /sys/class/rtc/rtc0/wakealarm
cat: /sys/class/rtc/rtc0/wakealarm: No such file or directory
Co mi chyba?
If you hold a Unix shell up to your ear, you can you hear the C.
30.1.2009 09:41 joxny
Rozbalit Rozbalit vše Re: ACPI wakeup

chyba ti modul v jadre ... musis mat  zavedeny rtc-cmos. ;)

31.1.2009 18:32 Semo | skóre: 45 | blog: Semo
Rozbalit Rozbalit vše Re: ACPI wakeup
Pravda. Pridal som modul, na notebooku to pindalo na HPET, tak som HPET vyhodil z jadra, na desktope to nepindalo (verzia jadra v oboch pripadoch rovnaka). V kazdom pripade, ani na jednom pocitaci sa to po 3 minutach nezobudilo. Casy v BIOSe mam v localtime, nie UTC.
# date
Sat Jan 31 18:31:02 CET 2009
# hwclock --show
Sat 31 Jan 2009 06:30:54 PM CET  -0.000463 seconds
# echo 0 > /sys/class/rtc/rtc0/wakealarm
# echo `date -d 3minutes +%s` > /sys/class/rtc/rtc0/wakealarm
# hibernate
Proste ostal pocitac vypnuty. Este ma napada sposob vypnutia. V okomentovanom konfiguraku ku TuxOnIce je:
## Powerdown method - 3 for suspend-to-RAM, 4 for ACPI S4 sleep, 5 for poweroff
Ma na to vplyv "spravne" vypnutie?
If you hold a Unix shell up to your ear, you can you hear the C.
1.2.2009 10:22 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: ACPI wakeup

To je zvláštní. Ale možná to na všech deskách nefunguje.  Nicméně příkaz

echo `date -d 3minutes +%s` > /sys/class/rtc/rtc0/wakealarm bude správně fungovat jen tehdy, když budeš mít v BIOSu UTC. Sice píšeš, že nemáš, ale data a hwclock vypisují totéž. Nevím, čemu mám věřit. Dobrá diagnostická pomůcka je obsah souborů /sys/class/rtc/rtc0/wakealarm, /proc/driver/rtc a /sys/class/rtc/rtc0/since_epoch.

Na způsobu vypnutí podle mě nezáleží. Počítač se probudí i po příkazu poweroff.

1.2.2009 16:54 Semo | skóre: 45 | blog: Semo
Rozbalit Rozbalit vše Re: ACPI wakeup
No mozno to bude predsa len nieco s UTC, pretoze casy alarmu a date sa lisia o hodinu:
# cat /proc/driver/rtc; echo; cat /sys/class/rtc/rtc0/since_epoch; echo ;date +%s; \
echo; cat /sys/class/rtc/rtc0/wakealarm
rtc_time        : 16:52:50
rtc_date        : 2009-02-01
alrm_time       : 20:59:08
alrm_date       : ****-**-**
alarm_IRQ       : no
alrm_pending    : no
24hr            : yes
periodic_IRQ    : no
update_IRQ      : no
HPET_emulated   : yes
DST_enable      : no
periodic_freq   : 1024
batt_status     : okay

1233507170

1233503568

If you hold a Unix shell up to your ear, you can you hear the C.
1.2.2009 17:01 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: ACPI wakeup

Rád bych věděl, jestli to můj program nastaví správně nebo ne. Měl by tyto posuny brát v úvahu.

1.2.2009 22:22 Semo | skóre: 45 | blog: Semo
Rozbalit Rozbalit vše Re: ACPI wakeup
Na to je tazka odpoved, kedze:
$ ./acpiwakeup.py
Traceback (most recent call last):
  File "./acpiwakeup.py", line 5, in <module>
    import time, sys, gtk, pango, subprocess, locale
  File "/usr/lib/python2.5/site-packages/gtk-2.0/gtk/__init__.py", line 48, in <module>
    from gtk import _gtk
ImportError: No module named cairo
Pricom mam nainstalovane dev-python/pycairo-1.4.12 aj x11-libs/cairo-1.6.4-r1
If you hold a Unix shell up to your ear, you can you hear the C.
30.1.2009 03:00 buff | skóre: 10 | blog: buff
Rozbalit Rozbalit vše Re: ACPI wakeup
Odpovědět | Sbalit | Link | Blokovat | Admin

Je tam někde nějaká chybička: když dám čas, který nastane dřív než za hodinu, tak se alarm nenastaví. Opravit to ale rychle nezvládnu ;-)

30.1.2009 07:58 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: ACPI wakeup
To bude pojistka na ochranu hardwaru počítače a životního prostředí. Vypínat počítač na méně než hodinu se nevyplatí :-)
30.1.2009 08:13 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: ACPI wakeup

Tak to děkuji za informaci. Možná to souvisí s tím, že ti čas v BIOSu běží v lokálním čase a ne v UTC. Pak se zřejmě počet sekund od půlnoci 1.1.1970 měří špatně. Ale je to jen domněnka.

30.1.2009 09:29 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: ACPI wakeup

Zkus to stáhnout a vyzkoušet teď,  trochu jsem to pozměnil. Nejdřív zjišťuju rozdíl mezi systémovým časem a RTC a podle toho se udělají korekce.

30.1.2009 19:52 buff | skóre: 10 | blog: buff
Rozbalit Rozbalit vše Re: ACPI wakeup

Už to funguje bezvadně. Díky za opravu, díky za skvělý program a za užitečný příspěvek.

30.1.2009 08:54 kkaarreell | skóre: 6 | blog: perkele
Rozbalit Rozbalit vše Re: ACPI wakeup
Odpovědět | Sbalit | Link | Blokovat | Admin
Ma toshiba satellite se sice uspi a dokonce i probudi, jenze na me vyskoci skareda hlaska, ze je nejaky problem s kontrolnimi soucty biosu (aspon myslim, ze to bylo tohle, je to skoro rok, co jsem to zkousel) a musim bios ponastavovat znovu. Cili si na probouzeni musim nechat zajit chut, aspon se poradne vyspim. ;-)
30.1.2009 11:07 Karel Zak
Rozbalit Rozbalit vše Re: ACPI wakeup
Odpovědět | Sbalit | Link | Blokovat | Admin

man rtcwake

30.1.2009 12:50 aaa
Rozbalit Rozbalit vše Re: ACPI wakeup
Odpovědět | Sbalit | Link | Blokovat | Admin

Docela pěkný, rtcwake sem zkoušel několikrát a nikdy to nechtělo fungovat, problém je, že i když to nastavím přímo v biosu tak to nefunguje :)

30.1.2009 13:06 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: ACPI wakeup

Co jsem se dočetl, tak v BIOSU je mnohdy potřeba to úplně zakázat, protože tam je APM a to se nemá rádo s ACPI (nebo něco v tom smyslu). Pak mi ještě pomohlo to zakázání HPET, ale to je doufám jen dočasný workaround.

xkucf03 avatar 30.1.2009 16:18 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: ACPI wakeup
Odpovědět | Sbalit | Link | Blokovat | Admin
On se pak ráno probudí a pokračuje v hraní kde přestal, čímž vzbudí i mně.
S těmi problémy, co má můj notebook s probouzení, bych se na tohle nespoléhal :-)
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
1.1.2010 20:08 medulin | skóre: 31 | blog: medulin | ČR
Rozbalit Rozbalit vše Re: ACPI wakeup
Odpovědět | Sbalit | Link | Blokovat | Admin
Nefunguje mi to :-(
# ./acpiwakeup.py
bash: ./acpiwakeup.py: /usr/bin/python: chybný interpretr: Operace zamítnuta

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.