Power Management

Hozzászólás-megjelenítési lehetőségek

A választott hozzászólás-megjelenítési mód a „Beállítás” gombbal rögzíthető.

Üdv!

Problémám az, hogy ha suspend-be kapcsolom a notebook-ot, vagy hibernálást kérek, akkor egy kis idő után a terminálban villog a kurzor, és nem történik semmi, csak a 4mp-es power gomb lenyomással tudom kikapcsolni a notebook-ot, majd újraindítani.

Másik linux disztróval működik a hibernálás?
Ha nem, akkor sajnos nem is fog, amíg meg nem csinálják a kerneles/driver-író srácok.
Ha igen, akkor abból kéne kiszedni, hogy miben tér el az Arch-os hibernáló scriptektől.

Amúgy szokásos infókat illene megadni.
Gép pontos típusa, videókártya, használt architektúra esetleg, stb...

Nos, végül sikerült megoldanom a problémámat ( jó sok kísérletezés után ), leírom tömören a lényeget:

Gép: Toshiba Satellite L40 notebook

rc.conf-ban letiltottam jópár modult, amik tök fölöslegesek. Power Management szempontból az asus_laptop -ot, és a led_class -ot feltétlenül.
Ezen felül felraktam a pm-utils csomagot.
A hal-nak mennie kell, de ez nem téma, máshoz is kell.
És a lényeg:

/etc/pm/config.d/config fájlba ( létre kellett hozni ) az alábbi tartalommal:
( remélem jó a path, mert fejből toltam :)

SUSPEND_MODULES=(uhci_hcd ehci_hcd)

Ezeket a modulokat eltávolítja a memóriából suspend előtt.
Így szépen megy a pm-suspend.

A pm-hibernate is működik, a wiki alapján az nem volt probléma.

üdv:
robyboy

Kiegészítés: A 2.6.30-as kernelfrissítést követően az /etc/pm/config.d/config fájl eltávolítása után is működőképes a suspend.

Nekem az a gondom, hogy egyszerűen nem tudom beállítani, hogy ne maxon használja a CPU-t hanem dinamikusan... wiki alapján már próbálkoztam, de egyszerűen nem hajlandó átállítani ondemand-ra.

Valakinek van valami ötlete? ez az egy problémám van csak :)
a CPU típusa: Intel Dual-Core t2390

a segítséget előre is köszönöm szépen :)

Be van töltve a megfelelő modul?
A cpufreq-info kiírja, hogy:
available cpufreq governors: ondemand ?
Nem értem miért kell mindig könyörögni az információkért...

Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
no or unknown cpufreq driver is active on this CPU
analyzing CPU 1:
no or unknown cpufreq driver is active on this CPU

sajnos ezt írja ki cpufreq-info
felvan téve a modul wiki alapján csináltam az egészet és nem értem mi lehet a gond.

Az infókért pedig azért kell könyörgni mert sajnos ehhez is hozzá kell szokni, hogy milyen infókra lehet szüksége a válaszadóknak, de köszönöm legközelebb már tudom, hogy mit kell még hozzátennem a kérdezéshez.

Szerk.: acpi fennt van

Most újra próbáltam. újra raktam a dolgokat ez az új infó:

cpufrequtils 005: cpufreq-info (C) Dominik Brodowski 2004-2006
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
driver: p4-clockmod
CPUs which need to switch frequency at the same time: 0
hardware limits: 233 MHz - 1.87 GHz
available frequency steps: 233 MHz, 467 MHz, 700 MHz, 933 MHz, 1.17 GHz, 1.40 GHz, 1.63 GHz, 1.87 GHz
available cpufreq governors: powersave, ondemand, performance
current policy: frequency should be within 233 MHz and 1.87 GHz.
The governor "performance" may decide which speed to use
within this range.
current CPU frequency is 1.87 GHz (asserted by call to hardware).
analyzing CPU 1:
driver: p4-clockmod
CPUs which need to switch frequency at the same time: 1
hardware limits: 233 MHz - 1.87 GHz
available frequency steps: 233 MHz, 467 MHz, 700 MHz, 933 MHz, 1.17 GHz, 1.40 GHz, 1.63 GHz, 1.87 GHz
available cpufreq governors: powersave, ondemand, performance
current policy: frequency should be within 233 MHz and 1.87 GHz.
The governor "performance" may decide which speed to use
within this range.
current CPU frequency is 1.87 GHz (asserted by call to hardware).

