Перейти к содержанию

ThinkPad T480: Снятие whitelist, очистка Intel ME, разблокировка Advanced Menu

Внимание!

После прошивки больше не будет работать TPM 2.0 модуль!

Если вам интересно копнуть глубже в суть проблемы, то ознакомтесь с этой issue веткой на GitHub

Для лучшего понимания о чём здесь идёт речь советую ознакомиться с общей статьёй о whitelist'ах.

1. Снимите образ BIOS чипа программатором

Вам нужен чип который находится возле CPU и оперативной памяти. BIOS, Intel ME и прочие регионы находятся все на одном 16 Мб чипе.

Снятие дампа программатором CH341A:
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;

Список патчей для снятия whitelist
# 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, если вы его отключали.