Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Gestion commutation alimentation batterie/secteur

4 réponses
Avatar
greg
Bonjour à tous,

Etant nouveau sur ce forum, je m'excuse par avance si ce post à déjà une
réponse. Mes recherches n'ayant rien donnés.

Je possède une distrib MDK 10 Official (noyau 2.6.3) sur un notebook
Packard-Bell EasynoteSc (PIII 700 MHz).

J'ai un problème lors de la commutation de la source d'alimentation
batterie/secteur (quelque soit le sens, je branche ou je débranche).

Cela se traduit par un gel du système. Ma souris est bloquée, le clavier
aussi et apparemment tout est stoppé (plus de bruit de disque dur). L'écran
lui est toujours actif.

J'ai essayé différentes options depuis le panneau de démarrage depuis Le
centre de configuration (cf copie écran) en activant ou désactivant l'ACPI
et l'APIC.

Chez moi, c'est l'APM (via ampd) qui est activé. Ce qui m'est confirmé par
la présence du fichier /proc/apm duquel je récupère correctement les
informations concernant l'alimentation du notebook.
actuellement : 1.16ac 1.2 0x03 0x01 0x03 0x08 100% -1 ?

Donc tous fonctionne bien, sauf que lorsque je souhaite me déplacer je
débranche le secteur pour "passer" sur batterie et la grand Freeze.

Dans de précédentes tentatives et installation de MDK 10 Official noyau
2.6.3. je n'avais pas ce pb. Mais voila d'ou cela provient-il et comment
le résoudre ?

Voici le fichier gérant l'APM chez moi
########################################
#!/bin/sh
#
# chkconfig: 2345 26 74
# description: apmd is used for monitoring battery \
status and logging it via syslog(8). \
It can also be used for shutting down the machine when \
the battery is low.
# processname: apmd
# config: /etc/sysconfig/suspend
# clock: /etc/sysconfig/clock

# If APM isn't supported by the kernel, try loading the module...
[ -e /proc/apm ] || /sbin/modprobe apm &>/dev/null

# Don't bother if /proc/apm still doesn't exist, kernel doesn't have
# support for APM.
[ -e /proc/apm ] || exit 0

CONFIG=/etc/sysconfig/suspend

# Source function library.
. /etc/init.d/functions

RETVAL=0

start() {
gprintf "Starting up APM daemon: "
test -r "$CONFIG" && . "$CONFIG"
daemon /usr/sbin/apmd -p $LOGPERCENTCHANGE -w $WARNPERCENT
$ADDPARAMS \
-P /usr/sbin/pmsuspend2
RETVAL=$?
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/apmd
echo
}

stop() {
gprintf "Shutting down APM daemon: "
killproc apmd
RETVAL=$?
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/apmd
/sbin/modprobe -r apm &>/dev/null
echo
}

dostatus() {
status apmd
RETVAL=$?
}

restart() {
stop
start
RETVAL=$?
}

condrestart() {
[ -e /var/lock/subsys/apmd ] && restart || :
}

# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
dostatus
;;
restart|reload)
restart
;;
condrestart)
condrestart
;;
*)
gprintf "Usage: apmd.init {start|stop|status|restart|reload
condrestart}\n"
exit 1
esac

exit $RETVAL
#EOF
#############################################


Je remercie par avance les bonnes volontés qui m'auront réponsu et surtout
coup de chapeau au crack qui saurait me dépatouiller de cet ennui (mineur
mais ralant quant on a un portable).

Grégoire

4 réponses

Avatar
greg
En complément de mon post précédent

[ gregoire]# lspci
00:07.3 Bridge: Intel Corp. 82371AB/EB/MB PIIX4 ACPI (rev 03)

[ gregoire]# lscpidrake
sonypi : Intel Corporation|82371AB PIIX4 ACPI - Bus Master IDE
Controller [BRIDGE_OTHER]