Remek. A p4-clockmod támogatja a procidat, és látszólag teszi is a dolgát. Most már csak egy dolog van: be kell állítani az ondemand governor-t, ami automatikusan szabályozza a proci frekvenciáját:
cpufreq-set -g ondemand (rootként kell szerintem, de nem vagoyk benne biztos)

Csak az a baj, hogy a p4-clockmod újraindítás után elvész :( most próbáltam ki. tehát beállítja, újraindítom a gépet aztán ismét semmi sem kezeli a CPU-kat. Ennek mi lehet az oka?

Daemonsban benne van a cpufreq acpi-cpufreq kellene még valamit beletenni?

előre is köszönöm a segítséget.

/ha modprob p4-clockmod ot csinálok újra kezeli amíg kinem kapcsolom a gépet

Szerk.: egyre érdekesebb a dolog, most elfogadta drivernek az acpi-cpufreq -et is, de nem hajladnó átállítani pedig már a /etc/conf.d/cpufreq-ben is megnéztem ott is ondemand van beírva! és normális értékekkel.
Ezt csináltam terminálban:

[root@myhost tamas]# cpufreq-info
cpufrequtils 005: cpufreq-info (C) Dominik Brodowski 2004-2006
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
no or unknown cpufreq driver is active on this CPU
analyzing CPU 1:
no or unknown cpufreq driver is active on this CPU
[root@myhost tamas]# modprobe acpi_cpufreq
[root@myhost tamas]# nano /etc/conf.d/cpufreq
[root@myhost tamas]# cpufreq-info
cpufrequtils 005: cpufreq-info (C) Dominik Brodowski 2004-2006
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
driver: acpi-cpufreq
CPUs which need to switch frequency at the same time: 0
hardware limits: 800 MHz - 1.87 GHz
available frequency steps: 1.87 GHz, 1.60 GHz, 1.33 GHz, 1.07 GHz, 800 MHz
available cpufreq governors: performance
current policy: frequency should be within 800 MHz and 1.87 GHz.
The governor "performance" may decide which speed to use
within this range.
current CPU frequency is 1.87 GHz (asserted by call to hardware).
analyzing CPU 1:
driver: acpi-cpufreq
CPUs which need to switch frequency at the same time: 1
hardware limits: 800 MHz - 1.87 GHz
available frequency steps: 1.87 GHz, 1.60 GHz, 1.33 GHz, 1.07 GHz, 800 MHz
available cpufreq governors: performance
current policy: frequency should be within 800 MHz and 1.87 GHz.
The governor "performance" may decide which speed to use
within this range.
current CPU frequency is 1.87 GHz (asserted by call to hardware).
[root@myhost tamas]# nano /etc/conf.d/cpufreq
[root@myhost tamas]# /etc/rc.d/cpufreq start
:: Setting cpufreq governing rules , cpu 0cpufrequtils 005: cpufreq-set (C) Dominik Brodowski 2004-2006
Report errors and bugs to cpufreq@vger.kernel.org, please.
invalid or unknown argument
Usage: cpufreq-set [options]
Options:
-c CPU, --cpu CPU number of CPU where cpufreq settings shall be modified
-d FREQ, --min FREQ new minimum CPU frequency the governor may select
-u FREQ, --max FREQ new maximum CPU frequency the governor may select
-g GOV, --governor GOV new cpufreq governor
-f FREQ, --freq FREQ specific frequency to be set. Requires userspace
governor to be available and loaded
-h, --help Prints out this screen

Notes:
1. Omitting the -c or --cpu argument is equivalent to setting it to zero
2. The -f FREQ, --freq FREQ parameter cannot be combined with any other parameter
except the -c CPU, --cpu CPU parameter
3. FREQuencies can be passed in Hz, kHz (default), MHz, GHz, or THz
by postfixing the value with the wanted unit name, without any space
(FREQuency in kHz =^ Hz * 0.001 =^ MHz * 1000 =^ GHz * 1000000).
1cpufrequtils 005: cpufreq-set (C) Dominik Brodowski 2004-2006
Report errors and bugs to cpufreq@vger.kernel.org, please.
invalid or unknown argument
Usage: cpufreq-set [options]
Options:
-c CPU, --cpu CPU number of CPU where cpufreq settings shall be modified
-d FREQ, --min FREQ new minimum CPU frequency the governor may select
-u FREQ, --max FREQ new maximum CPU frequency the governor may select
-g GOV, --governor GOV new cpufreq governor
-f FREQ, --freq FREQ specific frequency to be set. Requires userspace
governor to be available and loaded
-h, --help Prints out this screen

Notes:
1. Omitting the -c or --cpu argument is equivalent to setting it to zero
2. The -f FREQ, --freq FREQ parameter cannot be combined with any other parameter
except the -c CPU, --cpu CPU parameter
3. FREQuencies can be passed in Hz, kHz (default), MHz, GHz, or THz
by postfixing the value with the wanted unit name, without any space
(FREQuency in kHz =^ Hz * 0.001 =^ MHz * 1000 =^ GHz * 1000000).

/etc/rc.conf MODULES= részébe ír be pluszba, hogy: p4-clockmod .
A /etc/conf.d/cpufreq fájlba mit írtál? Látszólag a cpufreq rc script nem tudja értelmezni a megadott paramétereket.

#configuration for cpufreq control

# valid governors:
# ondemand, performance, powersave,
# conservative, userspace
governor="ondemand"

# valid suffixes: Hz, kHz (default), MHz, GHz, THz
min_freq="800MHz"
max_freq="1,86GHz"

Ez van benne! Szerintem ennek jónak kellene lennie
Szerk.:
Hozzáadtam a p4-clockomodot sajnos újraindítás után sem ad ki semmit a cpufreq-info :( nem értem mi a baja, mert más linux disztró alatt és win alatt is megy. Már csak ezt az gondomat kellene megoldani :)

Van egy sanda gyanúm, hogy az a "1,86" nem jó, írd helyette ezt, ha már az info is ezt írta: "1.87GHz".
Hát hogy újraindítás után nem ad ki infót, azt nem értem... A bootnál a modulok betöltésénél nem ír ki hibát?

Azt tárolja valamelyik log? mert valmit ír ki csak olyan gyorsan elkapja, hogy nem tudom :( de valószinleg csak az autowifi küszködik néha.
A /var/log/daemon.log tárolja?

Szerk.:
Nem találod ki mit csináltam és jónak tűnik!

Kikommenteztem a két értéket és egyből leállt 800MHz-re a proci. most kipróbálom, hogy megtartja-e jó szokását újraindítás után is.

Működne, ha ugy betöltené legalább vagy a p4-clockmodot vagy az acpi_cpufreq-et így van benne a DEAMON-ban:

DAEMONS=(syslog-ng hal fam network netfs crond p4-clockmod acpi-cpufreq cpufreq_ondemand cpufreq_powersave iwl3945 autowifi alsa fuse gdm)

ebben van valami hiba? valamelyik modult esetleg hamarabb kellene betölteni és azért nem megy?

Hát ha máshogy nem megy, akkor írd be azt a /etc/rc.local fájlba:
modprobe p4-clockmod
modprobe acpi-cpufreq
modprobe cpufreq_ondemand
Ez a legutolsó script ami lefut bootnál, így legalul láthatod az eredményét.
(Esetleg a /etc/issue fájlt mentsd le, aztán töröld ki a tartalmát.)

Jó hír, hogy a rc.local-ba beírva betölti az acpi-cpufreq-et viszont csak ha beírom terminálba, hogy /etc/rc.d/cpufreq start
kezd el működni az ondemand mód... erre van valami megoldás? itt is valamit a rc.local-ba kellene írni?

Most esett le, hogy mit írtál az előbb...
Olvass vissza. Mit írtál, hova raktad be a p4-clockmodot és az acpi-cpufreq-et?
A DAEMONS-ba, és én mit írtam?
"/etc/rc.conf MODULES= részébe ír be pluszba, hogy: p4-clockmod ."

A DAEMONS-ba a /etc/rc.d/ alatt lévő scripteket lehet írni, a MODULES-ba pedig a modulok neveit. A p4-clockmod meg a többi a MODULES-ba megy, a DAEMONS-ba, meg valami /etc/rc.d/ alatti fájl neve, cpufreq talán?...

Valóban :D és így már működik is :D köszönöm szépen a segítséget :) Végre ez is megy :D

Köszönöm ;)

