OVH Cloud OVH Cloud

APM ou ACPI ?

69 réponses
Avatar
hugolino
Salut

APM et ACPI font bien la même chose ? (Mise en veille et tout ça)

Je me demande lequel des deux modules il vaut mieux prendre, l'un
n'est-il pas deprécié ?

La page de man d'acipd est plus agée que celle d'apm mais acipd a l'air
plus puissant.

Dernier truc, j'envisage de patcher mon 2.4.24 avec le suspend-to-disk,
y-at-il des incompatibilités avec apm ou acpi.

Merci

--
> It looks as if noone with a 64 bit machine has gotten bitten by this yet
Well, in order to get bitten by this you have to have a 2-terabyte IDE
disk, so we don't have to worry about it for another few months..
-+- Linus in Guide du linuxien pervers - J'ai déjà entendu ça quelque part"

10 réponses

Avatar
Samuel Colin
Dans l'article ,
Christophe PEREZ a tapoté :
[swsusp]

Par contre, le lancement de hibernate me bloque l'arrêt sur un :
unregistrer_netdevice: waiting for eth0 to become free. Usage count = 2
en continu.
Il ne parvient pas à déconnecter l'interface réseau semble t'il.

Autre chose, toujours en rapport avec le réseau, au resume, parfois, je
dois faire un "service network restart" pour que ça fonctionne.

Perso, mon driver réseau est en module (il utilise mii, pratique pour faire

des trucs comme la détection de changement de réseau et autres), je n'ai pas
de problèmes.
Ça peut venir de là : ton driver réseau est-il compilé en dur?

--
CQ> Pourquoi chercher des ténors derrière les barreaux,
CQ> ils ont été libérés, non ? Mais que fait la DDT ?
Le DDT, c'est pour éradiquer les moustiques, pas les ténors.
-+- ED in : Guide du Neuneu Usenet - J'en perds le ténor -+-

Avatar
Christophe PEREZ
Le Wed, 21 Jan 2004 20:50:17 +0000, Samuel Colin a écrit:

Perso, mon driver réseau est en module (il utilise mii, pratique pour faire
des trucs comme la détection de changement de réseau et autres), je n'ai pas
de problèmes.


Avec mon autre machine, et noyau mdk, j'ai bien mii qui se charge aussi,
mais pas avec ce noyau officiel. Je vais voir de quoi il s'agit.

Ça peut venir de là : ton driver réseau est-il compilé en dur?


Non non, même pas.

Et pour le hibernate ?

--
Christophe PEREZ
Écrivez moi sans _faute !

Avatar
Samuel Colin
Dans l'article ,
Christophe PEREZ a tapoté :

Perso, mon driver réseau est en module (il utilise mii, pratique pour faire
des trucs comme la détection de changement de réseau et autres), je n'ai pas
de problèmes.


Avec mon autre machine, et noyau mdk, j'ai bien mii qui se charge aussi,
mais pas avec ce noyau officiel. Je vais voir de quoi il s'agit.

Regarde du côté des dépendances de modules, et vérifie qu'il n'y a pas un

service réseau qui n'a pas été désactivé (genre nfs, par exemple).

Ça peut venir de là : ton driver réseau est-il compilé en dur?


Non non, même pas.

Et pour le hibernate ?

Les deux sont liés. Le fait de ne pas savoir décharger le module réseau

corrompt d'une manière ou d'une autre la vision qu'a le noyau de l'interface
réseau, et donc au resume ça ne fonctionne pas.

--
Chalut la foule , ça veut dire regardez ce que je vais répondre
à l'autre, déjà c'est une remarque méprisante envers quelqu'un qui ne
t'a rien fait
-+- Fr in GNU - Ch'est chcandaleux : che me chui fait inchulter ! -+-


Avatar
Christophe PEREZ
Le Thu, 22 Jan 2004 08:44:34 +0000, Samuel Colin a écrit:

Regarde du côté des dépendances de modules, et vérifie qu'il n'y a pas un
service réseau qui n'a pas été désactivé (genre nfs, par exemple).


Ben ça devrait être l'inverse non ?
Si le réseau n'est plus actif :
$ ping 192.168.0.1
connect: Network is unreachable

