問題描述
無法從 D3 睡眠狀態喚醒 pci 總線 (Unable to wake pci bus form D3 sleep satate)
在我的主板(x86_64,Android Lollipop,內核:3.14)上,“pci 總線”進入 D3 睡眠狀態,當我試圖通過將其設置為 D0 狀態來喚醒它時,它失敗並顯示消息:
Error log: Refused to change power state, current in D3.
通過pci架構後,我知道我們無法將pci從D3hot調到D0初始化後,我們需要遵循以下內容:D3hot ‑> D0Uninitialized ‑> D0Initialized
但我無法弄清楚如何做到這一點,請幫我找出合適的解決方案
進一步調試後,我發現,當在 pci 驅動程序(即 pcieport)中請求時,pci 設備(即 D3 到 D0)的電源狀態轉換工作正常,但正如我我試圖通過面臨上述問題的 iwlwifi 驅動程序喚醒 pci 設備,因為它無法將喚醒請求寫入 pci 芯片。
任何幫助或任何線索將不勝感激。
參考解法
方法 1:
After a lot of research I found that, If any device wants to use acpi features to communicate to OS, should be registered in ACPI table.
In my case my wifi chip was not registered with ACPI table, because of it was unable to use ACPI features.
(by BhanuSingh、BhanuSingh)