Nincs mit.

Üdv !

Felkeltette érdeklődésemet ez fórum .....
A hibernálásnál nekem is : villogó kurzor.... és csak a reset gomb téríti észre a gépemet.

Én viszont a "suspend/felfüggeszt" funkció után kíváncsiskodnék.
Majdnem minden jól működik miután vissza jön a gép ebből az állapotból (pillanatok alatt kb:2s) csak a hálózat "süketül meg". Nem pingel semmi, hiába a sok "ifconfig eth down" és az "ifconfig eth0 ...... up" próbáltam újraindítani a "network" demon-t , de nem segít.

Ott folytatódik az MP3 ahol abbamaradt, nem tűnik el semmilyen alkalmazás/progi , csak ez a fránya hálózat süketül/némul el. Böngésztem a wikit, de nem találtam infót.

iptables szabályok üresek, "GA-M57SLI-S4" alaplapom van ezen egy "Marvell 88E1116" ethernet gubbaszt, ezek a demonok indulnak el (syslog-ng network irqbalance gdm netfs acpid alsa hal fam crond sshd) .

"Babonából" feltettem a 64bit-es Arch-ot is de azzal is ugyan az. (Végül is mind a kettőt én telepítettem így nem csoda :-).

Valaki valamilyen infót tud mondai erről a "hibám" -ról?
A hozzászólásokat/segítséget előre is köszönöm.

