OVH Cloud OVH Cloud

ACPI et batterie sur portable Acer Aspire 1700

12 réponses
Avatar
claude.clerc
Bonjour à tous

Je n'arrive pas à connaître l'état de ma batterie sous KDE 3.1
(Mandrake 9.2), ni dans une console, en effet :

# cat /proc/acpi/battery/BAT1/state
present: yes
ERROR: Unable to read battery status

# cat /proc/acpi/battery/BAT1/alarm
alarm: unsupported

# cat /proc/acpi/battery/BAT1/info
present: yes
design capacity: 6600 mAh
last full capacity: 5957 mAh
battery technology: rechargeable
design voltage: 14800 mV
design capacity warning: 300 mAh
design capacity low: 20 mAh
capacity granularity 1: 32 mAh
capacity granularity 2: 32 mAh
model number: 01DTR
serial number: 1
battery type: LION
OEM info: SIMPLO

# lsmod
[...]
battery 6944 0 (unused)
ac 2816 0 (unused)
thermal 8132 0 (unused)
fan 2528 0 (unused)
button 3692 0 (unused)
processor 10840 0 [thermal]
[...]

Mon /var/log/messages se remplit des lignes suivantes :
kernel: search_node c159fae0 start_node c159fae0 return_node 00000000
kernel: ACPI-1120: *** Error: [NULL NAME], AE_NOT_FOUND
kernel: ACPI-1120: *** Error: Method execution failed
[\_SB_.BAT1._BST] (Node c159fba0), AE_NOT_FOUND
kernel: ACPI-0352: *** Error: Looking up [Z00D] in namespace,
AE_NOT_FOUND

J'ai essayé avec un kernel 2.4.22, puis 2.4.23, non patché acpi,
patché acpi, rien n'y fait. Quant à la DSDT, je n'y comprends pas
grand-chose.

Merci de toute l'aide que vous pourrez m'apporter. Cela me permettra
de ne plus perdre mon travail à cause d'une coupure brutale
d'alimentation.

2 réponses

1 2
Avatar
Erwann ABALEA
Bonjour,

On 6 Jan 2004, Claudiux wrote:

Erwann ABALEA wrote in message news:...

41 °C? C'est pas énorme. C'est peut être chez moi que ça déconne, mais
j'ai régulièrement plus de 70 °C...
Gulps 70°C ? Il est bien ventilé ton proc. ?



Ben ouais, pourtant. Mais je ne mets pas en marche le ventilo tout le
temps. Je crois qu'il se déclenche à partir de 70°, pour ne pas faire
tropde bruit. Ca ne pose aucun problème, le portable est en fonctionnement
24h/24 (et quand je le retrouve le matin, le CPU est à environ 55°) sans
aucun problème.

Tu as attendu un petit peu quand même? Quelques secondes? Un soft qui
s'occupe de calculer ton autonomie et surveiller l'état de charge de tes
batteries ne peut raisonnablement pas se permettre se poller comme un fou
pour réagir au quart de poil de milliseconde (s'il fait ça, je le baffe).

J'ai attendu des plombes ! J'ai même été jusqu'à la limite de la

batterie parce que j'avais oublié de rebrancher l'ac !


Ah ben oui, il y a un problème...

Vive les
systèmes de fichiers journalisés !


C'est utile, hein? ;)

Essaye ceci: débranches ton cable secteur, attend quelques secondes, et
fais un cat /proc/acpi/battery/BAT{0,1}/{state,info}, jusqu'à ce que tu
remarques un changement (chez moi, le fichier 'state' m'indique le
"charging state", et c'est ce que je surveille, et le "present rate"
m'indique la consommation actuelle). Dès que tu as un "present rate"
indiqué, alors acpi -Vs devrait te donner quelque chose de valable. Chez
moi, tant que "present rate" ne donne rien, acpi ne renvoit rien.

Toujours pareil :


# cat /proc/acpi/battery/BAT1/state
present: yes
ERROR: Unable to read battery status


Ben voilà. Tu as sûrement du en causer au début du thread, et je n'ai
sûrement pas suivi, mais c'est probablement ce qui cloche pour le client
acpi. Il attend la suite (le 'present rate', et le 'charging state') pour
te donner des indications de durée restante.

Donc le problème n'est plus du côté du client acpi, mais du côté de la
couche ACPI de ton noyau (ou comme tu le supposes des tables créées par
ton BIOS).

Tu as bien sûr téléchargé le dernier patch ACPI pour ton noyau? J'ai du le
faire pour mon Dell Latitude C800, qui a pourtant presque 2 ans
maintenant. J'en ai profité pour mettre un noyau 2.4.22 (le patch ACPI
pour le 2.4.23 n'était pas déclaré "stable", donc je ne l'ai pas testé).

Je suis sûr que la solution est dans la modif de la dsdt, mais je ne
sais pas la corriger.


Ca se corrige ça?
Oui, il paraît : <a href="http://acpi.sourceforge.net/dsdt/index.php"

target="_blank">http://acpi.sourceforge.net/dsdt/index.php</a>


Amusant. A première vue, je ne sais pas si ça corrige effectivement la
DSDT générée par le BIOS ou si ça fournit une DSDT personnalisée au noyau,
mais le résultat devrait être sensiblement le même.

Si j'ai un peu de temps, j'essayerai de jouer avec ça pour activer le
support du SpeedStep et autres Throttling de mon CPU (il gère le
SpeedStep, il passe de 1 GHz à 700 MHz sous Windows 2000 quand je coupe le
courant).

Merci pour l'URL.

--
Erwann ABALEA - RSA PGP Key ID: 0x2D0EABD5
-----
On chie sur la nettiquéquette ! La liberté d'expression tu connais ? Moi
ça ne me dérange pas du tout de voir des pubs sur les news, ce le libre
commerce. Clovis
-+-in : Guide du Neuneu d'Usenet - Bien revendiquer sa connerie -+-



Avatar
Qing Liu
Erwann ABALEA writes:

Bonjour,


Bonsoir,

Si j'ai un peu de temps, j'essayerai de jouer avec ça pour activer le
support du SpeedStep et autres Throttling de mon CPU (il gère le
SpeedStep, il passe de 1 GHz à 700 MHz sous Windows 2000 quand je coupe le
courant).


Ici je le fais à la main avec un
echo "1:0" > /proc/acpi/processor/CPU0/limit
(sur un Dell C640), et la fréquence passe de 1,8Ghz à 1,2Ghz.

$ cat /proc/acpi/processor/CPU0/performance
state count: 2
active state: P1
states:
P0: 1800 MHz, 0 mW, 250 uS
*P1: 1200 MHz, 0 mW, 250 uS

--
Liu

1 2