Как включить Intel AMT, если производитель это «забыл»

b34a3f6dcce64eac859fef48b8c4dd35.jpg

В мои руки попал уже второй ноутбук поддерживающий Intel AMT, т.е. технологию удалённого управления на уровне железа, но по какой-то причине заблокированной производителем. Попробуем исправить этот маленький недостаток.

Подопытными будут ноутбук Lenovo t420s с процессором Core i5–2520M и чипсетом QM67, и ноутбук Dell Latitude e6450 с процессором Core i7–4800MQ и чипсетом QM87. Я намеренно указал чипсеты и процессоры, потому как для поддержки AMT они оба должны поддерживать технологию vPro.

Intel AMT базируется на Intel ME — подсистеме, встроенной в современные компьютерные платформы. Основной её компонент, контроллер, встроен в чипсет, а прошивка контроллера находится в «биосе». И именно эту прошивку мы и поправим для включения AMT.

«Биос» написан в кавычках потому, что это не совсем биос. В современных компьютерах микросхема «биоса» — это так называемый SPI флеш. В нём много регионов, в частности, регион BIOS, тот который мы обновляем чаще всего, скачав его с сайта производителя;, а также в нём есть регион ME, тот который использует контроллер Intel ME, который, в свою очередь, реализует технологию AMT.

Для доступа к SPI флеш мы будем использовать программный инструмент «flash programming tool», FPT, который можно найти в пакете «Intel ME System Tools». Эти инструменты проще всего взять на этом сайте win-raid.com. Для Lenovo мы скачаем пакет «Intel ME System Tools v7.1 r3», потому, как он «For 6-series systems which come with ME firmware v7.x», а для Dell мы скачаем «Intel ME System Tools v9.0 r2», по тому, как он «For 8-series systems which come with ME firmware v9.0.x»

Во всех пакетах «Intel ME System Tools» FPT присутствует в версиях для dos, windows, windows 64bit. Для нелюбителей фана в виде программировании «запоротой» флешки программатором, для минимизации рисков, желательно использовать версию FPT для dos, а значит, нужно будет создать загрузочную флешку с этим самым DOS. Я обычно использую для этого программу HPUSBFW_Special, которая легко гуглится, к ней же нужно будет нагуглить комплект dos файлов. Кроме FPT, для редактирования прошивки нам понадобится hex редактор, например hexit, который, в случае использования загрузочной dos флешки, надо записать на эту флешку вместе с версией FPT для dos.

Но отверткой нам таки поработать придётся, а ещё и острым пинцетом (это он на вводной картинке), так как с завода на наших подопытных ноутбуках заблокированы все регионы SPI флеш, кроме региона BIOS, поэтому первая наша задача — разблокировать чтение и запись региона ME.

Для Lenovo разблокировка будет попроще. Читаем «hardware maintenance manual» для ноутбука t420s на предмет снятия клавиатуры. Откручиваем винты на которые указывает значок клавиатуры: один под крышкой, закрывающей память и карточку wifi; другой в аккумуляторном отсеке. Нажимаем на клавиатуру и сдвигаем её от себя. Поднимаем аккуратно, чтобы не повредить шлейф соединяющий клавиатуру с мат.платой. Не отсоединяя шлейф, сдвигаем клавиатуру на себя, чтобы получить доступ к двум контактам около чипсета.


a742864c26e14981963a5677dc155290.jpg

Вышеуказанные контакты нужно будет замкнуть перед включением ноутбука, я это делаю острым пинцетом, а затем, включив ноутбук и, дождавшись прохождения процедуры POST, контакты можно разомкнуть. После загрузки ноутбука, кто куда, а я в dos, запускаем fpt с ключами:

fpt -desc -d len.bin

В результате работы программы fpt мы должны получить файлик len.bin. Если программа будет ругаться на невозможность чтения, значит вы не замкнули или же не додержали замкнутыми контакты.

Файлик len.bin, который мы получили — это регион дескрипторов, именно он содержит байты не позволяющие нам читать SPI флеш в нормальном режиме. Давайте их поправим hexit«ом:

hexit len.bin

Начиная с адреса 0×60, нам нужно, чтобы последовательность байт была 00 00 FF FF 00 00 FF FF:


5dffaa853d1b45d49fec8851b2a78b35.png

Редактируем, сохраняем, закрываем hexit и записываем дескриптор регион обратно в SPI флеш:

fpt -desc -f len.bin

Блокировку чтения и записи регионов SPI флеш можно считать снятой. Выключаем ноутбук, вставляем обратно клавиатуру (не забудьте на неё надавить, когда будете сдвигать на себя чтобы защёлкнуть).

Если вы счастливый обладатель Dell, то гуглите «Latitude e6540: Remove the Palmrest Assembly site: dell.com» и обретёте видео от производителя, как снять верхнюю крышку вашего ноутбука (я не привожу ссылку, потому как она уже менялась).


11c42fbcc1024a3381af0bd84fbb86ef.jpg

Под крышкой, в правом верхнем углу, возле разъема «аудио», нужно будет приподнять пленку и под ней обнаружить аудиочип. Возле него будет две точки (одна — это вывод конденсатора, а вторая на дорожке идущей от пятого вывода аудиочипа), которые нужно будет замкнуть также как и на Lenovo.