J'y vois ACPI cela supposerais que je puisse l'utiliser en lieu et place de
APM. Mais curieusement lorsque je teste
[ gregoire]# acpi
No ACPI support in kernel, or incorrect acpi_path ("/proc/acpi").

Possédant le noyau 2.6.3 normalement je crois qu'il est apte. Mais
effectivement je n'ai pas le fichier :
[ gregoire]# cat /proc/acpi
cat: /proc/acpi: No such file or directory

Quel gestionnaire choisir et comment régler ce problème de gel système lors
d'un branchement ou débranchement m'obligeant à éteindre l'ordi via le
bouton marche/arret (heureusement) pour rebooter et réouvrir une session ?



greg wrote:

Bonjour à tous,

Etant nouveau sur ce forum, je m'excuse par avance si ce post à déjà une
réponse. Mes recherches n'ayant rien donnés.

Je possède une distrib MDK 10 Official (noyau 2.6.3) sur un notebook
Packard-Bell EasynoteSc (PIII 700 MHz).

J'ai un problème lors de la commutation de la source d'alimentation
batterie/secteur (quelque soit le sens, je branche ou je débranche).

Cela se traduit par un gel du système. Ma souris est bloquée, le clavier
aussi et apparemment tout est stoppé (plus de bruit de disque dur).
L'écran lui est toujours actif.

J'ai essayé différentes options depuis le panneau de démarrage depuis Le
centre de configuration (cf copie écran) en activant ou désactivant l'ACPI
et l'APIC.

Chez moi, c'est l'APM (via ampd) qui est activé. Ce qui m'est confirmé par
la présence du fichier /proc/apm duquel je récupère correctement les
informations concernant l'alimentation du notebook.
actuellement : 1.16ac 1.2 0x03 0x01 0x03 0x08 100% -1 ?

Donc tous fonctionne bien, sauf que lorsque je souhaite me déplacer je
débranche le secteur pour "passer" sur batterie et la grand Freeze.

Dans de précédentes tentatives et installation de MDK 10 Official noyau
2.6.3. je n'avais pas ce pb. Mais voila d'ou cela provient-il et comment
le résoudre ?

Voici le fichier gérant l'APM chez moi
########################################
#!/bin/sh
#
# chkconfig: 2345 26 74
# description: apmd is used for monitoring battery
status and logging it via syslog(8).
It can also be used for shutting down the machine when
the battery is low.
# processname: apmd
# config: /etc/sysconfig/suspend
# clock: /etc/sysconfig/clock

# If APM isn't supported by the kernel, try loading the module...
[ -e /proc/apm ] || /sbin/modprobe apm &>/dev/null

# Don't bother if /proc/apm still doesn't exist, kernel doesn't have
# support for APM.
[ -e /proc/apm ] || exit 0

CONFIG=/etc/sysconfig/suspend

# Source function library.
. /etc/init.d/functions

RETVAL=0

start() {
gprintf "Starting up APM daemon: "
test -r "$CONFIG" && . "$CONFIG"
daemon /usr/sbin/apmd -p $LOGPERCENTCHANGE -w $WARNPERCENT
$ADDPARAMS
-P /usr/sbin/pmsuspend2
RETVAL=$?
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/apmd
echo
}

stop() {
gprintf "Shutting down APM daemon: "
killproc apmd
RETVAL=$?
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/apmd
/sbin/modprobe -r apm &>/dev/null
echo
}

dostatus() {
status apmd
RETVAL=$?
}

restart() {
stop
start
RETVAL=$?
}

condrestart() {
[ -e /var/lock/subsys/apmd ] && restart || :
}

# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
dostatus
;;
restart|reload)
restart
;;
condrestart)
condrestart
;;
*)
gprintf "Usage: apmd.init {start|stop|status|restart|reload
condrestart}n"
exit 1
esac

exit $RETVAL
#EOF
#############################################


