Temperature portable

Pour i nfo voici mon fichier de config

[code]hope:/home/cyrille# cat /etc/default/cpufrequtils

ENABLE="true"
GOVERNOR="ondemand"
MIN_SPEED=1862000
MAX_SPEED=3059000[/code]

++
Cyrille

Je suis moi aussi preneur d’infos pour optimiser tout ça

sinon tu arrives quand même à le faire monter au max en utilisant une appli gourmande avec de la 3D par exemple ou es tu bloqué à 1,8 ?

normalement la méthode que j’ai donné ne doit pas empêcher ton proc de tourner à pleine puissance s’il la charge augmente

je pense que la meilleure méthode est de faire tourner à plein regime seulement quand il y a besoin, c’est pour ça que le mode “on demand” est très bien car la fréquence varie en fonction de la charge du cpu… mais si tu tiens à l’economie d’energie sur batterie le mode powersave te permet de rester en sous regime

En effet, si une application est mangeuse de ressources, ça monte… Ce n’est pas limité en "hauteur"
AVec ce fichier de config, ça passe mieux (je m’étais emmeler les pinceaux dans les valeurs)
cpufrequtils

ENABLE="true" GOVERNOR="ondemand" MIN_SPEED=383323 MAX_SPEED=3059000

Je vais tester sur des lectures de DVD ce soir. Je tiens au courant

++
Cyrille

Cela peut vous intéresser:
doc.ubuntu-fr.org/materiel/sensors

[quote=“Cyrilleb”]EN TOUT CAS UN ENORME MERCI !!!

Bon, si je veux limiter la temperature à une soixantaine de degré, il faut que je limite ma CPU à 1.8 GhZ alors qu’elle peut atteindre 3 ghz… Est ce normal ? Faut il toujours tourner en sous régime ?

Sinon, toute la procédure a été respectée ça semble OK.

Merci beaucoup !
Cyrille[/quote]

j’ai aussi un portable qui chauffe beaucoup (Asus L5000D Amd64) et le on_demand c’est obligatoire pour les oreilles !

à 800 mhz la température est autour de 55° en utilisation bureautique

en faisant tourner à 2ghz avec Stellarium le compteur passe aussi les 80° au bout de quelques minutes et les ventilos tournent à fond faisant un superbe bruit d’aspirateur…

mon choix de matos à l’avenir prendra le bruit comme critère largement aussi important que la puissance…

Bonsoir,
merci pour toutes les infos contenues dans ces posts !
Tu devrais écrire un tuto, je suis sur que ça intéresserait plein de monde
Cyrille

ça s’éloigne un peu mais ton toshiba aimerait aussi ces paquets :

fnfxd - ACPI and hotkey daemon for Toshiba laptops
toshutils - Toshiba laptop utilities

sinon pour revenir au frequency scaling il y a cpufreqd - fully configurable daemon for dynamic frequency and voltage scaling

Que je n’ai pas testé puisque j’utilise (pour amd) powernowd - control cpu speed and voltage using 2.6 kernel interface

toshutils : il y compatible avec les bios phoenix de toshiba ?
Il me semblait que non ,
Je vais regarder les autres
Merci beaucoup

Effectivement !
tu as bien fait de vérifier… je connaissais pas ces spécificités des Toshiba…

et c’est pareil pour les 2 paquets !

toshutils

[quote]The Toshiba Linux utilities are specific to Toshiba laptops, and will not run on laptops from other manufactures. In addition they will not run on Satellite 16xx, 17xx, 3000 and 35DVD machines from Toshiba either. These models sport Pheonix BIOS’es and are made in that part of China that is not part of China. In short they are not true Toshiba laptops and are unlikely to ever be supported by the Toshiba Linux Utilities

buzzard.me.uk/toshiba/index.html

[/quote]

fnfxd

[quote]2.1 Hardware Requirements

Any recent Toshiba model. Recent means: Every Toshiba laptop built in 2002 and later will work with FnFX. A list with verified and tested Toshiba laptops is found under 3.2.

One exception: There are a few laptops which do not have a Toshiba (e.g. Satellite P25-S520) but a Phoenix BIOS. These machines will fail on loading the Toshiba ACPI driver and hence will not be supported by FnFX.

