Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 06/11/2009, à 22:59

SkullEd

Contrôle du Ventilateur (fancontrol) Asus eeepc 100x [Karmic]

Bonjour tout le monde...
Si comme moi vous en avez marre que votre netbook face un boucan du diable, testez ce petit script (non fait par mes soins, modifié et récupéré sur "eeeuser forum")

#!/bin/bash

# Automatic fan controller
# Tested on a eee 1005ha running Ubuntu 9.10 Karmic Koala

# Test with 'sudo eeefan background'.
# If works, 'sudo cp eeefan /etc/rc2.d/S99eeefan'
# and reboot.

temperature_reading=/sys/devices/virtual/thermal/thermal_zone0/temp
fan_control=/sys/devices/platform/eeepc/hwmon/hwmon1/pwm1
fan_manual_switch=/sys/devices/platform/eeepc/hwmon/hwmon1/pwm1_enable

# Set critical temperature
TEMP_CRITICAL=57

# Set critical temperature interval size. See figure for details
TEMP_INTERVAL_SIZE=5

# Maximum fan speed
FAN_SPEED_MAX=55

eeefanupdate() {

    # Get temperature reading
    TEMP=$(cat $temperature_reading)
    TEMP=$(($TEMP / 1000)) 

    # Calculate optimum fan speed
    X=$(echo "$FAN_SPEED_MAX*1/(1+e(-($TEMP-$TEMP_CRITICAL)/$TEMP_INTERVAL_SIZE))" | bc -q -l)
    # Workaround to convert it to nearest integer
    FAN_SPEED=$(echo "scale=0; $X/1.0" | bc -q -l)
    # Set fan speed
    FAN_SPEED=$(($FAN_SPEED * 250 / 100)) 
    echo $FAN_SPEED > $fan_control
}

        # Turn on manual fan control
        echo 1 > $fan_manual_switch

        # Run eeefanu, then wait 10 seconds.

        while [ 1 ]
        do
            eeefanupdate
                sleep 10
        done

Testé et approuvé sur 1005ha

Postez vos retours !!

Dernière modification par SkullEd (Le 06/11/2009, à 23:00)

Hors ligne

#2 Le 06/11/2009, à 23:21

kAzz

Re : Contrôle du Ventilateur (fancontrol) Asus eeepc 100x [Karmic]

Ah tiens intéressant ça... la 1ère fois que le ventilo s'est mis en route j'ai cru que la carte son avait laché big_smile

Je teste et poste le retour, merci pour l'astuce.

PS: j'ai justement un eeepc 1005HA-H

Dernière modification par kAzz (Le 06/11/2009, à 23:22)


1 + 1 = 3

Hors ligne

#3 Le 07/11/2009, à 09:19

fredr

Re : Contrôle du Ventilateur (fancontrol) Asus eeepc 100x [Karmic]

Pas mal du tout, il fonctionne nickel sur mon 701.

Mais je préfère garder une limite de température aussi je l'ai légèrement modifier, en utilisant les variables max existantes dans ton script.

#!/bin/bash

# Automatic fan controller
# Tested on a eee 1005ha running Ubuntu 9.10 Karmic Koala

# Test with 'sudo eeefan background'.
# If works, 'sudo cp eeefan /etc/rc2.d/S99eeefan'
# and reboot.

temperature_reading=/sys/devices/virtual/thermal/thermal_zone0/temp
fan_control=/sys/devices/platform/eeepc/hwmon/hwmon1/pwm1
fan_manual_switch=/sys/devices/platform/eeepc/hwmon/hwmon1/pwm1_enable

# Set critical temperature
TEMP_CRITICAL=57
FAN_SPEED_CRITICAL=250

# Set critical temperature interval size. See figure for details
TEMP_INTERVAL_SIZE=5

# Maximum fan speed
FAN_SPEED_MAX=125

