Gestion autonomie portable laptop-mode

Bonjour,

Je voudrais pouvoir utiliser laptop-mode-tools sur batterie et hdparm sur secteur pour gagner un peu d’autonomie (actuellement j’utilise hdparm -B 254 sur secteur et hdparm -B 128 sur batterie).

J’ai configuré mon fichier /etc/laptop-mode/laptop-mode-tools que voici : [code]###############################################################################

Configuration for Laptop Mode Tools

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

There is a “system” to the configuration setting names:

CONTROL_something=0/1 Determines whether Laptop Mode Tools controls

something

LM_something=value Value of “something” when laptop mode is active

NOLM_something=value Value of “something” when laptop mode is NOT

active

AC_something=value Value of “something” when the computer is running

on AC power

BATT_something=value Value of "something when the computer is running

on battery power

There can be combinations of LM_/NOLM_ and AC_/BATT_ prefixes, but the

available prefixes are different for each setting. The available ones are

documented in the manual page, laptop-mode.conf(8). If there is no LM_/

NOLM_ in a setting name, then the value is used independently of laptop

mode state, and similarly, if there is no AC_/BATT_, then the value is used

independently of power state.

Some options only work on ACPI systems. They are marked ACPI-ONLY.

Note that this configuration file is a fragment of shell script: you

can use all the features of the shell scripting language to achieve your

desired configuration.

Modules

-------

Laptop Mode Tools modules have separate configuration files, that can be

found in /etc/laptop-mode/conf.d. Please look through these configuration

files as well, there are many useful power saving tools in there!

###############################################################################

###############################################################################

Configuration debugging

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

###############################################################################

Set this to 1 if you want to see a lot of information when you start/stop

laptop_mode.

VERBOSE_OUTPUT=0

###############################################################################

When to enable laptop mode

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

“Laptop mode” is the mode in which laptop mode tools makes the computer

consume less power. This includes the kernel “laptop_mode” feature, which

allows your hard drives to spin down, as well as various other settings which

can be tweaked by laptop mode tools. You can enable or disable all of these

settings using the CONTROL_… options further down in this config file.

###############################################################################

Enable laptop mode when on battery power.

ENABLE_LAPTOP_MODE_ON_BATTERY=1

Enable laptop mode when on AC power.

ENABLE_LAPTOP_MODE_ON_AC=0

Enable laptop mode when the laptop’s lid is closed, even when we’re on AC

power? (ACPI-ONLY)

ENABLE_LAPTOP_MODE_WHEN_LID_CLOSED=0

###############################################################################

When to enable data loss sensitive features

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

When data loss sensitive features are disabled, laptop mode tools acts as if

laptop mode were disabled, for those features only.

Data loss sensitive features include:

- laptop_mode (i.e., delayed writes)

- hard drive write cache

All of the options that follow can be set to 0 in order to prevent laptop

mode tools from using them to stop data loss sensitive features. Use this

when you have a battery that reports the wrong information, that confuses

laptop mode tools.

Disabling data loss sensitive features is ACPI-ONLY.

###############################################################################

Disable all data loss sensitive features when the battery level (in % of the

battery capacity) reaches this value.

MINIMUM_BATTERY_CHARGE_PERCENT=3

Disable data loss sensitive features when the battery reports its state

as “critical”.

DISABLE_LAPTOP_MODE_ON_CRITICAL_BATTERY_LEVEL=1

###############################################################################

Controlled hard drives and partitions

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

For spinning down your hard drives, laptop mode will remount file systems and

adjust hard drive spindown timeouts. These parameters specify which

devices and partitions are affected by laptop mode.

###############################################################################

The drives that laptop mode controls.

Separate them by a space, e.g. HD="/dev/hda /dev/hdb". The default is a

wildcard, which will get you all your IDE and SCSI/SATA drives.

HD="/dev/[hs]d[abcdefgh]"

The partitions (or mount points) that laptop mode controls.

Separate the values by spaces. Use “auto” to indicate all partitions on drives

listed in HD. You can add things to “auto”, e.g. “auto /dev/hdc3”. You can