83b3d6ebb58441cfa979f0306d34202f.jpg

Дальнейший алгоритм, а именно считать/поправить/записать такой же какой мы выполняли для ноутбука Lenovo выше.

Для тех кто не уверен в своих силах, скажу, что я разблокировал два аналогичных Dell’а не обладая навыками ремонтника, единственное, потренируйтесь на выключенном ноутбуке острым пинцетом замыкать и размыкать необходимые точки не касаясь других элементов. Время на разборку и сборку — 10 минут. Кто не уложится будет мыть полы.

Разблокировав чтение регионов SPI флеш, получим его полный дамп или, как его ещё называют, фулфлеш:

fptw64.exe -d full.bin

Откроем получившийся дамп программой «Flash Image Tool» FIT, из того же пакета Intel, который мы скачали в начале статьи. Если с Lenovo все открылось без сучка и задоринки, то на дамп Dell«а FIT ругнулся несколько раз, но я проигнорировал ошибки и ворнинги. На скрине дамп открыт в нужном разделе и мы видим «Manageability Application Permanently Disabled?» установлен в Yes:


9f1cc128b61245bbbb30a2e61401f776.png

Установим его в No и заметим, что заодно поменялась ещё пара нужных нам параметров на правильные значения:


4a46320415f84bb29c94fb912061264b.png

Казалось бы, это всё. Но скоро только сказка сказывается, а исправленный таким образом ME регион нельзя будет вот так просто взять и залить обратно. Дело в том, что в ME регионе есть как код фирмвари, так и пользовательские данные, которые в свою очередь состоят из данных записываемых в процессе работы Intel ME, так и данных записанных в процессе первой инициализации. Нам нужно сделать «чистый» ME, то есть без инициализации и всего остального, потому как, поменяв параметры в регионе, нам нужно будет заново проинициализировать код.

Заглянем в окно лога FIT«а и найдем куда он распаковал регионы. По умолчанию в папке запуска FIT создается подпапка с именем открываемого файла, а в ней подпапка DUMP в которой находится нужный нам «ME Region.bin».

Скачаем программу ME Analyzer и базу репозиториев c win-raid.com. Распакуем, обновим базу и исследуем наш «ME Region.bin»:

MEA.bat "ME Region.bin"


b74bd169a62743d187938cd9d82fa38c.png

Версия фирмвари исследуемого Lenovo оказалась 7.1.86.1221, она же последняя на данный момент и размер её составляет 5 мб. Добудем оригинальную фирмвари с уже не раз упомянутого win-raid’а. Для Lenovo это будет пак «Intel ME 7 Firmware Repository Pack r20», файлик в нем, который нас интересует, должен включать версию 7.1.86.1221, быть пятимегабайтным и заканчиваться на RGN.bin. Такой файлик не нашёлся и я на свой страх и риск успешно попробовал 7.1.86.1221_5MB_ALL_PRD_EXTR.bin. Но вы можете быть не столь успешны, потому как файлы с концовкой EXTR.bin могут быть не «чистыми». Для Della«а нужный RGN файл был найден в паке «Intel ME 9.0 Firmware Repository Pack r10».

Следующим этапом откроем FIT«ом найденный фирмвари (я знаю, что он звучит ближе к фёмвэа). Найдем его распакованный «ME Region.bin» и заменим им «ME Region.bin» в папке регионов фулфлеша, открытого FIT«ом. Очевидно, что нужно было действовать наоборот, то есть сначала получить ME регион оригинальной фримвари, но тогда бы нарушилась последовательность повествования.

И вот у нас есть открытый в FIT фулфлеш, изменены необходимые значения, заменен файл «ME Region.bin» осталось зайти в меня Build и… правильно, выбрать «Build Settings» в которых убрать галку «Generate intermediate build files», а затем выбрать в том же меню Build или нажать F5. В логах мы можем найти, где создался результат нашего билда — файл «outimage.bin». По умолчанию он создается в папке запуска FIT.

Шить получившийся outimage.bin мы не будем, а откроем его в FIT, заберем из получившейся папки DUMP файл «ME Region.bin» и зашьем этот регион при помощи FPT:

fptw64.exe -me -f "ME Region.bin"

Готово. Перезагружаемся. В Dell жмем после\вовремя поста F12 и в открывшемся boot menu видим новую строчку. В Lenovo жмем Control-P, далее 1 и видим в MEBX новый пункт. Целью этой статьи было разблокировать AMT, а работа с ней оставляется для самостоятельного освоения.

В конце хотелось бы поблагодарить пользователя CodeRush, который сначала упомянул, что драконы существуют, а потом «сам привел меня в их логово».

Весь материал есть компиляция интернета, многое почерпнуто с сайта win-raid, статей Николая ака CodeRush. Эксклюзивным является только разблокировка регионов Lenovo — по крайне мере, сходу я не нашел годного руководства и мне пришлось дважды разобрать весь ноутбук и «прозвонить» весь путь от микросхемы звука, спрятанной с обратной стороны платы под слотом pci express, до двух контактов, которые торчали на виду около чипсета. Ноутбук, прости за варварство, но зато у тебя свежая термопаста на процессоре.

Спасибо всем за внимание!

© Habrahabr.ru