eeefanupdate() {
  
    # Get temperature reading
    TEMP=$(cat $temperature_reading)
    TEMP=$(($TEMP / 1000)) 

  if [  $TEMP -le $TEMP_CRITICAL ]; then
  {
    # Calculate optimum fan speed
    X=$(echo "$FAN_SPEED_MAX*1/(1+e(-($TEMP-$TEMP_CRITICAL)/$TEMP_INTERVAL_SIZE))" | bc -q -l)
    # Workaround to convert it to nearest integer
    FAN_SPEED=$(echo "scale=0; $X/1.0" | bc -q -l)
    # Set fan speed
    FAN_SPEED=$(($FAN_SPEED * 250 / 100)) 
    echo $FAN_SPEED > $fan_control
 
  }
  else 
  {
    echo $FAN_SPEED_CRITICAL > $fan_control
    echo $FAN_SPEED_CRITICAL
  }
  fi

}

        # Turn on manual fan control
        echo 1 > $fan_manual_switch

        # Run eeefanu, then wait 10 seconds.

        while [ 1 ]
        do
            eeefanupdate
                sleep 10
		
        done

Dernière modification par fredr (Le 11/11/2009, à 10:24)


ArcoLinuxD Awesome
L'optimiste pense que nous vivons dans le meilleur des mondes. Et le pessimiste craint que ce ne soit exact.

Hors ligne

#4 Le 11/11/2009, à 10:18

Le Chap

Re : Contrôle du Ventilateur (fancontrol) Asus eeepc 100x [Karmic]

Comment mettre en oeuvre ce script? tongue

Hors ligne

#5 Le 11/11/2009, à 10:27

fredr

Re : Contrôle du Ventilateur (fancontrol) Asus eeepc 100x [Karmic]

salut,

soit tu le lances en sudo:

sudo eeefan background

soit tu le lances au démarrage du PC en l'ajoutant à RC2.

sudo cp eeefan /etc/rc2.d/S99eeefan

Fred

PS: dans ma version du script j'ai modifié les valeurs limites pour que le ventilo tourne un rien plus vite. Et à fond si il passe 57°


ArcoLinuxD Awesome
L'optimiste pense que nous vivons dans le meilleur des mondes. Et le pessimiste craint que ce ne soit exact.

Hors ligne

#6 Le 12/11/2009, à 14:01

SkullEd

Re : Contrôle du Ventilateur (fancontrol) Asus eeepc 100x [Karmic]

Mouai...
J'ai tendance a pas mal compiler sur mon netbook (je sais c'est pas fait pour, mais j'ai envie de voir ce que Gentoo peu donner dessus:D ) alors, le processeur monte facilement a 57degré...
Et quand le ventilo tourne a fond, ça fait qd meme pas mal de bruit....
Alors je reste sur ma version big_smile

Hors ligne

#7 Le 12/11/2009, à 14:15

Le Chap

Re : Contrôle du Ventilateur (fancontrol) Asus eeepc 100x [Karmic]

J'ai modifié le script pour respecter les règles de programmation et limiter les écritures sur le disque de echo $FAN_SPEED > $fan_control (diminution du nombre d'écriture de 80%)

Testé sur eeepc 901.

#!/bin/bash

# Automatic fan controller
# Tested on a eeepc 901 running Ubuntu 9.10 Karmic Koala

# Test with 'sudo ./eeefan background'.
# If works, 'sudo cp eeefan /etc/rc2.d/S99eeefan'
# and reboot.

TEMP=0
temperature_reading=/sys/devices/virtual/thermal/thermal_zone0/temp
fan_control=/sys/devices/platform/eeepc/hwmon/hwmon1/pwm1
fan_manual_switch=/sys/devices/platform/eeepc/hwmon/hwmon1/pwm1_enable

# Set critical temperature
TEMP_CRITICAL=57

# Set critical temperature interval size. See figure for details
TEMP_INTERVAL_SIZE=5

