[cpufreq] Régulation non fonctionelle (résolu (workaround))

Reconnaissance et configuration du matériel / kernel linux
Twix
Hankyu
Messages : 12
Inscription : lun. 02 mars 2009, 18:49
Localisation : Aix-en-Provence

[cpufreq] Régulation non fonctionelle (résolu (workaround))

Message par Twix »

Bonjour,

Je suis possesseur d'un netbook TOSHIBA NB100 avec arch installé (quelle merveille pour les ordis du genre :D ), et j'utilise xfce comme DM.

Pour la gestion de l'énergie de l' atom n270, j'ai installé cpufrequtils, et j'ai mis le governor ondemand.

Les fréquences sont détectées normalement, mais une règle empêche de monter à plus de 800MHz (du coup je suis bloqué à 800)

Voici quelques infos interessantes me semble-t-il:

Code : Tout sélectionner

$ cpufreq-info 
cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009
Veuillez rapportez les erreurs et les bogues à cpufreq@vger.kernel.org, s'il vous plait.
analyse du CPU 0 :
  pilote : acpi-cpufreq
  CPUs which run at the same hardware frequency: 0 1
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 10.0 us.
  limitation matérielle : 800 MHz - 1.60 GHz
  plage de fréquence : 1.60 GHz, 1.33 GHz, 1.07 GHz, 800 MHz
  régulateurs disponibles : ondemand, performance
  tactique actuelle : la fréquence doit être comprise entre 800 MHz et 800 MHz.
                  Le régulateur "ondemand" est libre de choisir la vitesse
                  dans cette plage de fréquences.
  la fréquence actuelle de ce CPU est 800 MHz.
analyse du CPU 1 :
  pilote : acpi-cpufreq
  CPUs which run at the same hardware frequency: 0 1
  CPUs which need to have their frequency coordinated by software: 1
  maximum transition latency: 10.0 us.
  limitation matérielle : 800 MHz - 1.60 GHz
  plage de fréquence : 1.60 GHz, 1.33 GHz, 1.07 GHz, 800 MHz
  régulateurs disponibles : ondemand, performance
  tactique actuelle : la fréquence doit être comprise entre 800 MHz et 800 MHz.
                  Le régulateur "ondemand" est libre de choisir la vitesse
                  dans cette plage de fréquences.
  la fréquence actuelle de ce CPU est 800 MHz.

Code : Tout sélectionner

$ lsmod | grep cpu
cpufreq_ondemand        6546  2 
acpi_cpufreq            5643  1 
freq_table              1991  2 cpufreq_ondemand,acpi_cpufreq
processor              25232  3 acpi_cpufreq

Code : Tout sélectionner

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 
800000

Code : Tout sélectionner

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed 
<unsupported>

Code : Tout sélectionner

cat /sys/devices/system/cpu/cpu0/cpufreq/bios_limit 
800000

Code : Tout sélectionner

MODULES=(acpi_cpufreq)

Code : Tout sélectionner

DAEMONS=(syslog-ng !network @netfs crond  dbus hal cpufreq @cups @wicd !sensord)
Je pense que c'est à cause du bios_limit que je ne peut pas monter plus haut, mais il est en read-only.
J'ai mis à jour mon bios, ça n'a rien changé.

Voilà je ne sais fraiment pas quoi faire, j'ai cherché sur le wiki fr et en, pareil pour les forums, et même sur google je ne trouve pas de solution.

Si quelqu'un a une idée ou le même problème ... qu'il n'hésite pas à se signaler à l'acceuil :humour:
Dernière modification par Twix le mar. 03 août 2010, 15:52, modifié 2 fois.
Twix
Hankyu
Messages : 12
Inscription : lun. 02 mars 2009, 18:49
Localisation : Aix-en-Provence

Re: [cpufreq] Fréquence min=Fréquence max (en cours)

Message par Twix »

Petit bump parce que j'arrive plus à avancer, je suis bloqué :oops:
Avatar de l’utilisateur
chipster
Maître du Kyudo
Messages : 2063
Inscription : ven. 11 août 2006, 22:25
Localisation : Saint-Étienne (42)
Contact :