# ifconfig eth0
eth0 Lien encap:Ethernet HWaddr 00:03:0D:07:A4:1E
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:2840 errors:0 dropped:0 overruns:0 frame:0
TX packets:3305 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:401251 (391.8 Kb) TX bytes:390734 (381.5 Kb)
Interruption:3 Adresse de base:0x4000

# service network restart
le module natsemi est bien chargé
# ifconfig eth0
eth0 Lien encap:Ethernet HWaddr 00:03:0D:07:A4:1E
inet adr:192.168.0.201 Bcast:192.168.0.255 Masque:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2980 errors:0 dropped:0 overruns:0 frame:0
TX packets:3400 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:413246 (403.5 Kb) TX bytes:406050 (396.5 Kb)
Interruption:3 Adresse de base:0x4000

Et pour le hibernate ?

Les deux sont liés. Le fait de ne pas savoir décharger le module réseau

corrompt d'une manière ou d'une autre la vision qu'a le noyau de l'interface
réseau, et donc au resume ça ne fonctionne pas.


Ok, mais dans le cas du hibernate, ce n'est pas le resume qui ne passe
pas, c'est à l'arrêt que ça coince.

--
Christophe PEREZ
Écrivez moi sans _faute !


Avatar
Samuel Colin
Dans l'article ,
Christophe PEREZ a tapoté :

Les deux sont liés. Le fait de ne pas savoir décharger le module réseau

corrompt d'une manière ou d'une autre la vision qu'a le noyau de l'interface
réseau, et donc au resume ça ne fonctionne pas.


Ok, mais dans le cas du hibernate, ce n'est pas le resume qui ne passe
pas, c'est à l'arrêt que ça coince.

As-tu essayé d'activer le debugging et regarder dans /var/log les messages

