ThinkPad T480: Снятие whitelist, очистка Intel ME, разблокировка Advanced Menu
Внимание!
После прошивки больше не будет работать TPM 2.0 модуль!
Если вам интересно копнуть глубже в суть проблемы, то ознакомтесь с этой issue веткой на GitHub
Для лучшего понимания о чём здесь идёт речь советую ознакомиться с общей статьёй о whitelist'ах.
1. Снимите образ BIOS чипа программатором¶
Вам нужен чип который находится возле CPU и оперативной памяти. BIOS, Intel ME и прочие регионы находятся все на одном 16 Мб чипе.
sudo flashrom -p ch341a_spi -r bios1.img
sudo flashrom -p ch341a_spi -r bios2.img
diff bios1.img bios2.img
2. Выберите нужные патчи¶
Создайте текстовый файл t480_patchlist.txt
и добавьте туда нужные вам патчи. Список патчей для T480 можно получить от сюда: thinkpad-firmware-patches - xx70_xx80_patches_v7.txt;
# LenovoWmaPolicyDxe | Lenovo Thinkpad T470/T480, maybe others | remove wwan whitelist
79E0EDD7-9D1D-4F41-AE1A-F896169E5216 10 P:0BC8394B040F8437020000:0BC8394B04E93802000000
79E0EDD7-9D1D-4F41-AE1A-F896169E5216 10 P:C8390B7516:C8390B7500
79E0EDD7-9D1D-4F41-AE1A-F896169E5216 10 P:ECA8047404:ECA804EB04
Дополнительно стоит отметить то что есть отдельный набор патчей для оверклокинга Intel GPU, но я не могу подтвердить его работу - частоты GPU как были на стоковых значениях, так и остались.
Если хотите разблокировать Advanced Menu (CFG Lock)
Не делайте разблокировку Advanced menu если вы не знаете зачем оно вам!
Не меняйте в нём настройки Thunderbolt и настройки оперативной памяти!
Делайте разблокировку только если вы собираетесь делать Hackintosh и вам нужен CFG Lock.
Добавьте следующие патчи в конец файла:
# SystemFormBrowserCoreDxe | enable advance menu Lenovo xx70/xx80
721C8B66-426C-4E86-8E99-3457C46AB0B9 10 P:04320b483cc2e14abb16a73fadda475f:778b1d826d24964e8e103467d56ab1ba
32442D09-1D11-4E27-8AAB-90FE6ACB0489 10 P:04320b483cc2e14abb16a73fadda475f:778b1d826d24964e8e103467d56ab1ba
3. Примените патч к образу¶
Для применения патчей к BIOS образу воспользуйтесь UEFIPatch;
./UEFIPatch bios.img t480_patchlist.txt -o T480_unlocked.img
4. Отключите Intel Management Engine (IME)¶
На T480 лучше всего использовать нейтрализацию Intel ME при помощи HAP бита - AltMeDisable при помощи параметра -s
, который только переключает HAP, но не убирает сам код Intel ME из прошивки.
По отзывам пользователей: Если переключить HAP и удалить код из прошивки (параметр -S
), то система будет работать не стабильно и появится 30-ти секундная задержка перед тем как BIOS начнет загрузку.
git clone https://github.com/corna/me_cleaner
cd me_cleaner/
./me_cleaner.py bios_patched.img -s -O bios_patched_ime_disabled.img
5. Исправьте инициализацию TPM¶
Если попробовать запустить T480 с модифицированным BIOS, то динамик пропищит вам код "0285 - Ошибка инициализации TPM". (Расшифровывается с Lenovo'вского андроид приложения. Код можно повторить нажав на клавишу Fn)
Чтобы этого избежать нужно перевести TPM модуль в 'заводской режим' - MFG Mode
. Это можно сделать в HEX-редакторе Okteta (от KDE):
Найти | 4C 4E 56 42 42 53 45 43 FB |
---|---|
Заменить на | 4C 4E 56 42 42 53 45 43 FF |
6. Запишите модифицированный BIOS в чип¶
sudo flashrom -p ch341a_spi -w bios_patched_ime_disabled.img
7. Запуск!¶
Первый раз ноутбук перезагрузится один раз и поругается на сброс CMOS, если вы его отключали.