Je remercie par avance les bonnes volontés qui m'auront réponsu et surtout
coup de chapeau au crack qui saurait me dépatouiller de cet ennui (mineur
mais ralant quant on a un portable).

Grégoire


Avatar
ky2ivobo

dmesg donne quoi ?

As tu essayé un
/etc/init.d/acpid start
Avatar
greg
Salut Ky2ivobo et merci

Q : Le fait de lancer acpid alors même que APM est démarré ne perturbe pas la
machine ?

R : dmesg (va falloir que j'en prenne l'habitude)
Voici un résumé
[ gregoire]$ dmesg | grep "ACPI"
BIOS-e820: 000000000fff0000 - 000000000ffffc00 (ACPI data)
BIOS-e820: 000000000ffffc00 - 0000000010000000 (ACPI NVS)
ACPI disabled because your bios is from 2000 and too old
ACPI: Subsystem revision 20040211
ACPI: Interpreter disabled.

Un peu contradictoire comme message ACPI présent dans le BIOS mais trop vieux !?
J'ai vérifié via WIN 2000 (et oui j'en suis encore là mais pour la parenthèse
c'est le seul Windows qui soit super stable jusqu'à preuve du contraire) et
j'ai un getionnaire d'alimentation ACPI bon...

J'utilise pour le moment le gestionnaire APM
[ gregoire]$ dmesg | grep apm
apm: BIOS version 1.2 Flags 0x03 (Driver version 1.16ac)