laissés par swsusp?
Et quel est le type de ta carte réseau?
Est-ce que ton script de démarrage/arrêt réseau apparaît dans la variable
SWSUSP_RESTART_SERVICES de /etc/suspend.conf?
Pour exemple, voilà la mienne (j'ai une Debian, le script est "networking") :
SWSUSP_RESTART_SERVICES=" exim inetd anacron gpm setserial etc-setserial nfs-common networking ifupdown"

--
TM> C'est cense representer quoi les ^W^W^" ?
Ca représente toute l'étendue de l'incommensurable incapacité à
comprendre Usenet de certains neuneus.
-+- MLG in <http://www.le-gnu.net> : Usenet 1 - Neuneu 0 -+-



Avatar
Christophe PEREZ
Le Thu, 22 Jan 2004 20:35:27 +0000, Samuel Colin a écrit:

As-tu essayé d'activer le debugging


Il l'est puisqu'impossible de compiler sans.

et regarder dans /var/log les messages laissés par swsusp?


Incompréhensible pour moi.

Et quel est le type de ta carte réseau?


# lspci | grep Ethernet
01:0c.0 Ethernet controller: National Semiconductor Corporation DP83815 (MacPhyter) Ethernet Controller

C'est le module natsemi.o que je charge pour.

Est-ce que ton script de démarrage/arrêt réseau apparaît dans la variable
SWSUSP_RESTART_SERVICES de /etc/suspend.conf?


Oui.
# grep ^SWSUSP_RESTART /etc/suspend.conf
SWSUSP_RESTART_SERVICES=" xinetd sound network"

Pour exemple, voilà la mienne (j'ai une Debian, le script est "networking") :
SWSUSP_RESTART_SERVICES=" exim inetd anacron gpm setserial etc-setserial nfs-common networking ifupdown"


mandrake c'est network.

Par contre, j'ai eu 2 autres choses pas très normales.
Après un resume, lorsque j'ai tenté de brancher un périphérique USB,
plantage complet, power off.
De même, pendant l'écoute d'un mp3 avec xmms, tentative de la procédure
qui fonctionne normalement "echo 4 > /proc/acpi/sleep", blocage au début
du swap (barre de progression "freeze...") et plus rien.

C'est marrant (enfin, façon de parler) parce que j'ai voulu mettre le
swsusp aussi sur mon autre machine (desktop), et la, seul le hibernate
fonctionne (les "echo >..." me font rien), mais problème au résume avec
X qu'il me faut relancer car tout ne s'affiche pas. Ok pour certains
boutons, mais pas les fonds de fenêtre. Bon, je n'ai pas trop pousser
avec cette machine parce que c'est celle que j'utilise.

--
Christophe PEREZ
Écrivez moi sans _faute !

Avatar
Christophe PEREZ
Le Thu, 22 Jan 2004 21:52:59 -0400, Christophe PEREZ a écrit:

C'est le module natsemi.o que je charge pour.
[...]


Pour, alors, pour le portable, résultat de mes investigations.
Quelque soit le noyau que j'utilise, impossible de décharger le module
natsemi.o dans avoir arrêter les services en rapport avec le réseau :
ntpd, netfs, network, slpd et tmdns.

C'est normal vous me direz. Oui, de ne pas pouvoir décharger, mais de
voir le PC impossible à stopper dans ces conditions ? Rien à faire,
quand il a commencé à vouloir enlever ce module et qu'il ne peut pas, il
ne veut plus rien savoir.

Justement, pour les deux derniers service, j'ai cherché à comprendre à
quoi ils servent mais je n'ai pas trouvé grand chose. Le service tmdns
est-il utilise/indispensable dans le cadre de mon réseau local qui
possède un serveur dns ? et hors réseau ?
Quant à slpd, rien trouvé...
Bref !
Donc, dans /etc/suspend.conf, j'ai mis :
SWSUSP_RESTART_SERVICES=" xinetd sound tmdns ntpd slpd netfs network"
Mais ça n'a rien changé.
De plus, je pensais que :
# If the following interfaces cannot be stopped,
# then suspension is aborted unless --force or --kill
# option is used on command line
# Default: "eth0"
SWSUSP_DOWNIFS="eth0"

aurait du aussi solutionner le problème, mais non.

J'ai donc mis :
# Some modules should be unloaded before a suspend/resume cycle. You
# can set UNLOAD_MODULES_BEFORE_SUSPEND to "yes" if you want
# unused modules to be removed from kernel space before suspend.
# This will be done after stopping services.
# With "no", nothing will be done before suspension.
# With "auto", it only does "rmmod -a" to clean modules
# which are marked "(autoclean)" in lsmod.
#
# Default: "yes"
SWSUSP_UNLOAD_MODULES_BEFORE_SUSPEND="auto"

Et là, enfin, le script hibernate peut faire son boulot.

Pour revenir à l'ACPI, il n'y a aucune possibilité de configuration de
quoi que ce soit ?
Est-ce normal de n'avoir que :
# find /etc/acpi/ -type f
/etc/acpi/events/power

Et rien d'autre ?
Je ne trouve aucune doc indiquant que l'on puisse configurer autre chose,
mais ça me semble bizarre...

Enfin, (mais peut-être devrais-je ici créer un nouveau fil), je voudrais
configurer les touches spéciales de mon clavier de portable, j'ai lu
quelques tuto, mais malheureusement, celles-ci ne renvoient rien ni avec
xev, ni avec showkey.
Y a t'il malgré tout une solution ?

--
Christophe PEREZ
Écrivez moi sans _faute !

Avatar
Samuel Colin
Dans l'article ,
Christophe PEREZ a tapoté :

Par contre, j'ai eu 2 autres choses pas très normales.
Après un resume, lorsque j'ai tenté de brancher un périphérique USB,
plantage complet, power off.
De même, pendant l'écoute d'un mp3 avec xmms, tentative de la procédure
qui fonctionne normalement "echo 4 > /proc/acpi/sleep", blocage au début
du swap (barre de progression "freeze...") et plus rien.

Tu utilises un noyau mandrake patché en plus avec swsusp? Si c'est ça, 'faut

pas s'étonner. Il vaut mieux utiliser les sources noyau en provenance
directe de kernel.org (ou un miroir).
Sinon, tu aurais peut-être intérêt à poser la question sur la mailing-list
de swsusp, ça peut être signe d'un bug de swsusp (eh oui, c'est pas tout à
fait stable).

C'est marrant (enfin, façon de parler) parce que j'ai voulu mettre le
swsusp aussi sur mon autre machine (desktop), et la, seul le hibernate
fonctionne (les "echo >..." me font rien), mais problème au résume avec
X qu'il me faut relancer car tout ne s'affiche pas. Ok pour certains
boutons, mais pas les fonds de fenêtre. Bon, je n'ai pas trop pousser
avec cette machine parce que c'est celle que j'utilise.

Certaines cartes graphiques/certains drivers ont du mal avec la

réinitialisation imposée par les scripts d'hibernation du swsusp.
Pour ça tu devrais jeter un oeil à la FAQ de http://swsusp.sf.net

--
HB: Quant à Linux [..] trés bon système d'exploitation, mais difficile
HB: à implanter en entreprise, pour des raisons non techniques.
Dont celle-ci : Le singe préfère la voiture rouge.
-+- MB, in Guide du linuxien pervers - "Bien configurer son singe" -+-

Avatar
Qing Liu
Samuel Colin writes:

Certaines cartes graphiques/certains drivers ont du mal avec la
réinitialisation imposée par les scripts d'hibernation du swsusp.
Pour ça tu devrais jeter un oeil à la FAQ de http://swsusp.sf.net


Avec ma carte Radeon Mobility, si je mets le pilote DRM
(direct rendering manager), le réveille se passe mal, très mal.
Plus d'affichage sous X et un kill -9 X freez définitivement
la machine. :(

--
Liu

Avatar
Samuel Colin
Dans l'article ,
Qing Liu a tapoté :
Samuel Colin writes:

Certaines cartes graphiques/certains drivers ont du mal avec la
réinitialisation imposée par les scripts d'hibernation du swsusp.
Pour ça tu devrais jeter un oeil à la FAQ de http://swsusp.sf.net


Avec ma carte Radeon Mobility, si je mets le pilote DRM
(direct rendering manager), le réveille se passe mal, très mal.
Plus d'affichage sous X et un kill -9 X freez définitivement
la machine. :(

J'utilise aussi le pilote DRM, mais un très récent qui implémente le hack de

Charl Botha:
http://cpbotha.net/dri_reinit.html
et
http://cpbotha.net/dri_resume.html

Les deux sont implémentés dans les derniers snapshots de:
http://dri.sourceforge.net

Comme j'utilise une Debian, je prends ceux-là:
http://people.debian.org/~daenzer/dri-trunk-sid/

Et même si on n'utilise pas une Debian, on doit pouvoir prendre les sources
des modules drm dans drm-trunk-module-src_2003.10.05-3_all.deb (avec alien)
pour se faire sa compilation de noyau+modules aux petits oignons.
Perso je fais ça (les noyaux à la Debian sont trop patchés pour être
utilisés avec swsusp), et ça marche pas trop mal.
En supposant que dans mon répertoire j'ai un linux/ à compiler et
modules/drm-trunk, je fais ça:
- Je compile mon Linux
- J'installe mon Linux
- Je compile modules/drm-trunk avec un Makefile particulier
- J'installe avec le même Makefile
- Je modifie le menu de mon grub
- Je reboote et je peux suspendre pendant que je bricole avec blender.

Le Makefile contient ça (changer la version de noyau et le chemin vers
les sources de celui-ci si nécessaire):
::::::::::::::::::::::::::::Makefile.drm
KDIR=../../linux

KVERS= 2.4.22

MODULE_DIR = /lib/modules/$(KVERS)/kernel/drivers/char/drm/

build:
$(MAKE) -f Makefile.linux LINUXDIR=$(KDIR) CC=$(CC)

install:
install -d $(MODULE_DIR)
for driver in i810 i830 mga r128 radeon sis tdfx; do
if [ -f $$driver.ko ]; then
module=$$driver.ko;
elif [ -f $$driver.o ]; then
module=$$driver.o;
else
module="";
fi;
if [ "$$module" != "" ]; then
install -m 644 $$module $(MODULE_DIR);
fi;
done

clean:
$(MAKE) -f Makefile.linux clean
rm linux

:::::::::::::::::::::::::::::::::::::Makefile.drm

Je mets ce Makefile.drm dans modules/drm-trunk
cd modules/drm-trunk
make -f Makefile.drm build
make -f Makefile.drm install

Et ça installe dans le chemin indiqué par MODULE_DIR

--
A poster named "Rasputin" has recently insulted the French at
alt.binaries.pictures.alley-baggett. The French need to be defended.
Go and respond to Rasputin's claims.
-+- MK in GNU : Défense et illustration de la francophonie. -+-