fnfx.sourceforge.net/index.php?section=doc

[/quote]

l’acpi sur les 2 toshiba que j’ai eus a toujours posé des problème Sur les noyaux actuels mes batteries par exemple ne tiennent pas la charge (3 minutes maxi…)
Sous slack avec noyau 2.4 et apm je ne me rappelle pas de ce probleme !!
M’enfin il est en fin de vie… et que je compte investir sur un dell (as tu deja eu des retours d’experience de ces laptops, car comme toi, je prefere bien reflechir avant achat etre sur que ces “details” soient bien supportés par linux.

Moi j’ai un dell 640m qui a la particularité de mal gérer les ventilos. En effet pour forcer une vitesse supérieur, il faut renvoyer l’ordre régulièrement (environ toutes les secondes). Sinon tout roule avec :wink:

J’ai un Dell Inspiron 1501 (amd Turion 64x2)qui a tendance à ventiler sous Debian amd64; il ne le faisait pas sous Debian avec noyau xxx-k7. Par contre sous gobuntu amd64, j’ai installé les machins(sensors, applet, hdtemp)pour consulter les températures (Proc et hd). Tout a l’air géré impeccablement avec un noyau amd64 2.6.22-14-generic.

PS: je viens de me rappeler que Dell a arrêté la commercialisation de ce modèle il y très peu.

PS2: Le touchpad fonctionne impeccablement sans aucune installation particulière; ni gsynaptics ou autre.

Après quelques tests je me suis aperçu que le frequency scalling est très bien géré par cpufrequtils sans besoin de charger des modules supplémentaires.

En fait il les charge lui même par le script /etc/init.d/loadcpufreq , il s’occupe même de la détection du processeur et du chargement du module correspondant (speedstep-centrino, p4-clockmod, powernow-k7, powernow-k8 etc…)

donc, il suffit juste d’installer cpufrequtils !

ma méthode de chargement des modules par /etc/modules n’est pas nécessaire… j’ajoutais ces modules tout de suite après l’install de base depuis toujours sur mon portable en suivant une vieille méthode… puis en faisant quelques tests je viens de m’apercevoir que les modules se chargent tout seul :open_mouth: je crois avoir compris que tout ça a été changé avec le noyau 2.6

voilà le beau script /etc/init.d/loadcpufreq fourni par cpufrequtils

[quote]#!/bin/sh

BEGIN INIT INFO

Provides: loadcpufreq

Required-Start: $local_fs

Required-Stop:

Default-Start: 2 3 4 5

Default-Stop:

Short-Description: Load kernel modules needed to enable cpufreq scaling

Description: Make it possible to save power by reducing

the CPU speed when there is little to do.

END INIT INFO

License: GNU General Public License.

Based on scripts found in the powernowd package version

0.97-1ubuntu6 on Ubuntu.

This script is an interim solution until the default Debian packages

will load the proper kernel modules at boot time. Track #396117,

#342014 and #367307 to see status on this.

URL:http://0pointer.de/blog/projects/dmi-based-module-autoloading.html

claim the later kernels support autoloading of these modules, so I

guess In the future this script can be dropped. [pere 2007-05-12]

PATH=/sbin:/bin:/usr/sbin:/usr/bin
NAME=loadcpufreq

Get lsb functions

. /lib/lsb/init-functions
. /etc/default/rcS

Set a default value

ENABLE=“true”
[ -f /etc/default/loadcpufreq ] && . /etc/default/loadcpufreq

set -e

if not enabled then exit gracefully

[ “$ENABLE” = “true” ] || exit 0

load_detected_cpufreq_modules() {
#if /usr/sbin/laptop-detect; then LAPTOP=1; fi
CPUINFO=/proc/cpuinfo
IOPORTS=/proc/ioports

if [ ! -f $CPUINFO ] ; then
echo "$CPUINFO not detected..." >&2
return
fi

MODEL_NAME=$(grep '^model name' "$CPUINFO" | head -1 | sed -e 's/^.*: //;')
MODEL_ID=$(grep -E '^model[[:space:]]+:' "$CPUINFO" | head -1 | sed -e 's/^.*: //;')
CPU=$(grep -E '^cpud[^:]+:' "$CPUINFO" | head -1 | sed -e 's/^.*: //;')
VENDOR_ID=$(grep -E '^vendor_id[^:]+:' "$CPUINFO" | head -1 | sed -e 's/^.*: //;')
CPU_FAMILY=$(sed -e '/^cpu family/ {s/.*: //;p;Q};d' $CPUINFO)

MODULE=
MODULE_FALLBACK=acpi-cpufreq

# Two modules for PIII-M depending the chipset.
# modprobe speedstep-ich$EXT || modprobe speestep-smi$EXT
# would be another way
if [ -f $IOPORTS ] && grep -q 'Intel .*ICH' $IOPORTS ; then
PIII_MODULE=speedstep-ich
else
PIII_MODULE=speedstep-smi
fi

case "$VENDOR_ID" in
    GenuineIntel*)
        # If the CPU has the est flag, it supports enhanced
        # speedstep and should use the speedstep-centrino driver
        if [ "$(grep est $CPUINFO)" ]; then
	case "$(uname -r)" in
	    2.6.2[0-9]*)
		# Prefer acpi-cpufreq for kernels after 2.6.20
		MODULE=acpi-cpufreq
		;;
	    *)
		MODULE=speedstep-centrino
		;;
	esac
        elif [ $CPU_FAMILY = 15 ]; then
        # Right. Check if it's a P4 without est.
            # Could be speedstep-ich, or could be p4-clockmod. 
            MODULE=speedstep-ich;
            # Disabled for now - the latency tends to be bad
            # enough to make it fairly pointless.
            # echo "FREQDRIVER=p4-clockmod" >/etc/default/powernowd
            # to override this

