所有錯誤訊息和警示會記錄在檔案 /var/log/messages 中。如果您找不到所需資訊,請使用 /etc/sysconfig/powersave/common 檔案中的 DEBUG 提高 powersave 訊息的資料詳細程度。將變數值增加到 7 或甚至 15,並重新啟動精靈。/var/log/messages 中更詳細的錯誤訊息可協助您找出錯誤。以下幾節涵蓋了關於省電與不同睡眠模式的最常見問題。
如果您遭遇到 ACPI 的問題,請使用指令 dmesg|grep -i acpi 來搜尋 ACPI 特定訊息的 dmesg 輸出。必須更新 BIOS 以解決問題。請到您筆記型電腦製造商的首頁,尋找更新的 BIOS 版本並安裝。請詢問製造商以符合最新 ACPI 規格。在 BIOS 更新後,如果錯誤持續發生,請繼續以更新的 DSDT 取代您 BIOS 中的錯誤 DSDT 表格:
從 http://acpi.sourceforge.net/dsdt/index.php 下載您系統的 DSDT。檢查檔案是否已解壓縮,並以所示副檔名 .aml (ACPI 機器語言) 編譯。如果是此狀況,請繼續步驟 3。
如果下載的表格副檔名為 .asl (ACPI 原始語言),請以 iasl (pmtools 套件) 編譯。輸入 iasl -sa file.asl 指令。
將檔案 DSDT.aml 複製到任何位置 (建議 /etc/DSDT.aml)。編輯 /etc/sysconfig/kernel 並將路徑與 DSDT 檔案搭配。啟動 mkinitrd (套件 mkinitrd)。只要您安裝核心並使用 mkinitrd 來建立 initrd,當系統啟動時,修改的 DSDT 便會整合並載入。
請參考核心來源 (kernel-source) 以查看是否支援您的處理器。您需要特殊核心模組或模組選項以啟用 CPU 頻率控制。此資訊可在 /usr/src/linux/Documentation/cpu-freq/* 中找到。
由於 DSDT 實做 (BIOS) 的錯誤,ACPI 系統在暫停或待命時可能會有問題。若這樣的話,請更新 BIOS。
當系統嘗試卸載錯誤模組時,系統會停止或不觸發暫停事件。如果您不卸載模組或停止服務 (導致無法成功暫停),也可能發生此狀況。在兩種情況下,都請嘗試辨識無法啟動休眠模式的錯誤模組。記錄檔案 /var/log/pm-suspend.log 包含了有關目前的狀況及錯誤之所在的詳細資訊。修改 /usr/lib/pm-utils/defaults 中的 SUSPEND_MODULES 變數,在暫停或待機之前先卸載有問題的模組。
請參閱 http://www.opensuse.org/Pm-utils 與 http://www.opensuse.org/S2ram,以獲取更多關於如何修改暫停與恢復程序的詳細資訊。