also specify mount points, e.g. “/mnt/data”.

PARTITIONS=“auto /dev/mapper/*”

If this is enabled, laptop mode tools will assume that SCSI drives are

really SATA drives that only look like SCSI drives, and will use hdparm

to control them. Set this to 0 if you have /dev/sd devices and you want

laptop mode tools to use the “sdparm” command to control them.

ASSUME_SCSI_IS_SATA=1

###############################################################################

Hard drive behaviour settings

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

These settings specify how laptop mode tools will adjust the various

parameters of your hard drives and file systems.

###############################################################################

Maximum time, in seconds, of work that you are prepared to lose when your

system crashes or power runs out. This is the maximum time that Laptop Mode

will keep unsaved data waiting in memory before spinning up your hard drive.

LM_BATT_MAX_LOST_WORK_SECONDS=1200
LM_AC_MAX_LOST_WORK_SECONDS=360

Should laptop mode tools control readahead?

CONTROL_READAHEAD=1

Read-ahead, in kilobytes. You can spin down the disk while playing MP3/OGG

by setting the disk readahead to a reasonable size, e.g. 3072 (3 MB).

Effectively, the disk will read a complete MP3 at once, and will then spin

down while the MP3/OGG is playing. Don’t set this too high, because the

readahead is applied to all files that are read from disk.

LM_READAHEAD=3072
NOLM_READAHEAD=128

Should laptop mode tools add the “noatime” option to the mount options when

laptop mode is enabled?

CONTROL_NOATIME=1

Should laptop use relatime instead of noatime? The “relatime” mount option has

more standards-compliant semantics, and allows more applications to work,

while retaining a low level of atime updates (i.e., disk writes).

USE_RELATIME=1

Should laptop mode tools control the hard drive idle timeout settings?

CONTROL_HD_IDLE_TIMEOUT=1

Idle timeout values. (hdparm -S)

Default is 2 hours on AC (NOLM_HD_IDLE_TIMEOUT_SECONDS=7200) and 20 seconds

for battery and for AC with laptop mode on.

LM_AC_HD_IDLE_TIMEOUT_SECONDS=7200
LM_BATT_HD_IDLE_TIMEOUT_SECONDS=60
NOLM_HD_IDLE_TIMEOUT_SECONDS=7200

Should laptop mode tools control the hard drive power management settings?

CONTROL_HD_POWERMGMT=0

Power management for HD (hdparm -B values)

BATT_HD_POWERMGMT=254
LM_AC_HD_POWERMGMT=254
NOLM_AC_HD_POWERMGMT=254

Should laptop mode tools control the hard drive write cache settings?

CONTROL_HD_WRITECACHE=1

Write cache settings for HD (hdparm -W values)

NOLM_AC_HD_WRITECACHE=1
NOLM_BATT_HD_WRITECACHE=0
LM_HD_WRITECACHE=1

###############################################################################

Settings you probably don’t want to touch

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

It is usually not necessary to change these parameters. They are included

for completeness’ sake.

###############################################################################

Change mount options on partitions in PARTITIONS? You don’t really want to

disable this. If you do, then your hard drives will probably not spin down

anymore.

CONTROL_MOUNT_OPTIONS=1

Dirty synchronous ratio. At this percentage of dirty pages the process

which calls write() does its own writeback.

LM_DIRTY_RATIO=60
NOLM_DIRTY_RATIO=40

Allowed dirty background ratio, in percent. Once DIRTY_RATIO has been

exceeded, the kernel will wake pdflush which will then reduce the amount

of dirty memory to dirty_background_ratio. Set this nice and low, so once

some writeout has commenced, we do a lot of it.

LM_DIRTY_BACKGROUND_RATIO=1
NOLM_DIRTY_BACKGROUND_RATIO=10

kernel default settings – don’t touch these unless you know what you’re

doing.

DEF_UPDATE=5
DEF_XFS_AGE_BUFFER=15
DEF_XFS_SYNC_INTERVAL=30
DEF_XFS_BUFD_INTERVAL=1
DEF_MAX_AGE=30

This must be adjusted manually to the value of HZ in the running kernel

on 2.4, until the XFS people change their 2.4 external interfaces to work in

centisecs. This can be automated, but it’s a work in progress that still

needs some fixes. On 2.6 kernels, XFS uses USER_HZ instead of HZ for

external interfaces, and that is currently always set to 100. So you don’t

need to change this on 2.6.

XFS_HZ=100

Seconds laptop mode has to to wait after the disk goes idle before doing

a sync.

LM_SECONDS_BEFORE_SYNC=2

[/code]Avec le fichier ci-dessous, laptop-mode n’est jamais activé (sur batterie comme sur secteur) contrairement à ce que l’on pourrait croire avec ENABLE_LAPTOP_MODE_ON_BATTERY=1.
J’ai vérifié que laptop-mode n’est pas activé avec cette commande tapée sous secteur et batterie : # cat /proc/sys/vm/laptop_mode 0 J’ai trouvé pourquoi laptop-mode ne s’active pas. C’est de la faute d’un petit fichier intitulé 90-hdparm.sh : [code]# cat /etc/acpi/start.d/90-hdparm.sh
#! /bin/sh

This script adjusts hard drive APM settings using hdparm. The hardware

defaults (usually hdparm -B 128) cause excessive head load/unload cycles

on many modern hard drives. We therefore set hdparm -B 254 while on AC

power. On battery we set hdparm -B 128, because the head parking is

very useful for shock protection.

. /usr/share/acpi-support/power-funcs

DO_HDPARM=y
if [ -e /usr/sbin/laptop_mode ] ; then
LMT_CONTROL_HD_POWERMGMT=$(. /etc/laptop-mode/laptop-mode.conf && echo “$CONTROL_HD_POWERMGMT”)
if [ “$LMT_CONTROL_HD_POWERMGMT” != 0 ] ; then
# Laptop mode controls hdparm -B settings, we don’t.
DO_HDPARM=n
fi
fi

if [ $DO_HDPARM = y ] ; then

Get the power state into STATE

getState;

for dev in /dev/sd? /dev/hd? ; do
if [ -b $dev ] ; then
# Check for APM support; discard errors since not all drives
# support HDIO_GET_IDENTITY (-i).
if hdparm -i $dev 2> /dev/null | grep -q ‘AdvancedPM=yes’ ; then
if [ $STATE = “BATTERY” ] ; then
hdparm -B 128 $dev
else
hdparm -B 254 $dev
fi
fi
fi
done
fi[/code]qui est placé dans les endroits suivants : # find / -name 90-hdparm.sh /etc/acpi/ac.d/90-hdparm.sh /etc/acpi/battery.d/90-hdparm.sh /etc/acpi/start.d/90-hdparm.sh /etc/acpi/resume.d/90-hdparm.sh Ce fichier active laptop-mode seulement si on a activé la variable LMT_CONTROL_HD_POWERMGM dans le fichier de configuration de laptop-mode. Or cette variable est suivie de valeurs hdparm (je vous remet un extrait de /etc/laptop-mode/laptop-mode.conf : [code]#

Should laptop mode tools control the hard drive power management settings?

CONTROL_HD_POWERMGMT=0

Power management for HD (hdparm -B values)

BATT_HD_POWERMGMT=254
LM_AC_HD_POWERMGMT=254
NOLM_AC_HD_POWERMGMT=254
[/code]Je devrais en toute logique remplacé le 0 par 1 et régler le valeur hdparm comme je veux. Mais je ne veux pas utiliser hdparm sur batterie, je veux utiliser les variables (qui sont plus haut que ce passage) de laptop-mode et qui permettent de parquer les têtes du disque au bout d’un certain temps d’inactivité, ce que ne permet pas hdparm.

Bref, pour activé laptop-mode sur batterie, il faut que je modifie un fichier (/etc/laptop-mode/laptop-mode.conf) pour qu’un autre fichier le prenne en compte (90-hdparm.sh) et ce dernier fichier ne prend en compte le premier que si je modifie le premier de manière à rendre laptop-mode inactif…

petit up :smiley:

personne n’a de solution ?