if [ $LAPTOP = “1” ]; then

MODULE_FALLBACK=p4-clockmod;

fi

        else
    # So it doesn't have Enhanced Speedstep, and it's not a
    # P4. It could be a Speedstep PIII, or it may be
    # unsupported. There's no terribly good programmatic way
    # of telling.
            case "$MODEL_NAME" in
                Intel\(R\)\ Pentium\(R\)\ III\ Mobile\ CPU*)
                    MODULE=$PIII_MODULE
                    ;;
    
    # JD: says this works with cpufreq_userspace

                Mobile\ Intel\(R\)\ Pentium\(R\)\ III\ CPU\ -\ M*)
                    MODULE=$PIII_MODULE
                    ;;
    
    # [bugzilla.ubuntu.com/show_bug.cgi?id=4262](https://bugzilla.ubuntu.com/show_bug.cgi?id=4262)
    # UNCONFIRMED
                Pentium\ III\ \(Coppermine\)*)
                    MODULE=$PIII_MODULE
                    ;;
            esac
        fi
        ;;
    AuthenticAMD*)

Hurrah. This is nice and easy.

        case $CPU_FAMILY in
            5)
                # K6
                MODULE=powernow-k6
                ;;
            6)
                # K7
                MODULE=powernow-k7
                ;;
            15)
                # K8
                MODULE=powernow-k8
                ;;
        esac
        ;;
    CentaurHauls*)
    # VIA
        if [ $CPU_FAMILY == 6 ]; then
				case $MODEL_ID in
					10) # VIA C7 VIA Esther
						MODULE=e_powersaver
					;;
					*)
						MODULE=longhaul
					;;
				esac
        fi
        ;;    
    GenuineTMx86*)
    # Transmeta
        if [ "$(grep longrun $CPUINFO)" ]; then
            MODULE=longrun
        fi
        ;;
esac

}