dmesg version intégrale renvoie :
Linux version 2.6.3-7mdk () (gcc version 3.3.2
(Mandrake Linux 10.0 3.3.2-6mdk)) #1 Wed Mar 17 15:56:42 CET 2004
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009f800 (usable)
BIOS-e820: 000000000009f800 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000e9400 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 000000000fff0000 (usable)
BIOS-e820: 000000000fff0000 - 000000000ffffc00 (ACPI data)
BIOS-e820: 000000000ffffc00 - 0000000010000000 (ACPI NVS)
BIOS-e820: 00000000fff80000 - 0000000100000000 (reserved)
255MB LOWMEM available.
On node 0 totalpages: 65520
DMA zone: 4096 pages, LIFO batch:1
Normal zone: 61424 pages, LIFO batch:14
HighMem zone: 0 pages, LIFO batch:1
DMI 2.3 present.
ACPI disabled because your bios is from 2000 and too old
You can enable it with acpi=force
Built 1 zonelists
Kernel command line: BOOT_IMAGE=linux ro root0a devfs=mount resume=/dev/hda11
acpi=ht
Local APIC disabled by BIOS -- reenabling.
Could not enable APIC!
Initializing CPU#0
PID hash table entries: 1024 (order 10: 8192 bytes)
Detected 699.696 MHz processor.
Using tsc for high-res timesource
Console: colour VGA+ 80x25
Memory: 255364k/262080k available (1816k kernel code, 5984k reserved, 849k data,
272k init, 0k highmem)
Checking if this processor honours the WP bit even in supervisor mode... Ok.
Calibrating delay loop... 1380.35 BogoMIPS
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
checking if image is initramfs...it isn't (no cpio magic); looks like an initrd
Freeing initrd memory: 103k freed
CPU: After generic identify, caps: 0387f9ff 00000000 00000000 00000000
CPU: After vendor identify, caps: 0387f9ff 00000000 00000000 00000000
CPU: L1 I cache: 16K, L1 D cache: 16K
CPU: L2 cache: 256K
CPU serial number disabled.
CPU: After all inits, caps: 0383f9ff 00000000 00000000 00000040
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
CPU: Intel Pentium III (Coppermine) stepping 06
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
NET: Registered protocol family 16
EISA bus registered
PCI: PCI BIOS revision 2.10 entry at 0xfd9be, last bus=1
PCI: Using configuration type 1
mtrr: v2.0 (20020519)
ACPI: Subsystem revision 20040211
ACPI: Interpreter disabled.
Linux Plug and Play Support v0.97 (c) Adam Belay
PnPBIOS: Disabled
PCI: Probing PCI hardware
PCI: Probing PCI hardware (bus 00)
PCI: Using IRQ router PIIX/ICH [8086/7110] at 0000:00:07.0
PCI: IRQ 0 for device 0000:00:04.0 doesn't match PIRQ mask - try pci=usepirqmask
PCI: Found IRQ 5 for device 0000:00:04.0
PCI: IRQ 0 for device 0000:00:06.0 doesn't match PIRQ mask - try pci=usepirqmask
PCI: IRQ 0 for device 0000:00:07.2 doesn't match PIRQ mask - try pci=usepirqmask
PCI: IRQ 0 for device 0000:00:0c.0 doesn't match PIRQ mask - try pci=usepirqmask
PCI: IRQ 0 for device 0000:00:0c.1 doesn't match PIRQ mask - try pci=usepirqmask
PCI: IRQ 0 for device 0000:00:0d.0 doesn't match PIRQ mask - try pci=usepirqmask
PCI: Cannot allocate resource region 4 of device 0000:00:07.1
SBF: Simple Boot Flag extension found and enabled.
SBF: Setting boot flags 0x1
apm: BIOS version 1.2 Flags 0x03 (Driver version 1.16ac)
ikconfig 0.7 with /proc/config*
VFS: Disk quotas dquot_6.5.1
devfs: 2004-01-31 Richard Gooch ()
devfs: boot_options: 0x1
Initializing Cryptographic API
Limiting direct PCI/PCI transfers.
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found
pty: 1024 Unix98 ptys configured
Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing enabled
ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
RAMDISK driver initialized: 16 RAM disks of 32000K size 1024 blocksize
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
PIIX4: IDE controller at PCI slot 0000:00:07.1
PIIX4: chipset revision 1
PIIX4: not 100% native mode: will probe irqs later
ide0: BM-DMA at 0x1070-0x1077, BIOS settings: hda:DMA, hdb:pio
ide1: BM-DMA at 0x1078-0x107f, BIOS settings: hdc:DMA, hdd:pio
hda: HITACHI_DK23BA-20, ATA DISK drive
Using anticipatory io scheduler
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hdc: TOSHIBA DVD-ROM SD-C2402, ATAPI CD/DVD-ROM drive
ide1 at 0x170-0x177,0x376 on irq 15
hda: max request size: 128KiB
hda: 39070080 sectors (20003 MB) w/2048KiB Cache, CHS8760/16/63, UDMA(33)
/dev/ide/host0/bus0/target0/lun0: p1 p2 < p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 >
mice: PS/2 mouse device common for all mice
serio: i8042 AUX port at 0x60,0x64 irq 12
input: ImExPS/2 Logitech Explorer Mouse on isa0060/serio1
serio: i8042 KBD port at 0x60,0x64 irq 1
input: AT Translated Set 2 keyboard on isa0060/serio0
md: md driver 0.90.0 MAX_MD_DEVS%6, MD_SB_DISKS'
EISA: Probing bus 0 at eisa0
NET: Registered protocol family 2
IP: routing cache hash table of 2048 buckets, 16Kbytes
TCP: Hash tables configured (established 16384 bind 32768)
NET: Registered protocol family 1
BIOS EDD facility v0.13 2004-Mar-09, 1 devices found
Please report your BIOS at http://linux.dell.com/edd/results.html
Resume Machine: resuming from /dev/hda11
Resuming from device hda11
Resume Machine: This is normal swap space
PM: Reading pmdisk image.
PM: Resume from disk failed.
md: Autodetecting RAID arrays.
md: autorun ...
md: ... autorun DONE.
RAMDISK: Compressed image found at block 0
VFS: Mounted root (ext2 filesystem).
Mounted devfs on /dev
kjournald starting. Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
Mounted devfs on /dev
Freeing unused kernel memory: 272k freed
Real Time Clock Driver v1.12
drivers/usb/core/usb.c: registered new driver usbfs
drivers/usb/core/usb.c: registered new driver hub
drivers/usb/host/uhci-hcd.c: USB Universal Host Controller Interface driver v2.1
PCI: Enabling device 0000:00:07.2 (0000 -> 0001)
PCI: IRQ 0 for device 0000:00:07.2 doesn't match PIRQ mask - try pci=usepirqmask
PCI: Assigned IRQ 5 for device 0000:00:07.2
uhci_hcd 0000:00:07.2: UHCI Host Controller
uhci_hcd 0000:00:07.2: irq 5, io base 00001080
uhci_hcd 0000:00:07.2: new USB bus registered, assigned bus number 1
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
EXT3 FS on hda10, internal journal
Adding 263048k swap on /dev/hda11. Priority:-1 extents:1
Linux agpgart interface v0.100 (c) Dave Jones
agpgart: Detected an Intel 440BX Chipset.
agpgart: Maximum main memory to use for agp memory: 203M
agpgart: AGP aperture is 64M @ 0xf8000000
kjournald starting. Commit interval 5 seconds
EXT3 FS on hda14, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
Supermount version 2.0.4 for kernel 2.6
NTFS driver 2.1.6 [Flags: R/O MODULE].
NTFS volume version 3.0.
NTFS volume version 3.0.
NTFS volume version 3.0.
NTFS volume version 3.0.
NTFS volume version 3.0.
NTFS volume version 3.0.
kjournald starting. Commit interval 5 seconds
EXT3 FS on hda12, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting. Commit interval 5 seconds
EXT3 FS on hda13, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
ohci1394: $Rev: 1097 $ Ben Collins
PCI: Enabling device 0000:00:0d.0 (0010 -> 0012)
PCI: IRQ 0 for device 0000:00:0d.0 doesn't match PIRQ mask - try pci=usepirqmask
PCI: Assigned IRQ 10 for device 0000:00:0d.0
PCI: Sharing IRQ 10 with 0000:00:06.0
PCI: Sharing IRQ 10 with 0000:00:0c.0
PCI: Sharing IRQ 10 with 0000:00:0c.1
ohci1394: fw-host0: Unexpected PCI resource length of 1000!
ohci1394: fw-host0: OHCI-1394 1.0 (PCI): IRQ=[10] MMIO=[fc001000-fc0017ff] Max
Packet=[1024]
ieee1394: Host added: ID:BUS[0-00:1023] GUID[00004ce00e00e478]
Linux Tulip driver version 1.1.13 (May 11, 2002)
Linux Kernel Card Services
options: [pci] [cardbus] [pm]
PCI: IRQ 10 for device 0000:00:0c.0 doesn't match PIRQ mask - try
pci=usepirqmask
PCI: Found IRQ 10 for device 0000:00:0c.0
PCI: Sharing IRQ 10 with 0000:00:06.0
PCI: Sharing IRQ 10 with 0000:00:0c.1
PCI: Sharing IRQ 10 with 0000:00:0d.0
Yenta: CardBus bridge found at 0000:00:0c.0 [1033:80cd]
Yenta: Enabling burst memory read transactions
Yenta: Using CSCINT to route CSC interrupts to PCI
Yenta: Routing CardBus interrupts to PCI
Yenta: ISA IRQ mask 0x0a98, PCI irq 10
Socket status: 30000020
PCI: IRQ 10 for device 0000:00:0c.1 doesn't match PIRQ mask - try
pci=usepirqmask
PCI: Found IRQ 10 for device 0000:00:0c.1
PCI: Sharing IRQ 10 with 0000:00:06.0
PCI: Sharing IRQ 10 with 0000:00:0c.0
PCI: Sharing IRQ 10 with 0000:00:0d.0
Yenta: CardBus bridge found at 0000:00:0c.1 [1033:80cd]
Yenta: Using CSCINT to route CSC interrupts to PCI
Yenta: Routing CardBus interrupts to PCI
Yenta: ISA IRQ mask 0x0a98, PCI irq 10
Socket status: 30000047
PCI: Enabling device 0000:02:00.0 (0000 -> 0003)
PCI: Setting latency timer of device 0000:02:00.0 to 64
eth0: ADMtek Comet rev 17 at 0x4000, 00:00:00:00:00:00, IRQ 10.
cs: IO port probe 0x0c00-0x0cff: clean.
cs: IO port probe 0x0100-0x04ff: excluding 0x378-0x37f 0x3c0-0x3df 0x4d0-0x4d7
cs: IO port probe 0x0a00-0x0aff: clean.
inserting floppy driver for 2.6.3-7mdk
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
hdc: ATAPI 24X DVD-ROM drive, 128kB Cache, UDMA(33)
Uniform CD-ROM driver Revision: 3.20
ide-floppy driver 0.99.newide
drivers/usb/core/usb.c: registered new driver hiddev
drivers/usb/core/usb.c: registered new driver hid
drivers/usb/input/hid-core.c: v2.0:USB HID core driver
NET: Registered protocol family 17
PCI: Enabling device 0000:00:04.0 (0000 -> 0001)
PCI: Found IRQ 5 for device 0000:00:04.0
maestro3: enabled hack for 'NEC LM800J/7'
NET: Registered protocol family 10
Disabled Privacy Extensions on device c035fe60(lo)
IPv6 over IPv4 tunneling driver
eth0: no IPv6 routers present
SCSI subsystem initialized
st: Version 20040122, fixed bufsize 32768, s/g segs 256
Avatar
greg
Bonjour à tous.

