Grup / aksi ACPI tidak terdefinisi: prosesor / LNXCPU

12

Jika saya mencabut laptop saya dari adaptor AC, saya akan mendapatkan kesalahan ACPI seperti ini:

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 kesedihan

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 sepertinya tidak menangani acara prosesor / 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

Yang lebih buruk, saya akan mengalami masalah kinerja yang parah. (semuanya terlambat!) Saya kira ini disebabkan oleh upaya berulang prosesor / LNXCPU, karena masalah kinerja sangat terkait dengan kesalahan tindakan ACPI yang tidak ditentukan, dan kinerjanya akan normal kembali jika reboot.

Namun, saya tidak dapat menemukan alasannya ... Saya mencoba cpupowermengendalikan mode CPU (hemat daya atau kinerja), dan menonaktifkan tlp, tetapi keduanya tidak membantu.

Bagaimana ini bisa terjadi? Apa yang bertanggung jawab atas masalah ini? Dan, yang lebih penting, bagaimana saya bisa menyelesaikan ini? Terimakasih banyak!

IKUTI-UP : Saya perhatikan bahwa frekuensi CPU adalah 400MHz (memilih mode kinerja tidak berfungsi), tetapi setelah mem-boot ulang itu menjadi 800MHz (memilih mode kinerja freq akan menjadi 2,8GHz).

Mike Manilone
sumber

Jawaban:

0

Jika saya mencabut laptop saya dari adaptor AC, saya akan mendapatkan kesalahan ACPI seperti ini ...

Ini disarankan di: " ACPI AC memasukkan / mematikan adaptor tidak dikenal ".

rzepaczyk - Handler.sh saya:

# 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

Apa yang saya coba lakukan adalah mengatur cpu governor ke ondemand ketika adaptor dicolokkan dan hemat saat adaptor dicabut. Saya melihat bahwa tindakan tidak terdefinisi jadi saya berasumsi bahwa acpi tidak mengenali tindakan (bahkan dengan ini:

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

)

entri di handler.sh.

Raynman - Sepertinya mereka ditangani. acpi_listen menunjukkan ac_adapter acara selain peristiwa yang tidak ditentukan yang muncul di log. Ini ditangani oleh kasing di kutipan terakhir Anda. Kemudian Anda memiliki pernyataan kasus lain pada $ 4 untuk membedakan antara mencolokkan (00000001) dan mencabutnya (00000000). Jika Anda mengganti pernyataan gema tersebut dengan panggilan ke cpufreq-set (atau apa pun yang dapat Anda pikirkan), itu harus bekerja.

rzepaczyk - Ini berfungsi, terima kasih atas bantuan Anda.

rampok
sumber