# Maximum fan speed
FAN_SPEED_MAX=75

# Turn on manual fan control
echo 1 > $fan_manual_switch

eeefanupdate() {
 TTEMP=$TEMP
 # Get temperature reading
 TEMP=$(cat $temperature_reading)
 TEMP=$(($TEMP / 1000)) 

 if [ $TTEMP != $TEMP ]; then
  # Calculate optimum fan speed
  X=$(echo "$FAN_SPEED_MAX*1/(1+e(-($TEMP-$TEMP_CRITICAL)/$TEMP_INTERVAL_SIZE))" | bc -q -l)
  # Workaround to convert it to nearest integer
  FAN_SPEED=$(echo "scale=0; $X/1.0" | bc -q -l)
  # Set fan speed
  FAN_SPEED=$(($FAN_SPEED * 250 / 100)) 
  echo $FAN_SPEED > $fan_control
 fi
}

# Run eeefanupdate, then wait 10 seconds.
while [ 1 ]
do
eeefanupdate
sleep 10
done
exit 0;

Dernière modification par Le Chap (Le 28/11/2009, à 23:57)

Hors ligne

#8 Le 12/11/2009, à 14:33

Le Chap

Re : Contrôle du Ventilateur (fancontrol) Asus eeepc 100x [Karmic]

Voici un script pour revenir au contrôle du ventilateur par le bios.
A mettre dans fichier nommé eeebiosfan, et à rendre exécutable!

Nota: pensez à supprimer le fichier /etc/rc2.d/S99eeefan, redémarrez et lancer sudo ./eeebiosfan si vous voulez que la prise en compte soit effective wink, sinon S99eeefan reprend le contrôle.

#!/bin/bash

# Force to use bios fan controller
# Tested on a eee 901 running Ubuntu 9.10 Karmic Koala

# Test with 'sudo ./eeebiosfan'.

fan_manual_switch=/sys/devices/platform/eeepc/hwmon/hwmon1/pwm1_enable
# Turn on bios fan control
echo 0 > $fan_manual_switch
exit 0;

Hors ligne

#9 Le 12/11/2009, à 15:00

fredr

Re : Contrôle du Ventilateur (fancontrol) Asus eeepc 100x [Karmic]

SkullEd a écrit :

Mouai...
J'ai tendance a pas mal compiler sur mon netbook (je sais c'est pas fait pour, mais j'ai envie de voir ce que Gentoo peu donner dessus:D ) alors, le processeur monte facilement a 57degré...
Et quand le ventilo tourne a fond, ça fait qd meme pas mal de bruit....
Alors je reste sur ma version big_smile

Oui, c'est vrai mais il te suffit de changer les lignes:

FAN_SPEED_CRITICAL=250
FAN_SPEED_MAX=125

La vitesse max est obtenue à 250.

Dans ma modification au dela de 57° il est à fond sinon il reste sous les 1/2vitesse

Fred


ArcoLinuxD Awesome
L'optimiste pense que nous vivons dans le meilleur des mondes. Et le pessimiste craint que ce ne soit exact.

Hors ligne

#10 Le 12/11/2009, à 20:09

SkullEd

Re : Contrôle du Ventilateur (fancontrol) Asus eeepc 100x [Karmic]

Le Chap a écrit :

J'ai modifié le script pour respecter les règles de programmation.

Je n'y connais rien en programmation (aimerais bien pourtant), mais concretement (et pas seulement parce je suis un troll accompli), ça change quoi dans le fonctionnement du script?

Hors ligne

#11 Le 12/11/2009, à 21:17

Le Chap

Re : Contrôle du Ventilateur (fancontrol) Asus eeepc 100x [Karmic]

J'ai sorti la ligne 'echo 1 > $fan_manual_switch' de la boucle car elle écrit sur le disque toutes les 10 secondes. Pour les disques SSD c'est pas top (durée de vie) et comme mon 901 n'a que des SSD tongue

