Как обновить встроенное программное обеспечение Management Engine / AMT для Lenovo T440s при установке Linux?

2311
orblivion

У меня есть T440s. CVE-2017-5689 / INTEL-SA-00075 приближается. Lenovo выпустила обновления:

https://support.lenovo.com/us/en/product_security/LEN-14963

Их обновления BIOS материнской платы обычно имеют как обязательную для Windows опцию, так и опцию обновления через USB. Однако у этого есть только обязательная опция Windows, как я проверяю сейчас. Они даже не выпустили обновления для всех моделей оборудования, так что, возможно, все только в работе, но они не указали так ни в одном, что я видел.

В то же время я нашел эти инструкции в некоторых вики:

http://www.thinkwiki.org/wiki/Intel_Active_Management_Technology_(AMT)#Firmware_update

Но они кажутся вовлеченными и несколько сбивающими с толку, и мне интересно, если это, кроме того, устарело. Будучи вики, это может измениться, но в настоящее время кажется, что мне нужно:

  • Установите Windows PE на USB-накопитель
  • Извлеките 2 файла из некоторого другого файла прошивки с веб-сайта IBM, используя Wine:
    • CMD я буду запускать, чтобы сделать обновление
    • Драйвер мне нужно выяснить, как загрузить.

Это кажется отрывочным для меня. Кто-нибудь может подтвердить это? Есть ли другой способ сделать это?

С другой стороны, разве Lenovo не настолько ответственна, чтобы позаботиться о недостатках своего продукта? Или я договорился где-то в контракте, что я использую только Windows? Отсутствие поддержки, прозрачности и готовности кажется мне совершенно неприемлемым для такого серьезного дефекта в их продукте.

4

2 ответа на вопрос

1
mykhal

Рецепт (точная редакция на тот момент была этой ) работал для моего Thinkpad X2 x 0 (с оригинальной ОС, обновленной до GNU / Linux и OpenBSD) с небольшими изменениями.

Готовить winpe3_x86.isoбыло относительно легко. Я загрузил его, и необходимые упомянутые обновления прошивки и драйвера "пакеты", которые я имел на флешке в виде двух .exeфайлов.

  • CMD я буду запускать, чтобы сделать обновление

Вы найдете файл CMD в каждом «пакете» обновления прошивки после извлечения, запустив exe-файл при загрузке в среде WinPE. Для T440 желаемый вариант с исправлением уязвимости, скорее всего, https://pcsupport.lenovo.com/downloads/DS038194

  • Драйвер мне нужно выяснить, как загрузить.

В рецепте упоминается: ... вам нужно загрузить драйвер HECI с помощью "drvload HECI.inf" и связать его с интерфейсом Intel AMT Management Engine для Windows . Ссылка (перенаправление) была нарушена, однако ее можно найти для его / ее платформы с полем поиска по адресу https://support.lenovo.com .

Драйвер успешно загружен с помощью drvloadкоманды (он был извлечен в C:\DRIVERS\WIN\AMT\MEI\MEI\HECI.inf; C: был моей флешкой), однако у меня он почему-то не работал, произошел MEUpdate.CMDсбой.

Мне удалось использовать другой «пакет»: Intel Management Engine Interface 7.1 и драйвер Serial Over LAN (SOL) . После загрузки файла HECI.inf (который был распакован c:\DRIVERS\WIN\AMT\ME_SW\Drivers\MEI\HECI.inf) я также загрузил C:\DRIVERS\WIN\AMT\ME_SW\Drivers\SOL\mesrle.inf, но не уверен на 100%, что это было необходимо - я не хочу повторять эксперимент.

Кстати, не забудьте включить Intel AMT в настройках BIOS перед обновлением прошивки, а затем отключить ее;)

0
larkey

Я нашел способ использовать нативный Linux (или даже DOS / EFI: просто используйте соответствующие инструменты в загрузке System Tools вместо Linux).

Lenovo предоставляет нам две вещи: интерфейс модуля управления (MEI) или программное обеспечение модуля управления и встроенное программное обеспечение модуля управления (ME). Первый нужен для предоставления драйвера (HECI) для доступа и прошивки ME, второй - это утилита флэш-памяти плюс образ флэш-памяти. Поскольку мы используем Linux, нам нужны только флэш-инструменты и прошивки . В моем случае это называлось " r0dmu01w.exe", я буду использовать " FWPkg.exe" с этого момента.

  1. Извлеките прошивку, используя innoextract $ innoextract FWPkg.exeили wine$ wine FWPkg.exe
  2. Это создаст папку " app" в вашем текущем каталоге (innoextract) или папку " ME" в каталоге "root" для вина, C:\DRIVERS\которая будет создана при необходимости (wine). Нас будут интересовать только " ME_<version>_[Consumer/Corporate]_*_Production.bin" файл (ы) (образ прошивки) и " MEUpdate.CMD" flash-скрипт, который вызывает " FWUpdLcl(64).exe".

Корпорация Intel предоставляет дистрибьюторам версию этого инструмента для Linux, однако мы можем скачать ее здесь (неофициально!). Это Intel ME System Tools, у меня ME v11, поэтому я скачал "Intel CSME System Tools v11", теперь я буду называть его " METools.rar".

  1. Распакуйте файлы $ unrar x METools.rar
  2. Внутри извлеченного каталога будет FWUpdate/LINUX(64)/Portable/FWUpdLclфайл " ".
  3. Перейдите к пути указанного файла и добавьте права на выполнение: $ chmod +x FWUpdLcl
  4. Посмотрите на MEUpdate.CMDскрипт " " со строкой, которая должна выглядеть примерно так:

    %~dp0FWUpdLcl64.exe -F %~dp0ME_<version>_[Consumer/Corporate]_*_Production.BIN -OEMID XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX -generic -allowsv 

    Нас интересует только OEMID-флаг, я буду ссылаться на него как $OEMID. В качестве альтернативы вы можете использовать MEInfoутилиту " ", однако это необходимо iomem=relaxedустановить в командной строке загрузки ядра.

  5. Теперь используйте инструмент Linux в качестве администратора и обновите свою прошивку, вы используете потребительский вариант, если ваше устройство не поддерживает Intel AMT (ЦП с поддержкой AMT имеют логотип «vPro»):

    # FWUpdLcl -F <path/to/binfile> -OEMID $OEMID -allowsv 

    Общий флаг недоступен в Linux, единственная документация, которую я смог найти, была «Выполнить обновление через MEI без учетных данных» - но нам это, похоже, не нужно. AllowSV позволяет обновления той же версии.

Теперь у вас должна быть обновленная прошивка ME.


Изменить: я только что обнаружил, что кто-то уже нашел такое же решение (на немецком языке), связанные для полноты.

Похожие вопросы