Je me réponds à moi même mais c'est pour faire partager mes efforts. En effet,
grâce à ky2ivobo qui m'a donné un bon début de piste, de fil en aiguille j'ai
pu
résoudre mon problème.

------------------------------------------------------------------------------
Quel problème ? : Mon OS préféré (Mdk 10.0 noyau 2.6.3-7) se figeait
totalement lorsque je branchais ou débranchais la prise secteur de mon
ordinateur portable. En un mot la gestion de l'alimentation lors de la
commutation batterie <-> secteur était défectueuse.
------------------------------------------------------------------------------

Je vais essayé d'être le plus concis possible. Sachez que mon système
fonctionne
déjà sous ACPI les copies d'écran le feront apparaitre.

Tout d'abord sachez que pour gérer l'énergie notamment pour un notebook,
laptop ou autre portable (le mien est un Packard Bell Nec EasyNoteSc PIII 700
Mhz Coppermine), deux normes coexistent. L'ACPI remplaçant progressivement
l'APM.

------------------------------------------------------------------------------
Voici quelques adresses utiles pour plus d'informations:
http://www.intel.com/technology/iapc/acpi/faq.htm#linux
http://www.cpqlinux.com/acpi-howto.html
http://www.gentoo.org/doc/fr/power-management-guide.xml?style=printable
http://www.worldvisions.ca/~apenwarr/apmd/
http://www.tldp.org/HOWTO/Battery-Powered/index.html
http://www.linux-on-laptops.com/components.html#components_power
------------------------------------------------------------------------------