J'ai modifié le script (voir post #7) pour limiter les écritures de la variable du ventilo. J'ai diminué de 80% les écritures simplement en disant de ne pas changer la vitesse si la température est toujours la même (variables TTEMP et TEMP).

J'ai ajouté 'exit 0;' à la fin pour la compatibilité sur d'autres systèmes Debian et respecter les règles des scripts  exécutables.

Dernière modification par Le Chap (Le 29/11/2009, à 00:09)

Hors ligne

#12 Le 09/02/2010, à 17:26

jean-thevenet

Re : Contrôle du Ventilateur (fancontrol) Asus eeepc 100x [Karmic]

en cours d'essai sous debian avec un assus eeepc701 et debian (la version #7)
ça marche à condition de changer les adresses des fichiers
"temp"
"pwm1" qui s'appelle chez moi fan_1pwm
"pwm1_enable" (je ne sais pas de mémoire les adresse, j'ai trouvé en faisant rechercher les fichiers dans sys)

(modifier les 3 lignes)
temperature_reading=/sys/devices/virtual/thermal/thermal_zone0/temp
fan_control=/sys/devices/platform/eeepc/hwmon/hwmon1/pwm1
fan_manual_switch=/sys/devices/platform/eeepc/hwmon/hwmon1/pwm1_enable

cependant le ventilateur continue à tourner un peu, même à 47°. je ne sais pas encore comment modifier un script pour que le ventilateur stoppe en dessous d'une température. du moment qu'il tourne, même si c'est à 100 tours par minutes, ça me déconcentre.
je voudrais retrouver dans l'idéal le eeecontrol 0.2 qui  une fois réglé de sorte à déclenche à 60° et stoppe à 58° pour moi me laisse tranquille toute l'année.
il manque toujours quelque chose pour l'installer sous debian et depuis 1 semaine de recherche je n'ai pas trouvé de solution ni de retours.

comme je suis extrêmement sensible pour le traitement de texte au bruits des ventilos ou de disques dur (problème obsessionnel sur les bruit continus), ce programme est capital pour travailler. c'est même la raison qui m'a poussée à me procurer un eeepc (pas de pièces mécaniques tournantes), avant je passais d'un viel ordinateur de 1998 travaillant sur la mémoire vive donc sans faire tourner un disque dur à un autre pour aller sur internet avec des trucs dans les oreilles, mais au delà d'un certains temps ça me fait mal au conduit auditif.
mais debian est quand même bien mieux que xandros et c'est le dernier obstacle qui me reste à franchir pour travailler dessus debian qui pour tout le reste est mieux.

je ne vois pas de seuil bas de ventilateur, ça semble une fonction exponentielle qui demande de tourner un peu mais tourner quand même même à basse température.

je voudrais en fait vitesse néant en dessous de 57 à 60°, vitesse assez importante à partir de 60 et vitesse faible pour descendre de 60 à 58, ça reste une sécurité qui ne se déclanche, sur du traitement de texte qu'en été quand il fait plus de 25° dans la pièce. et pour lire des films, des DVD ça tient jusqu'à 20° dans la pièce.

comme le moindre bruit m'est pénible, c'est plus un signal d'alarme qu'autre chose.

Dernière modification par jean-thevenet (Le 09/02/2010, à 17:32)

Hors ligne

#13 Le 17/03/2010, à 20:53

SkullEd

Re : Contrôle du Ventilateur (fancontrol) Asus eeepc 100x [Karmic]

Salut jean-thevenet
Désolé pour le temps de réaction, mais je ne suis plus sous ubuntu, j'ai basculé sous archlinux (et franchement je ne perds rien au change hmm )
Tout ça pour dire que j'ai été obligé de trifouiller un peu plus dans le systeme pour obtenir a la fois un systeme silencieux, et rapide.
Pour ma part, je me suis aperçu que la gestion du ventilateur était bien évidemment dépendante de la vitesse du processeur. Pour le controle de ce dernier, j'ai utilisé cpufreq-utils (dispo dans les dépot de ubuntu, cf la doc de ubuntu ou de debian)
Et pour automatiser les changements de vitesse de processeur en fonction de mon utilisation et du fait que je soit branché ou non sur le secteur, je me suis servi de ce superbe outil qu'estlaptop-mode-tools (cf la doc de ubuntu, pas mal foutue a ce sujet).
L'avantage supplémentaire de laptop mode tools est qu'il peut mettre en pause, tes DD et autres composants consommant de l'énergie et de ce fait produisant de la chaleur.
Avec tout ça le ventilateur de mon processeur (controlé nativement, sans script ajouté) fonctionne au ralenti, et est quasiment inaudible la plupart du temps. De plus j'ai augmenté la durée de ma batterie d'au moins 1h!

Pour ce qui est de eee-control, je ne peux pas t'aider, celui ci buggant complètement avec le 1005ha toute distrib confondue, j'ai laché l'affaire...

En espérant t'avoir été utile

Petit coup de pub au passage : http://wiki.archlinux.org/index.php/Asus_Eee_PC_701

Skull

Dernière modification par SkullEd (Le 17/03/2010, à 20:55)

Hors ligne

#14 Le 01/05/2010, à 21:10

Le Chap

Re : Contrôle du Ventilateur (fancontrol) Asus eeepc 100x [Karmic]

Trouvé grace au passage à Lucid... wink

eee-control

A partir de Ubuntu Karmic 9.10 vous pouvez ajouter le PPA dédié à vos sources de logiciels tiers (Administration - Sources de logiciels)

ppa: eee-control/eee-control

Installer le paquet eee-control avec le gestionnaire de paquet ou dans le terminal par sudo apt-get install eee-control

Source: http://linux.aldeby.org/eee-control-the … e-pcs.html

Dernière modification par Le Chap (Le 03/05/2010, à 10:35)

Hors ligne

#15 Le 03/05/2010, à 19:16

damadm

Re : Contrôle du Ventilateur (fancontrol) Asus eeepc 100x [Karmic]

Bonjour

Je possède un EEEPC S101, et je suis un peu gêné par le bruit de la ventilation.
Le script "eeefan" fonctionne bien (uniquement avec Karmic impossible avec Lenny ou Lucid...).
Je suis étonné de la température max du script 57°. Pourquoi ne pas mettre plus?
La température critique de l'atom est de 90°C.
Sur le netbook de dell (mini 9) qui est entièrement passif, la température du proc atteindrait 79°C

http://www.cowcotland.com/articles/343- … ini-9.html

Est que c'est une bonne idée de mettre 70°C à la place de 57°C ?

Hors ligne

#16 Le 14/05/2010, à 14:06

damadm

Re : Contrôle du Ventilateur (fancontrol) Asus eeepc 100x [Karmic]

Personne n'a d'avis??

Hors ligne

#17 Le 08/12/2010, à 10:23

Levi59

Re : Contrôle du Ventilateur (fancontrol) Asus eeepc 100x [Karmic]

Question: Quelqu'un connaît-il les information à ajouter en entête pour ne plus avoir d'erreur en console lors des mises à jours de noyau?

ex pour fancontrol

### BEGIN INIT INFO
# Provides:          fancontrol
# Required-Start:    $remote_fs
# Required-Stop:     $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:
# Short-Description: fancontrol
# Description:       fan speed regulator
### END INIT INFO

Hors ligne

#18 Le 08/12/2010, à 19:21

Le Chap

Re : Contrôle du Ventilateur (fancontrol) Asus eeepc 100x [Karmic]

Concernant le ventilateur, j'ai résolu le problème sur mon eeepc 901 en postant un script.
Voir cette discussion.

Hors ligne