load_modules() {
#stop the kernel printk’ing at all while we load.
PRINTK=$(cat /proc/sys/kernel/printk)
[ “$VERBOSE” = no ] && echo “1 1 1 1” > /proc/sys/kernel/printk

    #build a list of current modules so we don't load a module twice
    LIST=$(/sbin/lsmod|awk '!/Module/ {print $1}')

    #get list of available modules (governors and helpers)
    LOC="/lib/modules/$(uname -r)/kernel/drivers/cpufreq"
    if [ -d $LOC ]; then
      MODAVAIL=$( ( find $LOC -type f -name "*.o" -printf "basename %f .o\n"; \
      find $LOC -type f -name "*.ko" -printf "basename %f .ko\n" ) | /bin/sh)
    else
      MODAVAIL=""
    fi

    #echo "Loading cpufreq modules:"
    for mod in $MODAVAIL; do
    #        echo "     $mod"
            echo $LIST| grep -q -w "$mod" || modprobe $mod >/dev/null || /bin/true
    done

    #cpufreq is built in on powerpc; just return
    if [ "$(uname -m)" = "ppc" ]; then
            echo "$PRINTK" > /proc/sys/kernel/printk
            return 0
    fi

    #new style detection system
    if [ ! "$FREQDRIVER" = "" ]; then 
	# user overridden value in /etc/default/loadcpufreq
            modprobe "$FREQDRIVER"
	MODULE="$FREQDRIVER"
    else
        load_detected_cpufreq_modules
	if [ ! -z "$MODULE" ] || [ ! -z "$MODULE_FALLBACK" ] ; then
	    if [ ! -z "$MODULE" ] && modprobe "$MODULE" 2>/dev/null ; then
		:
	    elif modprobe "$MODULE_FALLBACK" 2>/dev/null ; then
		MODULE="$MODULE_FALLBACK"
	    else
		unset MODULE
	    fi
	fi
    fi

    echo "$PRINTK" > /proc/sys/kernel/printk

}

check_kernel() {
CPUFREQ=/sys/devices/system/cpu/cpu0/cpufreq

if [ -z "$MODULE" ] || ([ -f "$CPUFREQ/scaling_governor" ] && \
	[ -f "$CPUFREQ/scaling_available_governors" ])
then
	return 0
else
	return 1
fi

}

case “$1” in
start)
log_action_begin_msg “Loading cpufreq kernel modules”
[ -f /proc/modules ] && load_modules
if check_kernel ; then
[ -z “$MODULE” ] && MODULE="none"
log_action_end_msg 0 "$MODULE"
else
log_action_end_msg 1
fi
;;
stop)
;;
restart|force-reload)
$0 stop
sleep 1
$0 start
#echo “$NAME.”
;;
*)
N=/etc/init.d/$NAME
log_success_msg “Usage: $N {start|stop|restart|force-reload}” >&2
exit 1
;;
esac

exit 0[/quote]

j’ai cpufrequtils d’installér par contre je n’avais aucun script loadcpufreq… dans /etc/init.d Donc j’ai fait un copier // COller du tien
J’ai aussi installé le paquet cpufreqd qui me semblait nécessaire…
Au reboot, rien n’ai pris en charge
Le moniteur GNOME me dit que mon matos ne peut modifier le CPU…
Arrg …
Bon j’avais telecharger un ubuntu hier soir j’ai booté dessus entre les midis et l’acpi semblait gérée correctement. Je vais tenter de voir les fichiers de config.
++
Cyrille

PS : perso il ne me charge aucun module si je ne les inscrits pas dans /etc/modules…
Cyrille

[quote=“Cyrilleb”]j’ai cpufrequtils d’installér par contre je n’avais aucun script loadcpufreq… dans /etc/init.d Donc j’ai fait un copier // COller du tien
J’ai aussi installé le paquet cpufreqd qui me semblait nécessaire…
Au reboot, rien n’ai pris en charge
Le moniteur GNOME me dit que mon matos ne peut modifier le CPU…
Arrg …
Bon j’avais telecharger un ubuntu hier soir j’ai booté dessus entre les midis et l’acpi semblait gérée correctement. Je vais tenter de voir les fichiers de config.
++
Cyrille[/quote]

Ah ?
et si tu essayes le cpufrequtils de lenny ?
normalement tu dois avoir le sript loadcpufreq, voilà le contenu du paquet :

# dpkg -L cpufrequtils