Quelle norme utiliser ?
Sur mon système d'exploitation Mdk 10.0 Official, c'est le démon APM qui gère
le
service par défaut. D'ailleur les informations sur la batteries sont
disponibles depuis les fichiers /proc/apm. Mais ce système de gestion n'est pas
performant. Cela étant avec un bon script (mais la je sèche).

------------------------------------------------------------------------------

Comment savoir ce qui est déjà installé APM ou ACPI ?
Vive Linux, il nous parle, écoutons le (merci ky2ivobo). Relisons ce que nous
dis le noyau lors du démarrage du système.

[ dossier]$ dmesg | grep -i "apm"
apm: BIOS version 1.2 Flags 0x03 (Driver version 1.16ac)
apm: overridden by ACPI.


Comprendre qu'APM démarre mais qu'il est abandonné au profit du système de
gestion ACPI (ce que l'on doit obtenir). Normalement vous ne devez avoir que la
première ligne en mode APM.

[ dossier]$ dmesg | grep -i "acpi"
BIOS-e820: 000000000fff0000 - 000000000ffffc00 (ACPI data)
BIOS-e820: 000000000ffffc00 - 0000000010000000 (ACPI NVS)
ACPI: RSDP (v000 NEC ) @ 0x000f6c10
ACPI: RSDT (v001 NEC ND000030 0x00000001 NEC 0x00000000) @ 0x0fffb97c
ACPI: FADT (v001 NEC ND000030 0x00000001 FACP 0x000f4240) @ 0x0ffffb64
ACPI: BOOT (v001 NEC ND000030 0x00000001 NEC 0x00000001) @ 0x0ffffbd8
ACPI: DSDT (v001 NEC ND000030 0x00000001 MSFT 0x0100000b) @ 0x00000000
ACPI: PM-Timer IO Port: 0x1008
Kernel command line: BOOT_IMAGE=linux ro root0a noapic acpi=force
devfs=mount

resume=/dev/hda11
ACPI: Subsystem revision 20040211
ACPI: IRQ9 SCI: Edge set to Level Trigger.
ACPI-1120: *** Error: Method execution failed [_SB_.PCI0.ISA_.COM2._STA]
(Node c12c83e0), AE_AML_NO_RETURN_VALUE
ACPI-0098: *** Error: Method execution failed [_SB_.PCI0.ISA_.COM2._STA]
(Node c12c83e0), AE_AML_NO_RETURN_VALUE
ACPI: Interpreter enabled
ACPI: Using PIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (00:00)
ACPI: PCI Interrupt Routing Table [_SB_.PCI0._PRT]
ACPI: PCI Interrupt Link [LNKA] (IRQs 10)
ACPI: PCI Interrupt Link [LNKB] (IRQs 10)
ACPI: PCI Interrupt Link [LNKC] (IRQs *5)
ACPI: PCI Interrupt Link [LNKD] (IRQs 5)
ACPI: Power Resource [PUSB] (off)
ACPI: Power Resource [PFAN] (off)
ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 5
ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 10
ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 5
PCI: Using ACPI for IRQ routing
PCI: if you experience problems, try using option 'pci=noacpi' or even
'acpi=off'
apm: overridden by ACPI.
ACPI: (supports S0 S3 S4 S5)
ACPI: Battery Slot [BAT0] (battery present)
ACPI: AC Adapter [ACAD] (on-line)
ACPI: Fan [FAN] (on)
ACPI: Processor [CPU0] (supports C1 C2, 8 throttling states)
ACPI: Thermal Zone [THRM] (44 C)
ACPI: Power Button (FF) [PWRF]
ACPI: Lid Switch [LID]


Bon, là c'est clair, c'est ACPI qui fonctionne avec la description des
différentes fonctions. Sachez que sinon le système vous propose de forcer ACPI
genre (try using option acpi=force).

Sinon
[ dossier]$ dmesg | grep "ACPI"
 BIOS-e820: 000000000fff0000 - 000000000ffffc00 (ACPI data)
 BIOS-e820: 000000000ffffc00 - 0000000010000000 (ACPI NVS)
ACPI disabled because your bios is from 2000   and too old
ACPI: Subsystem revision 20040211
ACPI: Interpreter disabled.


Mon BIOS serait trop vieux ! Un bon bug de l'an 2000 !

------------------------------------------------------------------------------

Comment savoir si votre BIOS accepte ACPI ?
[ dossier]$ dmesg | grep -i "acpi"
BIOS-e820: 000000000fff0000 - 000000000ffffc00 (ACPI data)
BIOS-e820: 000000000ffffc00 - 0000000010000000 (ACPI NVS)


Mon BIOS l'accepte

------------------------------------------------------------------------------

Autre moyen de savoir en listant les matériels PCI existant sur votre ordi.
[ dossier]$ lspci | grep -i "apm"
[ dossier]$ lspci | grep -i "acpi"
00:07.3 Bridge: Intel Corp. 82371AB/EB/MB PIIX4 ACPI (rev 03)


Décidemment l'ACPI peut être installé.

------------------------------------------------------------------------------

Bien, maintenant que nous savons que le système de gestion de l'énergie peut
être contrôlé via l'ACPI ne nous privons pas.

D'abord installons le paquetage nécessaire si il n'était pas déjà installé.
http://rpm.pbone.net/index.php3/stat/4/idpl/1270656/com/
acpi-0.07-2mdk.i586.rpm.html
(c'est un exemple d'adresse sinon http://www.google.fr/)


------------------------------------------------------------------------------

Une fois fait, il faudra forcer l'utilisation de ce démon. Le mode graphique
est
utilisable bien que moins rapide qu'en ligne de commande. Il vous faudra être
en
mode root (il faut bien de temps en temps) sinon demandez à votre
administrateur.
-------------------
En mode graphique :
Désactiver le service apm via le Centre de Contrôle Mdk > Système > Service.
Cliquez sur ARRETER puis décocher la case Démarrage

Forcer l'activation de l'ACPI en allant dans Centre de Controle Mdk > Démarrage
'> Gestionnaire de démarrage. Cliquez sur SUIVANT puis depuis la boîte de
dialogue DrakBoot sélectionnez votre Linux puis sur MODIFIER.
Dans la ligne "Option a passer au noyau" inscrivez entre deux autres options :
option1 acpi=force option2
-------------------

En mode console :
Il faut modifier le fichier /etc/lilo.conf

[ dossier]# cat /etc/lilo.conf
# File generated by DrakX/drakboot
# WARNING: do not forget to run lilo after modifying this file

boot=/dev/hda
map=/boot/map
default="windows"
keytable=/boot/fr-latin1.klt
prompt
nowarn
timeout
message=/boot/message
menu-scheme=wb:bw:wb:bw
image=/boot/vmlinuz
label="linux"
root=/dev/hda10
initrd=/boot/initrd.img
append="noapic acpi=force devfs=mount resume=/dev/hda11"

read-only
image=/boot/vmlinuz
label="failsafe"
root=/dev/hda10
initrd=/boot/initrd.img
append="failsafe noapic resume=/dev/hda11 devfs=nomount"
read-only
other=/dev/hda1
label="windows"
table=/dev/hda
other=/dev/fd0
label="floppy"
unsafe


Eh oui comme vous pouvez le lire j'utilise encore Windows (mais la version la
plus stable Win2000Pro).

Ouvrez votre éditeur préféré puis insérez dans la variable append, acpi=force
comme ci-dessous.
append="noapic acpi=force devfs=mount resume=/dev/hda11"
append="acpi=force noapic devfs=mount resume=/dev/hda11"


------------------------------------------------------------------------------

Ca y est nous avons terminé. Seulement comme sous Windows un Redémarrage de la
machine sera nécessaire.

------------------------------------------------------------------------------

Vérifions maintenant que le démon fonctionne.
[ gregoire]# service -s | grep -i "acpi"
acpid (pid 1468) est en cours d'exécution...


Tous va bien, à ce stade vous pouvez même supprimer le paquetage apm présent
dans votre machine. aucun risque.

Voila.
Pour une personnalisation plus fine de la gestion de l'énergie, je passe le
relais mais je suis preneur d'info. Genre envoyer un message à l'utilisateur
quand la batterie atteint un certain seuil ou est pleine. Ou bien jouer un son
dans ces occasions. Bref ildoit y avoir des possibilités mais la je cale.

A vous de jouer.
Grégoire le mardi 11 janvier 2005.