Re: [cpufreq] Régulation non fonctionelle (en cours)

Message par chipster »

tu n'as pas mis l'acpi dans qui est pourtant indiqué dans le wiki.
L'erreur vient peut-être de là. Enfin je l'espère pour toi autrement, je ne sais pas :|
Twix
Hankyu
Messages : 12
Inscription : lun. 02 mars 2009, 18:49
Localisation : Aix-en-Provence

Re: [cpufreq] Régulation non fonctionelle (en cours)

Message par Twix »

Quand j'ai voulu le lancer à la main ça n'a pas marché : il se lance tout seul au démarrage (il me semble que c'est hal qui le lance).
Je l'ai quand même explicitement mis dans ma ligne daemon, mais rien n'y fait.

Et voici une manipulation que j'ai tenté :

Code : Tout sélectionner

$ cat /etc/acpi/handler.sh

#!/bin/sh
# Default acpi script that takes an entry for all actions

# NOTE: This is a 2.6-centric script.  If you use 2.4.x, you'll have to
#       modify it to not use /sys

#minspeed=`cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq`
#maxspeed=`cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq`
minspeed=`1600000`
maxspeed=`800000`
setspeed="/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed"

set $*

case "$1" in
    button/power)
        #echo "PowerButton pressed!">/dev/tty5
        case "$2" in
            PWRF)   logger "PowerButton pressed: $2" ;;
            *)      logger "ACPI action undefined: $2" ;;
        esac
        ;;
    button/sleep)
        case "$2" in
            SLPB)   echo -n mem >/sys/power/state ;;
            *)      logger "ACPI action undefined: $2" ;;
        esac
        ;;
    ac_adapter)
        case "$2" in
            AC)
                case "$4" in
                    00000000)
                        echo -n $minspeed >$setspeed
                        #/etc/laptop-mode/laptop-mode start
                    ;;
                    00000001)
                        echo -n $maxspeed >$setspeed
                        #/etc/laptop-mode/laptop-mode stop
                    ;;
                esac
                ;;
            *)  logger "ACPI action undefined: $2" ;;
        esac
        ;;
    battery)
        case "$2" in
            BAT0)
                case "$4" in
                    00000000)   #echo "offline" >/dev/tty5
                    ;;
                    00000001)   #echo "online"  >/dev/tty5
                    ;;
                esac
                ;;
            CPU0)	
                ;;
            *)  logger "ACPI action undefined: $2" ;;
        esac
        ;;
    button/lid)
        #echo "LID switched!">/dev/tty5
        ;;
    *)
        logger "ACPI group/action undefined: $1 / $2"
        ;;
esac
Merci en tout cas pour la réponse, ça fait plaisir :D
Avatar de l’utilisateur
CroK
Elfe
Messages : 607
Inscription : dim. 26 juil. 2009, 14:27
Localisation : France > Auxerre

Re: [cpufreq] Régulation non fonctionelle (en cours)

Message par CroK »

On parle du module acpi ici, donc pour le lancer "modprobe acpi" devrait suffir.
Save the penguins, burn the flags ! -- c[] <- beeeeeeeeer!
Twix
Hankyu
Messages : 12
Inscription : lun. 02 mars 2009, 18:49
Localisation : Aix-en-Provence

Re: [cpufreq] Régulation non fonctionelle (en cours)

Message par Twix »

J' ai trouvé !!!

Voila à partir d'un forum anglais :
Update: WORKAROUND: add "processor.ignore_ppc=1" to your kernel boot line, like this:

# (0) Arch Linux
title Arch Linux
root (hd0,0)
kernel /vmlinuz26 root=/dev/sda3 processor.ignore_ppc=1 ro
initrd /kernel26.img

and change the value in

/sys/module/processor/parameters/ignore_ppc

from 0 to 1

but still, this isn't a solution (yes, it does work, but... its only a workaround) sad hopefully, this will be solved in future, until then, you may stick with this...
https://bbs.archlinux.org/viewtopic.php?id=99856

EDIT : Merci Crok pour ta réponse. j'avais déja le module lancé puisqu'il est utilisé par hal et cpufreq.
Du coup apparemment le problème vient du noyau
Répondre