/.
/etc
/etc/init.d
/etc/init.d/cpufrequtils
/etc/init.d/loadcpufreq
/usr
/usr/bin
/usr/bin/cpufreq-info
/usr/bin/cpufreq-set
/usr/share
/usr/share/doc
/usr/share/doc/cpufrequtils
/usr/share/doc/cpufrequtils/README.Debian
/usr/share/doc/cpufrequtils/changelog.Debian.gz
/usr/share/doc/cpufrequtils/copyright
/usr/share/doc/cpufrequtils/examples
/usr/share/doc/cpufrequtils/examples/cpufrequtils.loadcpufreq.sample
/usr/share/doc/cpufrequtils/examples/cpufrequtils.sample
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/cpufrequtils
/usr/share/locale
/usr/share/locale/de
/usr/share/locale/de/LC_MESSAGES
/usr/share/locale/de/LC_MESSAGES/cpufrequtils.mo
/usr/share/locale/fr
/usr/share/locale/fr/LC_MESSAGES
/usr/share/locale/fr/LC_MESSAGES/cpufrequtils.mo
/usr/share/locale/it
/usr/share/locale/it/LC_MESSAGES
/usr/share/locale/it/LC_MESSAGES/cpufrequtils.mo
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/cpufreq-info.1.gz
/usr/share/man/man1/cpufreq-set.1.gz

#apt-cache policy cpufrequtils
cpufrequtils:
  Installé : 002-7
  Candidat : 002-7
 Table de version :
 *** 002-7 0
        500 http://ftp.fr.debian.org lenny/main Packages
        100 /var/lib/dpkg/status
     002-2 0
        500 http://ftp.fr.debian.org etch/main Packages

si ubuntu te gère bien l’acpi et le frequency scaling c’est que tu dois pouvoir le faire aussi bien sous debian !

[quote=“Cyrilleb”]PS : perso il ne me charge aucun module si je ne les inscrits pas dans /etc/modules…
Cyrille[/quote]

bon alors la méthode de charger les modules à la main (dont le fameux cpufreq_ondemand) n’est peut-être pas si vieille et pas si inutile que ce que je pensais ! d’après ce que tu me dis les améliorations ne datent pas du noyau 2.6 mais de la version cpufrequtils de lenny

en tout cas chez moi tous ces modules sont chargés automatiquement par cpufrequtils sans que je touche à son paramètrage

powernow_k8 14976 0
cpufreq_powersave 2112 0
cpufreq_conservative 7176 0
cpufreq_stats 5440 0
cpufreq_ondemand 8652 1
freq_table 4832 3 powernow_k8,cpufreq_stats,cpufreq_ondemand
cpufreq_userspace 4448 0

j’ai aussi le paquet powernowd, mais seul il ne me charge pas tous les modules et je n’ai pas les choix ondemand, powersave et perfomance dans l’applet gnome…

Bon
Aux nouvelles :
j’ai tout viré… Booté sous UBUNTU et cru lire d’apres les fichiers de conf qu’ils utilisaient suelement laptop-mode-tools et powernowd
Par contre sous UBUNTU leur /etc/modules et vide. Les modules doivent etre chargé via un autre script (?)
Chez moi pour ça fonctionne (etch),faut que je le charge à la main
Voici mon /etc/modules

acpi-cpufreq cpufreq_ondemand cpufreq_userspace cpufreq_conservative cpufreq_powersave

Le mode CPU pour l’instant est userspace. Je vais voir pour le passer en on_demand

++
Cyrille

(C’est la premiere fois que les ventillo ne tournent pas à gogo !! et que la temperature est à 50° ce qui me semble correct)

[quote=“Cyrilleb”]l’acpi sur les 2 toshiba que j’ai eus a toujours posé des problème Sur les noyaux actuels mes batteries par exemple ne tiennent pas la charge (3 minutes maxi…)
Sous slack avec noyau 2.4 et apm je ne me rappelle pas de ce probleme !!
M’enfin il est en fin de vie… et que je compte investir sur un dell (as tu deja eu des retours d’experience de ces laptops, car comme toi, je prefere bien reflechir avant achat etre sur que ces “details” soient bien supportés par linux.[/quote]

j’en sais rien pour dell, mais j’ai eu l’occasion de tester plusieurs asus sans problèmes.

les hotkeys sont bien gérées par le module asus-laptop, et j’ai vu qu’il y a un paquet eeepc-acpi-scripts pour le mini portable asus

sur le mien (L5000D) il faut passer l’option noapic dans grub mais c’est lié au chip nforce3 de nvidia et pas à la marque asus

plus que la marque je pense qu’il est important de savoir ce qu’il y a dedans faudrait pouvoir demander au vendeur de démarrer avec un livecd de faire un lspci , de repartir avec les infos et de vérifier avant d’acheter