2015-12-01 8 views
0

На моей доске (x86_64, Android Lollipop, ядро: 3.14), «pci bus» переходит в состояние ожидания D3, и когда я пытаюсь разбудить его, установив его состояние D0 он не работает с сообщением:Невозможно разбудить форму шины pci D3 sleep satate

Журнал ошибок: Отказ в замене состояния питания, в настоящее время на D3.

После прохождения ЧКВ архитектуры, я узнал, что мы не можем довести до ЧКВ от D3hot к Д0 инициализируется, мы должны следовать что-то вроде: D3hot -> D0Uninitialized -> D0Initialized

Но я не удалось выяснить, как это сделать, пожалуйста, помогите мне найти подходящее решение.

После отладки далее я выяснил, что переход состояния питания для устройства pci (то есть от D3 до D0) работает нормально, когда он запрашивается внутри pci драйвер (т. е. pcieport), но поскольку я пытаюсь просыпать устройство pci через драйвер iwlwifi, столкнувшись с вышеупомянутой проблемой, поскольку он не способен писать wake запрос на чип pci.

Любая помощь или любая подсказка будут высоко оценены.

ответ

0

После многих исследований я обнаружил, что если какое-либо устройство хочет использовать функции acpi для связи с ОС, их необходимо зарегистрировать в таблице ACPI.

В моем случае чип Wi-Fi не был зарегистрирован в таблице ACPI, поскольку он не смог использовать функции ACPI.