ACPI-Gruppe / Aktion undefiniert: Prozessor / LNXCPU

12

Wenn ich meinen Laptop vom Netzteil trenne, werden folgende ACPI-Fehler angezeigt:

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 Dumps

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 scheint nicht mit Prozessor / LNXCPU-Ereignis umzugehen ...

#!/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

Was noch schlimmer ist, ich werde schwerwiegende Leistungsprobleme haben. (Alles bleibt zurück!) Ich nehme an, dass dies auf wiederholte Versuche des Prozessors / der LNXCPU zurückzuführen ist, da Leistungsprobleme stark mit Fehlern undefinierter ACPI-Aktionen verbunden sind und die Leistung beim Neustart wieder normal ist.

Ich konnte jedoch nicht herausfinden, was der Grund ist ... Ich habe versucht, cpupowerden CPU-Modus (Energiesparmodus oder Leistung) zu steuern und zu deaktivieren tlp, aber beide haben nicht geholfen.

Wie kommt es dazu? Was ist für dieses Problem verantwortlich? Und was noch wichtiger ist, wie kann ich das lösen? Danke vielmals!

FOLLOW-UP : Ich habe festgestellt, dass die Frequenz der CPU 400 MHz beträgt (Auswahl des Leistungsmodus funktioniert nicht), aber nach dem Neustart wird sie 800 MHz (Auswahl des Leistungsmodus beträgt die Frequenz 2,8 GHz).

Mike Manilone
quelle

Antworten:

0

Wenn ich meinen Laptop vom Netzteil trenne, werden solche ACPI-Fehler angezeigt ...

Dies wurde vorgeschlagen unter: " Ein- / Ausschalten des ACPI-Netzteils nicht erkannt ".

rzepaczyk - Mein 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

Ich versuche, den CPU-Regler auf ondemand zu setzen, wenn der Adapter eingesteckt ist, und auf Strom zu sparen, wenn der Adapter ausgesteckt ist. Ich habe gesehen, dass Aktionen undefiniert sind, also habe ich angenommen, dass acpi keine Aktionen erkennt (auch damit:

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

)

Einträge in handler.sh.

Raynman - Sieht so aus, als würden sie behandelt. acpi_listen zeigt zusätzlich zu den undefinierten Ereignissen, die im Protokoll angezeigt wurden, ac_adapter-Ereignisse an. Diese werden von dem Fall in Ihrem letzten Angebot behandelt. Dann haben Sie eine weitere case-Anweisung zu $ ​​4, um zwischen Einstecken (00000001) und Ausstecken (00000000) zu unterscheiden. Wenn Sie diese Echoanweisungen durch einen Aufruf von cpufreq-set ersetzen (oder was auch immer Sie sich sonst vorstellen können), sollte es funktionieren.

rzepaczyk - Es funktioniert, danke für Ihre Hilfe.

rauben
quelle