Como faço para atualizar o firmware do Management Engine / AMT para o Lenovo T440s considerando uma instalação do Linux?

4

Eu tenho um T440s. CVE-2017-5689 / INTEL-SA-00075 está se aproximando. A Lenovo lançou atualizações:

link

As atualizações do BIOS da placa-mãe geralmente têm uma opção exigida pelo Windows e uma opção de atualização USB ao vivo. No entanto, este só tem a opção requerida pelo Windows, como estou verificando agora. Eles nem lançaram atualizações para todos os modelos de hardware, então talvez as coisas estejam apenas em andamento, mas eles não o indicaram em nada que eu tenha visto.

Nesse meio tempo, encontrei estas instruções em algum wiki:

link

Mas eles parecem envolvidos e um pouco confusos, e eu estou querendo saber se ele está desatualizado. Sendo um wiki, isso pode mudar, mas atualmente parece dizer que preciso:

  • Instalar o Windows PE em um pendrive
  • Extraia 2 arquivos de algum outro arquivo de firmware do site da IBM usando o Wine:
    • Um CMD eu vou correr para fazer a atualização
    • Um driver que preciso descobrir como carregar.

Isso parece esquisito para mim. Alguém pode corroborar isso? Existe outra maneira de fazer isso?

Em uma nota lateral, a Lenovo não é um pouco mais responsável do que isso para cuidar de falhas em seu produto? Ou eu concordei em algum lugar em um contrato que eu só executo o Windows? A falta de apoio, transparência e prontidão parecem completamente inaceitáveis para mim por um defeito tão sério em seu produto.

    
por orblivion 15.06.2017 / 17:24

2 respostas

1

A receita (a revisão exata de cada vez era esta ) trabalhei no meu Thinkpad X2 x 0 (com o SO original atualizado para o GNU / Linux e o OpenBSD) com pequenas alterações.

Preparar o winpe3_x86.iso foi relativamente fácil. Eu inicializei, e a necessária atualização de firmware e os "pacotes" de driver que eu tinha na unidade flash USB na forma de dois arquivos .exe .

  • A CMD I'll run to do the update

Você encontrará o arquivo CMD em cada "pacote" de atualização de firmware, após a extração, iniciando o arquivo exe quando inicializado no ambiente WinPE. Para o T440, o desejado com a correção de vulnerabilidade provavelmente é o link

  • A driver I need to figure out how to load.

A receita menciona: ... você precisa carregar o driver HECI com "drvload HECI.inf" , e links para Intel AMT Management Engine Interface para Windows . O link (redirecionamento) foi quebrado, no entanto, um deve ser capaz de localizá-lo para sua plataforma com o campo de pesquisa no link .

O driver foi carregado com sucesso com o comando drvload (foi extraído para C:\DRIVERS\WIN\AMT\MEI\MEI\HECI.inf ; C: foi minha unidade flash USB), mas de alguma forma não funcionou para mim, o MEUpdate.CMD falhou.

Eu obtive um "pacote" diferente: Intel Management Engine Interface 7.1 e driver Serial Over LAN (SOL) . Depois de carregar o HECI.inf (que foi extraído para c:\DRIVERS\WIN\AMT\ME_SW\Drivers\MEI\HECI.inf ), também carreguei C:\DRIVERS\WIN\AMT\ME_SW\Drivers\SOL\mesrle.inf , mas não tenho 100% de certeza de que era necessário - não quero repetir o experimento.

A propósito, não esqueça de habilitar o Intel AMT na configuração do BIOS, antes da atualização do firmware, e desabilite-o depois;)

    
por 19.06.2017 / 16:31
0

Encontrei uma maneira de usar o Linux nativo (ou até DOS / EFI: use as ferramentas respectivas no download das Ferramentas do Sistema, em vez das do Linux).

A Lenovo nos fornece duas coisas: a Interface do Mecanismo de Gerenciamento (MEI) ou o Software do Mecanismo de Gerenciamento e o Firmware do Mecanismo de Gerenciamento (ME). O primeiro é necessário para fornecer um driver (HECI) para acessar e flash o ME, este último é o utilitário flash mais a imagem flash. Como usamos o Linux, precisamos apenas das ferramentas flash e firmware . No meu caso, foi chamado " r0dmu01w.exe ", vou usar " FWPkg.exe " a partir de agora.

  1. Extraia o firmware usando innoextract $ innoextract FWPkg.exe ou wine $ wine FWPkg.exe
  2. Isso criará uma pasta " app " em seu diretório atual (innoextract) ou a pasta " ME " no diretório " C:\DRIVERS\ " do wine root, que será criada se necessário (wine). Nós estaremos interessados apenas no (s) arquivo (s) " ME_<version>_[Consumer/Corporate]_*_Production.bin " (a imagem do firmware) e no script flash " MEUpdate.CMD " que chama " FWUpdLcl(64).exe ".

A Intel fornece uma versão Linux desta ferramenta para os distribuidores, no entanto, podemos baixá-la aqui (inofficial!). Estas são as Intel ME System Tools, eu estou tendo um ME v11, então eu baixei "Intel CSME System Tools v11", vou chamá-lo de " METools.rar " a partir de agora.

  1. Extraia os arquivos $ unrar x METools.rar
  2. Dentro do diretório extraído, haverá um arquivo " FWUpdate/LINUX(64)/Portable/FWUpdLcl ".
  3. Vá para o caminho do arquivo e adicione permissões de execução: $ chmod +x FWUpdLcl
  4. Veja o script " MEUpdate.CMD " com uma linha que deve ser parecida com a seguinte:

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

    Estamos interessados apenas na sinalização OEMID, e eu a referirei como $OEMID . Como alternativa, você pode usar o utilitário " MEInfo ", mas isso requer que iomem=relaxed seja definido na linha de comando do carregamento do kernel.

  5. Agora use a ferramenta Linux como administrador e atualize seu firmware, você usa a variante do consumidor se o seu dispositivo não suportar a intel AMT (as CPUs habilitadas para AMT têm o logotipo "vPro"):

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

    O sinalizador genérico não está disponível no Linux, a única documentação que encontrei foi "Realize a atualização através do MEI sem credenciais" - mas parece que não precisamos disso. O AllowSV permite atualizações da mesma versão.

É isso aí, agora você deve ter um firmware ME atualizado.

Editar: Acabei de descobrir que alguém já encontrou a mesma solução (em alemão), ligada por completo.

    
por 29.04.2018 / 14:31