Groupe ACPI / action non définie: processeur / LNXCPU

12

Si je débranche mon ordinateur portable de l'adaptateur secteur, j'obtiendrai des erreurs ACPI comme celles-ci:

May 07 21:45:04 veritas root[7067]: ACPI group/action undefined: processor / LNXCPU:00
May 07 21:45:04 veritas root[7076]: ACPI group/action undefined: processor / LNXCPU:01
May 07 21:45:04 veritas root[7078]: ACPI group/action undefined: processor / LNXCPU:02
May 07 21:45:04 veritas root[7080]: ACPI group/action undefined: processor / LNXCPU:03

acpi_listen décharges

ac_adapter ACPI0003:00 00000080 00000000
battery PNP0C0A:00 00000080 00000001
processor LNXCPU:00 00000080 00000015
processor LNXCPU:01 00000080 00000015
processor LNXCPU:02 00000080 00000015
processor LNXCPU:03 00000080 00000015
processor LNXCPU:00 00000081 00000000
processor LNXCPU:01 00000081 00000000
processor LNXCPU:02 00000081 00000000
processor LNXCPU:03 00000081 00000000
...
processor LNXCPU:00 00000080 00000000
processor LNXCPU:01 00000080 00000000
processor LNXCPU:02 00000080 00000000
processor LNXCPU:03 00000080 00000000

/etc/acpi/handler.sh ne semble pas gérer l'événement processeur / LNXCPU ...

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

case "$1" in
    button/power)
        case "$2" in
            PBTN|PWRF)
                logger 'PowerButton pressed'
                ;;
            *)
                logger "ACPI action undefined: $2"
                ;;
        esac
        ;;
    button/sleep)
        case "$2" in
            SLPB|SBTN)
                logger 'SleepButton pressed'
                ;;
            *)
                logger "ACPI action undefined: $2"
                ;;
        esac
        ;;
    ac_adapter)
        case "$2" in
            AC|ACAD|ADP0)
                case "$4" in
                    00000000)
                        logger 'AC unpluged'
                        ;;
                    00000001)
                        logger 'AC pluged'
                        ;;
                esac
                ;;
            *)
                logger "ACPI action undefined: $2"
                ;;
        esac
        ;;
    battery)
        case "$2" in
            BAT0)
                case "$4" in
                    00000000)
                        logger 'Battery online'
                        ;;
                    00000001)
                        logger 'Battery offline'
                        ;;
                esac
                ;;
            CPU0)
                ;;
            *)  logger "ACPI action undefined: $2" ;;
        esac
        ;;
    button/lid)
        case "$3" in
            close)
                logger 'LID closed'
                ;;
            open)
                logger 'LID opened'
                ;;
            *)
                logger "ACPI action undefined: $3"
                ;;
    esac
    ;;
    *)
        logger "ACPI group/action undefined: $1 / $2"
        ;;
esac

Pire encore, je rencontrerai de graves problèmes de performances. (tout est en retard!) Je suppose que cela est dû à des tentatives répétées de processeur / LNXCPU, car les problèmes de performances sont fortement liés aux erreurs d'action ACPI non définies, et les performances seront à nouveau normales si vous redémarrez.

Cependant, je n'ai pas pu trouver la raison ... J'ai essayé cpupowerde contrôler le mode CPU (économie d'énergie ou performances) et de le désactiver tlp, mais les deux n'ont pas aidé.

Comment cela peut-il arriver? Quel est responsable de ce problème? Et, plus important encore, comment puis-je résoudre ce problème? Merci beaucoup!

SUIVI : J'ai remarqué que la fréquence du processeur est de 400 MHz (la sélection du mode de performance ne fonctionne pas), mais après le redémarrage, elle devient 800 MHz (la sélection du mode de performance, la fréquence sera de 2,8 GHz).

Mike Manilone
la source

Réponses:

0

Si je débranche mon ordinateur portable de l'adaptateur secteur, j'obtiendrai des erreurs ACPI comme celles-ci ...

Cela a été suggéré à: "L' adaptateur secteur ACPI branché / éteint n'est pas reconnu ".

rzepaczyk - Mon handler.sh:

# Default acpi script that takes an entry for all actions

minspeed=`cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq`
maxspeed=`cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq`
setspeed1="/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed"
setspeed2="/sys/devices/system/cpu/cpu1/cpufreq/scaling_setspeed"
setspeed3="/sys/devices/system/cpu/cpu2/cpufreq/scaling_setspeed"
setspeed4="/sys/devices/system/cpu/cpu3/cpufreq/scaling_setspeed"

set $*

case "$1" in
    button/power)
        #echo "PowerButton pressed!">/dev/tty5
        case "$2" in
            PBTN|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*|ACAD*|ADP0*|AD*)
                case "$4" in
                    00000000)
                        echo -n $minspeed >$setspeed1
                        echo -n $minspeed >$setspeed2
                        echo -n $minspeed >$setspeed3
                        echo -n $minspeed >$setspeed4
                        #/etc/laptop-mode/laptop-mode start
                    ;;
                    00000001)
                        echo -n $maxspeed >$setspeed1
                        echo -n $maxspeed >$setspeed2
                        echo -n $maxspeed >$setspeed3
                        echo -n $maxspeed >$setspeed4
                        #/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)
        case "$3" in
            close)
                #echo "LID closed!">/dev/tty5
                ;;
            open)
                #echo "LID opened!">/dev/tty5
                ;;
        esac
        ;;

    *)
        logger "ACPI group/action undefined: $1 / $2"
        ;;
esac

Ce que j'essaie de faire, c'est de régler le gouverneur de processeur sur ondemand lorsque l'adaptateur est branché et d'économiser de l'énergie lorsque l'adaptateur est débranché. J'ai vu que les actions n'étaient pas définies, j'ai donc supposé qu'acpi ne reconnaissait pas les actions (même avec ceci:

ac_adapter)
           case "$2" in
           AC*|ACAD*|ADP0*|AD*)

)

entrées dans handler.sh.

Raynman - On dirait qu'ils sont manipulés. acpi_listen affiche les événements ac_adapter en plus des événements non définis qui sont apparus dans le journal. Celles-ci sont traitées par le dossier dans votre dernier devis. Ensuite, vous avez une autre déclaration de cas sur 4 $ pour faire la distinction entre le branchement (00000001) et le débranchement (00000000). Si vous remplacez ces instructions echo par un appel à cpufreq-set (ou tout ce à quoi vous pouvez penser), cela devrait fonctionner.

rzepaczyk - Ça marche, merci pour votre aide.

Rob
la source