Closed respect955 closed 2 years ago
Вот что я делал с BIOS на своей плате. Я взял чистый BIOS от iEngineer под свою мать, и сделал ему патч, чтобы после сна продолжал работать SmartFAN. Его нужно делать перед прочими модификациями, иначе откажется. (Другие патчи этой утилитой не делал). Далее я сделал все описанные модификации для работы сна, вшил драйвер разблокировки турбобуста. Прошил модифицированный BIOS через AFUDOS с флешки. Включил режим Auto для USB контроллера чтобы после сна не отваливались устройства в портах. Перевёл загрузку в чисто EFI режим. После всего этого в винде и линукс сон отрабатывает корректно. В Линукс ещё надо выключить все модули ядра что работают с ECC памятью, поскольку память у меня десктопная. Ну и память я по таймингам разогнал.
Какие тут моменты есть. Есть способ через виртуальную машину добавить драйвер, чтобы с тем BIOS который не имеет сброса параметров джемпером, не попасть на выпаивание микрухи и перезапись через программатор. Уже только это хорошая причина чтобы прошить BIOS от iEngineer, если такой есть. Я этим способом не пользовался, сразу шил в микруху через AFUDOS. Но он должен быть более безопасным.
То есть в Windows сон должен работать корректно, это показатель что всё сделано правильно. Далее есть два способа завода спидстепа процессора. Первый это без драйвера PMDrvr.kext, и лучший - с драйвером PMDrvr.kext. Для первого случая скрипт поддержки пробуждения находится в архиве DarkwakeToNormalWake_Set.zip, для второго случая в архиве PMDrvr_X99K9_ManageSet.zip.
Поддержка сна без драйвера сводится к решению проблемы пробуждения в чёрный экран. А также перезапускается сервис блютус чтобы корректно работали устройства.
Поддержка сна с драйвером PMDrvr.kext заключатеся дополнительно в загрузке этого драйвера после сна, выгрузке его перед сном, и повторной загрузке после, что происходит автоматически. Ну и плюс те действия что делает скрипт без драйвера. Сам я использую второй способ - с драйвером.
Скрипты оформлены в виде апплета, в архивах есть инструкция по использованию. Запуск апплета приводит к установке скрипта поддержки пробуждения в виде сервиса, который будет работать даже после обновления. Повторный запуск апплета приводит к выгрузке сервиса. Драйвер PMDrvr должен быть загружен не из EFI папки загрузчика, его загрузку устанавливает апплет при запуске. Для этого надо в загрузчике Мак ОС установить минимальное значение SIP; для OpenCore это csr-active-config = 01020000; для Сlover это CsrActiveConfig = 0x201 И при первом запуске апплета поддержки сна, подтвердить загрузку расширения PMDrvr.kext в настройках безопасности системных настроек. (Будет запрошено системой). Затем выполнена перезагрузка системы. (только один раз для установки расширения, в последующем можно устанавливать и удалять сервис без перезагрузки, за исключением нового подтверждения после обновления системы, разрешение на загрузку расширения будет снова запрошено системой)
После установки скрипта поддержки он работает в автоматическом режиме, ничего делать не надо.
Обсуждение по заводу хакинтоша на этой плате на русском находится здесь.
Отличный репозиторий, у меня завелось все кроме сна. Я видел ты используешь какие то скрипты, не подскажешь инструкцию как можно завести правильный сон