ACアダプタからノートブックを取り外すと、次のACPIエラーが発生します。
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
ダンプ
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
プロセッサ/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
さらに悪いことは、深刻なパフォーマンス問題に直面することです。 (すべてが遅れます!) プロセッサ/LNXCPUの繰り返し試みのためのようです。パフォーマンスの問題は未定義のACPI操作エラーと密接に関連しているため、再起動するとパフォーマンスが再び正常に戻ります。
cpupower
しかし、原因が何であるかわかりませんtlp
。
どうやってこれが起こったのですか?この問題の原因は何ですか?さらに重要なことは、この問題をどのように解決しますか?とても感謝しています!
フォローアップ:CPU周波数が400MHz(性能モード選択が動作しない)で再起動すると、800MHz(性能モード選択周波数は2.8GHz)になることを確認しました。
ベストアンサー1
ACアダプタからノートブックを取り外すと、次のACPIエラーが発生します。
提案:ACPI ACアダプタのプラグ/プラグ解除が認識されません。」。
rzepaczyk - 私の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
私が望むのは、アダプタが接続されているときにCPUレギュレータをondemandに設定し、アダプタが接続されていないときに省電力に設定することです。ジョブが未定義であることが確認されたため、acpiがジョブを認識しないと仮定します。
ac_adapter)
case "$2" in
AC*|ACAD*|ADP0*|AD*)
)
handler.shのエントリ。
Raynman - 処理されたようです。ログに表示された未定義イベントに加えて、acpi_listenはac_adapterイベントも表示します。これは最後の見積もりのケースによって処理されます。次に、$ 4に挿入(00000001)と切断(00000000)を区別する別のケースの説明があります。 cpufreq-set(または考えられる他のもの)を呼び出してこれらのechoステートメントを置き換えると、うまく機能します。
rzepaczyk - 動作します。助けてくれてありがとう。