Milyen hálózati kártyád van? Lehet, hogy suspend előtt ki kéne venni a modult, suspend után meg vissza. pm-utils scriptjével meg lehet oldani.

:-) köszi EZ AZ működik ...
Ethernet : "Marvell 88E1116"
lspci |grep Ethe
00:08.0 Bridge: nVidia Corporation MCP55 Ethernet (rev a2)

Tehát:
#rmmod forcedeth
-suspend
*
-bekapcs
#modprobe forcedeth
#/etc/rc.d/network restart
és megy a hálózat ...
Még egyszer köszi :-)
Ez már haladás :-)

Sziasztok!

Még sosem foglalkoztam a kérdéssel, de most felkeltette az érdeklődésem a téma.
Van egy régi (~4 éves) laptopom, amin szívesen kiprobálnám a hibernálást (ha jó kifejezést használok egyáltalán), hogy az utolsó állapot töltődjön vissza (így gyorsítva a boot-ot).

Nézegettem a Suspend to RAM és a Suspend to Disk leírásokat, de az alapokkal sem vagyok igazából tisztában: melyik kellhet nekem (ha jól tippelek akkor a suspend to disk)?

Amennyire látom az sem biztos, hogy működni fog a dolog, mert BIOS függő?

Az s2ram -i kimenete ez:
This machine can be identified by:
sys_vendor = "Hewlett-Packard "
sys_product = "HP nx9005 (DJ325A) "
sys_version = "KAM1.59 "
bios_version = "KAM1.59 "

A gépről még azt kell tudni, hogy 512 MB RAMmal rendelkezik és 1 GB-os swap partíciót használ.

A kérdésem tehát az, hogy van -e esély életre kelteni a hibernálást(?) és ha igen, mik a konfigurálás lépései?

Nem bios, inkább acpi függő a dolog.
A suspend to ram (suspend) csak "elaltatja" a gépet, így jóval kevesebb áramot vesz fel, viszont ha megszűnik az áramellátás, akkor lőttek a futó dolgoknak, mivel nem veszi ki a ramból a dolgokat.
A suspend to disk (hibernate) a swap particiora menti a ram tartalmat (ergo swap partíció mérete > ram mérete előfeltétel), és így teljesen kikapcsol a gép.

Na most szerény véleményem szerint (szvsz) az Arch olyan gyorsan bootol, hogy keveset nyersz a hibernálással, bár egy régebbi gépnél lehet, hogy ez nem igaz. Pláne, hogy a bios check-et, grubot, kernel bootot, így is meg kell várni.

Hogy megy-e a te konkrét gépeden a hibernálás, azt csak kipróbálással lehet eldönteni.

Személy szerint én nem szoktam hibernálni.

Válaszolok magamnak az archivum kedvéért.
A Suspend to disk beizzításához a leírás alapján a következőket tettem:

  1. pacman -S hibernate-script
  2. pacman -S uswsusp
  3. A /etc/suspend.conf-ban beállítottam a swap particiót:
    resume device = /dev/sda2
    és a tömörítést:
    compress = y
  4. A /etc/mkinitcpio.conf-ban a HOOKS mögé kellett tenni az uresume értéket ügyelve arra, hogy az a filesytems előtt legyen: HOOKS="base udev autodetect pata scsi sata uresume filesystems"
  5. mkinitcpio -p kernel26
  6. A /etc/hibernate/hibernate.conf-ban első értéknek helyeztem el ezt:
    TryMethod ususpend-disk.conf

Én rebootoltam egyet, mielőtt rootként az s2disk parancssal hibernáltam a gépet.